LINUX.ORG.RU

Вышел Rust 1.0 Beta

 ,


2

7

3 апреля 2015 года, в полном соответствии с планом, вышла бета-версия Rust 1.0. Язык и большая часть стандартной библиотеки окончательно стабилизированы, до финального релиза возможны только минимальные изменения в API.

Некоторые изменения со времени альфа-версии, вышедшей 9 января:

Полный список изменений.

Так же разработчики отмечают рост экосистемы языка. Репозиторий crates.io недавно преодолел отметку в 1 миллион загрузок и содержит более 1700 модулей, готовых для использования. В данный момент идет работа по обновлению устаревших модулей до бета-версии. Большая часть документации (The Book, Rust By Example, The Rust Reference, API reference) приведена в соответствии с вышедшей бета-версией.

Окончательный релиз Rust 1.0 запланирован на 16 мая, разработчики потратят оставшиеся до релиза 6 недель на тестирование, исправление ошибок и обновление документации.

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

anonymous

Проверено: maxcom ()
Ответ на: комментарий от buddhist

Это в каком-то интерпретируемом манямирке. Главный прикол макросов в том, что они исполняются в компил-тайме.

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

Ничего не наладится. Рубль опять грохнется и жвачки с чипсами будут по 100р за штуку.

Откуда вы со своим жопоголизмом только беретесь? Я те больше скажу, не только рубль, ты сам в пределах ближайших ста лет грохнешься и грохнешься окончательно и навсегда. И тебя больше не будут никогда волновать ни курс и стоимость проца.

Жопоголик? Будь им до конца. Сделай вдоль.

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

Это в каком-то интерпретируемом манямирке. Главный прикол макросов в том, что они исполняются в компил-тайме

Нормальные языки умеют компилировать в рантайме.

no-such-file ★★★★★
()
Ответ на: комментарий от MyTrooName

А разделение на Junior, Intermediate, Senior - видели?

Так вот Senior - за 8-10 работая с С++ скорее всего освоит это.

А если не освоит, то пусть переквалифицируется на Java, которую и создали для утилизации менее интелектуальной программистской массы

grim ★★☆☆
()
Последнее исправление: grim (всего исправлений: 1)
Ответ на: комментарий от no-such-file

Эта либа специально написана, чтоб тыкать мордой всех, кто скажет, что в лиспе убогий синтаксис?

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

Пока я так и ну услышал ни одного реального преимущества над D.

Просто тебе это не интересно. Точно так же, ты можешь пытаться доказывать преимущества D над С++, но фанат плюсов (или нежелающий связываться с D) будет «с лёгкостью» игнорировать твои аргументы.

Да и учитывая популярность D надо вопрос иначе ставить. А именно есть ли у раста преимущества над мейнстримовыеми языками. Потому что даже если все программисты на D перейдут на раст - глобально это ничего, в плане популярности, не изменит.

Лично я пишу на плюсах как раз. D интересовался, но не понял, что он мне может дать. Да, местами кривости плюсов подравняли, кое-какие возможности добавили, но при этом есть свои кривости и чем они лучше, давно изученных, граблей плюсов непонятно. Раст же, хотя бы, предлагает что-то «новое» (естественно, по сравнению с мейнстримом): borrow checker и отсутствие ГЦ, паттерн матчинг, if expression, более-менее нормальные макросы (а не мета-программирование на строках как в D), типизированные «шаблоны» и т.д.

Разумеется, это всего мало для «полноценного взлёта», но язык хотя бы интересен.

DarkEld3r ★★★★★
()

Подскажите, а как у rust обстоят дела с экспортом символов в библиотеку? Я в этом ничего не понимаю, но вроде плюсы вечно обвиняют, что они уродуют имена. У раста ситуация лучше или так-же?

И нужно ли специально добавлять поддержку растовых символов в другой язык, чтобы можно было использовать раст-библиотеку из этого языка?

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

Это не лисп, это С++ на S-exp'ах

Тем не менее там есть макросы.

(using-namespace std.macros
  (def show-struct-details (macro intern (st)
     (let ((name  \ (@:@ st token-str))
           (count \ (struct-member-count mc st)))
       (printf "Struct: %s\n"       name)
       (printf "Member count: %d\n" count)
       (let ((i \ 0))
         (for true (< i count) (incv i)
           (printf "Member %d: %s\n" (+ i 1) (struct-member-name mc st i))))
       (nullptr DNode))))
monk ★★★★★
()
Ответ на: комментарий от makoven

Я в этом ничего не понимаю

не понимаешь так изучи матчасть. кресты ничего не уродуют, тебе никто не обещал что код скомпилированый одним крестовым компилятором соберется с кодом собраным другим компилятором, так что тебя не должно волновать как там компилятор именует символы в объектнике.

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

Слышь, медведь, ещё раз напечатешь «руст» - я тебе горящую машину предоставлю.

А что такого особого в русте, что его, руст, надо так рьяно защищать? Из-за того что он называется руст?

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

Ты ещё что за хрен с горы? Руст он и есть руст. «Раст» – это в воспалённых и насквозь англофицированных мозгах из той же оперы, что «Пайтон», «Майкрософт» etc

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

Пайтон

Ты может и Monty Python как «Монти Питон» произносишь?

насквозь англофицированных мозгах

Можешь не отвечать.

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

Раст тоже уродует, но можно отключить атрибутом «#[no_mangle]».

Т.е. как и в С++, где тоже можно экспортировать как «С».

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

ничего уже принципиально не поменяется?

Ну может только пара-тройка фич добавится, или объявится устаревшей. Библиотека и доки перелопатятся опять же. А так - ничего принципиально не поменяется.

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

Ты бы новость хоть прочитал, прежде чем петросянить.

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

Безо всякой поцреоты. Заимствованые слова давно адаптированы. Английское произношение хорошо в своём языке, когда оно смешивается с другим - выглядит паршиво и приторно.

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

Ты может и Monty Python как «Монти Питон» произносишь?

Я его вообще никак не произношу, потому что понятия не имею, что это.

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

Ну так что, обещанного три года ждут?

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

Заимствованые слова давно адаптированы.

А слово «rust» заимствовано? Когда?

Английское произношение хорошо в своём языке, когда оно смешивается с другим - выглядит паршиво и приторно.

Плохо - это когда твой личный вариант произношения иностранного слова совпадает с другим иностранным словом.

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

А слово «rust» заимствовано? Когда?

Понятия не имею насчёт конкретного случая. Про правила заимстсвования и адаптирования закордонных слов сказать тоже не смогу, не спец.

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

У парня по поводу заимствованных слов вполне здравая позиция, но с рустом он явно переборщил.

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

Так он на шотландский манер, может быть, откуда тебе знать?

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

тебе никто не обещал что код скомпилированый одним крестовым компилятором соберется с кодом собраным другим компилятором

Вот я и пытаюсь понять - будет ли возможно использовать растовые классы в других языках. Или все будет так же печально как с C++

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

extern «C» умеет экспортировать классы и прочее несишное добро?

а печаль у тебя в голове

Ты и с этим вопросом хочешь мне помочь?

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

Печаль. А то так бы через десятилетие-другое начали бы модули ядра на нем писать

У Rust пока даже ABI нет

То есть, даже нельзя сделать so на расте и подключить ее к другому коду на расте?

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

А то так бы через десятилетие-другое начали бы модули ядра на нем писать

Писать модули отсутствие Rust ABI не мешает. Есть C ABI, он поддерживается.

То есть, даже нельзя сделать so на расте и подключить ее к другому коду на расте?

Можно. Но официального ABI нет.

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

extern «C» умеет экспортировать классы и прочее несишное добро?

тоесть ты такой береш в языке в котором нет ООП и вызываеш виртуальную фунцкию при множественом наследовании?

Ты и с этим вопросом хочешь мне помочь?

я просто константирую факт

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

Вообще - да, но конкретных планов (типа «в Rust 1.N мы зафиксируем ABI») не было. Хотя, возможно, с момента убиения rust-dev@ что-то изменилось - сейчас за разработкой трудно следить.

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

использовать растовые классы

Но в расте нет классов.

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

В половине случаев, когда надо в списк элементы попихать, можно использовать вектор постоянной длины в стеке.

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

Я полностью с этим согласен. В плюсах одну и ту же проблему можно решить разными методами, и лучше использовать методы в которых разбираешься. Однако все немного меняется, когда приходится поддерживать/использовать чужой код.

Aswed ★★★★★
()
Ответ на: комментарий от no-such-file

Именно поэтому Rust никогда не взлетит. Единственный язык который активно используется и имеет сильно другое ООП - это javascript, но так уж сложилось и альтернативы тут просто нет, и объем кода обычно позволяет обойтись без тяжелого ООП.

javascript вообще для других задач и сабжу не конкурент.

Ничего существенного, прорывного в плане развития индустрии программирования rust предложить не может. Поэтому его удел - домашние проектики задротов-илитариев.

Слишком категоричное утвердение, надо ИМХО добавлять. Есть мнение что управление памятью сильнее повышает скорость разработки чем ООП. А тут оно еще и без GC. Плюс поддержка ФП. Может ничего прорывного, но по совкупности возможностей очень интересный язык. Ему бы еще фреймвок а ля Qt... А что касается домашних проектиков - все может измениться если выйдет например браузер от Мозиллы.

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

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

Компилятор раста написан на расте.

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

Я вообще не понял смысла этой беты. Многие функции в библиотеке помечены как нестабильные. Что с ними делать — копипастить? nightly надо использовать.

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