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 ()

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

А тут оно еще и без GC

лалка, уже объясняли что reference counting есть и в крестах

Плюс поддержка ФП.

std::function<int(int)> factorial = [factorial](int n){ return n == 1 ? 1 : n*factorial(n - 1); };

лямбды и кложуры тоже есть

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

лалка, уже объясняли что reference counting есть и в крестах

Лалка, а причем тут ref-counting, а? Или не в курсе, в чем фишка с растом?

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

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

А компилятор хаскеля на хаскеле, но кто об этом знает кроме нас с тобой? Речь шла о том пойдет он в мейнстрим или нет и я думаю что шансы есть.

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

Или не в курсе, в чем фишка с растом?

borrow checking, типа нельзя инсертить в вектор в тот момент когда проходиш по нему итератором, сомнительная фича

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

типа нельзя инсертить в вектор в тот момент когда проходиш по нему итератором

Это скорее про про отсутствие «висящих указателей».

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

Слишком категоричное утвердение, надо ИМХО добавлять

Это же интырнет, а не кафедра философии. Здесь ИМХО - по умолчанию.

Есть мнение что управление памятью сильнее повышает скорость разработки чем ООП

Для управления памятью есть gс. Что фундаментально нового дает раст программисту? Ничего.

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

Не выйдет. Такой браузер по определению будет кривее и глючнее существующих, т.к. делается в кустарных условиях = проигрыш массового рынка. Игрушка для задротов-илитариев может и будет, но не более.

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

Для управления памятью есть gс.

GC в реальных условиях проигрывает ручному управлению памятью.

Что фундаментально нового дает раст программисту?

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

Не выйдет. Такой браузер по определению будет кривее и глючнее существующих, т.к. делается в кустарных условиях = проигрыш массового рынка. Игрушка для задротов-илитариев может и будет, но не более.

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

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

Для управления памятью есть gс. Что фундаментально нового дает раст программисту? Ничего.

Назови мне популярный браузер, написанный на языке с GC. Ядро ОС. Системную библиотеку.

Такой браузер по определению будет кривее и глючнее существующих, т.к. делается в кустарных условиях

Надо понимать, все определения - твои глубоко личные.

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

GC в реальных условиях проигрывает ручному управлению памятью

А что, в расте - ручное управление?

Автоматическое управление памятью, идентичное ручному управлению памятью по производительности и гарантирующее отсутствие ряда распространённых ошибок

В жабе я не думаю про память, в расте я не думаю про память - что нового то?

Почему он делается в кустарных условиях?

Потому что вне индустрии, не «на конвеере» - это и есть в кустарных условиях, т.е. на коленке. Например для ООП существуют методики разработки, которые очевидно в расте неприменимы, т.к. там ООП «сильно другое». Значит надо изобретать по ходу процесса. И таких моментов, когда не существует адекватных методов работы с новым инструментом (языком) - предостаточно, и не только технических, но и организационных и даже психологических. Кустарщина, одним словом.

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

А что, в расте - ручное управление?

Сюрприз.

В жабе я не думаю про память, в расте я не думаю про память - что нового то?

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

А потом наоборот: когда приходится писать на плюсах или чем-то со сборкой мусора, испытываешь жуткий дискомфорт, что компилятор тебя не страхует.

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

А что, в расте - ручное управление?

Сюрприз.

О нееет, в ржавчине ты как раз думаешь про память)

Эталонное ненужно этот ваш раст.

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

Назови мне популярный браузер, написанный на языке с GC. Ядро ОС. Системную библиотеку.

Вся экосистема OpenGenera. Нe помню был ли там www браузер, но все остальное было. Если бы менеджеры не просрали полимеры, OpenGenera была бы жива, и с браузером конечно.

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

Назови мне популярный браузер, написанный на языке с GC. Ядро ОС. Системную библиотеку.

Вся экосистема OpenGenera

популярный

OpenGenera

Мде. Ну а почему не HotJava? Всяко популярнее.

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

Эталонное ненужно этот ваш раст.

Раз модель памяти ржавчины - одна из основных ее фишек, а ты написал, что там gc, значит ты вообще не в теме. Господи, ну как можно критиковать что-то, вообще не представляя о чем говоришь? Какой в этом смысл?

Раст - нужно. Очень сильно нужно.

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

А что, в расте - ручное управление?

В расте автоматическое управление с эффективностью идентичной ручному управлению. Впрочем с какой-то точки зрения оно ручное, т.к. произвольный код не откомпилируется. Надо думать про владение объектами и прочие вещи. Но это куда менее чревато опасными ошибками, чем ручное управление в стиле C.

В жабе я не думаю про память, в расте я не думаю про память - что нового то?

Нового то, что Java жрёт больше памяти и в общем случае медленней работает, чем Rust.

Потому что вне индустрии, не «на конвеере» - это и есть в кустарных условиях, т.е. на коленке. Например для ООП существуют методики разработки, которые очевидно в расте неприменимы, т.к. там ООП «сильно другое». Значит надо изобретать по ходу процесса. И таких моментов, когда не существует адекватных методов работы с новым инструментом (языком) - предостаточно, и не только технических, но и организационных и даже психологических. Кустарщина, одним словом.

