Rust #38 /rust/ 3452718 В конец треда | Веб
Добро пожаловать в тред, посвященный гарантиям, обещаниям, владению, заимствованию и другим концепциям языка Rust!
Предыдущий тред : >>3407697 (OP)

Rust — blazing fast язык для системного программирования без segfault'ов и с гарантиями потокобезопасности. Он позволяет писать безопасный и эффективный код, который легко поддерживать и масштабировать.

Ссылка на официальный сайт: https://www.rust-lang.org/

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

НОВИНКА: Rust для Windows: https://metanit.com/rust/windows/

IDE для Rust: https://areweideyet.com/
GUI для Rust: http://www.areweguiyet.com/
Web для Rust: https://www.arewewebyet.org/
Игры на Rust: https://arewegameyet.rs/
Что еще есть для Rust?
- Посмотри сам: https://wiki.mozilla.org/Areweyet

Основная литература:
Rust Book (версия на русском языке): https://doc.rust-lang.ru/book/
Rust Book: https://doc.rust-lang.org/book/
Rustlings (упражнения для привыкания к Rust): https://github.com/rust-lang/rustlings
Rust by Example: https://doc.rust-lang.org/rust-by-example/
The Rustonomicon (для продвинутых): https://doc.rust-lang.org/nomicon/
Programming Rust: https://www.oreilly.com/library/view/programming-rust/9781491927274/
100 упражнений по Rust: https://rust-exercises.com/100-exercises/

Ресурсы на русском:
https://rust-lang.ru/
Отдельное спасибо автору этого гитхаба (старому ОПу). Здесь ты сможешь найти много полезной информации: https://gist.github.com/TatriX/183c816f1346d418f969c4576c2b9b41
2 3453318
ГАЙЗ, А ГДЕ РАСТ?
https://github.com/mozilla-firefox/firefox
Мне волнительно...
3 3453322
>>453318
Эм, ребят....
1681713559834.png26 Кб, 1044x220
4 3453336
>>453318
На нём servo и wgpu...
А писать браузер на расте, ну камон, гайз.
image98 Кб, 900x900
5 3453388
Растишки. Хочу вкатиться к бэкенд. Нужно для себя, а не для работы по найму (я так понимаю, что в этом смысле в РФ не разгуляешься).
Рассматривал разные варианты: PHP, Node.js, Go, Rust (Java и Kotlin не рассматриваю, очень не зашли).

У раста выявил только два минуса для себя:
- кривая обучения очень уж крутая (чтобы что-то начать делать в бэке нормально нужно месяцев 12)
- долгая разработка в сравнении в другими языками (то, что я сделаю на других языках за 1-2 дня, на расте буду делать неделю или две)

В других языках нашел минусов намного больше. Меньше всего в Go, но он не заточен на сложную бизнес-логику, сделать-то можно конечно, но на костылях и с тяжелой поддержкой в дальнейшем. А мой проект содержит сложную бизнес-логику: бухучет, оперативный учет и т.п. (я сам бухгалтер), которую я планирую годами расширять и совершенствовать. И это будет именно веб-проект со всеми вытекающими (будет даже telegram mini app).

Но экспертных материалов по практическому применению Rust в бэкенде я не смог найти. Как-то все в общих чертах, обзорно, толком полную картину не составишь. Это как в статьях про Python - да он может всё, очень гибкий, можно и в бэк и в ml и в гуй тоже может. А на деле - очень медлительный и очень прикладной, но хорошо для DS и ML (клей для Си в основном).

В концепциях программирования я не профессионал, но умею в VBA, Python и 1С в рамках своих компетенций по профессии). А также немного в CSS, HTML и JS.

Дайте пожалуйста вашу экспертную оценку. Если будет время, напишите пожалуйста развернутый ответ.
6 3453403
>>453388
deepseek, qwen
7 3453410
image700 Кб, 1490x1600
8 3453411
>>453403
От нейродебилов не получилось взять релевантную информацию. Они и про Пиструн мне говорят: О да, это отличный вопрос. Python может решить все ваши проблемы. Огромное сообщество, дохулирд фреймворков...
9 3453423
>>453411
Так ты знаешь питон, начинай писать на питоне. А не спрашивай дикпики о выборе языка. И еще думай как сделать так чтобы можно было как можно больше делигировать в будущем, наемным макакам, а не самому писать все.
10 3453447
>>453423
Извини, бро, но неужели ты думаешь, что я не рассматривал этот вариант? Питон не отвечает моим требованиям по производительности. Нужно что-то пошустрее. Хотя бы уровня Node. Но это опять компромиссы. Уже 2 недели в ступоре хожу, читаю, смотрю, слушаю, но так не могу найти консенсус.
11 3453462
>>453447
Чел. Ты хотя бы мвп запили для начала. А уж потом думай о производительности для своего круда. 100% ты не сможешь одновременно учить все и пилить что-то рабочее. Ты в расте только начнешь изучать лайвтаймы с боровчекером и уже забудешь о своей главной цели из-за когнитивного перегруза.
12 3453566
>>453388

>У раста выявил только два минуса для себя:


Я тебе добавлю третий минус от себя - время компиляции. Попробуй хоть раз скомпилировать ну какой-нибудь скажем форум целиком сделанный на расте и ты охуеешь. А то что ты сказал... Нуууу для меня это не является минусами - 1) "кривая обучения очень уж крутая" - хорошо, меньше всяких тупых детей, рукожопов и случайных людей будет. 2) "долгая разработка в сравнении в другими языками" - мне лично похуй, за меня 70% кода нейронка пишет.

>экспертных материалов по практическому применению Rust в бэкенде я не смог найти


Хуёво искал. Заходишь на amazon.com, в поиск вбиваешь слово "rust", категория "books" и там будет писят тыщь этих книг.

>Меньше всего в Go, но он не заточен на сложную бизнес-логику


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

Бек для веба пишут на ноде, либо жаба если это тырпрайз, всё потому что эти языки позволяют хуякс-хуякс и в продакшн, есть куча встроенных в языки плюшек. А нода/бан/deno ещё и производительные дохуя.

Если хочешь писать бек на компилируемом языке, то во-первых используй zig (этот тред реклама zig на самом деле) потому что бойлерпринта меньше, во-вторых тебе придётся писать ебейшую кучу собственных велосипедов, и я что-то нихуя не уверен что это имеет смысл. Для твоей бизнес-логики придётся самому писать конечные автоматы, сигналы и эвенты, и всё это с аллокацией и структурами данных на массивах. Будешь не только бухгалтером, но и системным архитектором, лолд, готов?
14 3453628
>>453616

>Никто не пишет на срасте бек


ВНИМАНИЕ, ВСЕМ СРОЧНО ПЕРЕСТАТЬ ПИСАТЬ БЭК, АНОН НА ДВАЧЕ СКАЗАЛ ЧТО НА НЕМ НИКТО НЕ ПИШЕТ
ВСМЫСЛЕ УЖЕ НАПИСАЛИ ВСЁ!?!?! УДАЛЯЙТЕ!
15 3453634
>>453628
Ну и что ты там написал, шиз? Покажешь или как всегда?
16 3453637
>>453634
на основе этого свою борду запустил https://github.com/bakape/shamichan
17 3453642
>>453637

> борда


Это хуйня которая занимает 200 строчек в JS для всего сервера и 200 строчек для клиента? Пиздец мощно. Что-то ещё будет?
18 3453644
>>453642
ну напиши за 200 строчек, ну или покажи борду что за 200 строчек написана
19 3453652
>>453644
Блядь, да что угодно https://github.com/jennypeng/ImageBoard Первое что попалось. Тут строчек 300, наверное, основная часть это счётчики, лол, которые можно написать не так уебищно. Думая основная работа с БД, роутами и АПИ для борды занимает строчек 100, не больше.

В пидорасте бойлерпринта просто дохуя. Слишком дохуя для адекватного написания бека.
20 3453661
>>453652

> https://github.com/jennypeng/ImageBoard


ахахахаа там буквально 1 форма + просмотр

> Первое что попалось


тебе реально при поиске движков борды всё что выдало древнее говно уровня лабы 12 летней давности?
попробуй получше поискать, что то реально похожее на борду

> Думая основная работа с БД, роутами и АПИ для борды занимает строчек 100, не больше.


ну если дальше уровня лабы не уходить то да
21 3453686
>>453661

> ахахахаа там буквально 1 форма + просмотр


Погоди, что не так? В борде только это и есть. Треды и доски реализуются ещё двумя функциями.

> тебе реально при поиске движков борды всё что выдало древнее говно уровня лабы 12 летней давности?


Да, гугл в наши дни нихуя не ищет.

> ну если дальше уровня лабы не уходить то да


Чел, это борда. Тут нет ничего сложного. Прямо совсем ничего. На расте это сложно только из-за того что язык говно.
22 3453690
>>453644
Однажды в качестве proof of concept написал вики-движок на пыхе примерно в 150 строк. Правда, с безопасностью там было всё плохо.
23 3453693
>>453686

>Погоди, что не так? В борде только это и есть.


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

>Да, гугл в наши дни нихуя не ищет.


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

>Тут нет ничего сложного


кто тут про сложность говорит?
легко != 10 строчек кода, тут есть еще функционал кроме того чтобы тебе хтмл показать + формочку сделать
24 3453719
>>453693

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


Так расскажи мне что она такого делает, кроме подсчёта статистики и полутра вызовов апи. Ты точно писал борду? Сколько запросов апи у тебя было?

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


Да, мне поебать на это дерьмо.

> кто тут про сложность говорит?


> легко != 10 строчек кода,


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

> тут есть еще функционал кроме того чтобы тебе хтмл показать + формочку сделать


Это борда. Всё что борда делает - сохраняет и отправляет стринги. Доски, топ тредов и прочая хуйня решаются ещё одной строчкой которая добавляет посты в кэш/бд. Самая сложная часть харчка - это капча.
image.png11 Кб, 375x199
25 3453750
>>453719

>Так расскажи мне что она такого делает, кроме подсчёта статистики и полутра вызовов апи.


модерация + админка
медия
(в моем случае) реал тайм постинг
базовая безопасность (чтобы не завайпали гомонеграми)
настройка борды
избранное \ скрытие

>сложность прямо пропорциональна количеству строк кода


во дибил

>Да, мне поебать на это дерьмо.


ну так а о чем с тобой говорить?

> борда это супер просто 20 строчек кода


> хоть один движок видел\писал?


> пук среньк, всё просто строчка бд апи формочка


> ты хоть понимаешь функционал борды


> пук среньк, строчка капча

26 3453786
>>453750

> модерация + админка


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

> медия


Что медия? Стрим файла это функция на 20 строчек. С буферами работает. Конечно, в пидорасте это будет минимум 1к строк отборного говнокода, но что поделать...

> в моем случае) реал тайм постинг


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

> базовая безопасность (чтобы не завайпали гомонеграми)


Две строчки кода при использовании кук, четыре строчки кода при использовании токена. Много....

> во дибил


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

> ну так а о чем с тобой говорить?


Можешь ещё повизжать о том как сложно тебе было писать борду на срасте.

> > пук среньк,


Сколько вызовов апи было на твоей борде? Напиши мне это, не стесняйся.
27 3453804
>>453786
ну уже слишком жирно
LVipHvjfSLg.jpg113 Кб, 660x740
28 3454544
>>453642

>Это хуйня которая занимает 200 строчек в JS для всего сервера и 200 строчек для клиента? Пиздец мощно. Что-то ещё будет?


У меня есть проекты на расте. Я пишу бекенд. Что ты хотел-то?
Вот описание проекта ---> https://pastebin.com/raw/RxjYq1iW
Вот пример кода ---> https://pastebin.com/raw/JBerjWZj
Там около ~130 тысяч строк лютого пиздеца на расте, не считая typescript и фронта.

мимо-другой-анон
29 3454549
>>453616

>ты вместо алгоритмов пишешь бойлерпринт


Смотри... у тебя есть вот такой контент https://pastebin.com/raw/zLD4WLCr Сможешь его декодировать в бинарный файл? Я тебе даже решение на расте могу подсказать https://pastebin.com/raw/Wt90DY9p
30 3454551
>>454544

> Вот пример кода


На какой нейронке генерил?
31 3454649
>>453388

>кривая обучения очень уж крутая (чтобы что-то начать делать в бэке нормально нужно месяцев 12)


С растом ты будешь каждый день своей жизни учиться, потому что две трети любого кода на расте — это объявления новых вспомогательных типов для ублажения компилятора, и соответственно, работающие с тобой люди будут непрерывно писать новые и новые вспомогательные конструкции под свою логику.
Помню, я охуел, когда увидел, насколько сложно. Safe реализация двусвязанного списка на Rust настолько нереальна, что они по итогу сплошной unsafe ебанули в std.

>Меньше всего в Go, но он не заточен на сложную бизнес-логику, сделать-то можно конечно, но на костылях и с тяжелой поддержкой в дальнейшем


В чом тяжесть поддержки? Пиши на Elixir, лол.

>Это как в статьях про Python - да он может всё, очень гибкий, можно и в бэк и в ml и в гуй тоже может. А на деле - очень медлительный и очень прикладной, но хорошо для DS и ML (клей для Си в основном).


По-моему никто не скрывает, что питон еле ползает. Можешь попытаться у нейросетки поспрашивать вопросы, и подчёркивать ей, типа "я хочу не мейнстрим", "какие альтернативные взгляды на этот вопрос бывают?".
Гуй, кстати, очень грустный в питоне. Я не в последнюю очередь думал свою либу многозадачности под нужды гуя адаптировать, но там настолько всё плохо в питоне, что ну его нахуй. Питон — это реально bash, со всеми вытекающими и втекающими.
32 3454650
>>453411

>От нейродебилов не получилось взять релевантную информацию. Они и про Пиструн мне говорят: О да, это отличный вопрос. Python может решить все ваши проблемы. Огромное сообщество, дохулирд фреймворков...


Странно. Можешь показать пример промта, по которому нейросетка выдала тебе хуйню?
33 3454651
>>454544
>>454549
Нейровысеры не интересуют. Следующий раз приноси свой код, посмотрю что там у тебя.

>>454649

>две трети любого кода на расте — это объявления новых вспомогательных типов для ублажения компилятора


>Помню, я охуел, когда увидел, насколько сложно. Safe реализация двусвязанного списка на Rust настолько нереальна, что они по итогу сплошной unsafe ебанули в std.


База. А если это мультипоток будет? На этом пидорастёнок зависнет, потому что токены в GPT исчерпались.
34 3454652
>>454544

>Вот описание проекта ---> https://pastebin.com/raw/RxjYq1iW


>Вот пример кода ---> https://pastebin.com/raw/JBerjWZj


>Там около ~130 тысяч строк лютого пиздеца на расте, не считая typescript и фронта


Наркоман, это ты мне про AWS чесал в облачном тхреаде?
take.png59 Кб, 1065x291
35 3454758
Я вам немного раста принёс.
36 3454762
>>454544

>У меня есть проекты на расте. Я пишу бекенд


