История изменений
Исправление
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 при той же квалификации программиста.