Опубликован релиз языка программирования общего назначения Rust 1.61, основанного проектом Mozilla, но ныне развиваемого под покровительством независимой некоммерческой организации Rust Foundation. Язык сфокусирован на безопасной работе с памятью и предоставляет средства для достижения высокого параллелизма выполнения заданий, при этом обходясь без использования сборщика мусора и runtime (runtime сводится к базовой инициализации и сопровождению стандартной библиотеки)...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=57219
Кто может сравнить ржавого с крестами, каково ваше мнение? Насколько стало проще и надёжнее?
в целом, поработав с безопасным растом и небезопасными плюсами, пришел к выводу, что в расте гораздо безопаснее. Да и в целом, раст - это синоним слову безопасность. Ну и память - с памятью работать стало безопаснее. Потому что используется безопасный раст. Безопасность достигается при помощи безопасных конструкций безопасного языка и безопасной работы с безопасной памятью, чтобы безопасные программы были еще безопаснее.
А уязвимости там тоже безопасные?
А какие еще могут быть уязвимости в самом безопасном языке в галактике?
и еще, безопасный секс бывает только с мышеловкой.
Похоже ты теряешь веру в безопасность раста. Покайся грешник!
> и еще, безопасный секс бывает только с мышеловкой.С гильотиной, для надежности.
Такие же как у остальных - CVE например.
unsafe это про отсутсвие UB и про формальные гарантии компилятора (типа ссылки указывают на живые объекты, не будет разыменован нулевой указатель, етц)
UB это искуственная проблема созданая упоротыми толкователями стандарта, которые решая свои вопросы откидывают здравый смысл и создают новые неожиданные проблемы. в разных компиляторах разные UB.
UB это фича созданная (упоротыми?) авторами стандартов. Толкователи просто используют её для извлечения преимуществ в тех или иных случаях.
Проблемы возникают от упоротых(!) быдлокодеров, которые вызывают UB там, где этого делать нельзя.
> UB это искуственная проблемаUB этот как раз решение проблемы
> UB этот как раз решение проблемыЦеной создания новых проблем, увы.
> Ценой создания новых проблем, увы.Создание языка программирования - это всегда торг. Ставки сделаны, ставок больше нет.
Со всем согласен, но стоило бы упомянуть безопасность. Кажется, это аспект, который незаслуженно обойдён вниманием.
Предлагаю включать этот абзац во все новости, где упоминается Rust
Безопасно предлагаю безопасно включать этот безопасный абзац во все безопасные новости, где безопасно упоминается безопасный Rust.
*безопасно поправил*
На сколько безопасно работать с растом с точки зрения охраны труда?
Опасно с точки зрения психиатрии.
yo dawg, я слышал ты любишь безопасность...
Так используй умные указатели и будет тебе безопасность на уровне Раста.
Как день и ночь. На расте всё надёжнее и проще, чем на плюсах.
Ты забыл 10 раз повторить, что безопаснее. Незачёт.
по началу писать гораздо сложнее, пока осознаешь как работать с владением и заимствованием борясь с конпелятором. потом гораздо легче, поскольку уже конпелятор начинает работать за тебя и отлавливает глупые ошибки. в расте основная идея - это взять плюсы(правда с видоизмененным ооп) и крайне педантично выпилить все UB - превратив их в ошибки компиляции. это применимо к unsafe коду (надо так и читать - unsafe от UB). вся педантичность проявляется в очень строгих формальных гарантиях, которые дает компилятор и вот именно их очень в крестах после ржавого не хватает. такой небольшой шажок в сторону формального доказательства правильности программы. хотя плата за это так же имеется, естесна. нужно руками прописывать времена жизней объектов(если это не получается вывести из контекста). и в целом, некоторый класс программ написать становиться сложнее, приходится иногда извращаться чтобы ублажить требования конпилятора
В лайфтаймы на старте можно и не упарываться вообще, просто фигача сплошные clone и прочие to_owned. В большинстве случаев этого хватает во всех смыслах. Зато при таком явном подходе сразу видишь, насколько получается среднестатистическая программа относительно неэффективной. Ведь в других языках всякие копирования неявно спрятаны, а иногда даже и в документации не описывается.
Типичный программист на раст. «Там конечно надо указывать лайфтаймы, но мы кладем на это болт потому что это сложно. И фигачем всё ансейф, а всю работу делают c++ либы.» Классика.
Понадобилось как-то написать нативную библиотеку для ноды. Выбор был между https://github.com/nodejs/node-addon-api и https://github.com/napi-rs/napi-rsРаст выиграл за более простую инфраструктуру вокруг - Cargo, cliшки для сборки и паблишинга, всё как любят жсники. В плюсах просто пришлось бы вручную описывать сборку каким-нибудь CMake.js (што), лапками писать шаблоны для CI и паблишинга либы.
> Понадобилось как-то написать нативную библиотеку для нодыЦелевая аудитория Rust
Лучшей антирекламы раст придумать сложно.
ну вот в плюсах все заряженные дробовики и острые предметы валяются где попало, а в расте всё это аккуратненько сложено на складе и если не надо не ходишь туда и всё хорошо, а если надо то горит ярко. в остальном не то чтобы большая разница с тем как если бы плюсовый компилятор просто отказывался компилировать код написанный не по гайдлайну..
Ты не употребил волшебное слово.
Область применения раста очень мала. Это что-то системное или сетевое. Где нужен несложный и надежный код. При этом язык навязываю определенную организацию кода, так что даже тривиальные вещи приходится реализовывать весьма жуткими маневрами, что превращает код в лапшу и повышает тем самым шанс логических ошибок. Что-то десктонопное или игры писать на расте - нелепая идея
Странно что на раст так ни написал ничего ни системного ни сетевого. Стоп так на нём вообще ничего не написали!
Пишу сейчас редактор для игр по типу юнити. По поводу гуя и геймдева в целом: всё ещё нет действительно фичастых фреймворков на все случаи жизни и смерти. Банально не написаны ещё, всё сырое. С другой стороны некоторые фундаментальные штуки на удивление круты. Аж целый GAPI свой есть. Или парочка ECS с автоматическим распараллеливанием систем (кто-то ещё так умеет?).В целом соглашусь. _Сейчас_ писать что-то серьёзное по части гуя/игр на расте - занятие на любителя. Другое дело, что постепенно это меняется в лучшую сторону. Про AAA проекты говорить рано, но вот индюшатину или мелкие гуйные тулзы вполне можно пилить уже сейчас.
Слова твои, пустые обещания, кто в лучшем знает толк, тот предложил бы Ди
Я не профи и пишу только как хобби. На расте пишется быстре и больше библиотек, если точнее то легче искать. А синтаксис говно лично для меня, но привыкнуть можно
Некоторое время пытался писать на Расте программы для решения ряда задач по работе. Столкнулся с кучей подводных камней, для решения которых требуется писать совершенно не очевидный код. В итоге, не смотря на то, что ряд вещей в Rust сделаны реально круто, пришел к выводу что язык плохо подходит для написания чего-то серьезного. Сейчас его почти не использую, Си и Си++ отлично делают все что мне нужно. При этом они, в ряде случаев, позволяют делать сверхэффективные оптимизации и я даже не представляю, как то же самое запилить на Rust. Что касается разговоров о "безопасности" - главная дыра в программе - это тот, кто ее пишет, и если руки растут из жопы то никакой язык не поможет.
> Столкнулся с кучей подводных камней, для решения которых требуется писать совершенно не очевидный кодМожете привести хоть один пример? Реально интересно, что там такое, ну борроу чекер не удовлетворили где-то или ещё что-то
> в ряде случаев, позволяют делать сверхэффективные оптимизации
А такие случаи часто ли возникают?
> Что касается разговоров о "безопасности" - главная дыра в программе - это тот, кто ее пишет
Так-то да, но иметь дополнительный слой контроля же неплохо...
Могу сравнить с C++ и JavaScript. Практически то же.
Давай сравни. Ждем твоего глубокого анализа.
Глубокие анализы - это не по адресу.
Для своей компиляции Rust требует мощного процессора, отнимает кучу памяти и до 100% нагружает каждое ядро процессора. Компилируется в среднем около 45 минут на Ryzen 7 1800X. Rust используется в продуктах Mozilla (Firefox, Thunderbird) для их компиляции и сборки.
Будь мужиком, запили поддержку rust в ядре freebsd (если я правильно интерпретировал аватарку)
> Будь мужиком, запили поддержку rust в ядре freebsd (если я правильно интерпретировал аватарку)Ты все правильно понял. И да, если он пойдет это делать - гангстер Масик покажется сущим паинькой :). Не знаю будет ли он пилить балки, но код будет еще жестче чем у гангстера.
На ржавом бонус в чувстве исключительности, оно сильнее подкрепляет бунтарство против всего
> На ржавом бонус в чувстве исключительности, оно сильнее подкрепляет бунтарство против всегоОсобенно против гугла, амазона и майкрософта, захомутавщих под себя фаундейшн.
>> На ржавом бонус в чувстве исключительности, оно сильнее подкрепляет бунтарство против всего
> Особенно против гугла, амазона и майкрософта, захомутавщих под себя фаундейшн.То ли дело IBM, Oracle, Sony и майкрософт в линух фаундейшне ...
> То ли дело IBM, Oracle, Sony и майкрософт в линух фаундейшне ...Там Торвальдс процессом рулит. А в хрусте куча какого-то корпоративного нонейма, лижущего подметки менеджерам. Первому и его майнтайнерам фиг сони на голову влезут, а в вон том они уже как метастазы, все и вся - обслуживание их интересов. Начиная с LLVM'ного тулчейна где рулит гугл на двоих с эплом. Да еще централизованый реп. Так что ща мегакорпы будут кроме гитхаба еще и там решать кому жить а кому умирать "на троих". Вот замечательно.
>> То ли дело IBM, Oracle, Sony и майкрософт в линух фаундейшне ...
> Там Торвальдс процессом рулит.На зарплате у фанудейшена ...
> А в хрусте <дальнейшие витеватые вопли "Вы нипонимаити! Это другое!" поскипаны>
Даёшь Python, переписанный на Rust! PythoRust!
Питон дно. Луа топ. И он Луа есть на хрусте.
и не говори. такое дно нечитаемое и неудобное что заменило псевдокод в большинстве литературы
> Луа топЯ тоже позитивно оценивал Lua, пока не столкнулся с "особенностями" обработки юникода и больших целых на этом прекрасном языке.
Мне конечно скажут, что это я старьём пользовался, но блин это "старьё" было сделано в 21 веке так, будто всем должно хватить 7 бит и 32-битных чисел с плавающей точкой.
Не зашло.
И нумерация списков с единицы.
Это вообще харам.
https://github.com/RustPython/RustPython
пожалуйста. можно по слухам потом в васм перегнать и потом в браузере запустить
Не знаю какие демоны это придумали, но вот https://rustpython.github.io/demo/
Кто-то должен оформить issue о переименовании
>Предоставлена возможность определения собственных кодов возврата из функции main.молодцы. Жаль java так не может
> java так не можетПотому что не нужно.
Java не нужно. MS в свое время правильно сделала, послав ее.
А гугл?
Проклятая компания Жабу не посылала. Она увидев хайп вокруг Жабы, сама захотела хайпануть, разработав клон Жабы по имени Си-Диез. Узнав и опозорившись того, что Си-Диеза в природе не существует, а есть только Си-Бемоль, Макрософт без палева всем раструбила, что язык на самом деле назвается Си-Шарп.
Ты имеешь в виду там ре-бемоль был замешан где-то? Я об этом не слышал. Язык называется до-диез, какие ещё шарпы? Ты или переводишь или не переводишь, разберись уже.
Опозорился ты. Си-диез есть. Например, в ля-диез мажоре.
>Жаль java так не можетЧо? Ну поставь последней строчкой System.exit(666)
Это убьет интерпретатор не завершив потоки не закрыв ресурсы и т.д.
Почему для C++ продолжение развития языка не является недостатком, а для ржавчины является?
Покажи мне спецификацию/стандарт раста
Я не фанат раста, но стандарты там-таки есть: https://doc.rust-lang.org/edition-guide/rust-2021/index.html
> Я не фанат раста, но стандарты там-таки есть: https://doc.rust-lang.org/edition-guide/rust-2021/index.htmlКакая стандартизирующая организация признала стандарт и какой у него номер? В сях и плюсах это так то ISO, при всех его спорных моментах это все же лучше группки хипстеров кроящих синтаксис в режиме неколени "нам похрен что мы сломали существующий код" и "сперва накодим потом подумаем".
А зачем тебе ISO? ISO стандарты один черт ни один компилятор полностью не реализует, всегда и чего-то не хватает, и чего-то своё же с боку прилеплено
Но при отсутствии официальной стандартизации вообще, ситуация с совместимостью различных реализаций, как бы, одного и того же языка будет совсем плачевной.
> ситуация с совместимостью различных реализаций, как бы, одного и того же языка будет совсем плачевной.Это хорошо или плохо для (не)коммерческой организации?
Для некоммерческой плохо. Для коммерческой - смотря, с какой стороны смотреть.
>всегда и чего-то не хватает, и чего-то своё же с боку прилепленоНе звезди все мэйнстрим компиляторы С++ реализуют принятые стандарты. Все, кроме мелких, они всё реализуют по-своему кривыми руками индусов.
> А зачем тебе ISO?Для хоть какого-то упорядочивания процесса, когда пытаются понять какие фичи реально нужны, как их лучше сделать и прочее. А не так что пара драных хипстеров с кандачка валит какое-то уг, на все бошки, быстренько прикинув на коленке как быстрей всего заткнуть сиюминутную проблему.
Отличной иллюстрацией к этому были патчи к линукскернелу. Наколенная разработка хайпотой как она есть. Чисто реактивное управление с затыканием дырок "по мере нахождения" вообще без потуг подумать хоть на шаг вперед. Это окей для гребаного курсача, но когда это сложный яп, это уродует и костылирует его с фееричной скоростью. Поэтому и есть уже штуки 4 убийцы раста. А может и больше.
> ISO стандарты один черт ни один компилятор полностью не реализует, всегда и чего-то
> не хватает, и чего-то своё же с боку прилепленоВ современных версиях компилеров - реализовано. А сколько кода вообще компилер хруста пятилетней давности собрать сможет? Вот так и узнаем "зачем стандарты". Хотя-бы понимать кто/что conforms to и не качать ночнушки с хипстасайта по безопасТной технологии вида curl | sh
> А зачем тебе ISO?Хоть кого-ниудь имеющего хоть минмальное представление о том что есть стандартизация и разработка стандартов. Когда сперва думают а потом кодят. Наоборот больно уж хреново получается.
> ISO стандарты один черт ни один компилятор полностью не реализует,
Обычно неплохо реализуют. И для начала - эти компилеры хотя-бы есть. А сколько альтернативных реализаций rust есть и с чем их compliance сравнивать вообще?
> всегда и чего-то не хватает, и чего-то своё же с боку прилеплено
А у rust вообще всегда облом если ночнушкой не пользоваться. Это типа лучше? Вообще требования кода к сборке никто не указывает. Думай-гадай, соберет его системная версия компилера или нет. Сразу видно - для любителей setup.exe сделано.
>> Я не фанат раста, но стандарты там-таки есть: https://doc.rust-lang.org/edition-guide/rust-2021/index.html
> Какая стандартизирующая организация признала стандарт и какой у него номер? В сях
> и плюсах это так то ISO, при всех его спорных моментах
> это все же лучше группки хипстеров кроящих синтаксис в режиме неколени
> "нам похрен что мы сломали существующий код" и "сперва накодим потом
> подумаем".
> кроящих синтаксис в режиме неколени "нам похрен что мы сломали существующий код" и "сперва накодим потом подумаем".Ты бы хоть ссылку открыл про редакции,которую я скинул, но у тебя нет на это мозгов, есть только ненависть. Тебе бы к психиатру сходить, весна уже на исходе, значит, проблемы с головой серьёзные.
> Ты бы хоть ссылку открыл про редакции,которую я скинул,Там какая-то очередная наколень, признанная непонятно кем. Опять какие-то хипстеры написали воды, с рассказом что да, у сишников и плюсеров с этим типа лучше. Можно вывесить конкретные требования к conformance компилера и не париться.
А скоолько кода на хрусте вообще указывает эти требования? А, скачайузнаешь - и пойдешь ночнушку качать безопасТным curl | sh? Ну спасибо, охренеть как удобно. За что и симпатии под стать. Прикинь, хипстота, у меня есть занятия поинтереснее кача ночнушек твоего фетиша и раскорячивания в позу под причуды очередного мегакодера. Да и идея отдавать управление компом какой-то ремоте в том виде мне очень так себе, так что за подобные методы апдейта хрустикам отдельный факофф.
> "нам похрен что мы сломали существующий код"А тут по-конкретнее пожалуйста, где раст когда-то ломал существующий код?
Где ты видишь развитие языка раст? Он деградирует.
Ты сперва пообщайся с плюсовиками, как они относятся к новым стандартам языка. У них не все так однозначно-фанатично.
С Кернигана-Ритчи - совершенство. Все остальное - баловство.
Керниган Ритчи - то ещё не плюсы...
> С Кернигана-Ритчи - совершенство. Все остальное - баловство.Ну, как тебе сказать, K&R синтаксис так то более не используется - и даже уже обычно не поддерживается современными компилерами, за отсутствием такого кода :). А даже C89 таки малость подрихтован относительно K&R'а то...
> В Rust 1.26 при помощи нестабильного типажа Termination в функции
> main была предоставлена возможность возвращение значений "Ok" и "Err"Фига себе тантрумы чтобы аж целый один int вернуть операционке из main... что они там курят?
Ты ничего не понимаешь! Раст возвращает int надёжно!
>надёжно!Твёрдо и чётко!
Жэстачайшы!
Безопасно!
>надёжно!
>Твёрдо и чётко!Железно!
В конечном счете все есть инты в регистрах процессора...
нет
> нетОн не учел еще про память. А иногда память и регистры это одно и то же. Но не у всех и не везде.
> В конечном счете все есть инты в регистрах процессора...Да. И когда на асме получается лаконичнее чем на расте, это уже какое-то издевательство?!
Вот реально - на асме будет чтонить тупое и простой, типа
MOV Rx, #10
RET
Про uint забыл.
char'ы
Действительно, что только не выдумают, чтобы просто void * не использовать.
> Действительно, что только не выдумают, чтобы просто void * не использовать.А зачем void * чтобы _вернуть_ из функции произвольный _int_ который потом операционка может посмотреть? Почему это вообще требует там такой оверинженерии?
В данном случае `int` - это такой же `void*`, то есть крайне слабо типизированная штука. Код возврата или количество яблок — это всё может быть int и нельзя отличить по типу одно от другого.
> В данном случае `int` - это такой же `void*`, то есть крайне
> слабо типизированная штука. Код возврата или количество яблок — это всё
> может быть int и нельзя отличить по типу одно от другого.Int конечно в высшей степени дурацкая штука, но типизировано это все же сильнее чем void*. И вон те тантрумы - похожи на случай когда лекарство получилось хуже болезни.
Чтобы не пришлось запоминать, что, если нет ошибок, то возвращаем ноль, а если есть ошибка - то не ноль.
Всегда так делаю.
Это стандартное поведение уже сотни лет.
Мелкие, Ябблы тоже так делают или у них "улучшено"/своё?
Произвольный код возврата можно было сделать уже давно через process::exitЭта же штука нужна для возможности возвращать из main не только код ошибки, но произвольный тип
Уже существовала возможность вернуть из main Result<(), E>, которая при ошибке выводила в консоль E и выходила с кодом 1, но в Rust уже давно стремяться избавиться от подобных специальных кейсов, вот теперь и разрешили возвращать что угодно с произвольным поведением
Следующим будет трейт Residual, который позволит кастомизировать поведение оператора '?', который в данный момент работает только с Option и Result
И что делать с этим что угодно вне раст процесса?
Безопасно паниковать
> И что делать с этим что угодно вне раст процесса?Обрабатывать код выхода/что там может вывести в stdout/stderr/куда угодно, суть возможности - кастомизация того, что будет происходить после завершения main, и почему бы её не иметь?
Что там с ABI? Осилили? Если я захочу загрузить библиотеку в рантайме, то у меня будут все безопасные фичи безопасного языка или всё так же предлагают использовать ойойой сишный ABI?
А почему "ойойой"? Unsafe - законная и неотъемлемая часть языка.
Вполне законно весь код завернуть в unsafe
Один из смыслов unsafe в том, что его должно быть по минимуму. Но если сильно хочется, можно и весь код завернуть. Проверки компилятора это все равно не отменяет.
Тогда зачем ты рассуждаешь в категориях законности, а не в категориях надежности?
Затем, чтобы показать, что ты - ни строчки не написал на Rust и знать не знаешь, как этот язык работает.
Ладно давай покажи свой докер, который ты написал на расте.
Ты вообще ни на одном языке ничего не написал и вообще не понимаешь в программировании. Твой контраргумент?
А я вообще не программист и код С++ мне кажется намного понятней. Слишком уж синтаксис раста чудной... это вообще способен кто-то нормально читать?
> А я вообще не программист и код С++ мне кажется намного понятней.
> Слишком уж синтаксис раста чудной... это вообще способен кто-то нормально читать?На самом деле от кодера сильно зависит. Некоторые пишут понятно, некоторые - хуже чем obfuscated C contest. Есть шутка что C++ у каждого свой.
Но на хрусте вообще весь код выглядит как куча закорючек. И вот это они в таком количестве все же зря.
> Один из смыслов unsafe в том, что его должно быть по минимуму.Это примерно как сишнику сказать "работы с указателями должно быть минимум". Штуки типа MISRA именно это и говорят. А для хруста даже аналога спеков типа MISRA нет.
Но если я что-то такое вызываю оно будет небезопасным?
Конечно внутри программы.
>> ABI
> UnsafeКакой (не)ловкий соскок с темы
>Если я захочу загрузить библиотеку в рантайме,Со своими хотелками идёшь в лес. Расту рантайм и ООП не нужен.
Ну если Расту ООП ненужно, то это значит, что Rust в юзерспейсе ненужен.
Это твоё мнение тут не нужно.
Как там с ABI у с++? Или тоже не осилили? Все уже приходится писать си обертки? А ведь сколько лет уже прошло...
Кому надо, тот и классы C++ в скрипты пробрасывает без оберток. AngelScript например. Количество компиляторов ограничено
А как ещё можно использовать сишные библиотеки, не используюя C ABI?
Он предлагает их через астрал вызывать
Типичный проект на расте
https://github.com/mTvare6/hello-world.rs
Там по коду видно, что писали этот проект сишники. Так что не типичный.
Новое слово в левых отмазах про раст. «Этот код на раст ужасен потому что его писал сишник.» Открою тебе секрет прямо вот сейчас. Любой код написанный на расте ужасен. Не важно кто его написал. Даже твой код, который ты даже стыдишься показать.
Ридми так выглядит, будто к этому проекту местный пони причастен.
Так ведь поняшки общемировое явление.
А теперь смотрим что пишет о себе автор:
'I am good with c, python, java and c++ and mess round with other langs'
Скажем так, оно и видно...
Это значит, что ему очень понравится раст. Поскольку на расте программ никто не пишет, он не может сказать, что он с ним работает, но, видно, очень хочется. Я его прекрасно понимаю и испытываю точно такие же эмоции, нам всем нужен магически безопасный и надёжный язык.
> Из недостатков отмечается трудный для восприятия синтаксис,В сравнении с чем, интересно? И для кого? Например, перл или какую-нибудь скалу читать очень трудно даже опытным программистам. А для новичка в разработке и регулярное выражение может выглядеть как призыв четвёртой Диаблы.
> незавершённость и продолжение развития языка,
Непонятно, чем это мешает авторам. Надо самому почитать из первых рук, может они разворачивают мысль. Смысл-то в том, что раст даёт обратную совместимость, поэтому какая им разница, что там новое появилось?
> отсутствие повторяемых сборок,
Это да, но это некритично.
> типовые проблемы с доверием к зависимостям в Crates.io,
Это в любой системе со скачиваемыми из публичных мест зависимостями. Можно зафигарить свою частную репу, а можно вообще руками в проект накладывать. То есть язык тут вообще не при чём.
> необходимость соблюдения определённой дисциплины для написания безопасного кода
Вот уже где, а в расте с этим как раз проще, чем в любом другом языке. Во-первых, никакая дисциплина не нужна вообще, если не используешь ансейф. А если используешь, то это всё равно более безопасно, чем в том же си, потому что ансейф не отключает вообще все проверки, а только некоторые. Оставшиеся включенными всё равно продолжают ошибки отлавливать.
> В сравнении с чем, интересно? И для кого?Да с чем угодно.
> Например, перл или какую-нибудь
Ну... я бы его за эталон читаемости брать не стал. А половина новых фич которые ядерщики линя хотели больше всего похоже на навесной костыль, что для типа-системного яп так то позорненько и криво.
> Во-первых, никакая дисциплина не нужна вообще, если не используешь ансейф
Ага, видел я как это работает. Потом такой код охотно ../../../../../etc/passwd по сетке сервирует или логинит без пароля :)
> А половина новых фич которые ядерщики линя хотели больше всего похоже на навесной костыль, что для типа-системного яп так то позорненько и криво.Много общих слов, но ни одного примера - ни по синтаксису, ни по костылям.
Оно и понятно - как только приводишь конкретику, тут же становится возможным её оспорить. А когда оспаривать нечего, то ты как бы и непобедим.
Проклятые учёные придумали проклятый критерий фальсифицируемости, а комментаторам теперь деваться некуда.
Это про ситуацию с комментирующими в массе, а не про твой ответ лично.
>> /etc/passwdПростите, а разве оно не должно уже много лет лежать в /etc/shadow ?
Я этот выпуск очень ждал: настолько, что теперь (с сегодняшнего утра) один из моих крейтов в новой мажорной версии имеет MSRV 1.61.
Хороший стимул не пользоваться софтом на расте чтобы не др@читься с гонкой за самой-самой версией, чуть ли не ночной. Вон на сях можно все компилять системным gcc'ом и не делать себе мозг.
Почему "чуть ли"? Без ночной версии можно обойтись только если звёзды сошлись определённым образом, в общем случае пригодна для практической работы только nightly ветка.А то что вы говрите — это называется не стимул, это называется повод. Повод — это дело сугубо личное. Я вот не пользуюсь Убунтой, потому что считаю, что она заключает в себя мистическое, инфернальное ЗЛО. Звучит, наверно, безумно, ну так что ж. А вы не пользуетесь программами на Раст, потому что любую программу на Си можно собрать системным gcc. Звучит — для меня — совершенно невменяемо, но опять же тем не менее.
> Почему "чуть ли"? Без ночной версии можно обойтись только если звёзды сошлись определённым
> образом, в общем случае пригодна для практической работы только nightly ветка.Еще и устанавливаемая всякими суперсекурным curl | sh поди? А так про то и спич. Когда кто-то говорит что надо C99 или C++17 какой, я четко понимаю что мне надо и мои шансы это билдануть имеющимися компилерами. А с хрустом... ммм...
> собрать системным gcc. Звучит — для меня — совершенно невменяемо, но
> опять же тем не менее.Вообще это просто вопрос удобства, предсказуемости и некоторой степени автономности и независимости. Постоянно тягать ночнушки имхо очень так себе.
А, и убунтой я не пользуюсь потому что достало разминировать "улучшения" для даунов проносящих ложку мимо рта, типа индексаторов, и нелохов которым нравится онлайн рекламу "партнеров" смотреть. По-моему это достаточно рационально, без всяких фобий, не? :)
На Расте же ничего не написали. Определитесь что ли.
Интересно а https://doc.rust-lang.org/std/primitive.unit.html из новости специально юзает серый фон подложки и серый же шрифт текста кода, чтобы это уж точно никто не читал? Что они сделали с рендером подсветки? Наняли хейтера раста верстать сайт? :)
Ты из этих что ли, которые технику по 20 лет не меняют? На нормальном мониторе отличная читаемость, а не полностью белый шрифт не режет глаза. Нет ничего более адского, чем на странице с тёмным оформлением использовать полностью белый шрифт и выжигать зрение на живую.
ради новой версии раст надо обновлять всю технику?
Собери Rust, узнаешь.
Да, завтра узнаешь.
А сколько часов собирается Раст?
А завтра новая ночная версия, надо новость написать, и опять снова собирать...
> Ты из этих что ли, которые технику по 20 лет не меняют?Вообще у меня хороший IPS монитор, и столь паганый рендер подсветки синтаксиса я давненько не видал.
> На нормальном мониторе отличная читаемость, а не полностью белый шрифт не режет глаза.
Еще скажи что я контраст должен на максимум хреначить чтобы у меня глаза на другом контенте вытекали.
> Нет ничего более адского, чем на странице с тёмным оформлением использовать полностью
> белый шрифт и выжигать зрение на живую.У них просто уровень констраста - никакущий. Что для програмерских сред все же моветон.
Да всё ж видно вроде
Для темной темы надо контраст поменьше, шрифт пожирнее и расстояние между линиями поразреженнее.
Все это там есть.
Почему не на hare, zig etc?
hare ckrisna
zig heil
Есть годный софт на расте?
Кстати, да, самый главный критерий хорошести и нужности языка. Сам по себе язык может быть чудесным, но дико неудобным в использовании. Типа, горячо любимого в университетах Pascal'я, и нелюбимого практиками
Проблема Паскаля исключительно в том, что его стандартная либа так и не выросла до современных потребностей. Но скажем на том же Дельфи писали нормально работающий софт и ни у кого, кроме хейтерков, не было с ним проблем.
> Проблема Паскаля исключительно в том, что его стандартная либа так и не
> выросла до современных потребностей. Но скажем на том же Дельфи писали
> нормально работающий софт и ни у кого, кроме хейтерков, не было с ним проблем.Хейтеры дельфей прикольно лайки ставили - видимо, топором в экран. За то что этот дельфевый крап опять сожрал пятихатку, а зачислить забыл и чек не дал, когда сеть на дохлом GPRS опять упала при полном пофигизме дельфийца к транзакционности, подтверждениям, повторам и прочему ненужно. Он же что-то куда-то типа-послал, то что в /dev/null уже не его проблема.
Кстати такой вопрос про haskell.
pandoc, hadolint и тоже много других
crosvm,firecracker,bottlerocket, servo, substrape, solana, ripgrep, swc, zola, bore и много много других прекрасных инструментов
>bottlerocketПрисаживайся.
Какие-то никому неизвестные навзания
> никому неизвестные
>> никомуне лгите. Мне часть известна из перечисленного. Я бы еще polkadot упомянул (раз solana указана). И actix. Это из того что мне сейчас интересно.
Еще можно вспомнить google fuchsia, где тоже используется.
А substrape это и есть ядро polkadot)
> substrapeтогда уж substrate
Все верно, ты - никто
типа как капитан Немо или Одиссей? Тогда спасибо, некто "Аноним"
> типа как капитан Немо или Одиссей? Тогда спасибо, некто "Аноним"Nobody is perfect. I'm nobody.
> crosvm,firecracker,bottlerocket, servo, substrape, solana, ripgrep, swc, zola, bore
> и много много других прекрасных инструментовТебе же сказали годный. Или ты из под servo тут пишешь?
Есть, но негодный.
rg - сверхшустрый grep
fd - сверхшустрый find
Это из того, что я постоянно использую
Примечание: Сверхшустрый в мире Rust.
Это типа на пол секунды быстрее? Да, определенно надо перекатываться. Срочно!
`rua` для работы с AUR арча/артикса. Вещь!
Из того что пользую лично я:fd, rg, bat, Alacritty, Discord, Dropbox, Firefox.
Когда допилят поддержку винды и мака - hush. (Замена bash, но с бешем ничего общего не имеющая)
То, что написал сам:
- трансформатор hocon-а в json с иерархией оверрайдов, для работы с хоконовскими конфигами в беш-скриптах
- набор универсальных инструментов для работы с логами
- запускатель программ по подобию виндового Win+R для мака
- кроссплатформенный наблюдатель за изменениями на файловой системе
- свой netstat с нормальным отображением процессов, которым принадлежит сокет
Ну и так всякое.
А они в opensource, если да то можно скинуть ссылки, некоторые очень интересны
Что-то есть тут https://wilem.eu/ . Остальное было по работе, но в любом случае это всё легко и просто пишется, на основе готовых библиотек.
> Когда допилят поддержку винды и макаС этого бы и начал. Давай, досвидания.
> FirefoxНе обманывай себя. Поставь лучше servo - так будет честнее.
> Discord, Dropbox, Firefox.Мде, опенсорснички...
в опусе позабавило про ржавые массивы из не более чем 32 элементов. а так язык что надо
> в опусе позабавило про ржавые массивы из не более чем 32 элементов.
> а так язык что надоМассивы то можно, проблема с реализациями трейтов
До появления const genericов реализация трейта для массива каждой длины (фиксированной) выглядела так:
impl<T> Trait for [T; 0] {}
impl<T> Trait for [T; 1] {}
...
impl<T> Trait for [T; 31] {}
impl<T> Trait for [T; 32] {}С появлением const generics стало возможно в одну строку реализовать трейт для массивов любой длины:
impl<T, const N: usize> Trait for [T; N] {}
Однако для Default (трейт, который выдаёт дефолтное значение, например пустой массив) пока остаётся старый код, поскольку реализация для 0 выглядит иначе:
impl<T> Default for [T; 0] {...} // Массив пустой, поэтому нам не нужно что-то требовать для T
impl<T> Default for [T; 1] where T: Default {...} // У массива 1 элемент, и нам нужно чтобы тип элемента тоже реализовывал DefaultЭто будет исправлено, когда появится возможность реализовать трейт только для диапазона N, т.е
impl<T> Default for [T; 0] {...}
impl<T, const N: usize> Default for [T; N] where T: Default, N > 0 {...}
> С появлением const generics стало возможно в одну строку реализовать трейт для
> массивов любой длины:Хрена, они почти изобрели VLA. А оно не кусается? N должно быть известно в компилтайме? Или как корректность для сложных выражений проверяется?
>> До появления const genericов реализация трейта для массива каждой длины (фиксированной) выглядела так
>> С появлением const generics стало возможно в одну строку реализовать трейт для
>> массивов любой длины:
> Хрена, они почти изобрели VLA. А оно не кусается? N должно быть известно в компилтайме? Или как корректность для сложных выражений проверяется?Попробуй читать глазками и целыми предложениями, может будет меньше припекать.
"Из недостатков отмечается трудный для восприятия синтаксис"Это относится к любым C-подобным языкам. Именно по этому мне нравится Pascal. Даже не знаю, почему C стал стандартом. Наверное просто исторический факт. Язык с таким большим количеством плохо читаемых и воспринимаемых знаков препинания маст дай.
Добавлю так же цитату из подписи одного чувака на форуме. "Программа как анекдот. Если нужно пояснять ее смысл - то это плохая программа". А потому любые трудночитаемые языки с трехэтажными конструкциями из знаков препинания типа *!";!"%!"№"!%!№%!№%!№%; маст дай.
Вот станет китайский язык (программирования) модным в силу популярности...
С такой логикой легче всего писать программы на машинном коде - там всего лишь два символа - 0 и 1
предыдущий аноним> "Программа как анекдот. Если нужно пояснять ее смысл - то это плохая программа"
> программы на машинном коде - там всего лишь два символа - 0 и 1
Если бред повтоврять, он не перестанет быть бредом
хватит уже ныть из-за синтаксиса!ПС: на Си можно писать простой и понятный код, избегая иллишне заумных Сишных идиом!
Писать то, быть может и можно, а вот читать нельзя - а это и есть большая часть работы программиста.
Всегда найдется какой-нить "умник", который ради повышения своего ЧСВ воткнет в код на С какую-нить нечитаемую и сразу непонимаемую конструкцию.
В этом отношении Паскалеподобный синтаксис и подход действительно лучше, но более многословный (Pascal, Oberon, ADA, PL/SQL).
Мне нравятся идеи языка С, но не синтаксис - у меня к нему сразу были претензии (потом пришло осознание, что на том этапе развития компиляторов и знаний о них, по-другому было сложно - но это не значит, что до сих пор надо так делать).
К языку Rust даже не притрагиваюсь именно из-за его ужасного синтаксиса. Вместо этого понемногу тыкаю ADA.
>>> который ради повышения своего ЧСВ воткнет в код на С какую-нить нечитаемую и сразу непонимаемую конструкцию <<<согласен:) самого бесят такие умники! И хотя лично у меня нет пробелм в чтении такого кода, я всегда буду троллить таких людей и говорить, что у них Сишность головного мозга:)
Это АДА тебя тыкает носом в одно место.
Хорошо, мы придумали лучший язык программирования: берём чистый C, убираем побочные эффекты вроде "магического" программирования в условиях циклов, но оставляем фичи вроде арифметики указателей, void* и прочие "небезопасные" функции, прикручиваем синтаксис и правила Pascal и готово. По сути подобный проект можно даже сравнительно легко реализовать), и даже компилировать на обычном gcc, т.к. за кулисами будет использоваться "приличное" подмножество C без эзотерики и мозголюбви.
Омерзительный синтаксис TypeScript всем нравится. При том, что раст решает проблемы, которые другие языки не решают, а тайпскрипт - тупо сахар, чтобы макаки не путали аргументы функций.
>Омерзительный синтаксис TypeScript всем нравится.Он нравится только вантузоидам. Потому-что TypeScript придумал и внедрил проклятая компания - Майкрософт.
Использую TypeScript, VSCode, .NET 6.0 и XUbuntu. Даже не спрашиваю, что со мной не так - сам знаю
> Использую TypeScript, VSCode, .NET 6.0 и XUbuntu. Даже не спрашиваю, что со
> мной не так - сам знаюПерепутал линух с маздаем, а так все хорошо.
А паскалеподбные с большим количеством слов?
BEGINА паскалеподбные с большим количеством слов?
END;
Десятком волшебных define Си превращается в Pascal
Объявление функций, переменных, типов и тп.
> Язык с таким большим количеством плохо читаемых и воспринимаемых знаков препинания маст дай.если тебе С синтаксис плохо читается то лучше задуматься о смене деятельности, это примерно как не иметь слуха в музыке, дислексия в программировании это приговор.
Указатели на функции, принимающие указатели на аргументы и возвращающие указатель, действительно плохо читаются
Указатели на функции, принимающие указатели на аргументы и возвращающие указатель, действительно плохо читаются
> Указатели на функции, принимающие указатели на аргументы и возвращающие указатель,
> действительно плохо читаютсяДля начала это нужно только очень сильно иногда. И кроме того - а, таки, у других это лучше читается? И есди да - ну покажите суперэстетичный динамический импорт функции из .so на ходу, например? Или там вызов кода "по адресу 100500".
>Даже не знаю, почему C стал стандартомА я знаю. Сам в своё время переходил с Паскаля на Си, потом на C++. Хорошо помню чувство облегчения, что наконец-то вместо паскалевского многословия приятный лаконичный синтаксис. Просто ты оказался в меньшинстве.
А что если против Rust работают бригады астротурферов? Я не говорю, что мне нравится язык и тем более я не за корпорации, но ржавый хейт на Опеннете - это концентрированное безумие. Они подобно ботам не пытаются что-то опровергнуть по фактам и вообще - хоть как-то. Просто такой поток, который и читать временами неприятно (очень знакомо). Именно концентрированное безумие.
Особенно поразило приплетание Украины, после такого скрыть уже сложно.
Хорошо, но зачем? Кому может быть выгодна уже антиреклама ржавого?
> Кому может быть выгодна уже антиреклама ржавого?А главные новости о намерениях включения патча? Минорные версии еще нефункциональной программы в главных новостях? С обсир..., ой, с негативным сравнением с Си в каждой новости? Это агрессивная реклама чего?
> антиреклама
Это тоже реклама. Эпатаж этакий.
>> Кому может быть выгодна уже антиреклама ржавого?
> А главные новости о намерениях включения патча? Минорные версии еще нефункциональной программы
> в главных новостях? С обсир..., ой, с негативным сравнением с Си
> в каждой новости? Это агрессивная реклама чего?Это безумие и с той и с другой стороны. Но так то раст - свободная хрень и эта новость тут в тему, а сравнение с Си - все языки пытаются сравнивать себя с Си и понятно, что владельцы будут сравнивать негативно. Они может и создаются потому, что чем-то не устраивает Си. Я думаю что если найти другие новости по языкам, то негативные сравнения с Си будут частые, в принципе.
>> антиреклама
> Это тоже реклама. Эпатаж этакий.Не знаю. Но это одна из наиболее упоротых тем на Опеннете. Даже хуже моих бредовых комментариев. Да, такую дичь веб-бригады по моему и могут устраивать... Но наверное большинство - от чистого сердца. И даже когда хейтят или любят Раст на самом деле хейтят и любят не Раст, а некоторые свои ассоциации (корпорации, современное софтостроение, ретроградство, отрицание и поддержку этого (ретрограды боятся нового, против любых переделок и идей и наоборот)).
Вокруг феминизма/sjw такая же дичь происходит с упоротыми защитниками и противниками, где первые видят оскорбление вообще везде, а вторые их зеркальная противоположность. В борьбе с радикалами и создаются радикалы, анти-фанаты это такое же условие для создания упоротых фанатов.
> Это безумие и с той и с другой стороны.И кто периодически его начинает (здесь и часто)? Писатель "новостей" о намерениях?
Вопрос: специально, чтобы поднять популярность/активность сайта?> Но это одна из наиболее упоротых тем на Опеннете.
Если в каждой "новости" по 3 абзаца про "безопасность", то упоротость явно культивируется.
> И кто периодически его начинает (здесь и часто)? Писатель "новостей" о намерениях?Так глубоко не слежу, но тема всплывает где попало. Новости о Rust могут быть нормальными, но вообще - замечаю новости про Rust на каждый чих - видимо из-за культивирования упоротости. Не понятно или автора замучили что Rust зло и он пошёл на принцип, может он восторжен Rust'ом, может эти проявления и стали причиной такого отношения. Где здесь начало, а где конец?
> Вопрос: специально, чтобы поднять популярность/активность сайта?
Скорее нет.
>> Но это одна из наиболее упоротых тем на Опеннете.
> Если в каждой "новости" по 3 абзаца про "безопасность", то упоротость явно
> культивируется.Фича языка же, они позиционируют как "новое слово" в безопасности. То есть это основное зачем он нужен, так что на это и делают акцент. Ну и может быть сдобрено упоротостью.
>эти проявления и стали причиной такого отношения(Перевожу на человеческий) - то есть все эти новости, "ура Расту" и т.п. и стали причиной хейта.
Именно таким образом растоманы и создали хайп вокруг своего языка, привлекли внимание корпораций.
> Писатель "новостей" о намерениях?Не читайте эти новости, коли вам не интересно
Сперва начни с себя и перестань читать мои сообщения, "коли не интересно".Чтобы понять, что новость "неинтересна", новость надо прочитать. Заходишь в новость, а там
первые 3 абзаца про "безопасность". Иногда эта "безопасность" занимает суть ли не половину текста новости.Пусть пишут сразу в заголовке новости "Выпуск безопасной версии безопасного языка безопасного программирования". Вот тогда не буду читать дальше заголовка.
>Кому может быть выгодна уже антиреклама ржавого?возможно команиям типа яндекса которые активно хантят плюсовиков чтобы поддерживать тонны легаси, но те посматривают на раст и со временем попробовав не хотят возвращаться
Вот не в защиту Rust, но в Яндексе фанатики C++ (именно фанатики). Полухин (один из главных идеологов) на своих выступлениях часто либо лжёт, либо заблуждается. Он на одном из выступлений ещё и заслуги ЧИСТОГО C приписал C++, словно это одно и то же). И если на Rust мне в принципе пофигу, то воровать у C не позволю.
Астротурферы - это чё, подраса рептилоидов такая?
"Из недостатков отмечается трудный для восприятия синтаксис"После этого можно ставить крест. Язык должен легко читаться, а в расте скоро всё символы включат) Читай потовс всё эти '@valdef<[&ref]>null_pointer($OS::|HREN|)
>>> Читай потовс всё эти ...<<<идите и попишите немнго на перле, - вас сразу отпустит:)
Тсс! А вдруг растоманам понравится.
Если понравится, может оно и к лучшему? Глядишь, по-тихому на Perl перейдут.
На перле можно и читаемый код писать, он позволяет
так о том и речь:) что на любом языке можно не выпендриваться, и писать просто и понятно! но многие то и дело жалуются на синтаксис!
не на любом, на расте нельзя
Три начальных абзаца рекламы раста как языка умеющего работать с памятью
Абзац 1
"Язык сфокусирован на безопасной работе с памятью"Абзац 2
"Методы работы с памятью в Rust избавляют разработчика ... от проблем, возникающих из-за низкоуровневой работы с памятью"Абзац 3
"Безопасная работа с памятью обеспечивается в Rust"
И анекдот:босс: увеличь продажи этого товара
маркетолог: как? это же г****
босс: если бы мы продавали не г**** зачем нам был бы нужен маркетолог? маркетолог: логично *делает акцию три г**** по цене двух*
Что не так?
Если у вас отобрать ружье в ногу вы себе не выстрелите, но под машину при желании можно прыгнуть.
(Все выше сказанное не является рекомендацией по способам суицида)
А можно ещё отменить машины и запретить выходить на улицу. Отобрать ножи и ножницы, шнурки, галстуки, стеклянные предметы... Rust in progress
> А можно ещё отменить машины и запретить выходить на улицу. Отобрать ножи
> и ножницы, шнурки, галстуки, стеклянные предметы... Rust in progressНапоминает дурдом. Снять двери с петель, горячую еду не давать, посуда только металлическая...
Можно ли считать, что те, кто отбирает потенциально опасные вещи создаёт дурдом?
Нет, в дурдоме отбирают потенциально опасные вещи, чтобы себя не поранили
Наоборот посетителям дурдома нужен такой язык, чтобы он у них отобрал всё опасное, чтобы они ничего не могли сделать. Как итог они ничего не смогли сделать даже вебдвижок серво.
Посетителям дурдома? ты давно посещал дурдом?
Нет так мне и раст не нужен. Но комментарии местных аналитиков показывают что им необходим раст именно потому что они из дурдома пишут.
Самое подходящее место для местных экспертов 🐓
посуду нужно с дырочкой.
Ты забыл подписаться, что ты - местный эксперт
>Что не так?Одного раза на новость - хоршо, больше уже не надо.
А если надо идти не охоту? Можно подумать если ты возьмешь ружьё через unsafe это тебе как-то поможет.Особенно если позиционируешь себя как язык для охоты.
Бери ружьё через @safe, получишь его с холостыми патронами.
И кабан тебя затопчет. Спасибо мне такой язык не нужен.
А ты из него не стреляй, чтоб кабан не узнал, что холостые, только пужай его ружжём. :)
А если кабан плюсовик?
> А если кабан плюсовик?Тогда он пожалеет что не спилил мушку...
-холостыми
+ржавыми
Это смешно конечно... до момента как очередной руkожоп из linux core team или драйверописатель в очередной раз не справится с манипуляциями с указателями и накодит удаленное получение рута.
На Расте бинарники получаются огромных размеров. Лучше писать на чистом Си.
А можно на грязном?
Так грязные это и есть Раст с импортами Си
Нормального они размера получается. Не больше чем на чистом Си.
Потому что культь cargo. Статически слинковано всё. Не умеют растаманы в dllки.
> Не умеют растаманы в dllки.rustc -O -C prefer-dynamic -C link-args=-s hello.rs && ll hello
-rwxr-x--- 1 анон анон 6,4K 20 Mai 19:00 hello*Не умеющие в опции компилятора вендузятнички совсем не паляцца.
Выстави опции нужные и будут мелкие. По умолчанию там с отладочной информацией бинари
Ха-ха, какую цитатку с ЛОРа выдернул:
"Сишники пишут на Си, плюсовики - на Си++, питонисты - на Питоне, даже хаскеллисты пишут на Хаскелле. Одни растаманы, вместо того, чтобы писать на Расте, пишут телеги против Плюсов."
>“the problem with Python”: your code stops working if you don’t actively keep up with the latest version of the language.Есть такое, но это не баг, а фича.
>Also unlike Python, Rust is not inherently unhygienic, in that the advertised way to install packages is not also the wrong way to install packages. Contrast to Python, where the official docs on packages lead you to add them to system environment, only to be scolded by Python elders with a “but of course you should be using a venv/virtualenv/conda/pipenv/…, everyone knows that”.Нет, это virtualenv - неправильный способ установки пакетов. Из той же оперы, что снапы и докеры.
А почему называется Crates - это ассоциируется с клетками, какой-то БДСМ опять же
Клетки - это cages, crates - это ящики.
Решётчатые ящики
> А почему называется Crates - это ассоциируется с клетками, какой-то БДСМ опять жеСкорее с карго-культом. Которого в их экосистеме избыток.
Ну вообще-то здесь то как раз всё по канону. Вся IT ИНДУСтрия - это сплошной BDSM. Сеньоры доминируют над джунами. Даже Masters и Slaves везде где только можно, а также blacklists, так что эта индустрия ещё и для белых)).
>Rust Has A Limited View of Supply Chain SecurityСогласен.
>You Can’t Reproduce Someone Else’s Rust Build
A final nit I have about Rust is that builds are not reproducible between different computers (they are at least reproducible between builds on the same machine if we disable the embedded timestamp that I put into Xous for $reasons).
>I think this is primarily because Rust pulls in the full path to the source code as part of the panic and debug strings that are built into the binary.
Теперь в пути попадут /home/super_secret_employee_of_nsa/tao/SHITHOLEGREEN и штирлиц как никогда будет близок к провалу.
По сложности уже плюсы переплюнул?
> По сложности уже плюсы переплюнул?Давно. Причем, сложность эта неоправданная, из разряда усложнить ради усложнения.
В чём он сложный?
В том, что аноним выше даже borrow checker не осилил. Если вообще хоть строчку кода на расте написал.
Становится еще уродливее
Ты о своем отражении?
Писали на расте бэк для внутренней CRM на работе, вполне все удобно. По синтаксису и объектной модели больше похоже на Go, чем на С++. С поправкой на то, что вместо GC нормальный RAII, null/nil отсутствует, вместо этого обязательный матчинг Option/Result, ну и вся мощь дженериков (в отличие от тех инвалидских, что недавно в Go подвезли).
Язычек с телеметриями в компеляторе не нужен.