Тред про системный язык, пройдите нахуй.
37 3454819
Почему у зига такой ублюдский тулинг спустя 5 лет? Литералли хуже крестов. Вот я создал проект через zig init, он собирается, но при сборке мне пишет:

> error: invalid option: -Dcpu


> error: invalid option: -Dtarget


> error: invalid option: -Doptimize


Что это блять, в build.zig нет никаких аргументов и я не передаю ему?
А дальше под этим стектрейс build.zig, без ошибки. Что ты хочешь, сука?
Есть менеджер пакетов, но название пакета и название модуля разное, я должен идти в репу и смотреть в zig.mod как они назвали модуль. Потом ещё прописывать в build.zig сборку и импорт каждой зависимости. При этом мне пришлось смотреть видос на ютубе как правильно добавить её в build.zig, ведь документация к zon не гуглится. Ебануться.
И эти мудаки зачем-то переписывают LLVM на зиге, не осилив даже сделать нормальную сборку и документацию. Воистину красноглазые пердоли не умеют в юзерфрендли софт, только в пердольное говно.
А потом они ещё рассказывают как у них встроен clang в компилятор и его можно использовать как более удобную замену крестового компилятора. Более удобную чем что? Чем makefile как из нулевых? При этом они рассказывают про нативную поддержку сишки без ffi в зиге, но как мне например заинклюдить Windows.h под виндой? Я должен сам окружение настраивать руками? Виндобляди даже в нулевые про такую дикость не слышали.
38 3454844
>>454819

>Rust #38 /rust/


>Почему у зига



я ебу? это тред раста
39 3455279
Сегодня расту стукнуло 10 лет https://www.linux.org.ru/news/opensource/17968832/
40 3455343
>>455279
hateyoufeel это ты?
sage 41 3455412
>>455279
Назови своё имя, хохлодемон)
42 3455488
>>455343
Неа.

Кстати, какая IDE на расте в 2025 году считается наилучшей?
А то переписывание emacs на расте забросили https://github.com/remacs/remacs
43 3455632
>>455279
Умом Ржавый не понять,
И кол-вом строчек не измерить:
У него особенная стать —
В Раст можно только верить.
(Ф. Тютчев)

ПОЗДРАВЛЯЮ ВАС, РАСТОВЧАНЕ, С ДЕСЯТИЛЕТИЕМ ПОТРЯСАЮЩЕЙ РАСТ ПОБЕДЫ! ПУСТЬ ВАШ КОД БУДЕТ БЕЗОПАСНЫМ КАК НЕПРИСТУПНАЯ КРЕПОСТЬ, БЫСТРЫМ КАК ГОНОЧНЫЙ БАЛИД! ПУСТЬ ЗАВИСТНИКИ КРИЧАТ ПРО СВОЮ СЛАБОСТЬ И НИАСИЛ СИНТАКСИСА! СЛАВА РАСТУ! ПОБЕДЕ СЛАВА!
44 3455744
>>455632
Давно пора, ебена мать, умом растишку понимать!
45 3456720
не понимаю. Почему на обращения на получение элемента в векторе через &v[0] ругается, а на &v.get(0) нет
46 3456726
>>456720
Потому что раст сделали наглухо пизданутые чулочники. Функция get возвращает указатель на элемент массива. Просто получить элемент по индексу будет v[]
Вот так работает:
fn main() {
let mut v = vec![1,2,3,4,5];
let first = v[0];
v[0] = 42;
v.push(6);
println!("{first}");
println!("{v:#?}");
}
47 3456727
>>456720
У тебя println! закомментирован на втором пике.
party.jpg248 Кб, 1752x996
48 3456731
Live from the 10 Years of Rust celebration in Utrecht, Netherlands, the Rust team is happy to announce a new version of Rust, 1.87.0!
49 3456779
>>456726
чо несешь

>>456727
этот прав
image.png176 Кб, 313x305
50 3456790
>>456731
Какого пола?
51 3456807
>>456731
Лучше бы показали кто это говно спонсирует. А то такие довольные, явно баблищем их заваливают, и неспроста, явно не от полезности и прибыльности этого высера.
52 3456825
>>456790
Челик похож на мару бос.
53 3456840
>>456807
На официальном сайте внизу есть ссылки на спонсоров.
54 3456924
>>456825
Кто она по национальности? He? She? His? Hmm? Sheet?
55 3457066
>>456720
>>456726
fn main() {
let mut v = vec![1, 2, 3, 4, 5];
{
let first = &v[0];
println!("The first element is: {}", first);

}
v.push(6);
println!("The vector is: {:?}", v);
}

Причина подрыва?
image.png1,1 Мб, 1325x562
56 3457083
57 3457092
>>457083
Я знаю что растанам больно от реальности, но ЯП с безопасной памятью - это в первую очередь джава и шарп. Про раст никогда речи даже и не шло.
58 3457128
>>457092
ни один из них не системный, лучше бы го хотя бы привел
59 3457130
>>457128
На системных ЯП ничего кроме ОС не пишут. Все реальные задачи решаются безопасными языками с GC.
🤨.jpg58 Кб, 576x1024
60 3457136
>>457130

>На системных ЯП ничего кроме ОС не пишут


ты дурак?
61 3457137
>>457136
А зачем на них что-то другое писать? В вебе у джавы производительность выше раста.
62 3457139
>>457137

>В вебе


в браузерах я так понимаю тоже?
63 3457195
>>457137
Поэтому тот же дискорд на раст а не жаву переписывали?
64 3457217
>>457195
Для освоения выделенных деняк.
65 3457223
>>457217
Откуда у игрулькодаунов деньги?
66 3457332
>>457223
От инвесторов.
67 3457421
решаю задание из туториала. Норм?
Как комментарии принято оформлять?
68 3457711
>>453616
Чел весь финтех сидит на расте и пишет на нем свои микрописьки, альфа, сбер, тинек. Все вакансии открыты можешь сам убедиться в этом.

Впрочем то что это хуйня какая то я согласен. Даже не представляю сколько там у них ебли с этим, как будто проще было на плюсах даже кек
69 3457712
>>457136
Трахать
70 3457726
>>457711

> Чел весь финтех сидит на расте


Проснись.
71 3457831
>>457711
У альфы вижу только одну вакансию с растом. И там же рядом го, жава. У сбера тоже одна. У тинька ноль.
72 3457877
>>457831
Ну да, ну крч у них есть жесткие команды которые пишут на расте требовательное рпс. С улицы не залететь, но пишут же

>>457726
Ладно, согласен погорячился
73 3457891
>>457877
Ну крч ты начал фантазировать про пидорастные команды которых нет. Уверен они там пишут полтора микросервиса, связанные с либой на расте. А в бизнес-логику и БД их даже близко не пускают, даже на полшишечки.
74 3457898
>>457891
Ну ладно, да. Ты только угомонись дерьмое ебаное
75 3457907
>>457898
Не трясись ты так. Подумаешь обосрался прилюдно.
76 3457908
>>457891

> нет


Пидора ответ
77 3457910
>>457908
Шлюхи аргумент
78 3457911
>>457910

> ответ


> аргумент


Какой же ты пидор.
79 3457922
>>457908
Адаптеры крайней будет писать удобнее и ну мере конвертеры по.
80 3458149
>>455279
Языку всего десять лет, а его уже интегрируют в линукс и постепенно вытесняют плюсоговно (в предметной области максимально ригидной к изменениям). Для сравнения какому-нибудь пистону уже больше 30 лет, а выстрелил он только когда нейросетки начали разрабатывать.
81 3458364
кто нибудь собирал rust под mipsel?
на оф сайте нет версии выше 1.71.1
82 3458381
>>458149

>а его уже интегрируют в линукс


Что педики Пинусу Трольвальдосу скажут, то он и будет делать
83 3458386
>>458381
Кто-кто? Батя твой?
84 3458406
>>458149
а на си уже через год после выхода портировали весь юних, значит си в 10 раз пизже
85 3458473
>>458381
Почему плюсопедики за 40 лет не смогли навязать пинусу свою волю, а растофаги смогли?
86 3458474
>>458406
Все так. Для своего времени это был гигапрорыв.
87 3458483
>>458473
Линусу это пропихнули после курса таблеток и прочих нападок со стороны небазового сообщества.
88 3458551
>>458149
плюсы за столько лет к линуксу даже не подпустили
89 3458600
>>458551
Ну и прекрасно, Линукс это говноговна
90 3458817
>>458483
Все так. Лично Сорос и Блэкрок пропихнули.
91 3458976
>>458817
И лично выебали Пинуса в жопу
92 3459234
>>458483

>Линусу это пропихнули после курса таблеток и прочих нападок со стороны небазового сообщества.


Линус уже давно выполняет роль наёмного сотрудника, который будет делать то, что ему скажут, "love it or leave it". Ему просто напомнили об этом, когда он однажды выебнулся. Всем мейнтейнерам об этом аналогично напоминают. Никакой свободы в ядре линя уже давно нет, вся разработка лежит под корпорациями — свобода заключается в том, как эти хотелки корпораций ты будешь выполнять.

Есть объективные проблемы со включением Rust в ядре, например, тот факт, что изначально это был специализированный инструмент для написания браузера — взять те же Sync/Send, которые приколочены гвоздями к компилятору и очевидно являются узкоспециализированным инструментом, бесполезным в ядре, в котором не просто потоки и lock-free код, а есть прерывания, у которых особая культура кодинга.
Пришлось вычищать стандартную библиотеку от браузерного говна, и только после этого Rust подпустили к написанию драйверов. Я не верю, что раст когда-то пустят дальше, потому что дальше там просто сплошняком unsafe код, который лишает применение Rust смысла — всё ядро нужно будет переписывать под прихоти раста, как и вообще любая строчка кода требует усилий для ублажения компилятора, иначе компилятор её не примет.

>>458551

>плюсы за столько лет к линуксу даже не подпустили


Если от плюсов брать безопасное подмножество, то от них почти ничего не остаётся по итогу — в помойку отправляется 80% std и две трети спецификации C++. И даже после этого компиляторы C++ настолько ебливые, что их очень тяжело сделать совместимыми и безопасными, слишком уж это беспорядочное нагромождение фич и слоёв совместимости. Сука, C++ только несколько лет назад научилось линковать static поля в объявлении класса — это пиздец товарищи, как с яхзыком без поддержки интерфейсов типов работать? В языке есть hpp-реализация и cpp-реализация, но интерфейсов в C++ не существует, помимо сишных. А если ты всё равно пользуешься только сишными фичами, то зачем тебе C++?
92 3459234
>>458483

>Линусу это пропихнули после курса таблеток и прочих нападок со стороны небазового сообщества.


Линус уже давно выполняет роль наёмного сотрудника, который будет делать то, что ему скажут, "love it or leave it". Ему просто напомнили об этом, когда он однажды выебнулся. Всем мейнтейнерам об этом аналогично напоминают. Никакой свободы в ядре линя уже давно нет, вся разработка лежит под корпорациями — свобода заключается в том, как эти хотелки корпораций ты будешь выполнять.

Есть объективные проблемы со включением Rust в ядре, например, тот факт, что изначально это был специализированный инструмент для написания браузера — взять те же Sync/Send, которые приколочены гвоздями к компилятору и очевидно являются узкоспециализированным инструментом, бесполезным в ядре, в котором не просто потоки и lock-free код, а есть прерывания, у которых особая культура кодинга.
Пришлось вычищать стандартную библиотеку от браузерного говна, и только после этого Rust подпустили к написанию драйверов. Я не верю, что раст когда-то пустят дальше, потому что дальше там просто сплошняком unsafe код, который лишает применение Rust смысла — всё ядро нужно будет переписывать под прихоти раста, как и вообще любая строчка кода требует усилий для ублажения компилятора, иначе компилятор её не примет.

>>458551

>плюсы за столько лет к линуксу даже не подпустили


Если от плюсов брать безопасное подмножество, то от них почти ничего не остаётся по итогу — в помойку отправляется 80% std и две трети спецификации C++. И даже после этого компиляторы C++ настолько ебливые, что их очень тяжело сделать совместимыми и безопасными, слишком уж это беспорядочное нагромождение фич и слоёв совместимости. Сука, C++ только несколько лет назад научилось линковать static поля в объявлении класса — это пиздец товарищи, как с яхзыком без поддержки интерфейсов типов работать? В языке есть hpp-реализация и cpp-реализация, но интерфейсов в C++ не существует, помимо сишных. А если ты всё равно пользуешься только сишными фичами, то зачем тебе C++?
93 3459238
>>459234

>интерфейсов типов


нинужна
94 3459244
>>459234

> интерфейсов типов


> hpp-реализация и cpp-реализация


Шиз, зачем ты пишешь на си с классами и жалуешься на кресты? Это как писать на расте и жаловаться что ГОвно плохое. Модули уже давно в крестах работают стабильно, сишные хедеры больше не нужны. Что ты там про линковку выдумываешь вообще не понятно, экспорты работают как и должны.
95 3459263
>>459244

> Модули уже давно в крестах работают стабильно, сишные хедеры больше не нужны.


Давно? С 2024 стабильная поддержка в основным компиляторах — это "давно"? Ты какого года рождения? Для меня "давно" модулей C++ вообще не существовало даже в прототипах.
Так-то мне самому модули C++ тоже нравятся — за 35 лет пора бы уже.

Тем не менее, одних модулей недостаточно для решения проблема. Например, проблему непрозрачных и private объявлений типов модули не решают — это по прежнему можно описать только сишными типами. Исключения для ядерной разработки нужно вырезать из яызка — а хули в C++ остаётся без исключений и опирающегося на них RAII? Как я и писал — мало что остаётся.
96 3459265
>>459263

> проблему непрозрачных и private объявлений типов


Шизик, какие ты там проблемы нашёл? Для начала забудь про сишку и пиши на крестах.
97 3459278
>>459234

>сплошняком unsafe код, который лишает применение Rust


Я уже выше вам дэбилам говорил, что раст это не про безопастность, а про нескучный синтаксис, раст никакой безопасности не гарантирует, безопастность может гарантировать только человек, который пишет на язык_нейм и доказательства.
98 3459279
>>459244

>на си с классами и жалуешься на кресты


>си с классами


А если он не использует ооп-дерьмо, а пользуется тем, что в плюсах nullptr - это ключевое слово, а булы - это отдельные типы, это кресты или "си с классами"?
99 3459281
>>459279
Это ещё хуже - он просто притащил крестовый std в сишку и пишет на сишке.
100 3459292
>>459281

>крестовый std


Нахуя его использовать? Алсо, тех же рефов нет в си, а это пиздатая фича, использовать супер ограниченное подмножество плюсов вообще говоря годная идея. Так ты не ответил, что такое си с классами?
101 3459307
Эх ебёт же кто-то такую..
102 3459323
>>459307
Судя по серьге врядли. Интересно она кобла или ковырялка?
103 3459331
>>459307
И не таких ебут. Что поделать, по статистике на 9 кунчиков в мире 10 всратух.
104 3459340
>>459307
>>459323
>>459331
Вам не надоело обсуждать этого пидораса?
105 3459356
>>459340
Какой яп, такое и обсуждение.
106 3459453
>>459340
Но он пидераст фить ха
107 3460917
>>460897 (Del)

