Обновить
-1

Пользователь

Отправить сообщение
А если чуть поподробнее, то вот
… почему не захотели вкладываться в D непонятно…

На сколько я знаю, авторы при создании допустили как минимум 1 большую ошибку. После стаблизации 1-ой версии языка они вместо того чтобы вкладываться в экосистему (стабилизацию стандартной библиотеки (их тогда было две в D), поддержку IDE и пр. tool-ов) они практически сразу приступили к активному пилению 2-ой версии языка, что и отпугнуло разработчиков от перехода с C++ на D. А потом уже появились стандарты С++11, C++14 и D стал уже не столь актуален даже при всей крутости своего метапрограммирования.
Поддерживаю, кроме того далеко не все вообще знают, что у таких языков как С++ и Rust вообще есть рантайм
И если ты не покушал, то он (Rust) не кормит тебя, а дает тебе возможность самому решить как это лучше сделать. В итоге и сыт, и мозг в тонусе, и ноги целы!.. Это ли не счастье? ))
Так мне сейчас не интересно как решается. Мне интересно какие задачи вы туда относите? Сами задачи, 2-3 примера привести можете?
Статья, которая называется «Недостатки чистого функционального программирования» в основном сводится к тому, что существуют некоторые задачи, которые не удобно решать в рамках ограничений, накладываемых функционально парадигмой.
Функциональные языки предназначены для работы с неизменяемым состоянием

А есть такой класс задач «работы с неизменяемым состоянием»? Интересно было бы узнать что туда относится?
Концептуально, rust отличается очень сильно практически от всех современных и не только языков программирования. За счет концепций owning, borrowing и lifetimes он получает «полуавтоматическую работу» работу с памятью (на самом деле, с ресурсами вообще), т. е. сохраняется возможность достаточно низкоуровневой работы с памятью/ресурсами, но при этом компилятор во время компиляции программы может проверить корректность выполнения концепций owning, borrowing и lifetimes и там самым обеспечить очень высокую безопасность программ в плане работы с ресурсами (может быть не 100%, но очень близкую к ней) + это все достигается без использования GC, багодаря чему для программ на rust можно получить детерминированное управление ресурсами, высокую скорость, отсутствие гонок данных (за счет соблюдения основных концепций языка + отсутствия GC + еще немного контроля со стороны системы типов) и практически отсутствующий runtime, даже меньше чем у C++ (да, да у C++ тоже есть runtime). Все это несколько ломает мышление, особенно не для C++, и заставляет писать программы в другом стиле, но и дает большие преимущества за счет перекладывания большого пласта рутинной работы с программиста на компилятор.

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность