Mozilla выпустила новую версию компилятора Rust 0.9 и соответствующих инструментов.
Rust — это компилируемый и мультипарадигмальный язык для системного программирования, который позиционируется как альтернатива С/С++. Визуально он похож на C, но отличается в деталях синтаксиса и семантики. Идеально подходит для параллельных вычислений.
Разработчики говорят о существенном улучшении рантайма и подсистемы ввода-вывода. Так, в компиляторе появились статические ссылки и поддерживается оптимизация во время линковки (link-time). В языке уменьшено количество разных видов замыканий, чтобы упростить и сделать более логичным синтаксис.
С версии Rust 0.9 также начинается ряд запланированных изменений в обработке указателей. Для начала отключается встроенный тип управляемого указателя (managed pointer) и соответствующий символ @. Одновременно представлены новые типы «умных» указателей в стандартной библиотеке.
В компиляторе реализованы предупреждения о «мёртвом» коде (неиспользуемые функции и тому подобное). Также реализована динамическая типизация,.
Как и предыдущие версии, 0.9 следует считать альфа-версией, то есть его не следует использовать в коммерческих приложениях. Но уникальные качества Rust достойны изучения. В будущем этот язык программирования наверняка займет достойное место в списке инструментов для низкоуровневого программирования.
Более подробно о сделанных изменениях можно почитать здесь.
Архив Rust 0.9 и инсталлятор под Windows
http://static.rust-lang.org/dist/rust-0.9.tar.gz
http://static.rust-lang.org/dist/rust-0.9-install.exe
Небольшой пример программы на Rust
fn main() {
let nums = [1, 2];
let noms = ["Tim", "Eston", "Aaron", "Ben"];
let mut odds = nums.iter().map(|&x| x * 2 - 1);
for num in odds {
do spawn {
println!("{:s} says hello from a lightweight thread!", noms[num]);
}
}
}
Обзор языка программирования Rust: 1, 2
UPD. Ссылки на дополнительные ресурсы см. в первом комментарии к топику.
Автор: alizar