>Блять и чо? Я дрочу на трапов ииии?


Ты гей просто. Гомосексуал. Гомосексуалист, как раньше говорили.
108 3460931
>>460917
Нормисопроблемы
109 3461225
таки не могу понять, чем отличается &str от String.

"asdfaf" выдает &str, ссылку на строку. Кто при этом владеет строкой?
110 3461261
>>461225
По-твоему правомерно говорить о "владении" без соответствующей записи? По-моему, нихуя. Прямая цитата из учебника: "такая запись становится владельцем".
111 3461274

>в растотреде удалили пост с трапопикчей


Рустакеаны, вас это не задевает?
112 3461412
Нужно ли знать С++, чтобы писать на Rust?
113 3461686
>>461412
Зачем тебе писать на раст тогда. Зачем в принципе писать на раст, чтобы с языком сражаться?
8724be18-d947-474b-a0af-740ffb96d5dd.png2,6 Мб, 1024x1536
114 3461737
Главная истеричка треда
115 3461814
>>461737
сам то понял что сказать хотел?
почему он растоман когда пишет не писать на расте
116 3461909
Я вот не понимаю, вроде язык считается новопарадигменным, современным етц. НО сука вся та же сишная пердольксольная шляпа присутствует

fn, str, dyn, fs, Vec и прочее. Че больные что-ли?

Мы вроде не в девяностых где нужно было сэкономить пару килобайт текста, нахуя эти сокращения сраные нужны? Что полностью так впадлу слово написать? При чем не понятно по какому принципу сокращения, одна часть языка нормальная, другую решили отрезать. Какого хуя String полностью, а Vec уже сокращение?
117 3461910
>>461909
Vec - базовый тип. String - обертка.
118 3461911
>>461909
А то! Нет бы сразу написать AbstractProxyDecoratorBeanImpl
119 3462067
>>461910
Напиздела пидорастическая проститутка придорожная
120 3462093
>>461686
На расте есть сборщик карго, а не С++ ничего такого даже близко нет
121 3462112
>>462093

>На расте есть сборщик карго, а не С++ ничего такого даже близко нет


Уже отвечали — vcpkg есть для C++.
122 3462113
>>462093

>сборщик


Заказов?
123 3462114
>>462112

>vcpkg


уже отвечали, даже близко нет
124 3462116
>>462114

>уже отвечали, даже близко нет


Уже отвечали — близко да. Rust не умеет сам собираться на винде, просто для справки.
125 3462118
>>462116

> близко да


копиум

> сам собираться


сам то понял что сказал, затупок-студентик?
126 3462216
>>462118

>сам то понял что сказал, затупок-студентик?


Нет это ты, долбоебина, не смог решить задачи, которую решает chatgpt даже старой версии. Rust не умеет комплиировать сорцы в бинарники под win32 без установки стороннего ПО.
127 3462225
>>462216
я тебя услышал, студентик долбоёбик, напиши еще 10 постов где себя тупизднем выставляешь не понимающем нихуя в матчасти, а то думаю еще не всем понятно
128 3462243
>>462114
Поддерживаю, у раста хуже vcpkg. Где-то посередине между зигом в простынями скриптов сборки на зиге и простотой vcpkg.
129 3462248
>>462243
Ага. Когда хочешь версию либы запинить в vcpkg.json то нужно искать и прописывать хеш из репозитория vcpkg, когда эту версию запушили. Ничего более наркоманского Майкрософт придумать не смогла..
131 3462252
>>462093
Ты сборщиком пользуешься примерно пару раз один раз за весь проект.
132 3462259
>>462252

>проект


лаба

>>462243

>простотой vcpkg.


копиум
133 3462383
>>461412

>Нужно ли знать С++, чтобы писать на Rust?


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

Такого же рода вопросы.
134 3462578
Собеседование на раст-девелопера:

1. Что такое турборыба
2. Какого цвета чулочки сейчас на вас
unnamed.webp7 Кб, 640x360
135 3462586
>>462578

>1. Что такое турборыба


Ну кстати это не шутки. Турборыба действительно используется, чтобы показать компилятору в какой тип приводить - ::<НекийТип>
136 3462621
>>462112

>vcpkg


А он умеет собирать проект по команде vcpkg build? Или прежде надо ручками написать CMake-душнину?
137 3462782
Реально ли взять книгу по алгоритмам и запрограммировать их на Rust без использования unsafe? Мне вот почему-то кажется, что любой алгоритм на графах просто невозможно реализовать из-за слишком жесткой системы владения. Естественно, мы рассматриваем реализацию через ссылки и динамическую память, а не статические матрицы, как делают некоторые студенты в своих лабах.
138 3462817
>>462782

>из-за слишком жесткой системы владения


Значит раст плохой инструмент для этой задачи. Проходите мимо.

>а не статические матрицы


>как делают некоторые студенты в своих лабах


Но повышается локальность данных. Алсо, если идти подобным путём, то получаем нулевую пользу от баран чекера.
Водкакнига.jpeg79 Кб, 700x933
139 3462818
Подскажите хорошую бумажную книгу по Rust?
140 3462819
>>461910

>Vec - базовый тип. String - обертка.



Про fn что скажешь? У меня это основная претензия сейчас

Мимо вкатун с C-образных языков

Вообще, нахуя синтаксис изобретали новый? Что это дало по факту?
141 3462837
>>462819

>Вообще, нахуя синтаксис изобретали новый? Что это дало по факту?


Ничего не дало, пидорасам захотелось сделать что-то ПРОГРЕССИВНОЕ просто так - это же пидорасы. Не потому что оно лучше, а потому что оно отличается от старого и типа нитакоекакфсе, понимаешь? В итоге ожидаемо получился кал, даже говноланг лучше выглядит.
142 3462844
>>462837

>пидорасам захотелось сделать что-то ПРОГРЕССИВНОЕ просто так - это же пидорасы


Те, кто долго жил среди пидарасов, говорят, что они втайне стыдятся своего греха и стараются поразить всякими фокусами. Думают про себя так: «Да, я пидарас. Так уж вышло – что теперь делать… Но может быть, я гениальный пидарас! Вдруг я напишу удивительную музыку! Разве посмеют плохо говорить о гениальном музыканте…» И поэтому все время стараются придумать новую музыку, чтобы не стыдно было и дальше харить друг друга в дупло. И если б делали тихо, в специальном обитом пробкой месте, то всем было бы так же безразлично, как и то, что долбятся в сраку. Но их музыку приходится слушать каждый день, ибо заводят ее повсеместно. И потому не слышим ни ветра, ни моря, ни шороха листьев, ни пения птиц. А только один и тот же пустой и мертвый звук, которым хотят удивить, запуская его в небо под разными углами. Бывает, правда, что у пидарасов ломается музыкальная установка. В такие минуты спеши слушать тишину.
143 3462881
>>462621

>А он умеет собирать проект по команде vcpkg build? Или прежде надо ручками написать CMake-душнину?


Cargo — это игрушка для написания hello world. Когда проект становится сложнее, то начинается:
https://github.com/ranger-finance/ostium-rust-sdk/blob/main/build.rs
https://github.com/rust-random/getrandom/blob/master/build.rs
https://github.com/rust-lang/libz-sys/blob/main/build.rs
https://github.com/dtolnay/proc-macro2/blob/master/build.rs
Я советую очень внимательно посмотреть на последний скрипт и осознать суть проблемы, которую я писал выше — вся "простота" опирается на единственный компилятор и тулчейн. Если компилятор-тулчейн не один, а если ещё и внешнее окружение может быть разное — всё, пиздец, приехали, расчехляй build.rs.

С другой стороны, действительно, включение одной либы на CMake выглядит больше:
option(ENABLE_FOO "Enable the Foo feature" ON)
if (ENABLE_FOO)
find_package(Foo REQUIRED)
target_link_libraries(myapp PRIVATE Foo::Foo)
endif()

Я для ответа попытался найти что-то масштаба SDL2, но ничего подобного для Rust просто нет. SDL2 я люблю потому, что у неё одни из самых ебливых зависимостей, потому что она сама абстрагирует особенности целевых платформ. Но ящик для Rust просто оборачивает SDL2 в FFI, полагаясь на уже произведённую CMake-ом конфигурацию при сборке SDL2.
Самая писечка:
https://github.com/Rust-SDL2/rust-sdl2/blob/master/Cargo.toml
[package.metadata.vcpkg]
dependencies = ["sdl2"]
Ой, шо за хуйня, Cargo не может собрать SDL2 на винде без vcpkg. Как же так?
Я напоминаю, что SDL2 — это каких-то сраных 150 тыс строк, это даже не GTK4, в котором уже порядка 600 тыс строк. Возьмите и перепишите SDl2 на расте! — А, не, не хотим, слишком сложно, хотим cargo build.

Ещё раз повторюсь: Cargo и Rust работают так классно, пока их используют в роли потешной дёргалки для внешних библиотек, пока им самим не нужно адаптироваться под окружение.
Питон тридцать лет назад прошёл по ТЕМ ЖЕ граблям, когда его система сборки считала, что на компьютере может быть единственный интерпретатор, единственный набор библиотек, и вообще, подходит любая платформа, если эта платформа — Unix.

Да, кстати, чуть не забыл, вообще-то в мире бывают ситуации, когда существует более одного репозитория, потому что на некоторых ЯП пишут что-то большее, чем hello world-ы, потому возникают патченные библиотеки, у которых своё версионирование — удачи применять pkgname >= 1.2.1 в таком случае. В данном случае я соглашусь с тем, что всё-таки дефолтное версионированние для центральной репы Cargo всё-таки проще, а сложные случаи такие же сложные, как и в vcpkg.
143 3462881
>>462621

>А он умеет собирать проект по команде vcpkg build? Или прежде надо ручками написать CMake-душнину?


Cargo — это игрушка для написания hello world. Когда проект становится сложнее, то начинается:
https://github.com/ranger-finance/ostium-rust-sdk/blob/main/build.rs
https://github.com/rust-random/getrandom/blob/master/build.rs
https://github.com/rust-lang/libz-sys/blob/main/build.rs
https://github.com/dtolnay/proc-macro2/blob/master/build.rs
Я советую очень внимательно посмотреть на последний скрипт и осознать суть проблемы, которую я писал выше — вся "простота" опирается на единственный компилятор и тулчейн. Если компилятор-тулчейн не один, а если ещё и внешнее окружение может быть разное — всё, пиздец, приехали, расчехляй build.rs.

С другой стороны, действительно, включение одной либы на CMake выглядит больше:
option(ENABLE_FOO "Enable the Foo feature" ON)
if (ENABLE_FOO)
find_package(Foo REQUIRED)
target_link_libraries(myapp PRIVATE Foo::Foo)
endif()

Я для ответа попытался найти что-то масштаба SDL2, но ничего подобного для Rust просто нет. SDL2 я люблю потому, что у неё одни из самых ебливых зависимостей, потому что она сама абстрагирует особенности целевых платформ. Но ящик для Rust просто оборачивает SDL2 в FFI, полагаясь на уже произведённую CMake-ом конфигурацию при сборке SDL2.
Самая писечка:
https://github.com/Rust-SDL2/rust-sdl2/blob/master/Cargo.toml
[package.metadata.vcpkg]
dependencies = ["sdl2"]
Ой, шо за хуйня, Cargo не может собрать SDL2 на винде без vcpkg. Как же так?
Я напоминаю, что SDL2 — это каких-то сраных 150 тыс строк, это даже не GTK4, в котором уже порядка 600 тыс строк. Возьмите и перепишите SDl2 на расте! — А, не, не хотим, слишком сложно, хотим cargo build.

Ещё раз повторюсь: Cargo и Rust работают так классно, пока их используют в роли потешной дёргалки для внешних библиотек, пока им самим не нужно адаптироваться под окружение.
Питон тридцать лет назад прошёл по ТЕМ ЖЕ граблям, когда его система сборки считала, что на компьютере может быть единственный интерпретатор, единственный набор библиотек, и вообще, подходит любая платформа, если эта платформа — Unix.

Да, кстати, чуть не забыл, вообще-то в мире бывают ситуации, когда существует более одного репозитория, потому что на некоторых ЯП пишут что-то большее, чем hello world-ы, потому возникают патченные библиотеки, у которых своё версионирование — удачи применять pkgname >= 1.2.1 в таком случае. В данном случае я соглашусь с тем, что всё-таки дефолтное версионированние для центральной репы Cargo всё-таки проще, а сложные случаи такие же сложные, как и в vcpkg.
144 3462891
>>462881
Если не заниматься линковкой архивов/шаред объектов, зачем вообще системы модулей/пакетов в целом, если можно дёргать репозиторий с исходниками?
145 3462894
>>462881
Ещё добавлю, build.rs/build.zig - це харашо, потому что это 1 система сборки на язык, а в сях их больше 1-й, ну там Autotools/Cmake/Meson, если что не спорю с утверждением "Cargo — это игрушка для написания hello world".

>Я советую очень внимательно посмотреть на последний скрипт


Килотонны сборочного кода это везде так, где не hello world надо собирать, тут да, просто не отделаешься, если надо писать, то придётся написать.
https://github.com/systemd/systemd/blob/main/meson.build
146 3462941
>>462891

>Если не заниматься линковкой архивов/шаред объектов, зачем вообще системы модулей/пакетов в целом, если можно дёргать репозиторий с исходниками?


Я напоминаю, что Cargo не в последнюю очередь был создан для того, чтобы побороть бесконечно медленную компиляцию в Rust. Без этой хуйни можно просто скачивать сорцы с гитхабов и класть в один каталог — зачем их как-то предварительно собирать, если они на одном языке и для одного тулчейна?
Тот же Delphi/Pascal, с которого я начинал и в котором я обожаю систему сборки, может вообще собирать огромный проект без единого прекомпилированного модуля. У меня так и было: полная сборка 6 млн строк библиотек из сорцов целых 5 минут собиралось на двухъяденой машине в хуй знает каком году — нейросетка мне подсказывает, что аналогичный объем кода на расте на той же машине будет собираться 3 часа. Инкрементальная сборка не делфи где-то 20 секунд была.

>3462894


>build.rs/build.zig - це харашо, потому что это 1 система сборки на язык, а в сях их больше 1-й, ну там Autotools/Cmake/Meson


Cargo НЕ решает целого ряда задач, для которых нужны Autotools/CMake/Meson. А именно — платформоспецифичная конфигурация зоопарка библиотек и инструментов на разных ЯП. Там, где нужно это сделать — Cargo дёргает тот же vcpkg (который дёргает cmake), как я показывал выше.

>Килотонны сборочного кода это везде так, где не hello world надо собирать, тут да, просто не отделаешься, если надо писать, то придётся написать.


