LINUX.ORG.RU

Альфа-версия Rust 1.0

 


2

6

9 января тихо и незаметно вышла альфа-версия Rust 1.0. Этот релиз является этапным в том смысле, что набор возможностей языка зафиксирован и в версиях 1.x значительных несовместимых изменений больше не будет (см. ниже); то же относится и к стандартной библиотеке. Гарантии стабильности означают, что Rust уже можно изучать, не опасаясь скорого устаревания полученных знаний из-за эволюции языка.

Тем не менее, апгрейд в линии от альфа-версии до финальной версии может вызвать мелкие несовместимости (Sync/Send changes, переименование uint/int в usize/isize), но все проблемы планируется решить до выпуска 1.0.

Основные изменения со времени предыдущего релиза:

  • улучшенная поддержка массивов и подобных им контейнеров в языке: DST
  • унификация трейтов и замыканий в виде unboxed closures: теперь замыкания - это просто объекты, реализующие определенные трейты

Полный список изменений с подробным их описанием по ссылке:

>>> Подробности

★★★★★

Проверено: JB ()
Последнее исправление: JB (всего исправлений: 1)

Ответ на: комментарий от anonymous

ко-ко-ко...

Капитан Очевидность?

крокодил одиозность

shty ★★★★★
()
Ответ на: комментарий от umren

профит от использования rust вместо go вплане «скорости» работы на сервере ничтожен и бессмысленен
go

Слышал когда-нибудь про асинхронное программирование с неблокирующим i/o без callback-ада, про акторы, forkjoin, etc? Мозилловцы пилят своё чудо потому что goroutines не осилили, лохе.

shahid ★★★★★
()
Ответ на: комментарий от hateyoufeel

Какие-то фичи системы типов Rust этому припятствуют?

Не могу привести конкретные примеры, но предлагаю взглянуть на все эти borrowing и lifetimes и представить, как это будет сочетаться с глобальным выводом типов: http://doc.rust-lang.org/0.12.0/guide-lifetimes.html#parameter-lifetimes

rgtbctltpx
()

Отлично! Я как раз и ждал чтобы они выпустили 1.0. Теперь от «будем посмотреть» можно перейти к «можно что-нибудь полезное запилить»

Dark_SavanT ★★★★★
()

Потсоны. Пока вы тут выясняете взлетить или не взлетит пшпишники уже денег заработали, а питонисты тестируют новый проект:)

oblepiha_tau
()
Ответ на: комментарий от oblepiha_tau

Пока вы тут выясняете взлетить или не взлетит пшпишники уже денег заработали, а питонисты тестируют новый проект:)

Мнение вебельщика очень важно для всех нас.

tailgunner ★★★★★
() автор топика
Ответ на: комментарий от oblepiha_tau

так эти макаки на «потсонов» и работают, лол.

anonymous
()

Наверняка еще не написали, что теперь то go точно капец!

hizel ★★★★★
()
Ответ на: комментарий от shahid

Мозилловцы пилят своё чудо потому что goroutines не осилили, лохе.

Шозабред.

Ты бухой что ли?

Нет. Так что за бред ты сказал и с какой целью ты это сделал?

tailgunner ★★★★★
() автор топика
Ответ на: комментарий от tailgunner

Как очевидно из первого предложения, я аппелировал к гипотизе rust не нужен, потому в синтетическом бенчмарке не летает. Ведь go не нормально умеет в параллелизм, хоть и в нём есть средства для добавления асинхрона в код. И судя по синтаксису, писать на нём асинхронный код эффективно — неудобно [имхо]. Если бы go был таким удобным для паралелизма и асинхрона (опуская кучу других особенностей go), то некомерческая организация «Mozilla Foundation» не пилила бы сабж.

shahid ★★★★★
()
Ответ на: комментарий от rgtbctltpx

0.12.0

Мог бы и постарее найти доки, чо такие свежие-то достал.

anonymous
()

А сколько примерно можно пользоваться nightly сборкой, чтобы не «отстать» от новых фич?

vanzef
()
Ответ на: комментарий от Oxdeadbeef

в каких областях применим Rust, но не применима Vala?

Lincor
()
Ответ на: комментарий от shahid

Хорошие вещества, забористые.

Для начала, асинхронность - это рак мозга, который стал популярным из-за JS-хипсторов с мозгами раков. Далее: Go, конечно, говно, но он основан на CSP - лучшей модели конкурентности из существующих; а Мозилле нафиг не нужен был язык с крутой поддержкой асинхронности - им нужен был «контролируемо безопасный», close-to-metal язык с поддержкой параллельности, причем проект по его разработке начался до релиза Go (и, возможно, даже до публичного анонса Go). И кстати, параллельность в Rust тоже сделана на основе CSP.

