LINUX.ORG.RU

Релиз языка программирования Rust 1.39

 ,


1

8

Rust — мультипарадигмальный компилируемый язык программирования общего назначения, спонсируемый Mozilla, сочетающий парадигмы функционального и процедурного программирования с объектной системой, основанной на типажах, и с управлением памятью через понятие «владения».

Что нового в версии 1.39:

  • стабилизирован новый синтаксис асинхронного программирования, основанный на функции «async», блоке async move { … } и операторе «.await»;
  • разрешено указание атрибутов при определении параметров функций, замыканий и указателей на функции. Поддерживаются атрибуты условной компиляции (cfg, cfg_attr), управляющие диагностикой через lint и вспомогательные атрибуты вызова макросов;
  • стабилизирован «#feature(bind_by_move_pattern_guards)», который позволяет использовать переменные с типом привязки «by-move» в шаблонах;
  • предупреждения о проблемах при проверке заимствования переменных c использованием NLL переведены в разряд фатальных ошибок;
  • в пакетный менеджер cargo добавлена возможность использования расширения «.toml» для файлов конфигурации.

С полным списком изменений можно ознакомиться на сайте разработчика.

>>> Источник

★★★★★

Проверено: cetjs2 ()

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

Давно уже сбил. Kotlin - это исправленная версия Жабы.

Одни болтают, другие работают. Кто болтает, тот воображает, что существует чудодейственный язык программирования, благодаря которому программы будут получаться лучше, чем у взрослых дядь. Кто работает, не придаёт значения этой болтовне. В течение долгого времени болтали, что «Scala это исправленная Java». Теперь мода сменилась и болтуны перебегают со Scala на Kotlin. А я как программировал на Java, так и буду ввиду отсутствия существенных преимуществ у Scala и Kotlin, за исключением возможности гнуть пальцы.

В то же время интересуюсь новыми идеями в программировании. Вот, увидел в Rust здоровые идеи и попытаюсь поизучать. Не для замены Java/C++/ещё чего либо, а из любопытства.

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

Ты не один такой неосилятор, дядя. Многие неосиляторы до сих пор и на Коболе программят, выражаясь точно также про Жаба-программистов. Мол, ниасилили Кобол, работать нихатят! Подавай им объекты и сборщики мусора! Гнут пальцы! Не то что мы, бравые парни-коболисты работящие!

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

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

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

У них достаточная производительность.

Для написания лаб?

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

PYPL отслеживает гугление туториалов. Тоже такая себе метрика.

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

В моей картине мира TIOBE заслуживает гораздо большего доверия, нежели PYPL. Из-за питона во многом, тогда как остальное более-менее.

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

Вы решили поиграть в высшее существо,

Это вы высшее существо, программирующее на божественном язычке:

По факту сходные по производительности языки типа go и D оказались существенно популярнее


а по факту, по сравнению с rust (и уж тем-более с go), D- мертв

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

Какие гарантии? В rust уже убрали unsafe? Если разработчик по твоему мнению может как то запретить себе юзать unsafe, то почему нельзя ограничится функционалом в плюсах? И юзать -wlifetime, tidy, etc?

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

рассуждения человека, который ни ухом ни рылом в разработку ведра. даже на уровне любительских ос с osdev.

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

Толку-то, куча фич доступна только с unstable.

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

За D не стоит крупных компаний. Если б не потуги Мозиллы - нафиг бы сдалась ржавчина. Уже C++ последних стандартов выглядит более дружелюбным.

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

Ты забыл привести примеры ЯП в нише системных, без gc, которые появились за последние 20 лет, но нафиг никому не сдались без поддержки корпораций

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

Потому что -Wlifetime, мало того, что опциональный, так ещё и, по сути, костыль. Точно так же, как и любые статические анализаторы. В ржавчине время жизни объекта – часть языка, а не некоторая сторонняя метрика. Ты можешь компилировать без tidy плюсовый код, но не можешь компилировать растовый без лайфтаймов.

убрали unsafe

Из лиспа уже убрали списки?