Если взять скрип попроще:
https://github.com/DPDK/dpdk/blob/main/meson.build
где половину кода — это просто принты, то даже тут скрипт build.rs выглядит жирнее в два раза:
https://pastebin.com/jQzw8eYv
Нужно понимать, что DSL для CMake/Meson созданы не просто так, они решают задачу, которые неудобно решать ни башем, ни питоном, ни C/C++. Я сам имел честь делать проект на SCons, и я знатно наебался с этими вашими Тьюринг полными ЯП. Но разрабы Cargo посчитали, что они самые умные и им DSL не нужен.
По факту в Cargo просто повторили NPM со всеми его недостатками, а именно — хуёвой поддержкой сторонних средств сборки и распределённых источников сорцов (хорошо работают только если все пакеты есть в центральной репе). И лучшее, что может Cargo — это дёрнуть те же vcpkg+CMake.

Если же Rust начнёт претендовать на системный ЯП с собственным управлением внешними зависимостями, то тот же Meson внезапно напялят на Cargo, будете писать в дополнение к build.rs еще и meson.build, и рассказывать, что "лучше придумать было нельзя".
146 3462941
>>462891

>Если не заниматься линковкой архивов/шаред объектов, зачем вообще системы модулей/пакетов в целом, если можно дёргать репозиторий с исходниками?


Я напоминаю, что Cargo не в последнюю очередь был создан для того, чтобы побороть бесконечно медленную компиляцию в Rust. Без этой хуйни можно просто скачивать сорцы с гитхабов и класть в один каталог — зачем их как-то предварительно собирать, если они на одном языке и для одного тулчейна?
Тот же Delphi/Pascal, с которого я начинал и в котором я обожаю систему сборки, может вообще собирать огромный проект без единого прекомпилированного модуля. У меня так и было: полная сборка 6 млн строк библиотек из сорцов целых 5 минут собиралось на двухъяденой машине в хуй знает каком году — нейросетка мне подсказывает, что аналогичный объем кода на расте на той же машине будет собираться 3 часа. Инкрементальная сборка не делфи где-то 20 секунд была.

>3462894


>build.rs/build.zig - це харашо, потому что это 1 система сборки на язык, а в сях их больше 1-й, ну там Autotools/Cmake/Meson


Cargo НЕ решает целого ряда задач, для которых нужны Autotools/CMake/Meson. А именно — платформоспецифичная конфигурация зоопарка библиотек и инструментов на разных ЯП. Там, где нужно это сделать — Cargo дёргает тот же vcpkg (который дёргает cmake), как я показывал выше.

>Килотонны сборочного кода это везде так, где не hello world надо собирать, тут да, просто не отделаешься, если надо писать, то придётся написать.


Если взять скрип попроще:
https://github.com/DPDK/dpdk/blob/main/meson.build
где половину кода — это просто принты, то даже тут скрипт build.rs выглядит жирнее в два раза:
https://pastebin.com/jQzw8eYv
Нужно понимать, что DSL для CMake/Meson созданы не просто так, они решают задачу, которые неудобно решать ни башем, ни питоном, ни C/C++. Я сам имел честь делать проект на SCons, и я знатно наебался с этими вашими Тьюринг полными ЯП. Но разрабы Cargo посчитали, что они самые умные и им DSL не нужен.
По факту в Cargo просто повторили NPM со всеми его недостатками, а именно — хуёвой поддержкой сторонних средств сборки и распределённых источников сорцов (хорошо работают только если все пакеты есть в центральной репе). И лучшее, что может Cargo — это дёрнуть те же vcpkg+CMake.

Если же Rust начнёт претендовать на системный ЯП с собственным управлением внешними зависимостями, то тот же Meson внезапно напялят на Cargo, будете писать в дополнение к build.rs еще и meson.build, и рассказывать, что "лучше придумать было нельзя".
147 3462944
>>462819
Не знаю, по-моему всё красиво.

Мимо вкатун из ниоткуда
148 3462947
опять троллинг тупостью от постеров?

систему сборки от пакетного менеджера отличить не могут и понять кто что делать должен?
149 3462949
>>462947

>систему сборки от пакетного менеджера отличить не могут и понять кто что делать должен?


А где система сборки для Rust? Её нету.
150 3462989
>>452718 (OP)
Какие чулочки и анальные пробки вы используете при разработке?
151 3463004
>>462949
build.rs
152 3463139
>>462782
А какой смысл переизобретать велосипед, если есть https://crates.io/crates/petgraph ? Что тебе в петграфе не устраивает?
154 3463181
>>463154

> nanoservices


huh?
155 3463184
>>463181
У вас мегасервисы и гигасервисы? Понимаю..
157 3463278
>>463242

>A nanoservice has the ability to run as a microservice if needed. However, a nanoservice also has the ability to be compiled for use within another server.


Получается обычные микросервисы которые можно в один бинарь объединить?
Звучит прикольно конечно, оссобено если они в одном бинаре как то эффективно между собой общаться начнут, но хзы какую эту проблему решает
158 3463281
>>463278
Зумеры изобрели dll библиотеки.
159 3463312
>>463281

>dll


Спермоблядь, плиз.
160 3463407
Что там по вкату в айти с вашим чудо-языком?
Без названия.jpeg195 Кб, 1200x630
sage 161 3463413
>>463278

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


Сам автор объяснял https://youtu.be/J94ARUzhhWI?t=924 что
был кубернетис кластер, но его сложно было тестировать на локалхосте, отслеживать http-запросы и т.д. Они тогда разделили проект на несколько воркспейсов и закатали их в один dockerfile. В итоге несколько наносервисов сидят в одном докерфайле и общаются по tcp через контракты. Получается строгая типизация, проще тестирование и нет запросов по сети.

Но не суть. Это что-то типа тоника https://docs.rs/tonic/latest/tonic/ но чуть более колхозная реализация. Мне ещё нравится курс "Rust, data engineering course". Но его можно только купить, на торрентах нет нигде.
1665175154326.png416 Кб, 2873x1489
162 3463414
>>463413

> на торрентах нет нигде

163 3463416
>>463407
Нулевой, вката нет. Можешь только на месте затащить в проекты, обладая достаточной экспертизой
sage 164 3463417
>>463414
Ах ты сука... ну ладно, был неправ, значит есть. А я за бабки его смотрел на oreilly. Но вообще я бы скачал всю серию https://www.coursera.org/specializations/rust-programming#courses Там неплохие такие курсы.
Каракал рычит шипит.mp410 Мб, mp4,
1080x1920, 0:14
165 3463554
>>463154

>>хорошую бумажную книгу



Мне нужна одна книга, а не 4. И она нужна на русском языке, я ебал в рот изучать новую область на неродном
166 3463588
>>463416

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


Это показательно. Ещё раз повторяясь: писать код на Rust сложно, долго, и дорого. В том числе из-за пиздецки долгой компиляции. Да, нейросетки ускоряют процесс, но другие ЯП они ускоряют ещё сильнее. Итого что-то более-менее серьёзное на Rust представляет собой тупо дёргалку библиотек на C/C++ — о какой безопасности указателей мы тогда ведём речь?
167 3463602
>>463588
Скоро Пинус Трольвальдос свое говноподелие на Руст перепишет
168 3463611
>>463139

>https://crates.io/crates/petgraph/0.8.1/dependencies


Ебал в рот этот продукт нпмоподобный.

>графы


>алгоритмы


>хуилион зависимостей


Чёт я охуеваю.
169 3463625
>>463602

>Скоро Пинус Трольвальдос свое говноподелие на Руст перепишет


Очень нескоро. Им для драйверов пришлось std раста переделывать.

>>463611

>>https://crates.io/crates/petgraph/0.8.1/dependencies


>Ебал в рот этот продукт нпмоподобный.


>>графы


>>алгоритмы


>>хуилион зависимостей


>Чёт я охуеваю.


Ну так они автоматически разрешаются Cargo, чо ты паришься? Да, в C/C++ большая часть этих зависимостей была бы в самом проекте.
170 3463638
>>463611

> нпм


Ну до этого кала невозможно дотянуться, он задал слишком высокую планку. Я помню как-то пытался развернуть китайский кал на ноде, там 1500 зависимостей и npm где-то на 800 зависимости отъёбывает, жмёшь рестарт сборки, он доходит до 850 и опять отъёбывает, и так по 50 зависимостей, причём каждый запуск пересборки это 10 минут. Я так долго даже с крестами никогда не ебался, как с нодой. А ещё если TS есть в проекте, это вообще мрак.
>>463625

> они автоматически разрешаются Cargo


Проблема в том что время сборки улетает в космос, т.к. карга пересобирает часть зависимостей. У того же bevy каждая пересборка пересобирет 10 зависимостей из 350, в итоге поменял строчку, нажал сборку и ждёшь минуту-две в хеллоу-ворлде. Ещё и нет глобального кэша. Для примера опять тот же vcpkg можно привести, где есть нормальный глобальный кэш, зависимость собирается только один раз для всех проектов.
Алсо, почему так получилось что только на на крестах в msvc есть хот-релоад, а больше компилируемого ЯП с таким не существует? С задачей поменять строчку кода на горячую и сразу увидеть изменения справляется отлично.
171 3463642
>>463638
потому что нет abi а значит и нет .dll\.so
172 3463650
>>463554

>неродном


В ойти родной - это английский.
173 3463656
>>463625

>большая часть этих зависимостей была бы в самом проекте.


Что хорошо и правильно.
>>463650
Он толстит.
174 3463791
>>463638

>Алсо, почему так получилось что только на на крестах в msvc есть хот-релоад, а больше компилируемого ЯП с таким не существует?


Спорная фича в целом. Если мне нужно один раз изменить поведение логики, то я просто в отладчике меняю переменные. Уже на уровне оптимизации "-Og" код становится настолько хуй пойми каким, что вообще теоретическая возможность его горячей подмены становится сомнительной — слишком много вещей потенциально может поменять одна строчка кода.
Во всяких там JVM/CLR/V8 есть заранее заложенные алгоритмы JIT-оптимизации-деоптимизации, благодаря которым можно нужную функцию деоптимизировать и подменить, но в AoT компиляции такой возможности нет.

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

Вот интерактивный REPL уже есть в отладчиках-компиляторах:
https://clang.llvm.org/docs/ClangRepl.html
Чо вам ещо надо?
175 3463839
>>463791

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


Хот-релоад тупа быстрее, если большой проект. Отладчик слишком ограниченный контроль имеет, хот-релоад же любой код может пропатчить налету.

> вообще теоретическая возможность его горячей подмены становится сомнительной — слишком много вещей потенциально может поменять одна строчка кода


В msvc хот-релоад работает с О2, главное чтобы LTO выключено было.
176 3463910
>>463839

>хот-релоад же любой код может пропатчить налету


И нахуя? Откуда ты знаешь, что старый код не наделал сайдэффектов?

>В msvc хот-релоад работает с О2, главное чтобы LTO выключено было.


Мне нейросетка говорит, что с /O2 не работает. Уже сделали поддержку?
177 3463912
>>463910

>И нахуя?


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

мимо пробегал
178 3463933
>>463910

> Откуда ты знаешь


А ты откуда знаешь как код вообще работает? Это же читать надо, сложно.

> Мне нейросетка говорит


А бабки у подъезда что по этому поводу говорят?

> Уже сделали поддержку?


Всегда работало. Компилятору похуй на оптимизации, из дебаг-информации он знает всё. Дебаггер же без проблем работает с оптимизированным кодом в релизном билде, даже с LTO.
179 3463951
>>463933

>А бабки у подъезда что по этому поводу говорят?


Офф доки говорят то же:
https://learn.microsoft.com/en-us/visualstudio/debugger/supported-code-changes-cpp?view=vs-2022
"Unsupported scenarios
Debugging native apps compiled with /Zo (Enhance Optimized Debugging)...
Debugging optimized code.
"

>Компилятору похуй на оптимизации, из дебаг-информации он знает всё. Дебаггер же без проблем работает с оптимизированным кодом в релизном билде, даже с LTO.


Разговор шел не про отладчик, а про Hot Reload — это совершенно разные функции. Похоже, что ты долбоеб, который тупее нейросетки.

>>463912

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


>хзы как там в вебе это у вас, в геймдеве это мастхев


В геймдеве тесты обычно ведутся на минимальном уровне оптимизации, потому что без оптимизации игра бегает недопустимо медленно. А с оптимизацией Hot Reload не работает.
В остальном я согласен с тем, что стар игры может очень долго происходить. Возможно, стоит придумать что-то для ускорения старта игры. рукописный Hot Reload через DLL делался и без хитрых компиляторов — в таком видео его возможно выполнить даже с оптимизированным кодом.
180 3463957
>>463951

> А с оптимизацией Hot Reload не работает


работает

> Hot Reload через DLL


а ой, я про него и говорил (думал дебаггер также это и делает)
в расте кстати вобще возможно такое запилить?
1643799335451.png27 Кб, 932x204
181 3463959
>>463951

> Офф доки говорят то же


Так я тебе написал с какими оптимизациями он не работает. Мог бы уже сам проверить давно.

> это совершенно разные функции


Это ты даун. Хот-релоад в msvc делает дебаггер. Для этого надо включить дебаг-информацию для него.
182 3463961
почему println! работает без use? Я тут https://doc.rust-lang.org/stable/std/prelude/index.html не нашел его
183 3463962
Почему в расте присваиваение зовётся биндом, а не ассайментом? В хаскеле понятно, что бинд это бинд, а расте то почему?
image.png38 Кб, 839x135
185 3464010
Уже в какой лекции вижу. Почему у нас есть мутабельная ссылка на константу?
186 3464022
>>464010

> Почему


temporary lifetime extension

> Зачем


чтобы не возникало проблем в коде по типу r = &Class:new();

> константу


создается новая переменная, константа не изменяется
187 3464027
>>464022

> создается новая переменная, константа не изменяется


Разве не смысл ссылки в том, что она ссылается на существующий объект? Я сравниваю с плюсами, так там такое бы просто не скомпилировалось без const, что логично
188 3464028
>>464027

>на существующий объект?


он и существует, я же написал тебе переменную под капотом новую создают
189 3464030
>>464028
а, понял. только не перменная, а объект новый создался. это не rvalue из плюсов, а больше как если бы сделали новый объект инта от параметра 92. спасибо
190 3464051
Блиц, нахуй.

fn main() {
let mut r = &mut 2;
r += 1;
println!("{}", r);
r = &mut 3;
r += 1;
println!("{}", r);
}

Такой код не сработает. Почему?
191 3464052
>>464051
на пастбин залей
192 3464064
>>464052
Зачем?
193 3464067
Единственное, что хочу сказать - >>464051 и >>464064
не мой пост. Говорю, чтобы мне потом отвечали на вопросы, а не приняли за долбоёба
194 3464073
>>463962

>Почему в расте присваиваение зовётся биндом, а не ассайментом? В хаскеле понятно, что бинд это бинд, а расте то почему?


Самое смешное то, что в BPCL/CPL был бинд и для присваивания не использовался символ тождества, но два индуса, керниган и ритчи, нахуевертили нам фортрана, и с тех пор тождеством во многих ЯП обозначают присваивание. То есть, рандомная хуйня становится Industry Standard и Best Practice.

>>464027

>Я сравниваю с плюсами, так там такое бы просто не скомпилировалось без const, что логично


"Const" в C++ — это одна из самых ублюдочных бездарных фичей высранных за историю IT. Вот насколько нужно быть ебанатом, чтобы обозначать переменную ключевым словом "const"? Потому логично, что в новом языке неконец-то сделали адекватные константы.
195 3464074
>>463959

>Это ты даун. Хот-релоад в msvc делает дебаггер. Для этого надо включить дебаг-информацию для него.


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

>Так я тебе написал с какими оптимизациями он не работает. Мог бы уже сам проверить давно.


не мог, у меня не стоит VS. То, что я проверил, говорит однозначно, что для оптимизированного кода ни в каких версиях нельзя сделать Hot Reload.
196 3464079
>>464074

> То, что я проверил, говорит однозначно


Там где ты проверял ничего про О2 не написано. Ты просто тупой и не понимаешь что значит оптимизации.
197 3464094
>>464073

>чтобы обозначать переменную ключевым словом "const"


всегда обозначаю, это показатель хорошего кода.
198 3464095
>>464073

>"Const" в C++ — это одна из самых ублюдочных бездарных фичей высранных за историю IT. Вот насколько нужно быть ебанатом, чтобы обозначать переменную ключевым словом "const"? Потому логично, что в новом языке неконец-то сделали адекватные константы.


почему? вполне нормальная штука - константная переменная. В чём проблема?
199 3464096
>>464095
если че в расте по сути то же самое по умолчанию навешивается
200 3464108
>>464096

>по умолчанию


Шо бы не як у москалейв других яп?
201 3464122
>>464108
типо чтобы было удобнее писсать в фп стиле
202 3464139
>>464122

> фп стиле


А кто в нем пишет?
203 3464145
>>464122

>фп стиле


>пидораст


Но это же убогая байтоёбская императивщина для либерально-педерастических js-петухов, которые ещё вчера кнопки красили в веб-параше.
204 3464148
>>464139
Я раст учу только 2 часа, так что не могу ответить на этот вопрос. Но фп (а точнее его элементы) протекает посепенно в другие языки, в том числе в плюсы (в шаблоны в основном, хотя и на ренжах че то есть интересное). Так что скорее всего элементы кто то использует. Да даже в джаве стримы есть, что тоже отголосок фп и часто используется.
Снимок экрана от 2025-05-28 02-17-52.png19 Кб, 484x231
205 3464158
>>464051
Звездочки проебались.
206 3464165
>>464094

>всегда обозначаю, это показатель хорошего кода.


Это очень спорный подход, который так или иначе будет заканчиваться в районе const_cast. Как ты не крутись, а всё равно что-то придётся кастовать. А потом пошло friend mutable, и по сути const превращается в хинт для линтера — примерно так к нему и стоит относиться. И уж точно const не гарантирует корректности работы с памятью. То есть, да, "показатель хорошего кода" — но это всё ещё не значит, что код не говно.
При этом код либы без const будет лаконичнее, особенно если имеют место сишные интерфейсы, в которых часто забивают на const.

>>464096

>если че в расте по сути то же самое по умолчанию навешивается


Если чо — нет:
let mut x = 5;
let immut_ref = &x;
let mut_ref = &mut x; // error[E0502]: cannot borrow `x` as immutable because it is also borrowed as mutable

let mut x = 5;
let immut_ref = &x;
x = 10; // error[E0506]: cannot assign to `x` because it is borrowed

Всё то же самое спокойно работает в C++:
int x = 5;
const int immut_ref = &x;
mut_ref = &x;
mut_ref = 10;

x = 5;
immut_ref = &x;
x = 10;
207 3464168
>>464165
Ладно, разные вещи. Но в чем проблема то конста в плюсах? Конст касты - костыль. Его нет в норм коде. Он наверное существует только, как ты заметил, из за сишных либ, где мы точно знаем, что туда можно положить конст, но оно так не помечено
Что меня в джаве бесило - нет конста, передавая объект в функцию, ты не можешь быть уверен, что функция его не поломаеи
208 3464171
>>464168

>Конст касты - костыль. Его нет в норм коде


Я "норм кода" в жизни не видел. Если чо — по твоим же критериям libstdc++ не является норм кодом:
https://github.com/search?q=repo%3Agcc-mirror%2Fgcc+path%3A%2F^libstdc\%2B\%2B-v3\%2F%2F+const_cast&type=code
Mutable используется реже, но он всё равно есть:
https://github.com/search?q=repo%3Agcc-mirror%2Fgcc+path%3A%2F^libstdc\%2B\%2B-v3\%2F%2F+mutable&type=code

>Что меня в джаве бесило - нет конста, передавая объект в функцию, ты не можешь быть уверен, что функция его не поломаеи


Так и в C++ ты не можешь быть уверен, лол. Во-первых const_cast, во-вторых указатели-псевдонимы без const — в чём тут вообще можно быть уверенным? Уверенным можно быть только после строгого ревью каждого пул реквеста.
209 3464205
>>464165

>который так или иначе будет заканчиваться в районе const_cast.


Мы про константные переменный или про методы? В любом случае константные методы это так же прекрасно и нужно пихать const везде где только возможно.

>А потом пошло friend mutable


Значит проблемы в архитектуре приложения. Зочем тогда насиловать Кресты если можно писать на Си где тебя ни что не ограничивает?
image.png127 Кб, 1430x816
210 3464206
>>464171

>Я "норм кода" в жизни не видел.


норм посаны так ебашут
211 3464473
>>464073

>переменную ключевым словом


>>464094

>всегда обозначаю, это показатель хорошего кода.


Конст не для этого.
212 3464555
>>464473

>Конст не для этого.


Чулочки поправь
213 3464586
>>464555
Зверёк, ты сходи и выясни для чего const в сях, а не выёбывайся лишний раз.
214 3464596
>>464586
Пишу на Си и Крестах и хочу пояснения от чулочников итт поводу const, а не жалкие пуки через анальную пробку.
image43 Кб, 1267x709
215 3464665
Анон, угадай редактор
216 3464721
>>464665
CLion?
217 3464742
>>464596

>на Си и Крестах


тред для ретардов ниже
218 3464763
rust это попытка долбоёбов сделать паскаль.
219 3464766
>>464665
Зед
220 3464864
>>464742

>тред для ретардов ниже


Тогда почему чулочниики бугурят итт?
image.gif2,9 Мб, 360x288
221 3464873
222 3465102
>>464766
Ага, но с патчем на шрефты.
2213231362d6c7b7490ec.jpg161 Кб, 800x600
223 3465130
>>453388

>Python


Ок, а с JS node что не так?
Зачем тебе ебля в туза нон-стоп на ближайшее десятилетие? (теперь понятно откуда мемы про фембойчиков...)
Ещё есть Ruby
224 3465132
>>453447

>компромиссы


Node может в производительность уровня Go,
безкомпромисные только аутисты и ситхи
225 3465228
>>453447
А какая такая охуенная производительность нужна для веб-параши? Если вдруг будет очень нужно производительно дробить числа - напиши дробилку на плюсах и вызывай из питухона.
226 3465265
>>464864
потому что не идут в тред для ретардов к плюсовикам
227 3465327
>>458364
держи

cat << EOF >config.toml
change-id = 136941

[build]
build = "x86_64-unknown-linux-gnu"
host = ["x86_64-unknown-linux-gnu"]
target = ["x86_64-unknown-linux-gnu", "mipsel-unknown-linux-gnu"]
docs = false
extended = true
tools = ["cargo", "rustfmt", "clippy"]

[rust]
codegen-units-std = 1
dist-src = false
channel = "stable"
rpath = true
lld = false

[target.mipsel-unknown-linux-gnu]
linker = "mipsel-unknown-linux-gnu-gcc"
cc = "mipsel-unknown-linux-gnu-gcc"
cxx = "mipsel-unknown-linux-gnu-g++"
ar = "mipsel-unknown-linux-gnu-ar"
ranlib = "mipsel-unknown-linux-gnu-ranlib"
crt-static = false

[target.x86_64-unknown-linux-gnu]
linker = "свой gcc"
cc = "свой gcc"
cxx = "свой g++"
ar = "свой ar"
ranlib = "свой ranlib"
crt-static = false

[install]
prefix = "куда хочешь поставить"

[llvm]
link-shared = true
download-ci-llvm = false
EOF

./x.py build
./x.py install

пользуйся
227 3465327
>>458364
держи

cat << EOF >config.toml
change-id = 136941

[build]
build = "x86_64-unknown-linux-gnu"
host = ["x86_64-unknown-linux-gnu"]
target = ["x86_64-unknown-linux-gnu", "mipsel-unknown-linux-gnu"]
docs = false
extended = true
tools = ["cargo", "rustfmt", "clippy"]

[rust]
codegen-units-std = 1
dist-src = false
channel = "stable"
rpath = true
lld = false

[target.mipsel-unknown-linux-gnu]
linker = "mipsel-unknown-linux-gnu-gcc"
cc = "mipsel-unknown-linux-gnu-gcc"
cxx = "mipsel-unknown-linux-gnu-g++"
ar = "mipsel-unknown-linux-gnu-ar"
ranlib = "mipsel-unknown-linux-gnu-ranlib"
crt-static = false

[target.x86_64-unknown-linux-gnu]
linker = "свой gcc"
cc = "свой gcc"
cxx = "свой g++"
ar = "свой ar"
ranlib = "свой ranlib"
crt-static = false

[install]
prefix = "куда хочешь поставить"

[llvm]
link-shared = true
download-ci-llvm = false
EOF

./x.py build
./x.py install

пользуйся
228 3465350
Правильно понимаю, что ссылки как и в плюсах указывают на одну и ту же переменную(объект) и нельзя сделать так, чтобы ссылка привязалаь к чему то другому и мы только можем присовоить в ссылку новый объект, меняя старый?
229 3465358
Понял, неправильно
230 3465363
>>465350
Ты можешь прикрутить мутабельность у любому объекту типа.
231 3465536
>>464206

>норм посаны так ебашут


А потом вашему const методу нужен кэш или разделяемая ссылка — и пиздец, вот тебе твой const и закончился.
....
Ну я как и думал:
https://github.com/SerenityOS/serenity/blob/d653eec65ce58fb317e0c6ae64dc00646a566395/Userland/Libraries/LibGfx/Bitmap.cpp#L578-L584
Bitmap::to_shareable_bitmap() вызывает to_bitmap_backed_by_anonymous_buffer(), и вуаля:
https://github.com/SerenityOS/serenity/blob/d653eec65ce58fb317e0c6ae64dc00646a566395/Userland/Libraries/LibGfx/Bitmap.cpp#L533-L543
return NonnullRefPtr { const_cast<Bitmap&>(*this) }
Не может быть разделяемый объект const, хоть ты тресни. То есть, чисто теоретически можно было изойти на говно, сделать несколько объектов, заставить пользователя во всех методах передавать два объекта, но разрушительность такого подхода в плане читаемости-понимаемости будет намного хуже, чем простое дублирование const/nonconst методов, как у тебя на скрине (с мостиком через const_cast, естественно).
232 3465537
>>464766

>Зед


>>465102

>Ага, но с патчем на шрефты.


Тоже всопнился зед, но я не ебу, что на пикче. Его пытаются хайповать, мол "смотрите, на расте не только hello world можно писать". И, в принципе, за 5 лет прогресс впечатляющий, оно даже в кооперацию умеет. Но что-то как-то комьюнити не спешит никуда.
Для сравнения — VS Code делался три года, с нуля до версии 1.0.
233 3465538
>>465132

>Node может в производительность уровня Go,


Нода может в производительность только если с ней наебаться столько времени, за которое уже можно было написать код на Rust.
234 3466352
в rust есть красивые решения для работы с SQL?
нужно например:
1) создавать одно соединение и юзать его где угодно и не таскать его везде воюя с барроу чекером;
2) в одну строчку запихать вектор (или любой другой тип) в базу, без явной сериализации и прочего говна;
3) прочитать то, что запихнули в п.2
235 3466367
>>466352

> юзать его где угодно


> не таскать его везде


что

>запихать вектор (или любой другой тип) в базу, без явной сериализации


что
236 3466395
>>466352
Ты сам-то хоть понял, что написал?
237 3466401
>>466395
да, лень расписывать
238 3466418
>>466352

>в rust есть красивые решения для работы с SQL?


Есть. https://github.com/launchbadge/sqlx

>создавать одно соединение и юзать его где угодно и не таскать его везде воюя с барроу чекером;


https://docs.rs/sqlx/latest/sqlx/type.PgPool.html

>в одну строчку запихать вектор (или любой другой тип) в базу, без явной сериализации и прочего говна;


Используй unnest

sqlx::query(
r#"
UPDATE orders
SET strategy_id = $1
WHERE order_id IN (SELECT * FROM UNNEST($2))
"#,
)
.bind(&strategy_id)
.bind(order_ids)
.execute(&mut tx)
.await?
239 3466421
>>466418

>unnest


тоже гавно, что и json получается

я хотел, чтобы оно мне сразу все в bytea запихала, я только derive прописал у структуры
уже смирился, что все сначала с помощью bincode в Vec<u8> захуярю, но тут выясняется, что для chrono, что в моей структуре прячется, нет импла Encode/Decode

ладно, похуй, и на том спасибо

>https://docs.rs/sqlx/latest/sqlx/type.PgPool.html


про пулы знаю, но там же все равно его создаешь, а потом ссылку (мутабельную?) гоняешь из функцию в функцию
а мне бы хотелось бы из любого места в кода хуйнуть sql запрос без параши типа "let mut client =
Client::connect("postgresql://postgres:postgres@localhost/main", NoTls).unwrap();"
240 3466423
идем нахуй дальше
какая блядь разница между [u8; 10] и [u8; 50]??
241 3466424
>>466423

>какая блядь разница между [u8; 10] и [u8; 50]??


Ну он говорит, что имплементация есть только для [u8, 0], [u8, 10], [u8, 11], [u8, 12]... Разработчик не запилил сериализацию для таких массивов с таким количеством повторений.
242 3466425
>>466424
эт я прочитал, но все равно не понял
вы имеете сказать шо там для каждого [T; x] отдельная реализация?
пахнет хуйней, я бы даже сказал воняет
243 3466437
>>466424
проиграл
244 3466641
>>466425

>вы имеете сказать шо там для каждого [T; x] отдельная реализация?


Нуууу да. А в других библиотеках тоже самое. Допустим если библиотека линейной алгебры, то ты не можешь сделать матрицу миллиард на миллиард строк. Он тебе скорее всего скажет, что нет такой реализации. К сожалению, это обратная сторона строгих типов. Возвращаемый тип у функции должен быть заранее известен. Я не могу сделать дженерик а-ля Output<T>, чтобы он один раз возвратил Output<foo>, а в другой раз возвратил Output<bar>. Мне надо описать все возможные значения Output заранее. В принципе, можно попробовать стереть тип, конвертировать в Box<dyn Any + Send + Sync> (это что-то наподобие any в typescript), но тогда у тебя будет ёпка с downcast'ингом, когда ты будешь превращать его в конкретный тип. В твоём случае, надо было использовать не [u8, 10], а либо какой-нибудь Arc<[u8]>, либо Vec<u8>, а в самом коде делать let arr = std::array::repeat(0); тогда было бы правильно.
245 3466670
>>466641

