Доступен (http://blog.rust-lang.org/2015/10/29/Rust-1.4.html) релиз языка программирования Rust 1.4 (http://www.rust-lang.org), развиваемого проектом Mozilla, обеспечивающего автоматическое управление памятью и предоставляющего средства для высокого параллелизма выполнения заданий, при этом обходясь без использования сборщика мусора и runtime. Параллельно с Rust совместно с компанией Samsung развивается экспериментальный браузерный движок Servo (https://www.opennet.ru/opennews/art.shtml?num=36576), написанный (https://github.com/servo/servo/) на языке Rust и отличающийся поддержкой многопоточного рендеринга web-страниц и распараллеливанием операций с DOM (Document Object Model).
В новом выпуске представлено (https://github.com/rust-lang/rust/blob/8ab8581f6921bc7a8e3fa...) более 1200 изменений, который в основном связаны с небольшими улучшениями и стабилизацией кодовой базы. В стандартной библиотеке 48 API отмечены как стабильные, 8 API переведены в категорию устаревших, 2 API переработаны для увеличения производительности. В пакетном менеджере обеспечен вывод дельной информации об изменениях при выполнении команды "cargo update".
В языке реализованы предложения RFC 1214 (https://github.com/rust-lang/rfcs/pull/1214) по устранению недостатков в системе типов. Для кода не соответствующего новым правилам определения типов обеспечен вывод предупреждений, которые в следующем выпуске будут заменены на вывод ошибок. В состав также приняты изменения RFC 1212 (https://github.com/rust-lang/rfcs/blob/master/text/1212-line...), затрагивающие функции чтения строк и допускающие использование как "\\\\r\\\\n", так и "\\\\n" в качестве меток конца строки. Расширена поддержка платформы Windows, при сборке для которой теперь можно использовать 64-разрядный MSVC ABI и штатный компоновщик.
Язык Rust развивается проектом Mozilla и сфокусирован на безопасной работе с памятью и обеспечении высокого параллелизма выполнения заданий. При этом Rust обходится без использования сборщика мусора или runtime, что делает возможным создания на Rust библиотек, которые могут выступать в роли прозрачной замены библиотекам для языка Си. Для распространения библиотек на языке Rust, обеспечения сборки и управления зависимостями проектом развивается пакетный менеджер Cargo (http://blog.rust-lang.org/2014/11/20/Cargo.html), позволяющий получить нужные для программы библиотеки в один клик. Для размещения библиотек введён в строй репозиторий crates.io (https://crates.io/).
По структуре язык Rust напоминает C++, но существенно отличается в некоторых деталях реализации синтаксиса и семантики. Автоматическое управление памятью избавляет разработчика от манипулирования указателями и защищает от проблем, возникающих из-за низкоуровневой работы с памятью, таких как обращение к области памяти после её освобождения, разыменование нулевых указателей, выход за границы буфера и т.п. Rust поддерживает смесь императивных процедурных и объектно-ориентированных методов с такими парадигмами, как функциональное программирование и модель акторов, а также обобщённое программирование и метапрограммирование, в статических и динамических стилях.
URL: http://blog.rust-lang.org/2015/10/29/Rust-1.4.html
Новость: http://www.opennet.ru/opennews/art.shtml?num=43223