Раст не решает каких-либо реальных, практических задач. Цель его существования - это попил бабла и поднятие собственного ЧСВ, путём агрессивного маркетинга с формированием секты и поддержкой правительства. Все заявленные достоинства - это высосанные из задниц эффективных менеджеров мозиллы лозунги, которые не имеют отношения к реальности. В лучшем случае они чрезвычайно преувеличены (и ложны, поскольку подаются в абсолютном ключе, например, "rust guarantee memory safety"), в худшем - контрпруфаются поверхостным анализом за пару минут чтения "наискосок". Ни один сектант тебе не пояснит, почему их раскрученный борроучекер очень хорош и нужен, зачем там два вида шаред_птров или с чего это вдруг биндинги к сишке - это SAFETY. Всё, что они могут тебе промямлить - это голословные утверждения, основанные на ложных предпосылках и лозунги, лозунги, лозунги...


"Rust is blazingly fast"

В качестве аргумента иногда даже можно увидеть апелляцию к бенчмаркам, чьим авторам мы, конечно-же, верим, ведь они никогда не переобувались и вообще эталон честности.[1] Впрочем, то не мешает растопараше сливать даже шлангу, что нас должно очень сильно удивить (нет).

Но если вопрос перфа поставить ребром, то ситуация резко проясняется,[2] учитывая мегаубогую кодогенерацию, сводящуюся к обмазыванию гнутым хинтом always_inline и intrinsic'ами, а также надежду, что "умный оптимизатор свернёт всё нинужное". Этим-же объясняется время его компиляции, на которую жалуются в том числе сами адепты. Раст очень многое делает в рантайме бай дизайн и от бытия унблейзинг слоу говнищем его спасают лишь халявные оптимизации LLVM.


"Rust’s rich type system and ownership model guarantee memory-safety and thread-safety"

Да, САФЕТИ - это то, под личиной чего чаще и усердней всего продвигают раст. И которой в язычке нет, поскольку он сделан криворукими макаками, а не программистами.

Во-первых, memory leaks are memory safe in Rust, буквально.[3]

Во-вторых, раст использует абсолютно бищапащную libc. Да-да, его "стандартная библиотека" это враппер над сишной либой, который, почему-то, входит в safe-контекст. Да и LLVM написан тоже на не очень-то православных крестах...

В третьих - макросы. Они являются источником огромного количества скама. Заявляется If you wish, you can even toss #![forbid(unsafe_code)] into your code base to statically guarantee that you're only writing Safe Rust, но тихо умалчиваются две вещи: 1 - этот макрос распространяется ТОЛЬКО в пределах текущего крейта, 2 - он может быть переопределён. Ага, #![allow(unsafe_code)] и вуаля, мы локально обошли это жесточайшее ограничение. На кой оно тогда вообще нужно? Ну, видимо, чтобы облегчить существование крысам, которые сначала декларируют САФЕТИ, а потом втихую подкладывают свинью.

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

В пятых, обосрамсы с ансейфами на этом не заканчиваются, ведь, чутка воспользоваться немощностью огрызка растофронта, можно без проблем использовать ансейф там, где формально это не должно быть возможно.[4] То есть, unsafe-контекст может "протечь" в safe через лямбды, что должно наводить на некоторые мысли касательно бищапащности.

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


"Раст позволяет работать на низком уровне, используя всю мощь высокоуровневых абстракций"
"Раст это язык системного программирования"

За скобками остаются столь неважные ньюансы, как:


Но помимо прямого противоречия своим же обещаниям, у раста есть также множество пичалек и более локального характера.


"Но это всё равно лучше чем си/си++, где сплошные безногие инвалиды!"

Правда? Ну, как скажете...

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


Что-то ещё? О да, конечно, держите.