>Допустим если библиотека линейной алгебры, то ты не можешь сделать матрицу миллиард на миллиард строк. Он тебе скорее всего скажет, что нет такой реализации.


А чулочникам аналоги крестовых шаблонов не завезли?
246 3466739
>>466670
Я хз про что ты говоришь. Поскольку я не программирую на С++. Но в целом, проблема не является нерешаемой. Её можно решить через какой-нибудь трейт обжект, другой вопрос - кому это нахуй надо. Это второстепенный функционал, от которого большинству не жарко ни холодно. Стараться ради додика, которому хочется посраться а-ля АЗАЗАЗА НИ МОЖИШЬ СДЕЛАТЬ. Короче просто лень.
247 3466753
>>466423
ну как видишь в serde не написали определение для произвольного размера массива

> почему так сделали?


не ебу, не разраб serde, но кажется что то со старыми версиями раста связано
https://users.rust-lang.org/t/derive-serde-serialize-when-struct-has-array-as-one-of-its-member/81820/2

> как пофиксить


в ссылке описано

> как должно быть реализовано правильно


нужен раст 1.51 для const generics:
impl<T, const N: usize> MyTrait for [T; N]

>>466670

>аналоги крестовых шаблонов


макросы
248 3468890
как делать такое?
trait Hui {}
struct Pizda<const M: usize> {}
impl<const M: usize> Hui for Pizda<M> {}
impl !Hui for Pizda<12> {}
нихуя не получается, ни через трейты, ни через ассоциативные типы никак. через макросы получилось только через процедурные и оно компилировалось очень долго, тк делал импл от usize::MIN до usize::MAX без некоторых значений, типа 12, 7, 5 и тд для примера, те оно на cargo check захлёбывалось.
249 3468918
>>468890
хм посмотрел дамп, оказывается произошёл оом и процесс был убит нахуй, те через макросы невозможно сделать нормально.
image.png41 Кб, 821x307
250 3469108
>>468890
Негатив импл из-за пикрила не работает. Я вот такое навайбкодил, но там найтли:

https://play.rust-lang.org/?version=nightly&mode=debug&edition=2024&gist=99255a8ddc16973342721f9fdbf828c7
251 3469371
>>468890
Нахуя вы этим говном занимаетесь долбонавты? Скоро абстракные фактори в раст завезут?
252 3469918
https://habr.com/ru/articles/905544/

Выбрали инструмент потому что любят раст - очень инженерненько, очень прагматичненько.
@
Раст вытрахал всю любовь через анальный рефакторинг и бойлерплейт.
@
Переписали все на юнити всего за 6 недель, выкинув 400% бойлерплейта (то есть за все время они топтались на месте на расте, офигенное КПД).

Почему это говно еще вывозит на своем хайпе в 2025?
253 3470197
>>469918

>Ebitengine


Кек

>Смотрите сами - преимущества ECS и rust - скорость кода, точность, сильная типизация - это все про производительный и безопасный код


Чёт обосрался с этого долбоёба, там под капотом какой-нибудь ансейф, который пизданёт рано или поздно.
254 3470409
>>469918

> почему выбрали для разработки раст и Bevy


> ну мне нрав просто язык, а еще сообщество нрав


> а всмысле Bevy это нихуя не продакшен реди и делается любителями для прикола



Но а виноват конечно же раст)
255 3470838
>>470409

>Но а виноват конечно же раст)


Челики решили в гейдев на языке для вебчика в оборонке и криптонаебалова, что могло пойти не так ))
256 3471285
>>470838
Да чел, дело в языке, а не в игровых движках

существует 2-3 движка на которых реально можно написать игру и миллион движков на которых не написано ни одной игры
257 3471611
>>471285
Модель владения в пидорасте слишком сильно режет пространство возможных програм на этом языке. Ты решил вписаться в пидорасто движуху, потом понял, что инструмент неподходящий, потому что челики в интернете нахваливали пидораст и продали тебе, потом читаешь в интернете

>Да чел, дело в языке, а не в игровых движках


>Ты просто недостаточно хорош для пидораста


>Etc


https://loglog.games/blog/leaving-rust-gamedev/
ЯЗЫК ИДЕАЛЬНЫЙ ДЛЯ ГЕЙ ДЕВА, ПРОСТО ПРОБЛЕМА В ВАС
258 3471628

> https://github.com/spring-rs/spring-rs


проиграл)

>>471611
попробуй мой пост не жопой прочитать
буквально во всей истории можно смело менять раст на с++ и окажется что и плюсы для геймдева не подходят.
Ведь челы решили использовать вместо нормально движка кустарную залупу опенсорсную, и НЕОЖИДАННО оказывается легче всё на юнити\гейм мейкере переписать
259 3471670
>>471628
Жопочтец тут только ты, пиздуй перечитывать, любитель засовывать раст во все дырки.
260 3471673
>>471670

> пук пук, ну ребят ну скажите что раст плохой, всмысле не в нем проблема, Я СКАЗАЛ В НЕМ, ЭТО ОН МНЕ МЕШАЕТ БЫТЬ ВЕЛИКИМ ГЕЙМДЕВЕЛОПЕРОМ

261 3471677
>>471673

>Ребята раст идеальный язык для гейдева

Untitled.png1 Кб, 50x42
262 3471678
>>471677
покажешь где я хотя бы примерно это писал?)
image.png35 Кб, 1064x223
263 3472586
здорово, педики
можно в один итератор сред ариф посчитать? или пик это макс что можно?
264 3472587
>>472586

>в один итератор


в одну итерацию т.е.
простите старого долбоеба
265 3472588
>>472587
и без внешних крейтов позязя
266 3472590
>>472588

>и можно без хлеба


Так здесь не принято, Вини Пух. Гугли крейты и не выделывайся.
267 3472596
>>472590
ладно, хуй с вами
думал в стд что-то есть, а от меня прячут
нашел вроде
https://docs.rs/lib_rapid/latest/lib_rapid/math/general/trait.Averages.html#tymethod.arithmetic_mean
image.png23 Кб, 653x223
268 3472606
>>472596
хотя с другой стороны, хули я хотел там увидеть?

автор еще пишет:
// Averages don't work properly when implemented using generics, I don't know why.
269 3472667
Почему если язык такой хороший для продакшна его практически не используют в продакшне?
270 3472785
>>472667

> Почему если язык такой хороший для продакшна его практически не используют в продакшне?


Есть одна облачная базюлька где хранение и репликация написаны на пидорасте, недавно продались за 1b, но название вам я не скажу, чтобы не палить контору.
271 3472812
>>472667
для продакшена надо максимально простой и заточенный под обезьян. В расте наоборот
272 3472876
>>472812
Странно, так Го как раз тоже практически не используют. Что-то тут не так.
273 3472879
>>472876
зачем го когда есть жаба.
Каркас проекта из спринг-бута сформировал командой, сервисы, аннотации раскидал, и всё можно в продакшен
274 3472883
>>472879
намана, а чего тебе еще надо-то? наворачивай спринг за обе щеки

вся трагедия в том, что большинству клиентов с деньгами ничего и не надо, кроме как быстро сделать кастомный круд. И спринг это позволяет
275 3472885
>>472883
так это и есть продакшен.
Чем быстрее и чем дешевле - тем лучше.
Держит нагрузку в 50к rpc на 4 гигах оперативки - отлично. В коде может разобраться первый попавшийся индус или студент - замечательно.

Надо было отдать пердоликам, чтобы долго, дорого, без прав на изменение логики?
276 3472910
>>472885
Теперь яснл почему софт и игры в 2025 такое говно по качеству.
277 3472915
>>472910
сюрпрайз мазафака. Шедевр стоит дорого. Кабан умеет считать деньги
278 3472922
>>472915
Нормальное приложение это не шедевр. Если бы другие профессии исполняли свои обязанности как эти кодеры, то люди передохли бы давно. Недолго осталось до краха кододебилов.
279 3473063
>>472922
Истину глаголишь, но на самом деле соль в другом - кабан физически не сможет набрать толковых людей на рынке труда. Срынок он вообще заточен на такие профессии как грузчик, штукатурщик вот это все, а что такое толковый инженер/разработчик/ученый и как его получить учебник экономикс не расскажет. Поступать как в вузиках где профнепригодных на первых курсах отсеивают, работодатель не может, трудовой договор обязывает платить нельзя уволить испытательный срок 3мес тоже написан под грузчиков и не подходит разработчику, ему надо вникать в код проекта сработаться с коллегами, интеллектуальный труд на либерально-рыночные взаимоотношения не натягивается. Но тут приходит на помощь мистер фреймворк и говорит - спокойно я со всем разберусь! Не надо больше заниматься поиском подающих надежды неограненных алмазов среди студентоты и хиканов фрилансеров, обучаете толпу мартых говнокодить на мне и все в вакансии пишите ищу макаку среймворк-нейм опыт от двух лет.
280 3473093
>>472922
>>473063
Самое забавное и комитрагичное здесь другое. То есть за столько лет айтишки накопилась достаточная кодобаза, реализован был основной функционал нужный бизнесу, а так же создано столько различных сервисов конструкторов что код писать уже и не нужно и вся эта айтишная орава внезапно стала не нужна. Необходимо лишь поддерживать эти системы у кабанцов или деплоить что-то новое, по больше части так, на это понадобится пару человек всего.

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

А трагедия тут в том что хоть айтишка и не сложная профессия, но достаточно кропотливая и гейткиперная чтобы люди убили на всякого рода дрочь очень много времени. Кто то и баку-магу ради крудошлепства и фронта заканчивал и алгоритмы дрочил
281 3473104
Чет я мысль не закончил. В общем все сложилось так неблагополучно и наложилось друг на друга что появилось огромное поколение (помните айти нация мем такой) которое вложило кучу финансов и времени в свою карьеру, но по итогу вышло вот такое говно.

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

Появись те же нейронки в том виде в каком они есть хотя бы лет 20 назад и профессия выглядела бы совсем иначе. Интересно было бы тогда послушать всяких столманов и прочих говноедов. Что бы они тогда говорили про обученный на труде миллионов людей их собственные асистенты-выпизделки
282 3473250
>>473093

>создано столько различных сервисов конструкторов что код писать уже и не нужно


Ну, сервисы конструкторы веб сайтов так и не стали достаточно популярными. Я еще в конце нулевых годов в детстве делал сайт на конструкторе без какого либо знания php и html. Тогда вообще их много было, юкоз, народ, блогпост итд, но все равно почему-то все они сдохли, а профессия фронтендера до сих пор жива.

>>473104

>В общем все сложилось так неблагополучно и наложилось друг на друга что появилось огромное поколение (помните айти нация мем такой) которое вложило кучу финансов и времени в свою карьеру, но по итогу вышло вот такое говно


Отчасти соглашусь. Я и есть жертва этих всех неблагоприятных обстоятельств, просрал 4 года жизни в физмат школе (8-11 класс), просрал 4 года в бакалавриате, просрал 2 года в магистратуре. Получил корочки по "информатике и вычислительной технике" и "программной инженерии". 10 лет жизни потратил на то, чтобы получить айти образование.

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

Другое дело, какие интеллектуальные профессии остаются, которые и в России востребованы и с которыми можно за рубеж уехать? Мне кажется таких больше не осталось. Ну можно было на инженегра пойти учиться, но там вне оборонки зп гораздо хуже чем у айтишников в кризис. Нужны люди чтобы трубу обслуживать и чтобы минимальную инфраструктуру поддерживать. Кроме трубы в России нет хороших прибыльных отраслей. Есть конечно всякие там свечные заводики, но они сейчас на грани банкротства.
Ну и всякие там медсестры за лоупрайс нужны чтобы помирающим бабкам капельницы ставить.

В целом ситуация безрадостная, айти умерло, а новых хороших профессий с достойной оплатой труда не появилось.
283 3473529
>>473250

>просрал 4 года жизни в физмат школе (8-11 класс), просрал 4 года в бакалавриате, просрал 2 года в магистратуре


И стал вебкодомакакой, перекладчиком жидсонов.
284 3473549
Интересно в истории были уже кейсы с подобным масштабным наебаловом? Чет мне в голову ничего не лезет. Мб юристы, но те даже поработать не успели, их заочно на мороз выкинули
285 3473584
>>473250
Айти это не только написание крудов обоссаных, есть еще девопс и аналитика
286 3473752
>>473529
Не самый худший исход.
287 3473916
>>473584
Что такое девопс и круды? Ну про анал-литику в кабинете у директора можно не разжевывать, такое есть в каждой конторе даже не связаной с айти.
288 3473924
>>473916
Угараешь чишо?
Девопс - поднятие инфраструктуры. Серваки, докеры, куберы, CI/CD и прочая залупа.
Круды - ебать, CREATE UPDATE DELETE интерфейсы, короче очередной запил говноадминки.
289 3473955
Посоветуйте книгу по алгоритмам на расте
i (2).jpeg45 Кб, 704x528
290 3473963
>>473924

> Девопс - поднятие инфраструктуры. Серваки, докеры, куберы, CI/CD и прочая залупа.


Раньше это называлось сисадмин.

> Круды - ебать, CREATE UPDATE DELETE интерфейсы, короче очередной запил говноадминки.


Так это тоже сисадмин, короче из универсального сисадмина сделали двух узкоспециализированных - один устанавливает и настраивает БиДе второй на эськьюэль пишет запросы, я правильно понимаю?
291 3473974
>>473963
сисадмин - кто сетку настраивает и витуху обжимает. И эктив директори настраивает

девопс - прокладка между программистами и железом. Программисты пишут микросервисы по тз, тестируют их у себя. А девопс всё это настраивает чтобы оно вместе работало, собирало логи, собирало мониторинг, чтобы развёртывать можно было по кнопке, чтоб репорты слало, политики хэлсчеков и количество инстансов и всё такое
image.png31 Кб, 537x522
292 3473983
блядь, это нормально, что первый IF отрабатывает и ни на что не ругается? причем так по пидорки - выполняя после false
как он & в первом IF интерпретирует?
293 3473995
>>473983
& это битовый оператор AND
Первым выполняется (псевдоассемблер):
call foo
mov stackptr[2], $r1
andb $r0, $r1, $r1
cmpjneq $r1, 0x0, __if_block1

А вот почему первый блок выполняется я хз. По идее (0х00 & 0х01) == 0
294 3474007
>>473983

>почему foo выполняется


А, извиняюсь, блок то не выполняется, все верно.

