MonAkka
@MonAkka
Born in IT

В чем заключается безопасность языка?

Надеюсь, вопрос задал более-менее корректно. Часто приходилось читать о том, что язык "типобезопасен"(или просто безопасен). Что Это Значит? К примеру, в последнее время все сравнивают C++ и Rust. Rust хвалят за его скорость и безопасность(хотя видел (не читал) доклад Яндекса про то, что C++ безопаснее).
  • Вопрос задан
  • 101 просмотр
Решения вопроса 1
2ord
@2ord
продвинутый чайник
Судя по статье Бесстрашная защита. Безопасность памяти в Rust, речь о безопасной работе с памятью.
Причины нарушений безопасности:

  • сохранение указателя после освобождения памяти (use-after-free);
  • разыменование нулевого указателя;
  • использование неинициализированной памяти;
  • попытка программы дважды освободить одну и ту же ячейку (double-free);
  • переполнение буфера.

Ответ написан
Пригласить эксперта
Ответы на вопрос 3
inoise
@inoise
Solution Architect, AWS Certified, Serverless
У языка нет такой характеристики как безопасность в принципе. Все что говорят про «безопасность» надо выяснять в каком контексте обсуждается. Каждый раз
Ответ написан
dimonchik2013
@dimonchik2013
...а ну-ка пыль сдуй отсюда...
типобезопасен или типа-а, безопасен?

ты про второе спрашиваешь
Ответ написан
@vabka
Fullstack dev
типобезопасен - можно при помощи типов гарантировать корректную работу с данными (в большей/меньшей степени, в зависимости от языка) (например C более типобезопасен, чем javascript, а haskell более типобезопасен, чем C)
Ещё в безопасность Rust входит безопасность работы с памятью, о чём уже упомянул Роман Мирр ответом выше (это обеспечивается системой типов Rust)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы