История изменений
Исправление alysnix, (текущая версия) :
По крайней мере при проектировании так считали. Авторы языка считали, что проекты на Расте будут крупными, будут жить и развиваться долго, и будут активно подключать сторонние библиотеки
не знаю, что там считали авторы раста, но о маштабах проектов думали при проектировании ады. масштабные проекты не особо задумываются о «времени жизни переменных внутри одного треда». а состоят из многих процессов, раскиданных по ядрам, по сети и где угодно. для языка масштабных проектов важно описание взаимодействия процессов, способы декомпозиции, инкапсуляции, обеспечения общей устойчивости и проч…
а вы несете какую-то пургу про вывод типа и дженерики. это все не более чем синтаксический сахар, чтобы ручками специализированные типы не писать.
99 процентов реального большого кода в дженериках и выводах типа не нуждается вообще. использует примитивные шаблоны типов, если они есть, а если нет - рисует типы руками. если б не было всей этой метапрограммной пурги - мир не рухнул бы и не остановился. 95 процентов нужности метапрограммирования в том, чтобы написать обобщенный список, стек, коллекцию, дерево, граф,.. взять от них пару десятков конкретных специализаций на большой проект и забыть о метапрограммировании как о страшном сне.
в русте нет нормального опп. а приколы со временем жизни переменных - вешь мало кому нужная.
переменные изолируют и инкапсулируют. большие системы это полностью изолированные активности, общающиеся по каналам с некими протоколами. никто не видит чужих кишок, и не занимается анализом времен жизни чужих кишок в своем контексте.
Исходная версия alysnix, :
По крайней мере при проектировании так считали. Авторы языка считали, что проекты на Расте будут крупными, будут жить и развиваться долго, и будут активно подключать сторонние библиотеки
не знаю, что там считали авторы раста, но о маштабах проектов думали при проектировании ады. масштабные проекты не особо задумываются о «времени жизни переменных внутри одного треда». а состоят из многих процессов, раскиданных по ядрам, по сети и где угодно. для языка масштабных проектов важно описание взаимодействия процессов, способы декомпозиции, инкапсуляции, обеспечения общей устойчивости и проч…
а вы несете какую-то пургу про вывод типа и дженерики. это все не более чем синтаксический сахар, чтобы ручками специализированные типы не писать.
99 процентов реального большого кода в дженериках и выводах типа не нуждается вообще. использует примитивные шаблоны типов, если они есть, а если нет - рисует типы руками. если б не было всей этой метапрограммной пурги - мир не рухнул бы и не остановился. 95 процентов нужности метапрограммирования в том, чтобы написать обобщенный список, стек, коллекцию, дерево, граф,.. взять от них пару десятков конкретных специализаций на большой проект и забыть о метапрограммировании как о страшном сне.
в русте нет нормального опп. а приколы со временем жизни переменных - вешь мало кому нужная.
переменные изолируют и инкапсулируют. большие системы это активности, общающиеся по каналам с некими протоколами. никто не видит чужих кишок, и не занимается анализом времен жизни чужих кишок в своем контексте.