Тебя послушать, так всё, что пишется не на C++ — кустарщина. Уже всё давно изобрели и отладили. Люди и на хаскеле пишут серьёзные программы, уж куда странней-то.

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

Раз модель памяти ржавчины - одна из основных ее фишек, а ты написал, что там gc, значит ты вообще не в теме. Господи, ну как можно критиковать что-то

Ну это всё же лучше, чем критиковать не научившись читать? Давай ты покажешь где я сказал что в расте gc?

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

Ну это всё же лучше, чем критиковать не научившись читать? Давай ты покажешь где я сказал что в расте gc?

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

Да не суть же. Я к тому, что, почитай получше про ржавчину. Может и изменишь свое мнение о ее ненужности.

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

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

«Раст», значит, тебе звучит чужеродно, а «руст» - оооо, сразу красота и пера пушкина достойно? Одинаково звучат же с точки зрения интеграции с русским. И откуда ты там «у» вообще взял?

Ладно еще, когда люди хотят чего-то обстебать и специально коверкают название. Если «Руст» - это аналог «Петухона», ок, это я еще могу понять. Но зачем просто так уродовать слово?

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

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

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

Надо думать про владение объектами и прочие вещи. Но это куда менее чревато опасными ошибками, чем ручное управление в стиле C

std::shared_ptr хватит всем.

Нового то, что Java жрёт больше памяти и в общем случае медленней работает, чем Rust.

Ты что, байтики/такты считаешь? Память стоит дешевле моих нервов.

Тебя послушать, так всё, что пишется не на C++ — кустарщина

Отчего же, на java - не кустарщина, на php - не кустарщина, даже на python - уже почти не кустарщина.

Люди и на хаскеле пишут серьёзные программы, уж куда странней-то.

Я же не сказал, что кустарщина - это плохо. Кустарщина проигрывает индустрии по соотношению цена/качество, но если цена не имеет значения - почему бы и нет? Да хоть на brainfuck'e пусть пишут свои уникальные программы, язык от этого не становится мэйнстримом. Кстати, а сможешь назвать какую-то программу на хаскеле со сроком существования и поддержки более 10 лет? Мне кроме xmonad ничего на ум не приходит, но это же эталонный задрот-проект.

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

Как же ты произносишь Майкрософт? Как его вообще по другому можно прочитать?

Микрософт.

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

Как же ты произносишь Майкрософт?

Приличные люди такие слова не произносят.

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

std::shared_ptr хватит всем.

Это один из самых неэффективных способов управления памятью.

Ты что, байтики/такты считаешь?

Есть задачи, в которых это надо. Если ты байты/такты не считаешь, раст к твоим задачам не имеет никакого отношения.

Память стоит дешевле моих нервов.

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

Я же не сказал, что кустарщина - это плохо. Кустарщина проигрывает индустрии по соотношению цена/качество, но если цена не имеет значения - почему бы и нет? Да хоть на brainfuck'e пусть пишут свои уникальные программы, язык от этого не становится мэйнстримом. Кстати, а сможешь назвать какую-то программу на хаскеле со сроком существования и поддержки более 10 лет? Мне кроме xmonad ничего на ум не приходит, но это же эталонный задрот-проект.

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

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

«у»

rust. U -> У. Согласно правил транслитерации.

Как же ты произносишь Майкрософт?

Микрософт. Не называть же, например, микрофон или микроскоп - майкрофоном или майкроскоупом соответственно?

Другое дело, если занесёт в англоязычную страну, тогда другое дело, «раст», «майкрософт», etc Согласно правил произношения в английском, безо всякого быдловского гадства типа «рунглиш».

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

Если «Руст» - это аналог «Петухона», ... уродовать слово?

Уродовать, это если вместо «Rust» писать/говорить «Pederust».

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

Есть задачи, в которых это надо

Это очень узкий круг задач, и для них есть C/C++.

Кстати для таких задач важно чтобы рантайм был тонкий, а лучше бы его вообще не было: как там в расте с этим? Можно ли собрать программу на расте без рантайма и будет ли такая программа защищена лучше чем на C?

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

Ещё раз - это не стоит моих нервов. За отдельную плату - пожалуйста, но где ты найдёшь лохов, готовых приплачивать за раст?

Да я и на джаве такую сходу не назову

А я назову, хоть бы и NetBeans который я использую. Выпускается уже более 15 лет. Или Apache tomcat, тоже с тех времён существует. И, о боже! LOR!

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

Например для функциональщины существуют методики разработки, которые очевидно в ООП неприменимы, т.к. там фунциональщина «сильно другая». Значит надо изобретать по ходу процесса всякие паттерны, недотипы с классами и извраты с множественным наследованием.

fixed - хотя вброс был совсем ничего :)

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

Например для функциональщины существуют методики разработки

