История изменений
Исправление Lrrr, (текущая версия) :
если хочется срача, вся т.н. «безопасность» раста берется из 3 источников: 1) он заставляет тебя писать все явно, вместо каких-либо абстракций 2) он тупо не реализовывает «небезопасные» фичи в стандартной библиотеке 3) он просто врет.
Нетрудно видеть, что ни одна из этих особенностей мягко говоря не способствует продуктивной разработке.
В результате там, где у тебя на сишке с плюсами будет глючный, с уязвимостями, но в целом работающий софт, на расте у тебя не будет вообще нихрена, потому что все разработчики сгорят от бесконечных рефакторингов, ошибок и долгой работы компилятора.
На практике растоманы решают эту проблему тем, что либо переписывают уже существующий софт вместо создания нового (в таком случае все требования заранее понятны, и рефакторить ничего не нужно), либо пишут на расте небольшую и не критически важную часть софта, поручая всю основную работу сишным библиотекам (но потом гордо заявляют, что проект на расте).
ЗЫ кстати твой пример кода очень показателен. Во-первых, на расте в принципе нет конструкторов. Во-вторых, «ссылки» там - это вовсе не то же самое что ссылки в плюсах. Т.е. написать что-то на первый взгляд похожее на расте конечно можно, вот только применимость у этого будет совсем другая по сравнению с плюсами. Куда более ограниченная.
Исходная версия Lrrr, :
если хочется срача, вся т.н. «безопасность» раста берется из 3 источников: 1) он заставляет тебя писать все явно, вместо каких-либо абстракций 2) он тупо не реализовывает «небезопасные» фичи в стандартной библиотеке 3) он просто врет.
Нетрудно видеть, что ни одна из этих особенностей мягко говоря не способствует продуктивной разработке.
В результате там, где у тебя на сишке с плюсами будет глючный, с уязвимостями, но в целом работающий софт, на расте у тебя не будет вообще нихрена, потому что все разработчики сгорят от бесконечных рефакторингов, ошибок и долгой работы компилятора.
На практике растоманы решают эту проблему тем, что либо переписывают уже существующий софт вместо создания нового (в таком случае все требования заранее понятны, и рефакторить ничего не нужно), либо пишут на расте небольшую и не критически важную часть софта, поручая всю основную работу сишным библиотекам (но потом гордо заявляют, что проект на расте).