А насчет «ниасилели goroutines»... их давно осилили, но выяснилось, что для стандартной библиотеки системного языка они слишком тяжелы и нелогичны, а для целей Мозиллы просто не нужны, после чего их выпилили.

tailgunner ★★★★★
() автор топика
Ответ на: комментарий от Lincor

ты слился

Кстати, можешь засчитать слив дважды. Мне-то всё равно, а тебе хоть какая радость.

tailgunner ★★★★★
() автор топика
Ответ на: комментарий от tailgunner

И кстати, параллельность в Rust тоже сделана на основе CSP.

Rust is a general purpose, multi-paradigm, compiled programming language developed by Mozilla Research.[9] It is designed to be a «safe, concurrent, practical language»,[10][11] supporting pure-functional, concurrent-actor, imperative-procedural, and object-oriented styles.

anonymous
()
Ответ на: комментарий от tailgunner

Еще плохо, когда авторам плевать на то, что пишут об их творении в самой популярной энциклопедии.

anonymous
()
Ответ на: комментарий от makoven

Так, что с растовыми каналами треды наконец-то перестали быть злом?

Нити никогда не были злом, а CSP-подобные каналы можно навелосипедить и в Си, и в Си++. Фишка именно Rust в linear typing aka ownership: http://doc.rust-lang.org/book/ownership.html

tailgunner ★★★★★
() автор топика
Ответ на: комментарий от hateyoufeel

PHP слоников, а не обезьянок...:)

anonymous
()

О! Годнота. Пойду обновлюсь.
Эх, ещё бы они поработали над размером генерируемого кода.
Но пока, как понимаю, не до этого.

WatchCat ★★★★★
()
Последнее исправление: WatchCat (всего исправлений: 1)
Ответ на: комментарий от Oxdeadbeef

Ну да, на сисколах любой дурак сможет.
А вот когда тот же хеллоуворлд но с использованием стандартной растовской библиотеки будет не 600+ килобайт, а хотя бы 100к или лучше 10к как сишный, то тогда будет совсем другой разговор.

WatchCat ★★★★★
()

Отлично! Будет что осваивать после того как кресты «добью» до приемлемого уровня.

anonymous
()
Ответ на: комментарий от WatchCat

А вот когда тот же хеллоуворлд но с использованием стандартной растовской библиотеки будет не 600+ килобайт, а хотя бы 100к или лучше 10к как сишный, то тогда будет совсем другой разговор.

Тогда у него и стандартная библиотека будет, как сишная. Нет уж, спасибо.

anonymous
()
Ответ на: комментарий от anonymous

Тогда у него и стандартная библиотека будет, как сишная.

С чего ты так решил?

А вообще я просто лажанулся.
gcc по умолчанию использует динамическую линковку, а rust статическую.

Так что там всё норм и я зря бучу поднял.

В случае "-C prefer-dynamic" стандартный растовский хеллоуворлд от сишного отличается на 500 байт.

В случае же статической линковки сишный вариант разрастается до 800к
Но в отличии от раста не линкуется с динамическими либами.

А вот как раст заставить статически линковать с сишным рантаймом пока не понял.

WatchCat ★★★★★
()
Ответ на: комментарий от hateyoufeel

А когда в Rust запилят нормальный автовывод типов?

А можно несколько примеров ненормальности?

DarkEld3r ★★★★★
()
Ответ на: комментарий от shty

но для вкуривания Rust нужно приложить сильно больше усилий

Имхо, не так уж сильно. Там разве что лайфтаймы не элементарные, а в остальном, вроде, всё нормально. После С++ так вообще всё замечательно.

DarkEld3r ★★★★★
()
Ответ на: комментарий от umren

да сколько ты библиотек не сделай, Rust в этой нише востребован не будет

Почему? Да и смотря насколько востребован. Вон некоторые извращенцы даже на С++ пишут.

DarkEld3r ★★★★★
()
Ответ на: комментарий от anonymous

Раст как-то выглядит на их фоне аляповато

Интересно послушать аргументы. Или это исключительно субъективно и без глубокого копания?

Хотя, судя по предпочтениям, ты не «целевая аудитория».

DarkEld3r ★★★★★
()
Ответ на: комментарий от Dicebot

синтаксис в некоторых местах таки и остался излишне перегруженным спецсимволами

Например?

Да и если я правильно понимаю, что такое «токены», то в D не факт, что «лучше». Хотя лично я не вижу в спецсимволах проблемы.

Функции вида from_str в языке с нормальной системой типов выглядят как-то нелепо.

Можно раскрыть мысль? В чём проблема и как должно быть?

DarkEld3r ★★★★★
()
Ответ на: комментарий от umren

даже не буду тебе приводить очевидные аргументы как ты здесь не прав

Почему?

DarkEld3r ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.