15 мая 2015 года, в соответствии с планом, вышел публичный релиз Rust 1.0 - языка программирования общего назначения, разрабатываемого Mozilla совместно с сообществом. Язык ориентирован на разработку безопасных и эффективных приложений, имеет развитую систему типов, оптимизирующий кодогенератор на основе llvm и предоставляет расширенные гарантии потокобезопасности и безопасного доступа к памяти без использования сборщика мусора. В частности, Mozilla использует Rust для разработки браузерного движка следующего поколения servo.
Выход релиза 1.0 означает стабилизацию языка и стандартной библиотеки, их дальнейшее развитие будет происходить с сохранением обратной совместимости. В то же время, выход релиза не означает остановки развития языка - одновременно с релизом 1.0 разработчики выпустили бета-версию Rust 1.1, и в дальнейшем планируют выпускать новую версию каждые 6 недель. Среди ожидаемых изменений - заметное уменьшение времени компиляции и дальнейшее расширение стандартной библиотеки.
Перед релизом сообществом была проделана большая работа по обновлению пакетов в официальном репозитории crates.io , где подавляющее большинство из 2000 пакетов приведены в соответствие с версией 1.0. Онлайн-компилятор play.rust-lang.org претерпел редизайн и теперь позволяет выбирать между версиями компилятора. Менеджер пакетов и система сборки cargo так же получил ряд улучшений. Большинство популярных редакторов уже имеют полноценную поддержку языка, с подсветкой ошибок и автодополнением на основе racer, дополнительно вчера вышел Visual Rust 0.1 - расширение для поддержки Rust в Visual Studio. Официальная документация (The Book, The Rust Reference, Rust By Example и документация стандартной библиотеки) была приведена в соответствие со стабильным релизом, сегодня же стала доступна для предзаказа книга Programming Rust издательства O'Reilly, выход которой ожидается в ноябре 2015 года.
Некоторые изменения со времени альфа-версии, вышедшей в феврале:
- Множественные исправления и оптимизации.
- Большая часть стандартной библиотеки отмечена как #[stable]. В стабильной версии компилятора больше нельзя использовать нестабильные API.
- В отладочных сборках по-умолчанию включена проверка на целочисленное переполнение.
- Ряд улучшений в системе типов: 1, 2, 3, 4 .
- Благодаря изменениям в системе типов, все методы итераторов теперь располагаются в Iterator, IteratorExt удален.
- FromError и String::from_str заменены универсальным From.
- Изменен формат метаданных, что позволило заметно уменьшить размер бинарных файлов.
Официальный сайт: http://rust-lang.org/.
Примечания к релизу: https://github.com/rust-lang/rust/blob/master/RELEASES.md.
Ссылка на скачивание: http://www.rust-lang.org/install.html.
Официальная документация: http://doc.rust-lang.org/stable/.
>>> Подробности