LINUX.ORG.RU

Хочу начать изучать Rust, отговорите

 


1

1

Пока что останавливает вот что:

  1. Слышал, что у Rust плохой компилятор, который выдаёт медленный код
  2. Размер конечных бинарей гораздо больше, чем у православной сишечки
  3. Полная зависимость от интернета
  4. Rust пропихивается в изначально сомнительные проекты (вроде systemd)
  5. UB замаскированы под unsafe

С 1 всё более-менее понятно - у сишки и крестов достаточно подобрать компилятор, чтобы было быстро, а у раста он один. А что с остальными пунктами? Можно ли уменьшить размер конечных бинарей?

Ответ на: комментарий от anonymous-angler

Востребованный скилл на рынке труда:

Уже советовал на рынке семечками торговать.

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

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

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

anonymous
()

Не надо бояться, быть растаманом просто. Есть всего три ступени:

  1. Врываешься в любую тему с криками «Опять у плюсовиков подгорает!» и всё, ты такой же растаман, как и другие 90% на форуме.
  2. Если этого мало, то заучиваешь три слова: карго, лайфтаймы и борроу чеккер. Далее можешь с умным видом вставлять в свои сообщения. При этом не обязательно понимать, что они значат.
  3. Ну и если предыдущих двух ступеней мало, то можешь скомпилировать хелловорд на годболте. Тогда сразу войдешь в элиту растаманов.
Kogrom
()
Ответ на: комментарий от Kogrom

И эшо …

… и пусть почаще ругает C/C++.
ТС должен четко определиться кто он

тупоконечник или остроконечник
anonymous
()
Ответ на: комментарий от anonymous

тупоконечник или остроконечник

Разработчики не спорят

Каким концом нужно яйцо разбивать
anonymous
()
Ответ на: комментарий от fornlr

Это потому что у нее значка нет?

anonymous
()

Хочу начать изучать Rust, отговорите

Тред ТС - ПОТРОЛЛИТЬ на тему какой Rust ТГ …

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

понятно, трепло пустое, следующий клоун.

anonymous
()

Вбросил чтобы запустить очередной растосрач. Изучай javascript там не нужны компиляторы.

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

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

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

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

anonymous
()

@LikeABoss, решай сам, а других не подговаривай на ругню

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

Ну почему же, это плюс. Пока компилируется раст, можно пойти и переполнить буфер на С++. Переполни буфер на С++, буфер сам не переполнится.

anonymous
()

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

Слышал, что у Rust плохой компилятор, который выдаёт медленный код

В общем случае нет. Можно найти какие-то одинокие библиотечные функции которые делают больше действий чем тебе нужно. Пользуйся теми, которые делают ровно то что тебе нужно. Сам язык работает с zero costs abstractions, потому если что-то медленнее чем могло бы быть, то это в принципе баг.

Размер конечных бинарей гораздо больше, чем у православной сишечки

Опять де, за счет чего? Что там такое лежит в этих бинарях? Явно 500 КБ повторяющейся строки «LikeABoss». Когда ты тянешь зависимости, то, внезапно, они оказываются статически в твоем бинаре. В Rust то что прилетает с crates влинковано статически, в отличии от привычного софта на С, С++, у которых по сути нету пакетного менеджера и пакетами заново занимаются мейнтенеры каждого дистра, повторяя тупую работу по 100 раз. В итоге есть сомнительный профит разделяемых библиотек. Но если бинари Rust занимают какие-то сотни килобайт, то это нынче ничто. Посмотри на статически слинкованую проприетарщину на С++ или Go, там будут десятки мегабайт и ничего, брат жив.

Полная зависимость от интернета

Выше уже сказали про «vendor».

Rust пропихивается в изначально сомнительные проекты (вроде systemd)

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

UB замаскированы под unsafe

unsafe - ручная коробка передач. По сути программист в комментах к unsafe обязан обьяснить почему в этом конкретном случае это правильный код, конкретно почему он НЕ UB. Если программист не справился, то по крайней мере он озвучил словом unsafe что в данном фрагменте кода есть риски и ревьюверы должны посмотреть дважды

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

ну да конечно вот такие анонимусы и устраивают дтп на дорогах.

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

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

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

Вот только в современном мире размер бинарника уже практически не имеет значения.

в embedded вполне себе имеет

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

