Pull to refresh

Comments 31

Всегда коробило от перехода версий с 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.x всегда исключение, т.к. альфа/бета версия, ломать могут сколько угодно.
Я лишь говорю, что это не честно привязываться к версии, а не к дате. До какого-то периода года, многие проекты после 0.9 версии использовали 1.0 версию, пусть альфа, бета, rc, но 1.0, а в какой-то момент появилась новая мода. Для меня версия 0.10+ означает лишь какой-то не ломающийся ночной билд. Да и до сих пор присутствует путаница, какие-то проекты после 0.9 версии релизят 1.0, а какие-то 0.10, вот и не понятно чего ждать.
Если вам нужен stable — rust вообще не рассматривайте ближайшее время. Его еще не раз перекроят. Попишите на D. Там язык уже не так яростно меняется.
Изменения хорошие, учитывая rust-core на rust теперь реально писать freestanding код для всяких эмбеддедов полностью без C/asm вставок. Пишу вот свежий «ARM для самых маленьких» про rust. Код получается очень забавный, LTO в компиляторе шикарное, местами оптимизации просто поражают. Язык вполне себе терпит издевательства при работе без стека, еще пара-тройка плюшек и он таки составит конкуренцию С++ (особенно когда его допилят до 1.0).
«При работе без стека» от блин, хочу я на это посмотреть :-) Без кучи конечно же, используя только стек. У rust для этого вполне удобные и эффективные move-оптимизации. Немного хочется аналог placement new из C++, но его скоро обещают в каком-то виде (не могу привести сейчас точную цитату, обсуждалось на IRC).
> Пишу вот свежий «ARM для самых маленьких» про rust.

Интересно. Можно посмотреть где нибудь? Я тут изучаю embedded на дилетанском уровне и попробывать это дело на rust звучит заманчиво.
Ну как допишу — выложу на хабр (я про серию статей «ARM-ы для самых маленьких»), сырцов пока в публичном доступе нет.
Не так давно Servo (браузерный движок на Rust, один из крупнейших проектов на этом языке) прошёл тест Acid2:
history





Некто Как обнаружилось, farcaller запустил Rust на контроллере. Отличная работа!
photo


Понемногу ковыряю язык. Решал задачки с rosettacode, слил изменения с репозиторием rust-rosetta Hoverbear. На данный момент пытаюсь делать лабораторные по стеганографии на Rust.
Почитал про rust. Нашел что народ использует язык для низко-уровневого программирования. Пытаются даже операционные системы писать github.com/mozilla/rust/wiki/Operating-system-development Неужно rust отберет монополию у языка С в этой области?
Абсолютную монополию — возможно. А вот лидирующее положение займет (если займет) далеко не сразу. Сперва надо будет закрыть поддержку гигантских объемов кода на C/C++
Тогда его время настанет лет через 50. Не думаю, что раньше это ядра лидирующих ОС (win, bsd, linux, solaris etc.) перепишут на rust
Скорее они перестанут быть лидирующими. Linux мне стал надоедать, хочу альтернативу! :-)
Данный релиз вообще крайне интересный в первую очередь рефакторингом библиотек. Если раньше в драйверах была возможность использовать только сам компилятор без libstd и libextra, то теперь, теоретически, появляется возможность использовать libstd и для драйверов, правда шлифовка напильником все равно требуется.
Чем Rust лучше D? Пока я вижу одни недостатки и слабую инфраструктуру. Тот же D хотя бы позволяет использовать уже готовый код на Си, а тут что? Тысячи библиотек с нуля предлагается писать? Вдобавок к этому синтаксис весьма своеобразный — скажем так на любителя.
Rust ABI-совместим с кодом на Си и отлично с ним взаимодействует. libstd кое-где использует libc. Библиотек мало, но язык ещё не обрёл стабильность. Про синтаксис любого языка можно сказать, что он своеобразен. Что с того? На мой взгляд, синтаксис Rust близок C++, с некоторыми частями из Haskell и Python.
Моделью памяти, в первую очередь. Так же отсутствием необходимости в GC. Библиотеки с нуля писать не нужно, т.к. Rust имеет отличную практически бесшовную интеграцию с Си библиотеками.
Еще Rust лучше тем, что он пишется не как хобби пары чуваков, а как язык для решения конкретных задач парой корпораций (Мозилла и Самсунг) и как следствие, есть надежда что язык в скорости обретет стабильность. В отличие от уже лет 10 как «почти стабильного» D, который, тем не менее, большинство PM-ов не допускает в продашн как раз из за опасений связанных с развитием языка.
С каких пор мнение «PM'ов» стало определять роль ЯП?
К слову GC в D можно не использовать. Он там факультативен
А главное — отсутствием обязательного 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.
А хвостовые вызовы они научились оптимизировать?
Да, я проверял у себя на HEAD, но по-моему и 0.10 тоже оптимизирует.
На данный момент, часть тестов реализована и лежит в папочке с исходниками. Добавлять же на benchmarksgame, до выхода Rust 1.0 и стабилизации API никто не будет, т.к. на данный момент ломающие изменеиня возникат по нескольку раз в неделю.
Sign up to leave a comment.

Articles