LINUX.ORG.RU

Как вы относитесь к Rust и используете ли вы программы (не библиотеки в зависимостях) на нём?

 ,


0

3

Что-то захотелось узнать отношение местных к этому ужасному(или прекрасному?) языку программирования. Под программами на Rust библиотеки НЕ подразумеваются. То есть, к примеру, GTK-приложения за растопрограммы не считаются, несмотря на наличие в зависимостях rsvg.

  1. Нейтрально, пользуюсь ли - не знаю 157 (35%)

    ********************************************************************************************************************************************************************************************************************************************************************************************************************************

  2. Позитивно, программами на Rust пользуюсь 91 (21%)

    *****************************************************************************************************************************************************************************************

  3. Нейтрально, программами на Rust пользуюсь 69 (16%)

    ********************************************************************************************************************************************

  4. Негативно, программами на Rust не пользуюсь 46 (10%)

    *********************************************************************************************

  5. Нейтрально, программами на Rust не пользуюсь 41 (9%)

    ***********************************************************************************

  6. Позитивно, программами на Rust не пользуюсь 22 (5%)

    ********************************************

  7. Негативно, программами на Rust пользуюсь 17 (4%)

    **********************************

Всего голосов: 443

★★★

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

плохо отношусь и не использую. Чуть меньше чем все программы на расте с одной стороны имеют кучу мусорных зависимостей из cargo и весят кучу мегабайт, в разы, а то и в десятки раз больше их аналогов на C/C++, а с другой - динамически линкуются со все теми же сишными библиотеками.

При этом, если многие жабаскриптеры все-таки осознают, что лефтпады - это плохо, то растоманы наоборот это празднуют и говорят «это из-за того что cargo самый современный».

Приведу пример. В арче пакет coreutils в распакованном виде занимает 16 метров. Пакет uutils-coreutils (реализация coreutils на расте) - 33 метра, больше чем в 2 раза больше. Идем в его репу и читаем: 0 (чудикам показалось неудобным объявлять тип с кастомным компаратором для стандартной коллекции, и они притащили лефтпад. При этом растоманы орут, что отсутствие неявных кастов - это преимущество их языка), 1 (мало того что мусорный лефтпад, так еще и нескольких разных версий), 3, 4 (несколько разных библиотек для работы с регексами, первая на C++ причем), и т.д. и т.п.

О, это вообще нечто. 5, 6 - несколько разных реализаций SHA-3. Причем вторая зависит от чего-то фантастического, https://github.com/eira-fransham/crunchy - тут я вообще в осадок выпал (можете заодно на профиль автора посмотреть)

Lrrr ★★★★★
()

Чего все носятся с этим растом?
Что вы почувствовали, когда использовали программу на расте? Какой-то бред.
Почему с каким-нибудь Vala так не бегают?

iLoveoOz ★★★★
()

Пока что единственный плюс от софта на расте — пока это чудище (злобно, озорно, стозевно и лаяй) пытается скомпиляться, выдавая кучу мусора в консоль, я, как правило, успеваю найти аналог на более вменяемом языке и установить.

sn4il
()

Не хватает пункта «Позитивно, пользуюсь ли - не знаю».

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

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

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

kirill_rrr ★★★★★
()

Нейтрально, программами на Rust пользуюсь

Wezterm, как минимум использую. Но иногда появляется негатив, когда прилетает обновление для раста, слишком уж он собирается долго и ради всего лишь 2-3 софтин - раздражает. Та же ситуация с qtwebengine.

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

rust-bin?

Кстати, отличная идея. А то надоело его собирать при всяких минорных обновлениях.

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

Либо можно собрать зависимости и потом притянуть из бинарной репы (либо тянуть оттуда же и его зависимости). Но нужно, чтобы USE флаги те же были, особенно флаг bindist.

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

Никс, но не суть. Без патча для версий зависимостей не работало. Сам в шоке.

avv
()
Ответ на: комментарий от Werenter
app-office/merkuro-23.08.3 (>=dev-qt/qtwebengine-5.15.9:5)
app-office/skrooge-2.31.0 (>=dev-qt/qtwebengine-5.15.9:5[widgets])
dev-python/PyQt6-6.6.0 (pdfium ? >=dev-qt/qtwebengine-6.6:6[pdfium(-),widgets?])
dev-python/PyQt6-WebEngine-6.6.0 (>=dev-qt/qtwebengine-6.6:6[widgets])
                                 (quick ? >=dev-qt/qtwebengine-6.6:6[qml(+)])