Как (зачем и почему) должны убирать часть языка, которая притом является одной из ключевых? Сама идея была именно в наличии unsafe, чтобы вокруг небезопасных кусков кода сделать безопасные обвязки. Тогда анализ корректности во многом сведется к анализу unsafe кусков, которые явно выделены.

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

Так и safe опциональный. А этот «костыль» тупо лучше и мощнее того что есть в расте, ну сделай форк где в компилер будет вшит tidy и wlifetime если так надо.

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

Ростовчане любят двоемыслить, с одной стороны говорить, что С++ старый

Казалось бы придумали язык лучше, чем C++, так это же, во-первых, прекрасно, а, во-вторых, естественно — прогресс не стоит на месте.

Или у вас есть аргументы использовать 40-летний шлак?

С другой стороны игнорировать всё, что появилось в компиляторах С++ за эти 40 лет, что многие ошибки компиляторы MSVC и clang уже спокойно находят.

Прогресс и в компиляторах С++ не стоит на месте…

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

«Старость» плюсов – это не устарелость и не несоответствие времени. Это, в первую очередь, до невозможного толстый и кривой стандарт. Очень тяжело писать корректный портируемый код, тяжело писать обобщенный код, тяжело работать в экосистеме. Обратная совместимость – хорошо, но из-за нее каждая новая фича/исправление бага входит в стандарт частично, в виде компромисса, если входит вообще. Constraints и Coroutines – ярчайшие тому примеры. Но даже они лучше того, что было до них – SFINAE и черная магия темплейтов, костыли на костылях ради элементарных возможностей.

Да, MSVC и Clang находят многие ошибки. А gcc не находит, см. выше. Будь лайфтаймы частью языка, множество обнаруживаемых проблем а) возросло бы б) было бы куда более одинаковым среди компиляторов.

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

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

Проводя аналогии с clang – это как если бы -Wlifetime было включено и не отключалось, а в код вставлялись стандартизированные пометки о том, где -Wlifetime все же нужно на время выключить. Но даже так раст все еще будет иметь преимущество в виде лайфтаймов уровня языка.

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

Будь лайфтаймы частью языка
...до невозможного толстый стандарт...

%)

Да, MSVC и Clang находят многие ошибки. А gcc не находит, см. выше.

https://github.com/uwplse/crust а вот этот компилер не особо совместим с текущим.

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

А safe не опциональный.

...

Проводя аналогии с clang – это как если бы -Wlifetime было включено и не отключалось

Ну так я ж говорю, в чем трабла сделать форк где лифтайм не отключается?

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

В чем это проявляется? Я напоминаю что плюсовый влифтиме намного удобнее, да и просто лучше.

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

Для написания лаб?

Лабы на них не пишут, слишком сложно. На OCaml пишут финансовые приложения высокой надёжности и всякие сложные логические задачи. Ещё компиляторы, например, компилятор Раста :D

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

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

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

У D же долгое время даже свободного компилятора не было.

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

Лжец, ничего они там не обнажённые

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

намного удобнее, да и просто лучше

Спасибо за качественное и аргументированное «кря-кря». Чем удобнее, чем лучше-то?

сделать форк

Кому это нужно? -Wlifetime специфично для clang и в целом не получило популярности. Кому интересно – используют clang-tidy & ко. Кому неинтересно или просто лень – пишут как пишется, хорошо если хоть тестами покрывают.

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

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


заставляет

Язык парадигмы. Набралась кучка идиом не помещающаяся в либу и препроцессор (как qt) и чуваки сделали язык.

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

Спасибо за качественное и аргументированное «кря-кря». Чем удобнее, чем лучше-то?

Ну а что мне шизу комментировать, напишу многоточие, может кто проиграет если читать будет. А удобнее хотя бы тем что не нужно расставлять эти 'у 'б 'о 'г 'и 'е буковки.

Кому это нужно?

Пздц.

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

Он и создавался то с оглядкой на гошку. С рантаймом, зелеными потоками.

dinama ()

Что нового в версии 1.39:

Была на 30% увеличена ненужность ненужного.

:)

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

зачем мне шизу комментировать, напишу многоточие

