LINUX.ORG.RU
ФорумTalks

Опрос Rust-разработчиков

 


1

4

https://www.heise.de/en/news/Rust-developers-criticize-complexity-and-lack-of-support-11205023.html

Если коротко, хоть некоторые и считают, что Раст стал сложным, он продолжает набирать обороты в коммерческом секторе.

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

★★★★★

Последнее исправление: hobbit (всего исправлений: 1)

Единственный нормальный язык из аналогов С. Хорошая производительность и сложность прострелить себе ногу - то, что нужно.

К большому сожалению я сам пишу на Java/Kotlin и недавно очень сильно сгорел.

Слоган этого тормозного поделия «Write Once. Run Everywhere».

Окей, запомнили, кросс платформа ценой абстракции в виде JVM, вроде логично.

Потом идём на сайт Б-гомерзкой Android Studio, которая написана на Java, из-за этого мне нужно 64 ГБ ОЗУ чтобы с этой ересью работать, и видим прекрасную надпись «Linux machines with ARM-based CPUs aren’t currently supported.»

Кроме как цитатой Лаврова про дебилов я сложившееся описать не могу.

Остальные языки типа Python, PHP или, прости Г-споди JavaScript я даже за языки не считаю, какое-то жалкое подобие, созданное людьми с одной лишней хромосомой.

Jefail ★★★★★
()

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

А это почему так?

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

Дело не в этом. Мне сложно представить размер проекта на Rust, чтобы в условном Zed я чувствовал себя некомфортно на 64 ГБ и следил за свопом.

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

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

Так как бы у сишки тоже слоган «write once, compile everywhere», но… Ну ты понял. Не нужно так близко к сердцу принимать маркетинг.

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

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

Отцы тогда сказали: «Язык весьма сложен и наполнен опасными элементами, которые очень легко использовать неправильно. Своей структурой и правилами он никак не поддерживает программирование, нацеленное на создание надёжного и удобного в сопровождении программного кода, напротив, рождённый в эпоху прямого программирования под различные процессоры, язык способствует написанию небезопасного и запутанного кода. Многие профессиональные программисты склонны считать, что на языке можно создавать крайне некачественные решения».

Lusine
()

У раста есть существенный недостаток, его нужно изучать целиком. В отличие от того же С++ который можно изучить на 20% возможностей и фигачить код как на С классами, шаблонами, stl, не приходя в сознание. И ведь нормально получается.

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

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

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

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

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

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

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

А сейчас системы настолько усложнились, что над одним софтом работает 100500 команд разрабов.

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

А что за опрос? Странный какой-то язык, на котором пишут в основном под одну платформу. Сразу вспоминается c# и swift

cobold ★★★★★
()
Последнее исправление: cobold (всего исправлений: 1)

Ну его пропихнули очень сильно — я бы очень удивился, если бы он не продолжил что-то там набирать. Но от этого он не перестанет быть чудовищно переусложнённым и медленным в разработке:
https://bykozy.me/blog/rust-is-a-disappointment/

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

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

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

Lusine
()

И что же они там погроммируют, интересно знать?

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

У раста есть существенный недостаток, его нужно изучать целиком. В отличие от того же С++

Обоснуй. Зачем тебе знать, как писать макросы на расте, чтобы написать хелловорлд?

на 20% возможностей и фигачить код как на С классами, шаблонами, stl, не приходя в сознание

Постой, а что входит в остальные 80%? Полный список UB?

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

код более быстрый и безопасный чем раст

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

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

его нужно изучать целиком

С++ который можно изучить на 20%

Разве 100% документации раста не соответствуют по объему 20% С++?)

goingUp ★★★★★
()
Ответ на: комментарий от unC0Rr
struct v2f 
{
    float x;
    float y;
};

v2f addVectorized(const v2f& v1, const v2f& v2) {
    v2f vec;
    __m128 res = _mm_add_ps(
        _mm_loadu_ps((float*)(&v1)),
        _mm_loadu_ps((float*)(&v2))
    );
    memcpy(&vec, res.m128_f32, sizeof(float) * 2);
    return vec;
}
Lusine
()
Ответ на: комментарий от Jefail

Кроме как цитатой Лаврова про дебилов я сложившееся описать не могу.

Вроде ж логично, JVM под целевую платформу (Linux machines with ARM-based CPUs) не допилили - вот и не работает. Или я что-то неправильно понимаю?

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