dev-python/PyQtWebEngine-5.15.6-r1 (dev-qt/qtwebengine:5[widgets])
dev-qt/qt-creator-11.0.3 (webengine ? >=dev-qt/qtwebengine-6.2.0:6)
kde-apps/kdepim-runtime-23.08.3 (>=dev-qt/qtwebengine-5.15.9:5[widgets])
kde-apps/kmail-23.08.3 (>=dev-qt/qtwebengine-5.15.9:5[widgets])
kde-apps/libksieve-23.08.3 (>=dev-qt/qtwebengine-5.15.9:5[widgets])
kde-apps/messagelib-23.08.3 (>=dev-qt/qtwebengine-5.15.9:5[widgets])
kde-plasma/kdeplasma-addons-5.27.9 (webengine ? >=dev-qt/qtwebengine-5.15.9:5)
kde-plasma/libksysguard-5.27.9 (webengine ? >=dev-qt/qtwebengine-5.15.9:5)
media-gfx/digikam-8.1.0-r1 (>=dev-qt/qtwebengine-5.15.9:5[widgets])
sci-astronomy/stellarium-23.3 (webengine ? dev-qt/qtwebengine:5[widgets])
                              (webengine ? dev-qt/qtwebengine:6[widgets])

У меня его довольно много кто хочет. А кто там ещё по PyQt подтянется, то лень смотреть. А например без widgets у qtcreator, документация не работает(не очень надо, но с ней удобнее).

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

Это можно будет и попробовать. Спасибо. Так то он у меня час собирается, не смертельно, но всё равно неприятно. Вот на прошлом процессоре(феном был), вот там оно по 8 часов собиралось бывало.

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

А Rust, всё-таки, весьма хайповая тема. Это заметно хотя-бы по тому, что в комментах к опросу, не заметно высказываний «впервые узнал о существовании XXX, из этого опроса»…

QsUPt7S ★★
()

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

skiminok1986 ★★★★★
()

У меня проект на FastAPI, что есть питоновский вэб-фреймворк. И там я нашел баг в зависимости, а именно в библиотеке Pydantic. А когда я попытался зарепортить этот баг в их гитхаб, меня послали нафиг заявив что у них вся либа была целиком переписана с питона на раст и баги из старой питоноверсии они больше не принимают и отправили на новую версию обновлятся. Но на новой версии у меня отдельные фичи в принципе не завелись. Так что мне пришлось откатиться обратно к питоновской версии и руками чинить ту единственную строчку кода внутри /venv/lib/python3.10/site-packages/pydantic/ что прямо скажем хреновый вариант.

Чувства смешанные.

YogSagot ★★★
()

Я юзаю RustDesk. С помощью RustDesk возможно использовать свой смартфон как графический планшет.

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

Меня не устроит вариант если без rust-bin обойтись.
Если с gcc нет проблемы что нужна постоянно другая версия gcc, причём соседняя, а с rust есть - то значит что они ещё пока не стабилизировались до юзабельного состояния (да, с c++ была точно такая же ситуация во времена tr1 например)

mittorn ★★★★★
()

Я так понимаю, раст это wannabe замена крестов для хардкорной разработки приложений. Раст после крестов лучше/хуже в продакшене?

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

Кресты он не заменяет, он скорее замена сишки.

Werenter ★★★
() автор топика

Язык как язык, как и миллиард других языков, потенциал имеет.

sbu_shpigun
()

Негативно, программами на срасте не пользуюсь. Вместо него у меня есть Zig.

ZSkunk
()

А хз пользуюсь ли. Мне как-то пофигу на чём написана программа.

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

У нас уже есть язык ада, который создавался под конкретные требования.

Раз уж ты знаешь Ada, подскажи, как в этом замечательном языке освободить память?

quantum-troll ★★★★★
()
Ответ на: комментарий от Lrrr

rust-coreutils уже и в Debian завезли.

Там ещё пока

  • Some options have NOT been implemented,
  • Might have important bugs,
  • Might be slower,

При этом затраты на сборку rust-coreutils (0.0.22-1 amd64):
11 минут - 5.05 GB на диске

Для сравнения: старые coreutils (9.1-1 amd64):
3 минуты - 162 MB на диске

После установки:
coreutils: 18 MB
rust-coreutils: 36 MB

Отладочные символы:
coreutils: 9.5 MB
rust-coreutils: 28 MB

Новому, т.н. системному, языку нужно в 32 раза больше места на диске (а сколько ещё оперативки?..), и в 3-4 раза больше времени, а полученным исполняемым файлам в 2 раза больше места на диске (отладочные символы занимают в 3 раза больше).

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

