LINUX.ORG.RU

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

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

если хочется срача, вся т.н. «безопасность» раста берется из 3 источников: 1) он заставляет тебя писать все явно, вместо каких-либо абстракций 2) он тупо не реализовывает «небезопасные» фичи в стандартной библиотеке 3) он просто врет.

Нетрудно видеть, что ни одна из этих особенностей мягко говоря не способствует продуктивной разработке.

В результате там, где у тебя на сишке с плюсами будет глючный, с уязвимостями, но в целом работающий софт, на расте у тебя не будет вообще нихрена, потому что все разработчики сгорят от бесконечных рефакторингов, ошибок и долгой работы компилятора.

На практике растоманы решают эту проблему тем, что либо переписывают уже существующий софт вместо создания нового (в таком случае все требования заранее понятны, и рефакторить ничего не нужно), либо пишут на расте небольшую и не критически важную часть софта, поручая всю основную работу сишным библиотекам (но потом гордо заявляют, что проект на расте).

ЗЫ кстати твой пример кода очень показателен. Во-первых, на расте в принципе нет конструкторов. Во-вторых, «ссылки» там - это вовсе не то же самое что ссылки в плюсах. Т.е. написать что-то на первый взгляд похожее на расте конечно можно, вот только применимость у этого будет совсем другая по сравнению с плюсами. Куда более ограниченная.

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

если хочется срача, вся т.н. «безопасность» раста берется из 3 источников: 1) он заставляет тебя писать все явно, вместо каких-либо абстракций 2) он тупо не реализовывает «небезопасные» фичи в стандартной библиотеке 3) он просто врет.

Нетрудно видеть, что ни одна из этих особенностей мягко говоря не способствует продуктивной разработке.

В результате там, где у тебя на сишке с плюсами будет глючный, с уязвимостями, но в целом работающий софт, на расте у тебя не будет вообще нихрена, потому что все разработчики сгорят от бесконечных рефакторингов, ошибок и долгой работы компилятора.

На практике растоманы решают эту проблему тем, что либо переписывают уже существующий софт вместо создания нового (в таком случае все требования заранее понятны, и рефакторить ничего не нужно), либо пишут на расте небольшую и не критически важную часть софта, поручая всю основную работу сишным библиотекам (но потом гордо заявляют, что проект на расте).