И конечно каноничная книжка по ФП паттернам называется... а как же она называется?

Значит надо изобретать

Они уже изобретены и опробованы на миллионах макак.

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

Ну а в чем проблема то?

Проблема в том, что оно никогда не было популярным и давно умерло.

Было реализовано? Было. Использовалась? Использовалась.

Ну да. В Emacs тоже есть браузер, реализован и используется.

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

rust. U -> У. А может лучше О - от «джёопа»?

Согласно правил транслитерации.

Каким именно правилам?

Не называть же, например, микрофон или микроскоп

Джёпа или Жопа? Причем тут вообще микро-что-то-там, которое вообще-то пришло из древне-греческого?

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

Во, кстати да, особенно бомбит, когда «j» используют в качестве «й», а в качестве «я» сочетание «ja» вместо «ya».

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

rust. U -> У. Согласно правил транслитерации.

Ссылку на эти правила - в студию.

https://ru.wikipedia.org/wiki/Транслитерация_русского_алфавита_латиницей

Это не правила, а статья в Википедии // К.О.

Более того, статья посвящена правилам транслитерации русского в латиницу. Как ты смог привязать ее к транслитерации английского слова «rust» - загадка.

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

микрофон или микроскоп - майкрофоном или майкроскоупом соответственно

Микрофон и микроскоп - греческие слова составленные из греческих корней и пришедшие в русский напрямую, произносятся по правилам произношения греческих слов. Майкрософт - английское имя собственное составленное из английского произношения греческого корня и английского корня, произносится по правилам произношения английских слов.

U -> У. Согласно правил транслитерации.

Это правило работает в другую сторону, У -> U (spunik но не spootnik). U -> У работает не во всех случаях.

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

Ссылки на пачку гостов.

русского в латиницу

Какие проблемы в обратной транслитерации?
Если a = b, то b = a.

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

Транслитерация русского алфавита латиницей

С чего ты вообще взял, что транслитерация работает одинакового в обе стороны?

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

Какие проблемы в обратной транслитерации?

Они относятся к транслитерации в другом направлении.

Если a = b, то b = a.

В общем, никакими общепринятыми правилами ты не пользовался. Вопросов больше нет.

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

Это очень узкий круг задач

Ну так его пишут с конкретной задачей в уме - next-gen движок браузера. Очевидно, GC для таких задач не подходит в принципе, а С++ слишком дыряв.

Можно ли собрать программу на расте без рантайма и будет ли такая программа защищена лучше чем на C?

Да.

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

Ну так его пишут с конкретной задачей в уме - next-gen движок браузера.

Его пишут как язык системного программирования. Движок браузера - просто самая распиаренная задача.

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

произносится по правилам произношения английских слов.

Тогда пусть за кордоном говорят «Москва», а не «Москоу» или «Москау», а мы будем соответствуя правилам иностранных языков (и не только языков) говорить, например, «Суоми» вместо «Финляндия», страшно представить, как согласно правил языка оригинала мы должны будем произносить китайские слова (если таковые будет позаимствованы). А как произнести самоназвание страны венгров (Magyarország)? Хотел ещё притянуть сюда произношение «ш» и «щ» в японском на примере слов типа «Тошиба», но не уверен, что «ш» и «щ» японцы действительно произносят как «с».

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

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

Нашим по русски говорить стало стыдно

«За державу обидно» (ц)

и получаем на выхлопе лёгкий вариант рунглиша.

Если такой патриот - говори «Ржавчина». Даже близко никакого рунглиша.

tailgunner ★★★★★
()

tailgunner, ozkriff, подскажите - есть официальный роадмап на rust? Что планируется добавить в 1.x и далее в 2.x? Когда ожидаются следующие мажорные версии?

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

есть официальный роадмап на следующие версии rust? Что планируется добавить в 1.x и после в 2.x?

Официального нет. Разговоры ходят разные - HKT, ООП, исключения.

Когда ожидаются следующие мажорные версии?

Следующие стабильные? Пока неизвестно.

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

Когда ожидаются следующие мажорные версии?

Следующие стабильные? Пока неизвестно.

Хотя нет, соврал: Six weeks after 1.0.0 is released 1.1.0 will be released, and six weeks after that 1.2.0, etc.

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

Заметь, все 3 русских слова, попавшие в английский - pogrom, intelligentsia и sputnik, попали без искажений. И я не вижу, как исторический сложившиеся 500 лет назад экзонимы дают право игнорировать правила произношения оригинального языка при заимствовании слова в 21 веке. Тем более сознательно его коверкать, как в случае с «рустом».

Нашим по русски говорить стало стыдно

Просто ваши знают английский язык, и им стыдно использовать некорректные произношения заимствованных слов, тем более хвалиться этим и выставлять это как акт патриотизма.

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

HKT, ООП, исключения

Странно - последнее 2 фичи сломают же весь накопленный опыт работы с rust.

А зеленые потоки, асинхр. ввод/вывод в стандартную библиотеку возвращать будут?

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