Отношусь скорее позитивно, хотя очень и очень многое сделано в этом ЯП через то место, у которого нет названия.

Дискриминации по ЯП не провожу. Было одно время, очень активно использовал одну утилиту, а потом узнал, что она на Prolog написана… С тех пор как-то спокойней к таким вещам отношусь. «Лишь бы работало.»

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

(можете заодно на профиль автора посмотреть)

Всё, что нужно знать про раст.

Werenter ★★★
() автор топика

А какие есть популярные программы на Rust помимо Firefox и инфраструктуры Раста? Сейчас полазил по зависимостям, нашёл только Firefox, связанные с Cargo утилиты и 3 графических библиотеки: libimagequant, rav1e и librsvg.

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

А какие есть популярные программы на Rust помимо Firefox и инфраструктуры Раста?

В коде Mesa есть куски раста. А так особо нет, растовики в основном умеют только кукарекать.

Werenter ★★★
() автор топика

Использую (естественно firefox и librsvg2, difftastic). Отношусь двояко - с одной стороны, это замечательный безопасный, эффективный и выразительный язык, c++ done right, с другой, абсолютно ублюдская собственная система зависимостей, не совместимая с системой зависимостей пакетного менеджера. Итого, дырку в плюсовой зависимости мне исправят мантейнеры дистрибутива, один раз и для всей системы, в дырку в rust зависимости не исправит никто.

Ещё с rust софтом не очень прикольно жить на source-based, например freebsd - там на каждое обновление rust обновляется как сам rust, так и весь софт на нём (типа нужно пересобрать новой версией). Но это я считаю оправданным неудобством, и у себя просто обновляю версии пакетов rust и софта на нём не обновляя самих пакетов.

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

выяснил, что движок Firefox таки написан на Rust

Не движок, а только парсер CSS и ещё что-то по мелочи. Так что можно смело голосовать за хейтерский вариант. Я бы и рад с тормозилы слезть, но пока не готов переходить на links. Как на пенсию выйду, тогда.

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

В коде Mesa есть куски раста.

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

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

В коде Mesa есть куски раста.

media-libs/mesa-23.1.8 у меня в Дженту зависимостей от rust не имеет.

Возможно, Раст нужен чему-то, что у меня не поддерживается. Например, Вулкану.

question4 ★★★★★
()

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

pub fn foo(a: &mut [i32]) {
    a[0] += 1;
    a[1] += 1;
    a[2] += 1;
    a[3] += 1;
    a[4] += 1;
}

https://rust.godbolt.org/z/hsa57aP9h

каждое обращение к слайсу приводит к спаму строковой константы в бинарник. С debuginfo=0 opt-level=3, то есть в релизной сборке.

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

Там есть реализация OpenCL на русте.

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

question4 ★★★★★
()

Раст безразличен, ни холодно ни жарко.

gtk222
()

Нейтрально, программами на Rust пользуюсь

По большому счету мне пофиг, на чем написан софт и я не особо интересуюсь этим, но из того, что использую, минимум wezterm написан на расте. Наверняка что-то еще есть, но я не в курсе.

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

Этот рептилоидный выкидыш запускает щупальца в самые важные подсистемы

Почему ты не следуешь рекомендациям лечащего врача?

hateWin ★☆
()

негативно. 100 500 crate в distfiles. срань из версий

samy_volosaty ★★★★★
()

Нейтрально. Сам язык не зашёл синтаксисом (ну тошнит, как от сюрстрёмминга), но концепты здравые. Особенно владение и дефолтная иммутабельность. Если бы это привнести в C++, хотя бы на уровне компилятора… -fstrong-owning -fdefault-immutable

Из утилит:

  • rg (rip grep)
  • fd
  • softu2f

Ну и какие-то части в Firefox, пусть и опосредованно.

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

Его вроде хотят в виндовое ядро пихать (но это не точно)

UPD: Его куски уже есть в 11-ке

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

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

Согласен. Не все концепции ОО-языков там реализованы (наследования нет, модификаторов доступа нет, наверняка нет и чего-то ещё, я не знаю)

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

И там я нашел баг в зависимости, а именно в библиотеке Pydantic. А когда я попытался зарепортить этот баг в их гитхаб, меня послали нафиг заявив что у них вся либа была целиком переписана с питона на раст и баги из старой питоноверсии они больше не принимают и отправили на новую версию обновлятся.

Мне кажется, ты какой-то особый pydantic использовал, оригинальный почти весь до сих пор на питоне написан https://github.com/orgs/pydantic/repositories?type=all

dicos ★★
()

Фурифокс за программу на хрусте считается?

Kolins ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.