Начал тут по работе ковырять Rust как замену питону, ибо с питоном одна только боль и страдания в промышленной разработке (но об этом как-нибудь в другой раз побомблю).
Первые впечатление — авторы действительно видели некоторое дерьмо и стараются делать инструмент с учетом граблей, на которых уже скакали. Хоть я еще в самом начале, но мне уже понравился дефолтный пакетный менеджер и система сборки cargo. Чем конкретно:
⁃ Поддержка многомодульных проектов. В больших приложениях без хорошей модульности - гарантия катастрофы (питонистам привет).
⁃ Создание проектов сразу с инициализированным git и .gitignore внутри. Не нужно выполнять 100500 команд и тащить столько же файлов чтобы просто собрать пустой проект.
⁃ Простой формат описания и конфикурации проектов через toml, после gradle с его гибкостью и многословностью немного непривычно.
⁃ Встроенная система управления зависимостями с возможностью обновлений этих самых зависимостей. Позволяет автоматически обновлять минорные версии библиотек (тут есть небольшая грабля, можно наступить если невнимательно читать доку, расскажу потом, когда пойму мотивацию такого решения). Дополнительный плагин показывает обновления мажорных версий
⁃ Подробнейшая инфа о том, что сломалось при сборке. Разве что только сам не исправляет
Если брать сам язык, то пока что заметил, что
Result<Ok, Error> уже встроен в стандартную библиотеку Rust и дополнительного ничего не требуется. Также порадовала обстоятельная книга/документация, есть на русском (правда не знаю насколько она актуальна) и даже какой-то интересный вариант с блекджеком и тестами В общем, пока впечатления скорее положительные, поскольку прослеживается замысел авторов и во многом он близок к нашим идеям и подходу к работе. Но будем посмотреть, периодически буду выкладывать свои впечатления от языка и сравнивать с подходами, что мы используем в jvm-мире.
Если вы пишите\писали на RUST дайте нам знать о своих впечталениях в коментариях 👇