LINUX.ORG.RU

История изменений

Исправление Legioner, (текущая версия) :

Вроде же правильно сказал, не ? «Выбор языка программирования не влияет на безопасность»

Ну я, например, с этим не согласен. Влияет.

та же жаба с дырами в песочнице как бы та и говорит о себе

Дыры жабьей песочницы это тот уровень, до которого C даже не близко не дошёл. Уровень C это ActiveX. Где про безопасность даже никто не заикался, вся безопасность исключительно на доверии. Java хотя бы пыталась в песочницу. Ну не смогла, да, плохая архитектура у этой песочницы была. Ну и ладно, выбросили уже давно жава апплеты.

​Аналогично и с растом - окажется в «сверхбезопасном» расте косяк на уровне компилятора и финитао ля комедия.

Есть разница между «влияет на безопасность» и «даёт 100% гарантию». 100% гарантию не даёт никто и ничего. Даже в коде, у которого доказана правильность, может быть баг в доказательстве или в любом низлежащем слое. Или через измерение потребления процессором энергии вытащат твой приватный ключ, без всяких растов.

В программах на С есть огромный класс уязвимостей, обусловленных отсутствием в языке ряда проверок. Самое банальное - не проверяются индексы при обращении к массивам. И такого в C полно. В языках вроде Safe Rust или Java подобные баги невозможны. Да, в них возможны другие классы багов. Которые, скорей всего, будут так же возможны и в C.

Поэтому лично я считаю, что утверждение, что выбор языка программирования не влияет на безопасность, категорически неверное. Ну по крайней мере если не заниматься буквоедством, а понимать под языком программирования конкретную популярную реализацию вроде C/GCC, Rust/Rust, Java/OpenJDK и тд. Ещё как влияет. И в программе на Java багов будет намного меньше, чем в программе на C при той же квалификации программиста.

Исходная версия Legioner, :

Вроде же правильно сказал, не ? «Выбор языка программирования не влияет на безопасность»

Ну я, например, с этим не согласен. Влияет.

та же жаба с дырами в песочнице как бы та и говорит о себе

Дыры жабьей песочницы это тот уровень, до которого C даже не близко не дошёл. Уровень C это ActiveX. Где про безопасность даже никто не заикается, вся безопасность исключительно на доверии.

​Аналогично и с растом - окажется в «сверхбезопасном» расте косяк на уровне компилятора и финитао ля комедия.

Есть разница между «влияет на безопасность» и «даёт 100% гарантию». 100% гарантию не даёт никто и ничего. Даже в коде, у которого доказана правильность, может быть баг в доказательстве или в любом низлежащем слое. Или через измерение потребления процессором энергии вытащат твой приватный ключ, без всяких растов.

В программах на С есть огромный класс уязвимостей, обусловленных отсутствием в языке ряда проверок. Самое банальное - не проверяются индексы при обращении к массивам. И такого в C полно. В языках вроде Safe Rust или Java подобные баги невозможны. Да, в них возможны другие классы багов. Которые, скорей всего, будут так же возможны и в C.

Поэтому лично я считаю, что утверждение, что выбор языка программирования не влияет на безопасность, категорически неверное. Ну по крайней мере если не заниматься буквоедством, а понимать под языком программирования конкретную популярную реализацию вроде C/GCC, Rust/Rust, Java/OpenJDK и тд. Ещё как влияет. И в программе на Java багов будет намного меньше, чем в программе на C при той же квалификации программиста.