Comments 31
Более подробный ченджлог на русском на ЛОРе: www.linux.org.ru//news/mozilla/10353651
Всегда коробило от перехода версий с 0.9 на 0.10, после этого вообще не знаешь — когда же будет стабильная версия =(
С rust все просто, если писать что-то серьезное — то надо компилятор оперативно собирать из HEAD :-)
Разработчики говорили, что релиз 1.0 выйдет к концу текущего года, но это приблизительно. Читал, что как минимум 0.11 выйдет до этого.
Я, напротив, не понимаю, почему после 0.9 многие стараются сделать 1.0. Единичка впереди должна означать зрелость, а не переполнение второго числа версии.
Разработчики должны контролировать соответствие версии и зрелости продукта, иначе смысл версий пропадает, можно тогда совсем приписывать число даты вместо версии.
Многие проекты кстали используют версии а ля 2014.04, поскольку привязаны к датам.
А в версиях 0.10 и выше ничего плохого нет, все вполне соответствует семантической версионности, которая является одним из лучших механизмов версионирования, где minor компонент повышается при внесении обратно-совместимых изменений, а major — если совместимость ломается.
В случае с rust, это, кстати пока что не работает, 0.x ломается и будет ломаться до стабилизации, которая будет в 1.0.
А в версиях 0.10 и выше ничего плохого нет, все вполне соответствует семантической версионности, которая является одним из лучших механизмов версионирования, где minor компонент повышается при внесении обратно-совместимых изменений, а major — если совместимость ломается.
В случае с rust, это, кстати пока что не работает, 0.x ломается и будет ломаться до стабилизации, которая будет в 1.0.
0.x всегда исключение, т.к. альфа/бета версия, ломать могут сколько угодно.
Я лишь говорю, что это не честно привязываться к версии, а не к дате. До какого-то периода года, многие проекты после 0.9 версии использовали 1.0 версию, пусть альфа, бета, rc, но 1.0, а в какой-то момент появилась новая мода. Для меня версия 0.10+ означает лишь какой-то не ломающийся ночной билд. Да и до сих пор присутствует путаница, какие-то проекты после 0.9 версии релизят 1.0, а какие-то 0.10, вот и не понятно чего ждать.
Изменения хорошие, учитывая rust-core на rust теперь реально писать freestanding код для всяких эмбеддедов полностью без C/asm вставок. Пишу вот свежий «ARM для самых маленьких» про rust. Код получается очень забавный, LTO в компиляторе шикарное, местами оптимизации просто поражают. Язык вполне себе терпит издевательства при работе без стека, еще пара-тройка плюшек и он таки составит конкуренцию С++ (особенно когда его допилят до 1.0).
«При работе без стека» от блин, хочу я на это посмотреть :-) Без кучи конечно же, используя только стек. У rust для этого вполне удобные и эффективные move-оптимизации. Немного хочется аналог placement new из C++, но его скоро обещают в каком-то виде (не могу привести сейчас точную цитату, обсуждалось на IRC).
> Пишу вот свежий «ARM для самых маленьких» про rust.
Интересно. Можно посмотреть где нибудь? Я тут изучаю embedded на дилетанском уровне и попробывать это дело на rust звучит заманчиво.
Интересно. Можно посмотреть где нибудь? Я тут изучаю embedded на дилетанском уровне и попробывать это дело на rust звучит заманчиво.
Не так давно Servo (браузерный движок на Rust, один из крупнейших проектов на этом языке) прошёл тест Acid2:
Некто Как обнаружилось, farcaller запустил Rust на контроллере. Отличная работа!
Понемногу ковыряю язык. Решал задачки с rosettacode, слил изменения с репозиторием rust-rosetta Hoverbear. На данный момент пытаюсь делать лабораторные по стеганографии на Rust.
history







photo

Понемногу ковыряю язык. Решал задачки с rosettacode, слил изменения с репозиторием rust-rosetta Hoverbear. На данный момент пытаюсь делать лабораторные по стеганографии на Rust.
Почитал про rust. Нашел что народ использует язык для низко-уровневого программирования. Пытаются даже операционные системы писать github.com/mozilla/rust/wiki/Operating-system-development Неужно rust отберет монополию у языка С в этой области?
Данный релиз вообще крайне интересный в первую очередь рефакторингом библиотек. Если раньше в драйверах была возможность использовать только сам компилятор без libstd и libextra, то теперь, теоретически, появляется возможность использовать libstd и для драйверов, правда шлифовка напильником все равно требуется.
Чем Rust лучше D? Пока я вижу одни недостатки и слабую инфраструктуру. Тот же D хотя бы позволяет использовать уже готовый код на Си, а тут что? Тысячи библиотек с нуля предлагается писать? Вдобавок к этому синтаксис весьма своеобразный — скажем так на любителя.
Rust ABI-совместим с кодом на Си и отлично с ним взаимодействует. libstd кое-где использует libc. Библиотек мало, но язык ещё не обрёл стабильность. Про синтаксис любого языка можно сказать, что он своеобразен. Что с того? На мой взгляд, синтаксис Rust близок C++, с некоторыми частями из Haskell и Python.
Моделью памяти, в первую очередь. Так же отсутствием необходимости в GC. Библиотеки с нуля писать не нужно, т.к. Rust имеет отличную практически бесшовную интеграцию с Си библиотеками.
Еще Rust лучше тем, что он пишется не как хобби пары чуваков, а как язык для решения конкретных задач парой корпораций (Мозилла и Самсунг) и как следствие, есть надежда что язык в скорости обретет стабильность. В отличие от уже лет 10 как «почти стабильного» D, который, тем не менее, большинство PM-ов не допускает в продашн как раз из за опасений связанных с развитием языка.
Еще Rust лучше тем, что он пишется не как хобби пары чуваков, а как язык для решения конкретных задач парой корпораций (Мозилла и Самсунг) и как следствие, есть надежда что язык в скорости обретет стабильность. В отличие от уже лет 10 как «почти стабильного» D, который, тем не менее, большинство PM-ов не допускает в продашн как раз из за опасений связанных с развитием языка.
А главное — отсутствием обязательного return (и аналогов, типа "^", report...)! Я его все время забываю писать на тех языках, где он нужен.
Хорошо, конечно, но я подожду как минимум второй или третьей стабильной версии…
Как написанно на rust-lang.org
* In theory. Rust is a work-in-progress and may do anything it likes up to and including eating your laundry.
А хвостовые вызовы они научились оптимизировать?
А кто-нить запилит тесты для benchmarksgame.alioth.debian.org?
А то язык есть, а сравнить производительность с тем-же Go нельзя.
А то язык есть, а сравнить производительность с тем-же Go нельзя.
Sign up to leave a comment.
Вышел Rust 0.10