А так то вообще побитовые операции и порядок исполнения надо было освоить еще формошлепствуя на джаваскрипте https://learn.javascript.ru/bitwise-operators
https://www.w3schools.com/js/js_bitwise.asp
А вы блять базы основ не зная лезете в системное программирования считая что пидораст это как js-фреймворк, избавит от необходимости вникать в какие то такие около низкоуровневые вещи.
Ну и как к вам относится после этого?
295 3474008
>>473974
Ну самое пиздатое это SRE, где ты по сути поддерженец и мониторыш. Максимум чилла.
296 3474034
Из-за долбанутой системы владения вряд ли можно хоть что-то вменяемое писать на расте. Возьмем классический двухсвязный список, где есть ссылки на предыдущий и следующий элементы. Кто в этом случае является владельцев узла? И это лишь простейший пример.
297 3474039
>>474034

> Не знаю как написать двухсвязный список на расте


Skill issue
298 3474117
>>474039
Вопрос про систему владения, а не про частные случаи. Буквально следующие примеры - это реализовать красно-черное дерево, какой-нибудь граф (и нет школьный вариант с матрицей 100500 на 100500 ячеек не подходит).
Ждём ответов от гуру раста. Гуру С и С++ свои ответы выразили в книгах и многочисленных статьях. А растовики только брызжют слюной от якобы крутости своего языка, но учебных материалов не предоставляют.
299 3474120
>>474117

> Не знаю как реализовать граф на расте


Все ещё skill issue
300 3474151
>>474117
С ансейфом. Так все растаны делают. Это в интернете они борцы за безопасность, а при встрече реальной задачи ансейф на ансейфе.
301 3474158
>>474120
Ты и сам ни черта не знаешь, только в интернетах выделываться умеешь. Знатоки С и С++ дают ответы без выпендрёжа. Я и сам с 2004 помогал новичкам овладеть С на тогдашних популярных форумах. Знаю о программировании наверно поболее твоего.
302 3474165
>>474151
Да можно и без него, но с ним быстрее будет

>>474158
Дед, ты бля граф не можешь реализовать, сейчас нейронка это за один промт делает
Тебя не то что заменят, тебя уже заменили

> А как реализовать пук среньк


Или в гугл/чат гпт и потрать пять минут
303 3474167
>>474117
Раст изобрели васяны кодеры, они не умеют писать книги и не понимают всю вот эту мультипарадигиенную морфологию. Хочешь раст от профессора который лекции в вузах читает, как страуструп - zig твой выбор.

Но то что зиг вообще появился это признак того что васяны думали в абсолютно верном направлений, я полагаю помагло им в этом четкое представление задачь которые им нужно было решать. Эти задачи это xml html css прочие библиотеки, которым раст очень хорошо подходит.
Но васяны не были бы васянами если бы как обычно не взялись все переписывать с нуля и в языке это все закрепили. Седой дед из масачусетса никогда не сделает язык который потребует немедля все переписывать и адаптировать под него. На том как обычно васяны и погорели, переписывание всегда начинается бодро и уже на трети пути выдыхается, а потом вообще замерзает с осознанием что переписать мало, нужно будет еще поддерживать и никто кроме тебя этого делать не будет особенно на экзотическом языке.
304 3474168
>>474167

> Изобрели васяны кодеры


> В противопоставление приводит zig


Ахаха что
305 3474175
>>474167

> зиг вообще появился это признак того что васяны думали в абсолютно верном направлений


Васяны при создании зига делали его в направлении максимального пердолинга.
306 3474178

> язык от профессора который лекции в вузах читает


Буквально антиреклама

> Как Страуструп


Только подтверждение этому
307 3474197
>>474167

> от профессора который лекции в вузах читает


> zig


Ты видимо что-то попутал. Андрюха зумерок, я как-то смотрел его выступление, он даже не знал как выравнивание работает в сишке. И он постоянно втирает дичь про то что процедурное программирование - это топ, кроме процедур нихуя не надо. Единственная хорошая фича в зига это комптайм, остальное дерьмище, понадёрганное из других языков. Когда дёргают фичи из ГОвна - это уже редфлаг.
308 3474311
>>474197
Так и страуструп много чего не знает и много чего не принимает в том числе в современных плюсах. И таненбауму линукс не нравится, он считает что ос надо строить не так. Конфликт прикладника с профессором-теоретиком это нормальное явление. Ты сам говоришь что смотрел лекцию этого эндрю как там его, он пишет статьи фонд создает, у него чисто академ подход и он очень заботится о совместимости с си/срр, без этого драйвер какого нибудь контроллера, который только в виде сишного исходника поставляется а то и вообще в виде библиотеки с заголовком, он это понимает а про выравнивание и прочее может вполне не знать, вспоминая код каких то институтских примеров преобразований фурье/фракталов на сишечке где все сырыми указателями утыкано блять и ни о каких оптимизациях компилятором не может быть и речи, я не удивлен такому.

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

И теперь забавно наблюдать как пихают этот раст в приклад с гуем а ооп там нет, от него отказались потому что в построении xml/css деревьев оно приносит только гемморой с запутанными friend связями. Но приклад другое дело - сишарп с джавой, питон с джаваскриптом мимикрировалит под ооп что все таки создавать кнопку и наследоваться от базовой а не городить функциональные обертки как в старом жс. И вот так вот он везде тут не лезет там не проходит, еще и соевые окупировали.
309 3474320
>>474197

>я как-то смотрел его выступление


>он даже не знал как выравнивание работает в сишке


Он там не про data dd случаем пиздел в красной гавайке?

>Когда дёргают фичи из ГОвна - это уже редфлаг.


Про какие именно фичи речь?

>Единственная хорошая фича в зига это комптайм


В zig heil, встроенные рантайм растопроверочки для дебага, санитайзеры, передачи аллокаторов в функции, короче, всё что я в си делаю ручками. Короче zig и раст плохо сравнивать, языки для разных задач.
310 3474337
Господи, когда этот шизик уже с треба срыгнет
Какое блять css xml, какие блять приложения с гуем
311 3474413
>>474311

> много чего не знает


Так Страуструп и компиляторы не писал, ему можно не знать низкоуровневые тонкости платформ. А Андрюха пишет, получается так себе. Кроме него там два чела на фултайме всего занимаются Зигом, это столько же людей, сколько пилят Карбон.
312 3474415
>>474320

> Про какие именно фичи речь?


Например система типов. Или синтаксис напизжен из ГОвна, но потому что в говне он скудный, в зиге городят пиздец из скобочек и точек. Запрет на неиспользуемые переменные как в ГОвне.

> встроенные


Лучше бы систему сборки на конфигах встроили, а не простынях кода.
313 3474495
>>474413
А он фронтенд сам пишет? Ну эт печально тогда.
314 3474536
>>474415

> Лучше бы систему сборки на конфигах встроили, а не простынях кода.


Система сборки на конфигах не работает, даже в npm откуда пидорастеры черпали вдохновение в плане системы сборки, конфиги в сборочных системах не пользуются популярностью, при том что там в системах сборки типа можно и так и так. Конфиги не гибкие, надо талмуд читать по опциям и потом еще в голове складывать как то что ты хочешь на это напялить. Нахуя так сделано я не знаю. Хотя нет, знаю - что бы код писать только в идешечке с борроучекером. Это еще раз говорит о том что язык создавали только с одной картинкой перед глазами - большой проект (уровня firefox) с кучей завимостей/субмодулей и конфигураций, какие скрипты сборки вы че угораете что ли.

А теперь когда раст выкинули нахуй из мозилки на мороз начались метание, ой мы в геймдев, ой да мы в драйвера щас ембедед пук среньк не выходит, надо идешечку ставить, надо 5гб объектных файлов в сборочной папке насрать что бы 500кб библиотеку собрать, надо папки по феншую расставить и конфиг по форме №3 заполнить ради компиляния двух с половиной файлов. Надо обертки для сишных библиотек писать с кодом в виде строк нахуй. Это блять шейдеры для WebGL на джаваскрипте так же пишут
315 3474565
>>474536
Я питоном пользуюсь для ИИ, там раньше тоже были простыни setup.py, но теперь есть шикарные toml-конфиги и uv. Раньше была ебля, а теперь "uv sync" и пользуешься. Никто не мешает сделать комбайн с тысячей параметров в конфиге на все случаи жизни, оставив возможность вернуться к коду для сложных случаев. Пробежаться по докам по диагонали чтоб узнать какими параметрами задать что надо намного проще чем писать бойлерплейт сборки. И опять же если судить по питонычу, то проблем просто на порядок меньше, потому что система сборки многие моменты сама знает.
image.png65 Кб, 1132x707
316 3474751
есть вектор из енумов с числами
задача
1) найти все енумы одного типа (пик)
2) собрать из них числа (тут хуй, если дальше делать map, он будет писать про not covered)
3) все это в один итератор
317 3474927
>>474751

>вектор из энумов


Совсем ебанулись головой уже блять.
319 3475138
>>474927
enum Color {
___RGBA(u8, u8, u8, u8),
___CMYK(u8, u8, u8, u8),
}

// problems?
320 3475153
>>475138
И как это работает?
Четыре байта будут однерками?
321 3475178
>>475132
match запихиваем в filter_map
спасибо, анон
целую в хуй
322 3475184
>>475138
При каком сценарии это должно работать? Тут явно нужна структура.
323 3475188
>>474751

>он будет писать про not covered


получается, что я правильной дорогой шел
надо было дальше map хуярить и делать match с covered (ну или if let)
324 3476507
>>474927
Это килерфича. Ждем в других языках
325 3476578
>>476507
>>474927
std::vector<std::variant<(СЮДА ПОДСТАВЛЯЕТЕ ТИПЫ)>>
326 3476686
>>452718 (OP)
Ну и как в этой вашей "богоподобной" системе сборки clean делается? без полного удаления папки .cargo proton и proton-ge не собираются повторно.

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

Ваши оправдания?
327 3476697
>>476686

>Ну и как в этой вашей "богоподобной" системе сборки clean делается?


https://doc.rust-lang.org/cargo/commands/cargo-clean.html

> без полного удаления папки .cargo proton и proton-ge не собираются повторно.


проблемы протона
328 3477018
>>476578
Это другое
329 3477146
>>474751

>вектор из енумов


энумы из констант состоят, а тут их инстанциируешь, это какой-то restricted type set чтоли
330 3477162
>>477018
это буквально этим и является

только на плюсах без паттерн матчинга этой залупой будет невозможно пользоваться
331 3477208
>>477162
Челик это буквально этим не является. Это разные вещи, что семантически, что синтаксически, что логически и мнемонически, что даже на внутреннем представлении, даже уровень вложенности другой.
Буквально блять разное нахуй
332 3477246
>>477208
готов выслушать в чем их различия семантические, логические, мнемонические
можно прямо списком
333 3477271
>>476578
Это юнион, долбоеб
334 3477275
>>477271
юнион не хранит в себе инфу что в нем на самом деле лежит
335 3477288
>>477275
Ты дристанул перепутав юнионы с энумами и ничего лучще не придумал как пытаться увести разговор в другую сторону какой то хуетой?
15fb22cc4ac932849bce7c8d7ccf685f.jpg222 Кб, 736x789
336 3477293
>>477288
ты даун или долбоеб?
четко в следующем посте пиши в чем различие
если сам не способен хотя бы в чат гпт зайти

> увести разговор


ахаха, ты мне буквально сам про него написал
337 3477294
не различие энама от юнион, а std::variant от той хуеты анона

уточняю для совсем дауна, да да, тебя
338 3477304
>>477293

>не способен хотя бы в чат гпт зайти


А, это опять ты нейро-даун.
Ты бы хоть программировать на чем то уже научился, а не ответы из нейросетки носил в которых ты нихуя не понимаешь, пидорас тупорылый.
339 3477313
>>477304

> все еще нет ответа


хорошо чел, только больше не пиши мне и не отвечай если не знаешь о чем говорить, и даже ответить внятно не можешь
340 3477332
>>477246
Умоляй меня объяснить
341 3477348
Немного не понял, дауны не могут понять что растовский typed enum == std::variant?
В этом вся суть спора?...
342 3477353
>>477348
Еще что ты не можешь понять перечисли
343 3477360
>>477348
йеп, добро пожаловать в расто тред
этот даун тут еще постов 100 высрет
344 3477478
>>477348
Даунам напомнили про юнион они продолжают уперто стоять на плюсовом темплейт-классе variants
image.png19 Кб, 153x162
345 3477487
>>477478
Ну так это одно и тоже, только variant запоминает какой конкретно тип внутри, как и растовский typed enum
Ты просто троллишь тупостью или тебе поговорить хочется?
346 3477496
>>477487
юнион это просто структура, ты с компилятором договариваешься что union { int puk; uint hruk; float kukarek; } на стеке указывают на одни и те же данные которые в зависимости от поля/переменной следует по разному интерпритировать.

variants это класс/объект который выдает конкретный тип по запросу, у него там где то внутри есть юнион в приватной части, но где он и как там данные расположены тебя ебать уже не должно.
347 3477543
>>477496
спасибо что мой пост пересказал
348 3477731
>>477543
Да я понял что ты будешь продолжать тролить тупостью, нейромакака ебучая.
349 3477760
>>477731
хорошо анончик, еще раз 10 напиши пустых бесмысленных постов, какой ты не тупой + во всё всем прав
350 3479070
>>477348

>В этом вся суть спора?


Суть спора в том что приходит шизик, студент, игродел, директор какой-то игродельной конторы, который работает 5 минут в день это все по его словам, так и не сдиванонили, да и просто фантезер теоретик, который не проработал ни единого рабочего дня и срет какой-нибудь темой в треде. А остальные кормят его всем тредом. Если шизика обоссали, он никогда не принимает то что он не прав и усирается до последнего, если затопили мочой по горло, то просто перестает писать какое-то время и приходит с новой темой.
Классика треда
351 3484768
>>453388
Что ж ты там такое сделал, что уже упёрся в медлительность питона?
352 3484783
>>461225
Литералами "владеет" сам бинарник, на всё время жизни программы, то есть там 'static. А String позволяет новые строки аллоцировать в куче.
353 3484785
>>462819
Он удобный. Там всякие честные блочные экспрешены, из которых что-то можно вернуть. Переименования это хорошо, язык легко узнаётся. У тебя доёб к цвету сарая для велика короче.
354 3485384
Как уменьшить бинарник после компиляции до 16 Кбайт?
355 3485389
>>485384
Взять другой ЯП. Кресты или зиг только могут в такие мелкие. В расте ниже 100 кб можно только с no_std сделать.
356 3485399
>>485389
В первой версии ZX Spectrum было всего 16Кб ОЗУ и под него писали кучу программ, игры, системного софта вроде тех же компиляторов разных языков программирования. А теперь даже под хеллоуворлд нужно кучу ресурсов и мощный пека.
1624287883417.png139 Кб, 1648x985
357 3485444
>>485399

> кучу ресурсов и мощный пека


Пикрил на крестах хеллоу ворлд. 4кб бинарник и 300кб ОЗУ.
358 3485465
>>485444
Это разделяемые ресурсы, т.е. в системе лишь один экземпляр kernel32.dll на все приложения. Если сама ОС будет легковесной, то и программы будут тянуть более легковесные dll. Тут проблемы нет.
А вот статическая компоновка - это зло. Потому что каждый бинарь содержит в себе все на свете библиотеки. И на диске и потом в ОЗУ будет многократно дублировать одинаковый код.
359 3485506
малой, динамическая сборка это кал
360 3485549
>>485506
Ты не прав! dll (и so в линуксах) не зря придумали, а чтобы экономить память. Это рациональное инженерное решение. А статическую линковку стали массово применять ленивые веб-макаки, поэтому у нас сейчас и тормозят все программы и сайты.
361 3485557
>>485549