Попробуй написать под микроблейзв в блеваде, с отладкой не только софта но и ПЛИС - оперативу отъест на раз-два.

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

Вроде ж логично, JVM под целевую платформу (Linux machines with ARM-based CPUs) не допилили - вот и не работает.

Вообще когда вся эта котовасия с Kotlin multiplatform анонсировалась, предполагалось, что это будет конкурент Flutter. Вроде как пишешь приложение, и можешь собрать его в нативное приложение для iOS, Android, Linux, Windows, macOS, Web. А JVM нужна только для разработки. По факту получилось, что нативное оно только для Android, iOS - не щупал, Web - что-то несусветное получается по нагрузке, для всех остальных нужен JRE (кастрированная жаба). Так что тут одно разочарование.

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

https://bykozy.me/blog/rust-is-a-disappointment/

I just want to write high level logic

Микроскоп хреново приспособлен для забивания гвоздей, ага. Набросай на гошечке свой happy path, потом портируешь. Если понадобится, конечно.

the second you step into the shared mutable state you lose

Сократил во имя истины %)

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

_mm_loadu_ps

loadu

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

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

Единственный нормальный язык из аналогов С. Хорошая производительность и сложность прострелить себе ногу - то, что нужно.

Эмоциональный рассказ майора Пейна про отстреляные ноги

«Пейн я не чувствую ног!» - у матерых программистов уже всё давным давно отстреляно и поэтому аргумент «не чувствуется» :)

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

Ну его пропихнули очень сильно

Так же, как ты тут постоянно пропихиваешь свой бложик. Или даже менее сильно.

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

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

Как ни странно, ирония в том, что именно Rust под ИИ больше всего заточен. ИИ-шечка высирает какой-то слоп, но у тебя есть гарантии, что пока в коде нет unsafe, то повреждения памяти и UB скорее всего не будет. Этого же можно добиться в C/C++, но нужно тщательное ревью. А на Rust можно вайбкодить «на отлюбись».

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

Так же, как ты тут постоянно пропихиваешь свой бложик. Или даже менее сильно.

Ну мне кажется, что написать один раз точку зрения и ссылаться на неё удобно. Ещё расскажи мне, что я в бложике увеличители члена продаю.

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

Микроскоп хреново приспособлен для забивания гвоздей, ага. Набросай на гошечке свой happy path, потом портируешь. Если понадобится, конечно.

Проблема в том, что Rust пытается быть высокоуровневым инструментом, и при этом низкоуровневым ассемблером. А вы итоге получается люто переусложнённое нечто. Да, по итогу пишут на Go, потом горячие части портируют на Rust — это уже устоявшийся best practice.

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

К большому сожалению я сам пишу на Java/Kotlin и недавно очень сильно сгорел. Единственный нормальный язык из аналогов С

Почему не плюсы? Они же проще для переезда с ооп-языков -

  1. Есть классы наследование и приватный контекст
  2. Не нужно мучится с алокацией чтоб сложить строки.
  3. Не нужно калечить себе мозг такой сущностью как c_string с нуль-терминатором
  4. Так как VM, компиляторы и интерпритаторы написаны как правило на плюсах, ты узнаешь больше про свои джавы-котлины с низкого уровня. Да и просто обнаружишь много тебе знакомого, ведь современные стандарты плюсов развиваются так чтоб виртуальным машинам меньше работы было
uin ★★★★
()
Ответ на: комментарий от Jefail

Потом идём на сайт Б-гомерзкой Android Studio, которая написана на Java

А при чём тут Java? Учитывая, что различными вендорами JDK для AArch64 под Linux вполне себе поддерживаются, это проблема конкретно Android Studio. Даже не распространённых релизов JVM, и уж тем более не языка в целом. Хотя, если стоит такая задача, и немного постараться, то на Java вполне себе можно запилить программу, которая будет работать исключительно под Wintel x64.

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

А ты давно пробовал что то писать под винду? Она просто неудобна для разработки. Самое банальное - даже с гитом работать хрен знает как нормально.

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

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

Самое банальное - даже с гитом работать хрен знает как нормально.

Точно так же, как и в Линуксе: либо из консоли, либо с плагином в vscode.

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

О, бедные, бедные разработчики софта под винду! Как же они могут пользоваться гитом! Как же им сложно 3rd party зависимости подключать! Как же они без lua то справляются? Кстати, зачем он?

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

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

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

LightDiver ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)