буковки

Буковки расставляются тогда, когда лайфтайм не очевиден из контекста.

fn foo(s: &str) { // Какая разница, сколько времени живет s, если оно все равно живет дольше скоупа функции
    println!("{}", s);
}

struct Struct<'a> { // Явно указываем, что всякая Struct должна жить столько же, сколько ссылка внутри
    s: &'a str,
}
Siborgium ()
Ответ на: комментарий от Siborgium

Плюсы просто старые, хорош тут шевелить труп!
В 70-ых люди вообще мало что понимали в ИТ - любое гикообразное чудище встречалось овациями (LISP, Smalltalk, PL/1, Basic). Потому что нужно было заполнить идейную пустоту. А вот в 2000-ых произошёл отказ от всего этого зоопарка, почти все неуклюжие мастодонты сдохли, разве что С++, уцепившись зубами в своё легаси, никак не хочет падать в могилу. Ничего особо нового не придумали, но развили многие старые идеи и сегодня мы имеем апогей разрозненных новаций в виде Ди и Немерле. Кто этого ещё не понял, тот не поймёт никогда - ему место там же, с Фортраном и PL/1. :)

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

В 70-ых люди вообще мало что понимали в ИТ - любое гикообразное чудище встречалось овациями (LISP, Smalltalk, PL/1, Basic).

Можно подумать Rust не гиковский. Они даже синтаксис взяли не попсовый, а из ML.

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

Лжец, ничего они там не обнажённые

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

Релиз языка программирования Rust 1.39 (комментарий)

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

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

Тут невольно сразу вспомнилась недавно прочитанная статья о том, что с середины семидесятых у каждого следующего поколения падает средний уровень IQ. Говорят, то ли люди становятся глупее (почему бы и нет?), то ли сам тест IQ пора менять. Кстати, за недавнюю эволюцию объем головного мозга человека действительно уменьшился за последние нескольких тысячелетий по сравнению с кроманьонцами и неандартальцами. Так что, ничего исключать нельзя)

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

посмотрел минутку ролика о JS. Девушка заявила, что «… JS, which is based on C, …». После этого энтузиазм пропал. Хотя сама индуска вполне ничего, в IT они обычно какие-то страшные.

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

Хотя сама индуска вполне ничего

для мужика в парике

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

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

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

Девушка заявила, что «… JS, which is based on C, …»

а что тебе не нравится? в наш век все басед он си :)

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

нуу... я бы не сказал что конкретно эта в ИТ :)

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

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

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

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

Одно дело болтать с иностранцем IRL, другое дело - делать видео для англоязычной аудитории

Deleted ()

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

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

другое дело - делать видео для англоязычной аудитории

мне кажется вообще весь проект — шутка. Там девки стриптиз кажут, рассказывая такие ценные знания типа что такое массив или как тег подружить с КССом, а он придирается к уровню языка. Да хоть на китайском, чесслово! Не зря в народе стереотип про линуксоидов-ботаников: им девки сиськи показывают, а они жалуются на уровень английского! И ЭТО, блджад, НЕ ШУТКА!

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

им девки сиськи показывают

Эка невидаль.

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

метапрог развивается семимильными шагами

оспади, опять ты! а что, старый аккаунт уже забанили?

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

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

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

им девки сиськи показывают

Эка невидаль.

не поминай сиськи в суе: это грех. Для любого здорового мужика вид обнаженной девушки — самое прекрасное что есть на свете. Собсна, эволюция, внезапно. (наверное, если целыми днями порнуху в интернетах разглядывать, то присытишься, но и то — меня берет сомнение)

Так что если тебе по 70 сообщений в день срача на ЛОРе доставляет большее удовольствие, чем слушать про «программирование», созерцая раздевающихся девах — чет с тобой не то.

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

Не зря в народе стереотип про линуксоидов-ботаников

Вот еслиб они при этом орудовали обоими джойстиками от нинтендо свитч. Не линуксоиды, девушки. Хотяя. Нарядить ее в растянутый свитер..

Deleted ()
Последнее исправление: Deleted (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.