>чтобы экономить память


а что уж сразу не экономить воздух

> поэтому у нас сейчас и тормозят все программы и сайты


из за памяти?)
362 3485560
не говоря уж о том что динамическая линковка убивает оптимизации
но не из за этого у нас сайты тормозят, а из за памяти на серверах
363 3486215
>>485557
Про своп слышал?
364 3486446
>>486215
я да, а ты видимо нет
365 3486713
>>486446
Видимо нет смысла что-то объяснять такому тупке как ты
366 3486750
На ноустарче анонсировали 3rd edition книжки от авторов, жальl что только осенью выход.
367 3486827
>>486713

> высрал хуйню


> обосали за два поста


> слился



это кто то тупую нейросетку на треде тестирует? Или это буквально один и тот же анон по одному паттерну в треде срет
368 3486890
>>486827
Нет, это ты тупой
LMP8NJ~1.WEB325 Кб, 3000x2000
369 3486896

> Нет, это ты тупой

Кот мистер шеф не хочет смотреть в камеру.mp41,1 Мб, mp4,
1080x1920, 0:03
370 3487303
>>452718 (OP)

>Добро пожаловать в тред


Несколько месяцев назад решил немного вкатиться в Rust, вдруг понравится.
Задал вопрос в треде, меня хуями тут покрыли. Ага, бдядь, добро пожаловать. Подозреваю, что пидорастовское комьюнити еще токсичнее гошного и ебанутее жаваскриптизерского (вторые хоть руку помощи всегда протянут).
image.png279 Кб, 1948x688
371 3488624
типикал растошиз в естественной среде обитания
хуже растошиза, только линуксоид-растошиз
пиздец

отсюда: https://www.youtube.com/watch?v=khK8SWZCu0g
372 3488637
>>488624
Найти работу в ИТ за 100к в месяц можно даже не напрягаясь, даже если кодить не умеешь, главное не быть долбаёбом. Сраные инженеры-пешеходы с 9 классами образования 60-70к получают минимум. Вот на полную удалёнку посложнее, да. А ищущие работу год - это вообще кринж. Хотя бабу может и будут посылать нахуй просто потому что она баба, ну или студенты тоже нахуй никому не нужны.
373 3488642
>>488637

> даже не напрягаясь


> на каждую вакансию 200+ откликов


вы давно на рынок найма смотрели?
374 3488645
>>488637
там бабец в штатах, затащила гринку, но не о ней речь

юмор на скрине, растошиз так доволен собой, что знает так много аббревиатур, что не может об этом молчать

в ласт абзаце вообще эпик, настроил себе ZFS с шифрованием и компрессией, но проебал данные, т.к. в райды и бекапы не умеет

вот зачем и нужен раст - выебваться в комментах на ютабчике
узнали себя? кто из вас чирикал?
375 3488653
>>488642
Так надо кабанчиком подскакивать, а не просиживать штаны. Можно позвонить, можно на почту написать, а при первом обращении внимания на тебя подскакивать в офис. В этих 500 откликах почти все уже имеют работу и откликаются на всё что можно, им похуй. И естественно из этих 500 откликов выберут самого годного, а не анона без опыта. Карьерного роста в ИТ в рамках одной конторы очень мало, всегда это перескакивание в другую с лучшими условиями.
376 3488697
>>488653
Напомню формулировку из твоего поста:

> даже не напрягаясь

377 3488723
>>488697
Так это не напрягаясь. У местных обрыг почему-то "не напрягаясь" значит "мне самому должны предложить работу, пока я лежу на диване, скроля хх". Напрягаясь - это когда кабанчик подскакивает, но получает только залупу на воротник, тогда приходится напрягаться, да.
378 3488784
>>488723

>это когда кабанчик подскакивает, но получает только залупу на воротник


и конечно же этого не произойдет в 99% откликов на вакансию, в которых тебе придет отказ автоматом
image.png126 Кб, 335x264
379 3488859
>>488624
Забавно что эта жируха все таки нашла работу фронтом... В банке нахуй.
Пока этот тупоголовый додик так и будет сидеть в своей мухосрани и рассуждать как он там формочки на раст оптимизировал и говно разворачивал какое-то на стек соси (при чем тут соси я так и не понял, что там держать надо нахуй). Сам при этом бизнес советует завести.
Вот так вот бывает в жизни. Лучше б нихуя из себя не высирал и просто тогда бы не опозорился. А так да, типичный растовичок, не понятно еще захуй высрал про вузы, тут уж я совсем дристанул со смеху
380 3488863
>>488723
Чел, ты просто обдристался, а потом начал оправдываться. Очевидно когда тебе написали про давно, это спойлер пол года, год. Рыночек перевернулся с ног на голову за это время, если раньше допустим джава вакухи года два назад пробили потолок в 500к, то сейчас всех джавистов вырезали нахуй и все пообрубили у них. Вот те и рыночек. Про подскакивать кабанчиком это вообще ерунда какая-то. Ты видимо как растадаун из этого треда и не работал никогда и работу даже не искал
381 3489080
>>488859

>формочки на раст оптимизировал


Охуел с картинки выше, однозначный no hire с таким подходом к распределению своих ресурсов на хуйню.
Мимо-13-лет-в-вебе
PS
Особенно удачи таким шизам в в мире где почти все компании однозначно перешли на форс "работы на результат" где ты должен буквально запускать продукты и растить метрики будучи даже мидлом, а иначе никаких премий и роста
382 3489095
>>489080

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



Мне похую что там кто хочет. Я работаю не на результат. Я просто просиживаю часы впустую и за это мне платит кабан. Как только меня выгоняют с моего места, я ищу нового кабана. В целом в больших корпорациях уровня банков все еще можно проебываться, иногда по-немногу что-то делать, но большую часть времени отдыхать. Да, повышений не будет и роста по зп тоже, но один хуй я не хочу работать и чего-то достигать, мне просто велфер нужен. Я вот и сижу на корпоративном велфере уже третий год в своей текущей конторе, и кажется про меня тут внезапно вспомнили и начали доебывать всякой хуитой. Уже расчехлил резюме и буду новое место велфера себе искать.
383 3489101
>>489080

>Охуел с картинки выше, однозначный no hire с таким подходом к распределению своих ресурсов на хуйню.


Притом это не имеет никакого смысла, всё равно половина остального кода на JS написана, даже работа с сетью, даже рендер, даже хуй, даже пизда.
Вангую что этот чел просто долбоёб который не может пользоваться своим сознание и упал в какое-то бесознательную шизу переписывания формочек.
384 3489108
>>489095
Это база. От результата деньги поднимает только кабан, а у РАБотника просто время оплачено
385 3489112
>>489080

>Особенно удачи таким шизам в в мире где почти все компании однозначно перешли на форс "работы на результат" где ты должен буквально запускать продукты и растить метрики будучи даже мидлом, а иначе никаких премий и роста


Только в русском мире разве что, выезжаешь в ЕС и куда-то эта ебанутость сразу же растворяется как не было, оказывается и работать можно по-другому
386 3489766
>>489080

>Особенно удачи таким шизам в в мире где почти все компании однозначно перешли на форс "работы на результат" где ты должен буквально запускать продукты и растить метрики будучи даже мидлом, а иначе никаких премий и роста



переходить они могут куда угодно и на что угодно, хоть на "работать люди должны бесплатно"
только в Европках/Америках люди давно в капитализме и понимают как работает рынок труда
понимают, что это рынок спроса и предложения и если они будут погибать на работке, то это не значит, что они будут жить хорошо, это значит, что их труд будет дешеветь - так работает рыночек

у русские Ваньки до сих пор верят, что "надо много работать, надо работать на результат"

кста, когда случилась гойда, все дали по тапкам, наши кабанчики начали что-то подозревать:
https://www.youtube.com/watch?v=XWZ8f9RxUmw&t=3255s

— Мы-то думали, что у нас очень классный продукт, мы-то думали, что мы очень умные, а потом просто выяснилось, что у нас более дешевые люди!
387 3489816
>>489766
Ага, ну собственно имено поэтому в РФ такое неэффективное безумие с миллионами митингов и попукиваниями в кафку. Только как только рабсила начала дешеветь, кабаны вместо оптимизации бизнес процессов чтобы иметь меньше дорогих работников начали просто сильнее давить на рабочих. Рынок труда в РФ это конечно цирк какой-то.
388 3489817
>>489816
*начала дорожать
389 3489947
>>488645

>в ласт абзаце вообще эпик, настроил себе ZFS с шифрованием и компрессией, но проебал данные, т.к. в райды и бекапы не умеет


Ну хоть не включил дедупликацию и на том спасибо лул.
>>489766
Ну вообще, конечно, тот пример комично выглядит, но ты забыл про бульон, челик обучается чему-то новому, вдруг у него это и была самоцель.
390 3490504
>>453388
C# решает все озвученные проблемы
391 3490516
>>488859
Слишком хорошо выглядит для айтишницы, попахивает пиздежом, скорее всего влогершей-зазывалой работает как все остальные.
image.png569 Кб, 614x691
392 3491259
что мы отвечаем, когда нам говорят, что RC это и есть GС?
393 3492814
>>453388

>Растишки. Хочу вкатиться к бэкенд. Нужно для себя, а не для работы по найму (я так понимаю, что в этом смысле в РФ не разгуляешься).


>Рассматривал разные варианты: PHP, Node.js, Go, Rust (Java и Kotlin не рассматриваю, очень не зашли).



Рассмотри Dlang/ Для себя он идеален, покрывает все хотелки от микроконтроллеров до бэка и фронтенда через WebASM
394 3492989
>>492814

> и фронтенда через WebASM


кстати не понял прикола wasm. Оно не трогает отрисовку или гуй, оно просто добавляет портацию логики из другого языка. Элементы интерфейса/рисование канваса надо также делать через js и html
395 3493085
>>453388

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


Если тебе нужен Go, но с большими возможностями для бизнес логики - это Ява, руки-вниз.
396 3493086
>>484768
Перебирал массив в цикле?
397 3497788
>>491259
и? кто отвечать будет? лес рук!
398 3498064
Господа, языки с точкой и запятой не считаются за язык в 2025. Парируйте
image.png1,7 Мб, 1973x1614
399 3498465
кто-нибудь этого долбоеба смотрит на ютабе? как вам?
идейный пидор + топит за раст
image.png882 Кб, 959x960
400 3498468
401 3498481
>>498465
Уже по второму превью видно что он дегенерат. АОТ в шарпе не отличается по производительности от JIT.
image.png2,3 Мб, 1973x1614
402 3498507
>>498481
он там придумал тест по сложению чисел из массива и делает тесты языков, первое место всегда за растом

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

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

еще вот канал на пике для себя открыл
повелся на кликбейтные названия видосов, но на деле оказалась хуйня
чел сам не сильно шарит, да еще и подачи мата нет
но там пациент тоже вроде за раст топит, поэтому притащу его сюда
403 3498529
>>498481
У сишарпа сейчас модная тема IL2CPP, то есть вместо байткода код просто сразу компилируют в нативный код с плюсовой библиотекой. Я вообще не понимаю нахуй майкрософт переизобрести джаву, байткод хорош только тем что позволяет закрытые-проприетарные приложения высирать, при том считалось что они будут мультиплатформенные бай дизайн а по факту было 10 разных джав под 10 разных платформ/операционок и та же самая хуйня постигла сишарп, их фактически 2 а то и три - моно, дотнет с гуем для винды и дотнет без нихуя для всех остальных. Хотя тогда когда он создавался майкрософтом рулил дебил гейтс, а у него религия как у столлмана - надо и свой аналог джавы, свой аналог флэша (silverlight) только цели другие всех посадить на закрытые продукты и на винду завязать намертво.
404 3498699
>>498529
Компиляция в нативный код в дотнете была с самого начала, паджиты походу снова изобретают ngen. Штука абсолютно бессмысленная, ведь на дотнете никто не пишет блокчейны. Его ниша пукать джейсоном в кафку за мелкий прайс, там перфоманс не нужен.
Гейтс может и был ебнутым, но у него было глобальное виденье продукта. Нынешняя же индусня тупо болтается туда-сюда. То они пишут свой упоротый никому нахуй не нужный блазор и какие-то наркоманские гуи фреймворки под винду. То они пытаются занять нишу нодежс с закономерным отсосом. То кукарекают про перфоманс и показывают манятесты, где дотнет быстрее голанга, можно подумать все бросят голанг, лол. По факту одни презентации и имитация бурной деятельности паджит-стайл, с плавным проебом всех рынков.
405 3498943
>>498699
На дотнете пишут игры на юнити, там перфоманс байткодоговна сформировал у игроков убеждение чтобыстрые игры на юнити не пишут, их пишут только на анриале.

>Гейтс может и был ебнутым, но у него было глобальное виденье продукта.


Было бы у него предвиденье, он бы еще висту перевел на позикс-окружение как на маке сделано и лез бы возглавлять все крупные опенсорсные проекты/фонды, но он видел только одно - как его вялый интернет эксплорер когда то крепко вошел в вэб словно хуй дроченый и начал задавать свои стандарты. А сейчас он даже в айти индустрию не лезет потому что нихуя уже в ней не понимает
406 3499064
>>498943

>их пишут только на анриале


С уе5 так больше не думают...
407 3500237
Можно узнать почему

for a in &collection

ведет себя в этом случае не так как просто &collection, а итерируется по референсам вместо этого? Кто это блядь придумал?
408 3500239
>>500237
ничего не понятно
409 3500249
>>500239
ну я пишу b = &collection

в b будет референс на collection

но если я пишу for a in &collection это итерация по референсам на элементы.
410 3500254
411 3500267
>>500237
for цикл в rust - это синтаксический сахар для работы с итераторами. Он не просто "смотрит" на коллекцию, он просит её предоставить "способ по ней пройтись". Любая коллекция в цикле for должна реализовывать трейт IntoIterator. У трейта IntoIterator один главный метод into_iter(). Итератор по сути это особая структура у которой есть метод next() отдающий следующий элемент пока они не закончатся.

Итого есть три разных способа итерации:
1. По значению (T), после цикла коллекция будет перемещена и недоступна
2. По ссылке (&T), итератор возвращает неизменяемые ссылки &T.
3. По изменяемой ссылке (&mut T), если тебе надо изменять элементы коллекции.

После того как ты написал for a in &collection, это превращается в:

let mut iterator = (&collection).into_iter();
while let Some(item) = iterator.next() {
// тут чёто делаем с item
}

И вот этот самый (&collection).into_iter() и отдаёт тебе элементы типа &T (поскольку ты видимо не хочешь владеть элементами).
Обновить тред
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски

Скачать тред только с превьюс превью и прикрепленными файлами

Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах.Подробнее