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 ()
Последнее исправление: cetjs2 (всего исправлений: 4)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

Слышал мнение, что таки гуманитарная.

bbk123 ★★★★★
()
Ответ на: комментарий от 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
()
Ответ на: комментарий от 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
()
Ответ на: комментарий от seiken

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

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

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

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

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

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

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

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

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

Deleted
()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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