Сам язык работает с zero costs abstractions, потому если что-то медленнее чем могло бы быть, то это в принципе баг.

Полный бенчмаркгеймс зерокост абстракций. Компилятор кстати работает медленнее, чем мог бы, открывай баг – возможно, не стоит срать в LLVM, а попробовать что-то делать на фронте?

Но если бинари Rust занимают какие-то сотни килобайт

Хелловорлд занимает 2 мегабайта, а не «какие-то сотни килобайт» и стрипается до 1.2 мегабайта. Ты привираешь минимум на порядок.

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

Там же есть теплый ламповый code vault. Интернет для зумеров.

anonymous
()

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

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

Медленно компилируется, самое главное забыл

Компиляция 100 MB исходников сколько времени занимает?

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

Показывай 100МБ исходников на расте, шалопай.

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

В итоге есть сомнительный профит разделяемых библиотек.

и эти люди кого-то ещё называют луддитами

Посмотри на статически слинкованую проприетарщину на С++ или Go, там будут десятки мегабайт и ничего, брат жив.

не нужно на них равняться

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

мейнтенеры каждого дистра

почему я должен больше доверять растомейнтейнерам, чем мейнтейнерам своего дистра

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

который растом не является

Бред. Это часть языка.

Пропаганда заявляет сборку в пару строк

Не слушайте пропаганду, сами виноваты. Я не говорил, что будет легко.

Но ничего состоятельного на раст не написано и не будет - только перепаста сишных реализаций

Тут согласен. Если вообще будут что-то писать на расте в системд.

Основной довод пропаганда

Опять пропаганда. Зачем вы её слушаете? Это такой особый вид мазохизма? Нет, товарищ, я способен критически мыслить.

fernandos ★★★
()

Только если тебе за это будут платить больше, чем платят сейчас.

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

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

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

кто цветом кожи и разрезом глаз не вышел

Белым гетеросексуальным мужчинам без инвалидности?

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

сомнительный профит разделяемых библиотек

толсто

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

в embedded вполне себе имеет

Там стандартные библиотеки не используют и у раста с размерами бинарника будет не хуже чем у си или с++.

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

Там стандартные библиотеки не используют

если посчитают нужным - используют

и у раста с размерами бинарника будет не хуже чем у си или с++

а где у раста специальная библиотека для эмбеддеда, и почему её нельзя и на десктопе использовать, раз она есть?

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

если посчитают нужным - используют

Тогда и размер бинарника растет независимо от языка.

а где у раста специальная библиотека для эмбеддеда, и почему её нельзя и на десктопе использовать, раз она есть?

Тут https://docs.rust-embedded.org/book/ смотри. Ну и no_std никто ни мешает использовать на десктопе, но это обычно также осмысленно как и писать на си для десктопа без стандартной библиотеки.

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

Хелловорлд занимает 2 мегабайта, а не «какие-то сотни килобайт» и стрипается до 1.2 мегабайта. Ты привираешь минимум на порядок.

Кто-то привирает. Это - да.

$ cat main.rs
fn main() {
    println!("Hello, world!");
}
нестрипнутый / стрипнутый
3213624 / 272656 байт rustc main.rs -C opt-level=2 
1326800 / 243984 байт rustc main.rs -C opt-level=2 -C lto
9088    / 6120   байт rustc main.rs -C opt-level=2 -C prefer-dynamic
red75prim ★★★
()
Ответ на: комментарий от anonymous

Тогда и размер бинарника растет независимо от языка.

сишная стандартная библиотека - общая на все бинарники

Welcome to The Embedded Rust Book: An introductory book about using the Rust Programming Language on «Bare Metal» embedded systems, such as Microcontrollers.

это bare metal, где вся прошивка - один бинарник, там в любом случае стандартная библиотека в одном экземпляре и она и так почти не нужна

я скорее про embedded linux

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

но это обычно также осмысленно как и писать на си для десктопа без стандартной библиотеки.

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

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

я скорее про embedded linux

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

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

musl это с альтернативной стандартной библиотекой а не совсем без стандартной библиотеки, никто ни мешает и не запрещает написать таковую и для раста, вон у D в одно время вообще было 2.5 стандартных библиотек.

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

а если их много

То есть prefer-dynamic

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

помимо стандартной библиотеки, есть ещё все остальные, если каждый растобинарник будет тащить по копии каждой, эмбеддед слишком жирный выйдет

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