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

Rustblazing 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 3407728
Шизы, можно срать! Но лучше C++ код сюда посетить, конечно.
# OP 3 3407732
>>07728
*постить
4 3407736
>>07728
Шизы не умеют код писать
5 3407740
>>07736
Поможем, расскажем.
ПутьСильного.png69 Кб, 870x470
6 3408035
7 3408056
Переписал на раст.

> ряяяя MEMORY SAFE

8 3408060
>>08035
Мы вас растодебилов уже обоссали в пхп треде, больше не суйтесь к нам со своими картиночками, опущи.
17085349231350.mp46,1 Мб, mp4,
1080x1558, 1:27
sage 9 3409860
Ну как, нашли работу то на своем чудо-языке?)
10 3410384
>>09860
Нет, написал игровой движок. Переписываю модули ядра сейчас на расте.
11 3410625
>>10384
Как наиграешься, не забудь на плюсы обратно переписать
12 3410909
Кстати про работу: сделал тестовое, сказали что нравится и спросили желаемую зепку. Назвал 1800. Сказали мы вам перезвоним. Я охуел просить столько на джуновскую вакуху не имея почти никакого коммерческого опыта на няшном растике? Вакансия была на позицию бэкенд-макаки.
13 3411123
>>10909
Смотря в какая компания.
Я так понимаю из гейропы, поэтому не очень то и жирно
Если в РФ нашел ваку, то очень может быть
14 3411134
>>10909

>Назвал 1800


Спалился как вкатун. На ржавом зепки от $5к начинаются.
15 3411558
>>07697 (OP)

> Добро пожаловать в тред, посвященный гарантиям, обещаниям, владению


Блять, каким обещаниям? Надо было "контрактам" написать. Ладно, в следующий раз.
image.png481 Кб, 1280x720
16 3412526
dog, cat, triangle, circle и пр. уже не актуальны, теперь у нас песни
Тейлор Свифт
20a37a5170be54784f0b98fef2d69694.jpg86 Кб, 736x748
17 3412845
Как же долго раст компилируется, это пизда. Со всеми опциями оптимизации можно я даже не знаю... сходить сготовить еду например. Реально ооооооооооооочень долго. Ждать когда он это всё высрет. Как будто код везут на слепых лошадях из Воркуты в Москву.
18 3412870
>>12845

>компилируется


В 2020 линковщик оче долго работал, даже была эксперементальная замена ему, продолжаю охуевать от растодебилов, прошла практически половина десятилетия, до сих пор ничего не изменилось.
19 3412884
>>12845
У меня есть личный проект, где на основе пользовательской конфигурации, нужно было генерировать персональный бек и клиент, все это дело собиралось в джокере. Условно говоря, пользователь выбирает нужную функциональность, генерируется конфиг, на основе конфига билдятся бек и клиент, все это разворачивается в облаке.
Так вот первым кандидатом для меня был раст, учитывая, что бек в моем случае по сути являлся обычным недопропрокси. Но из-за петушиной по длительности сборки сразу пришлось отказаться от этой затеи. По итогу выбрал Говно, которое билдится за считанные секунды и не приносит такой попаболи.
20 3412896
>>12884

>вебговно


>кандидатом для меня был раст


Ебать даун.

>По итогу выбрал говно


Сразу почему не выбрал, экспертизы не хватило, даун?
21 3412912
>>12896
Причина тряски?

>вебговно


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

>Сразу почему не выбрал, экспертизы не хватило


Потому что язык без ГЦ и милипиздрическими бинарниками лучше языка с ГЦ, рантаймом и жирным бинарем? У меня почти 3 контейнера с растоверсией недопрокси весили столько же как один гошный.
22 3412927
>>12845
джаст бай нью писи дуууд
23 3412937
>>12912

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


потому что вебговно намного большая сфера чем байтоёбство

на плюсах и на си было бы точно также, если бы на них хоть кто то был бы готов веб писать
24 3413387
>>12884
Да он бля будет полчаса-час компилиться. У меня в облаке 4 cpu + 16 gb ram одна сборка идёт около часа (!). В принципе наверно ты правильно сделал. Я последовал совету rust guide'а, они типа пишут, мол просто добавьте workspace и всё будет чотка. Ну я добавил. Он теперь в два раза дольше компилит с воркспейсами лол. И вообще, я заметил - он иногда дублирует зависимости. Допустим берёт tokio-rustls компилирует v0.24.1 версии и v0.26.2. Дальше он компилирует tower версии v0.4.13 и версии v0.5.2. Может поэтому долго, я пока ещё этому кунгфу с зависимостями не научился.

>>12927
Раньше я этой хуйни не замечал. То есть было в районе 100 зависимостей и он собирался быстро. Теперь по мере роста проекта, чтобы только один бинарник скомпилить - их уже штук 500. Ну и плюс, он не может больше одного ядра использовать из-за настроек оптимизации. Такие дела.
images.png6 Кб, 279x181
25 3413470
>>13387
Будь проклят тот день, когда ты сел за бараку этого пылесоса.
26 3413601
>>12937

>потому что вебговно намного большая сфера чем байтоёбство


Только один вопрос, зачем так мучить жопу?
Алсо, где тред арийского языка Zig?
27 3413654
>>13601

> зачем так мучить жопу?


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

к примеру посмотри как веб на плюсах\си выглядит, вот там уже реальный треш начинается с userver
1.png106 Кб, 3000x2000
28 3413681
>>13654
Напишите такой же аналоговнет на расте
Замечание:
1) строка 1 - определяем рекурсивно тип
2) строка 2 - содаем циклическую структуру (сама на себя ссылается)
3) строка 8 - рекурсивно печатаем содержимое поля a
1.png82 Кб, 1594x408
29 3413683
>>13681
сори забыл обрезать
30 3413689
Заодно ответе на вопрос. Зачем вар боров чекер если вы не линукс хакеры? Чем вам сборщик мусора мешает в голенге? В голенге выразительности нет? Возьмите окамел. Синтаксис - руст на максималках, а ебли с боровчекерами и тамлайфами нет
31 3413694
>>13689
Байтоебля - это весело.
32 3413706
>>13681
Во первых зачем мне это делать, во вторых что ты вобще скинул, в третих какое отношение к вебу

> определяем рекурсивно тип


это что такое и какого она размера?
33 3413711
>>13706

>какого она размера?


А тебе зачем? Для микроконтроллеров пишешь? Вопрос был для вебмакак, которые тут пишут покер солверы всякие
34 3413712
>>13711

>А тебе зачем?


потому что структура не может хранить в себе себя же
35 3413714
>>13712
Даже в сишке можно через указатели создать циклическую ссылку. Но в сишке легко наебать самого себя, а в окамлах нет.
36 3413715
>>13714
да, но указатель это не структура, мне самому гадать что у тебя option в твоем яп делает?
37 3413716
>>13715
Тоже что в расте Option<x>
38 3413717
>>13716
размер Option<x> равен размеру x + 4 байта
Если ты делаешь struct x { inner Option<x>}, то она имеет бесконечный размер sizeof x = sizeof inner = sizeof x + 4
39 3413721
>>13717
1) Так я попросил аналоговнет на расте потому. Свой пример я скомпилировал и запустил. Он работает из-за TCO а не вываливается в переполнение стека
2) Конкретно окамел я сам только штудирую
41 3413731
>>13729
Не тоже самое. У тебя нет циклических ссылок, а только рекурсивно определеная структура. Недавно компилятор тайпскрипта переписали на голенг, а не раст, по тому что в расте трудно с циклическимими ссылками работать. Одна из причин называлась.
PS я не расто хейтер если чо
42 3413739
>>13731

> циклических ссылок, а только рекурсивно определеная структура


не вижу разницы а этих определениях
43 3413743
>>13739
Ну как не видишь?
У тебя печататет
Hello world
2
3
А у меня печатает бесконечную портяку из 1 2 3
В сишке ты тоже можешь создать три указателя на три структуры и зациклить их в круговую. Это не займет кучу памяти
44 3413758
>>13683
Чому Ocaml, а не хачкель?
45 3413768
>>13758
Потому что хачкель академический язык, а в окамле есть все, хоть и местами устаревшее. Монады через монады ебать тоже не комфортно.
46 3413772
>>13768

>Потому что хачкель академический язык, а в окамле есть все, хоть и местами устаревшее.


Ну как будто бы хачкель более распространен, тот же pandoc, например, или grease. А ocaml только в контексте jane steet вспоминается.
47 3413777
>>13743
ансейфа цепляешь к последней ноде голову и наслаждаешься
если впадлу ансейф - Rc

ни функция ни структура от этого не поменяется
48 3413805
>>13689
Никаких сложностей с борров чекером нет. Кто память руками чистил борров чекеров не боится. Проблемы только у залетевших питонистов/жсеров и прочих, которые только в расте про указатели узнали.
49 3413809
>>13805
Угольников.webm
50 3413877
>>13601

>Алсо, где тред арийского языка Zig?


Утонул, школьники побаловались и хватит
изображение.png268 Кб, 597x556
51 3413959
>>13809

>Угольников


Это он?
images.jpg3 Кб, 300x168
52 3413968
53 3414083
>>13654
То есть то, что программы надо писать с буквально единственным явным владельцем у любого объекта - это не большая проблема? Или ты любой объект всегда клонируешь при передаче?

>посмотри как веб на плюсах\си выглядит


Сорян, но я не дебил, чтобы на СИСТЕМНОМ языке писать веб дерьмо.
54 3414085
>>13694
Мы уже выяснили, что раст для веб дерьма, а не байтослесарии.
55 3414100
>>14083

>единственным явным владельцем у любого объекта


сильно удивишься если узнаешь что в расте это не обязательное условие?
раст бук пролистай на досуге, может хоть позориться в расто треде не будешь больше
56 3414133
>>14100

>позориться


Позоришься тут только ты, напиши мне линкед лист, без ряя ансейфа.
57 3414158
>>14133
https://rust-unofficial.github.io/too-many-lists/

почитаешь сам, там и сейф и ансейф
58 3414162
>>14158

>почитаешь сам


Я понял, что ты нихуя не шаришь.
59 3414163
>>14162

> не осилил раст бук


> не осилил прочитать ответ на свой вопрос


что ты в расто треде вобще забыл?
60 3414164
>>14163

>пук


Челик, ты даже линкед лист не осилил написать.
61 3414238
>>14164
Потрогай траву, чел.
62 3414332
>>07697 (OP)
Что это за человек на шебмке?
63 3414585
>>14164

>линкед лист не осилил написать


Покажи как надо, научи нас, гуру
64 3414597
>>14133
https://play.rust-lang.org/?version=stable&mode=debug&edition=2024&gist=4f0bb708094b4289629f5627b2283c30

Создать можно. Его потом обойти нельзя, но так IRL этого и так никто не делает.
65 3414789
66 3414807
нахуй вы этого толстяка кормите

если анон не подает признаки того что хотя бы прочитал раст бук, то о чем с ним вобще говорить в расто треде?
67 3414865
https://isocpp.org/blog/2014/06/stroustrup-lists
труп страуса говорил, что лучше юзать не списки
68 3414867
>>14789

>Показываю.


А ты сам хоть сможешь прочитать? Я думал ты свой код покажешь, но как обычно..
69 3414873
>>14865
Ну списки вот такие >>14597 точно нахуй не нужны, каким же дебичем надо быть, чтобы так писать.
70 3414894
>>14873
Никакие списки, кроме тех, которые юзаются во всякой лок-фри хуйне, нахуй не нужны. В этом плане этот список ничем не хуже любого другого из стандартных либ.
71 3415438
Раст на микронтролерах норм тема? Хочу вкатится
72 3415479
>>15438
там лучше с си начинать
1701215002716.jpeg573 Кб, 1290x1967
73 3415870
74 3415883
>>15870
Это бы сработало, если бы у системщики не были стабильно на параше в плане зарплат по сравнению с примерно со всеми остальными.
75 3415915
>>15479
С раста не стоит?
76 3415934
>>15915
Трудно представить ебало программиста не знающего си
77 3416022
>>15870

> сеньоры компетятся с выпускниками на равных


Это не так работает, совсем не так...
78 3416193
>>15915
Да каво ты блять спрашиваешь, он сам нихуя не знает. Он даже не пытается как-то аргументировать свой ответ. Rust для микроконтроллеров норм! Бери embassy и делай че хочешь. В смысле, что за вопрос такой "норм или не норм". Ты думаешь что проблема всегда в плохих языках, а не в кривых руках из жопы которые нихуя не умеют программировать?
79 3416260

> In Rust, you don't have classes in the same way as languages like Java or Kotlin.



Хахахахахахахахахахаха. Без комментариев.
80 3416266
>>15915

>С раста не стоит?


С паскаля надо начинать.
81 3416270
>>16193
Прошивки для батлплагов погроммировать на расте, да.
82 3416309

> Rust does not support function overloading, which means you cannot have multiple functions with the same name that differ only in their parameter types or count.



Это какой-то C уровень.
83 3416339
>>16309
https://users.rust-lang.org/t/why-rust-doesnt-have-function-overloading/80416

> C уровень


в си разве нет перегрузки фунекций?
84 3416352
>>16339
Нет, в Цэ с этим всё верно сделано, как и в пидорасте.
86 3416363
>>16309
Трейты заменяют 90% юзкейсов, билдеры еще 9%. В одном проценте написать лишнее слово руки не отвалятся.
87 3417321
>>13731

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



немного по-другому же

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



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



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

88 3417327
>>17321
Читай комент от Хейлсберга

The TypeScript compiler's move to Go was influenced by specific technical requirements, such as the need for structural compatibility with the existing JavaScript-based codebase, ease of memory management, and the ability to handle complex graph processing efficiently. After evaluating numerous languages and making multiple prototypes — including in C# — Go emerged as the optimal choice, providing excellent ergonomics for tree traversal, ease of memory allocation, and a code structure that closely mirrors the existing compiler, enabling easier maintenance and compatibility.
90 3417363
>>17327
Да ёб вашу ж мать, понятно же, что на расте такое начинать нахуй не уперлось никому.
91 3417416
>>17329
снимаю шляпу за ссылку на источник
но
>>17327

>such as the need for structural compatibility with the existing JavaScript-based codebase


вот это в первую очередь
вряд ли там 90% кода - обход деревьев
но даже создание и обход можно было бы написать на unsafe, обернуть это в safe api и юзать без боли
так что аргумент "сложна" считаю несостоятельным, а выбрали больше потому... переведу на нормальный с официально гринтекст: "ну го больше внешне на джс похож, чем другие, а компилятор уже написан на джс - кодерки будут брыкаться, а разогнать их не могу, они же и писал тс компилятор, чувствуют власть, новое учить не будут, поэтому го. Что то хуйня на сборщике мусора, что эта - горбоатого только могила исправит. Даже шарпам пытались научить, что было бы более логично, но макаки взубнтовались, им сложна, очень далеко от их джс-сиськи"
92 3417421
>>17363
почему ты так считаешь, анон?
почему есть проекты, которые начаты на rust? почему им уперлось? такое - это какое?
разверни мысль, хотелось бы услышать не просто мнение, а обоснование
93 3417520
>>13681
>>13683
А что это за язык такой?
Выглядит неплохо, но есть доеб: непрозрачно
Поясню: очевидно, что тут работает через ссылки, но в коде этому нет отражения. Напомнило шарпы: экземпляр класса выделяется на куче, возвращается ссылка, работаешь дальше только со ссылкой. Но это приводит к проблемам, ведь не все объекты - экземпляры класса. Так и тут: y - это ссылка? Любой объект - это ссылка? Объекты хранятся на стеке или на куче? Если на куче, то язык к гц? Если на стеке, то нахуя создавать каждому объекту ссылку?
Понимаю, что я просто не знаю язык, поэтому много вопросов, но в любом языке непрозрачность вредит. Я тут не вижу где указывается ссылка/указатель

>Напишите такой же аналоговнет на расте


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

Ну и кста, если тревожник и циклическая структура используется не в хот-пути, то берем за основу вот это >>13729, добавляем RefCell, получаем циклическую структуру на расте без unsafe

https://play.rust-lang.org/?version=stable&mode=debug&edition=2024&gist=91b432f9cb912aee761cb8177e115ef4
94 3417533
>>17520
>>13683

быстро дополню
да, согласен, unsafe-код получился больше, чем у тебя: длиннее, по логике лишняя сущность (refcell), чуточку сложнее
но
1) никто не запрещает юзать unsafe, и это в любом случае будет НЕ хуже, чем у тебя
2) мы взяли пример, где у раста слабое место. Как я говорил, идеального языка не существует, что-то уйдет в минус, но у раста прям хороший трейд-офф: вместо гц и потери безопасности в узких местах надо ввести refcell (что чуть-чуть усложнит код и введет хоть и незаметный, но оверхед), либо все же потерять гарантии безопасности, но лишь в этих самых узких местах, которые отполируют в либах взрослые дяди и отдебажат тысячи ручек
95 3417618
Какой
>>17533

> по логике лишняя сущность (refcell)


У раста есть внутренняя логика (заимствований), и RefCell - её реализация. Нахуя так обобщать?
96 3417622
>>17618
Плохо выразился
Я к тому, что по абстрактной логике - никакого refcell быть не должно
Вот типа пишешь на псевдокоде - ты не будешь писать refcell
А вот когда уже кодишь на расте, ты должен учитывать, как ты называешь, внутреннюю логику и ее реализацию
Поэтому да, чисто логически: refcell - лишняя сущность, но необходимая в языке с аффинными типами, которые дарят свои плюшки
97 3417635
>>17618
ну и немного подушнить
раст использует аффинные типы (те, которые следуют move семантике), их правильное применение гарантируется борроу чекером. Видимо, ты это имеешь в виду, когда говоришь "у раста есть внутренняя логика". Но RefCell - это не реализация этой внутренней логики. Это даже не часть языка. Это просто код, контейнер, который немного ослабляет ограничения борроу чекера для элемента этого контейнера во время компиляции и переносит эти проверки на время выполнения путем использования unsafe кода внутри.
98 3417638
>>17635

> переносит эти проверки на время выполнения путем использования unsafe кода внутри


Ну, так.
99 3417773

>педеRUST

100 3417907
>>17421
Им надо не через 5 или 10 лет выдать конпелятор, а через год. Раст для этого не подходит очевидно.
101 3417908
>>17416

>но даже создание и обход можно было бы написать на unsafe, обернуть это в safe api и юзать без боли


Лол, так может сразу на сишке написать? Или лучше на зиге!
102 3417912
>>17635
Правильная реализация линкед листа на педерасте - это ненаписанная реализация линкед листа, смешно видеть эти все рефцелы и прочий костыльный мусор.
103 3417913
>>17908
Мир не ограничивается laba1 и laba2.
104 3417915
>>17913
У тебя буквально весь софт на си написан, а другая маленькая часть на плюсодерьме. Ты ебобо?
105 3417920
>>17915
Этот софт обычно делает что-то кроме создания списков, в отличие от laba1.
106 3417937
>>17920
Этот педераст перегрелся, несите нового?
107 3417938
>>17908
если тебе лучше можешь даже и на ассемблере написать
108 3418080
>>17907
если пытаться переобучать макак с джс - согласен
но так уж получилось, что Хейлсберг в тупике: очевидно, что заменить команду он не может, ведь они писали компилятор и знаю нюансы и тонкости, а переобучать макак на что-то далекое от джс - макаки устроят бунт
но если бы эта команда изначально знала раст - написали бы за тот же срок, что и на гошке

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

>1) никто не запрещает юзать unsafe, и это в любом случае будет НЕ хуже, чем у тебя


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



Да просто пиздец, ты сам выделил в гринтекст мою цитату "обернуть это в safe api и юзать", но все равно будто не видишь этого. Ты не смог разобрать ОДНО предложение и понять его смысл. Давай все же натолкну: unsafe 0,1% кода != unsafe 100% кода. Или это тоже надо как-то разъяснять?

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

>>17912
Еще один с методичкой
Реализуй линкед лист как хочешь: хочешь с рефцеллом, хочешь без, в зависимости от твоих требований

Тебе тоже относится то, что я писал анону выше в этом посте. Тоже проспись, тоже почисти зубки, поешь полезную и сбалансированную еду, сделай зарядку, приведи голову в порядок, чтоб у тебя была возможность усвоить то, что я написал (вроде ничего сложного не писал же), обработать эту информацию, а после этого мы сможем конструктивно поговорить. А то как с нпс общаюсь, одни и те же предложения, одни и те же тейки. Приводишь контраргументы, ждешь какого-то развития событий, конструктивного обсуждения, но происходут перегруз, и... "на расте ты не сделаешь циклическую структуру", "на расте невозможно реализовать линкед лист правильно". День сурка какой-то
108 3418080
>>17907
если пытаться переобучать макак с джс - согласен
но так уж получилось, что Хейлсберг в тупике: очевидно, что заменить команду он не может, ведь они писали компилятор и знаю нюансы и тонкости, а переобучать макак на что-то далекое от джс - макаки устроят бунт
но если бы эта команда изначально знала раст - написали бы за тот же срок, что и на гошке

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

>1) никто не запрещает юзать unsafe, и это в любом случае будет НЕ хуже, чем у тебя


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



Да просто пиздец, ты сам выделил в гринтекст мою цитату "обернуть это в safe api и юзать", но все равно будто не видишь этого. Ты не смог разобрать ОДНО предложение и понять его смысл. Давай все же натолкну: unsafe 0,1% кода != unsafe 100% кода. Или это тоже надо как-то разъяснять?

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

>>17912
Еще один с методичкой
Реализуй линкед лист как хочешь: хочешь с рефцеллом, хочешь без, в зависимости от твоих требований

Тебе тоже относится то, что я писал анону выше в этом посте. Тоже проспись, тоже почисти зубки, поешь полезную и сбалансированную еду, сделай зарядку, приведи голову в порядок, чтоб у тебя была возможность усвоить то, что я написал (вроде ничего сложного не писал же), обработать эту информацию, а после этого мы сможем конструктивно поговорить. А то как с нпс общаюсь, одни и те же предложения, одни и те же тейки. Приводишь контраргументы, ждешь какого-то развития событий, конструктивного обсуждения, но происходут перегруз, и... "на расте ты не сделаешь циклическую структуру", "на расте невозможно реализовать линкед лист правильно". День сурка какой-то
109 3418659
>>18080

>но если бы эта команда изначально знала раст - написали бы за тот же срок, что и на гошке


Через 3 года любая команда, которая изначально знает раст, педерасто-сообществом выписывается в команду, которая не знала раст изначально, или неосиляторов.

>растхейтеры


Мимо, педераст, я хейчу вас, растомакак, язык норм для своих задач.
110 3418670
>>18659

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


таблетки
111 3424437
кто осилил его собрать из сырцов, на локальной машине, без интернета, есть такие?
112 3424582
>>24437
его?
113 3424646
>>24582
Подозреваю, что речь идёт об ego-tree или egobox_ego.
114 3424653
>>24646
я про сборку этого, в чруте, без доступа к интернету
https://github.com/rust-lang/rust/archive/refs/tags/1.86.0.tar.gz
115 3424660
>>24653
а в чем у тебя проблемы возникли?
116 3424693
>>24660
в том, что для сборки оно в интернет лезет, зачем то хочет качать архивы раста, каиро старой версии, а затем кучу всего в директорию vendor, хотя сорцы уже скачанные лежат, зачем то накостылен bootstrap.py с неотключаемым скачиванием этого добра, несмотря на то, само добро заранее лежит на диске, понятно что можно забить и разрешить всё это, но я не хочу в сборочных чрутах давать выход в сеть, поэтому и возник вопрос, как собрать без интернета
117 3426348
>>24693
Ты в курсе, что Rust поощряет композицию?
118 3431069
как лучше его ставить? через пакетный менеджер или через пакетный менеджер ставить rustup или вообще не юзать пакетный менеджер и ставить через rustup, который брать с rustup.rs?
Confessor Statues - (Ambience) - Blasphemous UOST.mp417,2 Мб, mp4,
1280x720, 0:05
119 3431070
>>31069
$ curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh
120 3431076
>>31070
да я уже так и поставил гораздо быстрее чем трястись как обычно
121 3431084
>>31076
Ты просто хотел пиццки кусочек, или что тогда?
122 3431872
123 3432271
>>31070

>--proto '=https' --tlsv1.2


Ну ты и клоун конечно
124 3432293
>>32271
Мамку твою ебал. В чем проблема?
125 3432743
>>07697 (OP)

>игры


Даже самые профессионалы своего дела обоссали Раст, заявив что в отличие от С# и, прости-господи, C++, делать игры на нем сложно и муторно, особенно на этапе прототипирования, где ебля с безопасностью и прочими unwrap'ами сжирает кучу времени, не оставляя времени на сам начальный этап разработки игры.

>Веб


Нахуя писать веб на Раст? Ни один большой современный бизнес не пойдет на это, для обычных продуктов возьмут C#, Go, Java, JS/TS, для каких-то совсем редких кейсов - С++ из-за обилия либ. А Раст зачем брать? Этап прототипирования веба тоже упирается в проблему из пункта 1 .
126 3432795
>>32743
Единственное применение и реальный плюс Раста я вижу в эмбеддед, т.к есть реальные примеры компаний, временами пишущих на нем эмбеддед прошивки для МК и прикладного софта. Но остальное нинужно.
127 3432814
>>32795
https://pola.rs вот замена pandas на русте в 30 раз более производительная чем пандас
128 3432828
>>32293
Проблем нет, но у меня два папы.
129 3432832
>>32814

> в 30 раз более производительная


Но зачем? В ИИ всегда можно пренебречь скоростью IO и обработки данных, потому что есть многопоточная обработка и сборка батчей в любое количество потоков. В бигдате всегда приоритет в удобстве, а не скорости.
130 3432848
>>32795
Да, безопасность Раста в эмбедеде это прям преимущество, все равно на си и плюсах приходилось байтоебить, а на расте это приятнее
131 3432902
>>08035
Есть третий путь:
Выучить С++ и вкатиться в НИИ на сытые 100к в месяц с БРОНЬЮ от мобки и полным соцпакетом, без страха что тебя уволят как растопидора
132 3432953
>>32743
Надо быть конченным ебланом, чтобы делать игры на пидорасте. В криптонаебалове пишут на расте - понятно почему.
>>32795
>>32848
Можно пример, где т.н. безопастность на расте во встройке как-то зарешивает? То есть реальный пример с листингом, что от раста была тут польза.
>>32814
Замена pandas на C будет ещё производительнее и напишут это быстрее, нахуй раст нужен?
133 3432971
>>32953

>и напишут это быстрее


Портфель в школу собрал, мамкин сишник?
134 3432972
>>32971

>пук


Нахуй ты высрался, зумерок?
135 3432974
>>32972
Тебе ссылку дали на готовый продукт на расте кторый в тырпрайзе используется. Иди пиши очередной рогалик под виндовс апи на своей сишке.
136 3432977
>>32953

>Можно пример, где т.н. безопастность на расте во встройке как-то зарешивает?



Эмбед как правило работает без нормальной ОС, поэтому любой сегфолт нужно дебажить мало что не вольтметром. Так что любой баг, который можно отловить на этапе компиляции - это +5 часов твоей жизни.
137 3432980
>>32974
Пидоран, ещё раз, будет, что по теме сказать или тебя в школе научат чтению, то приходи.
>>32977

>сегфолт


Даунитос, какие сегфолты во встройке?

>любой баг, который можно отловить на этапе компиляции


Какие баги ты собрался во встройке ловить? У тебя там даже аллокаций нету.
138 3432984
>>32980

>У тебя там даже аллокаций нету.


Баги случаются только из-за аллокаций, пон.

Покормил.
139 3432988
>>32984
Я тебя тоже понял, ты просто кукаретик, то есть типичный пидораст.
140 3432990
>>32980
Хуеплет, ты сам научись сначала мышлению, ты приперся обсуждать ,что лично тебе не нужен раст? Люди уже написали на расте, а на сишке только напишут, скоро, в твоих маняфантазиях.
141 3432993
>>32990
Пидорасина, обучайся чтению.
142 3432996
>>32743
Зачем на расте писать - потому что на нем платят больше, уровень сениорности существенно выше и проекты интересней.
Если интересны лоу айкью индусокод на

>C#, Go, Java, JS/TS


то без проблем, можно еще пхп ковырять ради ламбо которых там никогда не было.
Либо турболегаси на с++ с ооп и уб.
У меня с поиском работы никаких проблем нет с средним предложением в 250к в год.
Для этого и дропнул упомянутые C#, Go, Java, JS/TS, C++.
Хотя го еще +- норм и ТС для пулуми.
143 3432997
>>32993

>Вот готовая либа на расте, испольуется в тырпайзе


>Замена pandas на C будет ещё производительнее и напишут это быстрее, нахуй раст нужен?


А человек паук всех победит, да...
144 3432998
>>32997
Пидораст такой пидораст.
145 3432999
>>32902
100k - это тысяча евро лол. Я на первой работе С++/C# получал в полтора раза больше тыщу лет тому назад. Класс.
146 3433003
>>32832
Какой у тебя опыт в разработке? Выше синиора хоть раз был? Подсчет затрат в клауде хоть раз делал?
147 3433005
>>32999
Это шутка. Но вообще многие так и делают, десятилетиями работают в НИИ на базовую ЗП
148 3433007
>>33005
Можно еще сторожем пойти. Непыльненько, на двачах сидишь, капчуешь, дрочишь на поней в коморке.
149 3433008
>>32996

>Зачем на расте писать - потому что на нем платят больше


А кто будет писать игры и веб на расте, лол? Так и платить растерам не будут, если работы на нем не будет в этих областях.

>Если интересны лоу айкью индусокод


Там хотя бы работа есть и платят нормально, а не 15 вакансий, где 80% это крипта или системщина
150 3433009
>>33008

>А кто будет писать игры и веб на расте, лол? Так и платить растерам не будут, если работы на нем не будет в этих областях.



А кому в геймдеве нормально платят, лмао?
151 3433012
>>33008

>А кто будет писать игры и веб на расте, лол? Так и платить растерам не будут, если работы на нем не будет в этих областях.


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

>Так и платить растерам не будут, если работы на нем не будет в этих областях.


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

>Там хотя бы работа есть и платят нормально,


Платят там мало и переступит 120к в год сложно, особенно сейчас. Рынок компактится, а ты советуешь идти туда где конкуренция и индусы с генерилками кода.

>Там хотя бы работа есть и платят нормально, а не 15 вакансий, где 80% это крипта или системщина


Что не там с криптой и системщиной?
Короче, ты малой просто
152 3433015
>>33012

>ебейшие деньги в оборонке


>пидораст


Нахуя?
153 3433020
>>33015
Нахуя ебейшие деньги получать?
Иди сторожем или крудо-реактомакакой на спрингбуте. Только не удивляйся если тебя сократят.
154 3433022
>>33020
Зверёк, нахуя в оборнке раст?
155 3433055
>>33022
Зверек? Ты обосрался в своем троллинге и пытаешься вот так победить?
Нахуя в оборонке раст спрашивай у тех кто там это диктует. Я не имею директорской позиции в оборонке и в принципе там не работаю. Но отрытые позиции вижу и там раст зачастую с никсом причем.
Вообще вот это все нытье что раст слишком сложный уже порядком надоели. Что там сложного? С raii все крестовики работали, а это считай половина борроу чекера. Что вам сложно. Реально единственная существенно херовая часть раста - асинк, там любые манипуляции с указателями сделают обрастают лайфтаймами и дженериками. Ну и циклические связи убого делать.
Во всем остальном - удобно и быстро разрабатывать, не надо по сто раз тестировать то от чего защищает компилятор.
Асахи лина отреверсинженерил гпу драйвера от арим макбуков на линукс, на расте и явно сказал что именно из-за всех этих борроу чекеров было проще написат, потому компилятор очень в многом помогает.
156 3433071
>>33055

>Но отрытые позиции вижу и там раст зачастую с никсом причем.


Пруф или уёбывай.

>Что вам сложно


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


>удобно и быстро разрабатывать


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


Просто пидорастодвоечка нахуй.
Пиздец, ты зверёк. Сам-то поди только лабы на пидорасте пишет, иначе бы такой не писал.
157 3433108
>>32902
Анон, понимаю, что наглею, но расскажи чуть подробнее
158 3433136
>>32902

> сытые 100к в месяц


За 100к как-то работать даже не хочется. Я вот в интеграторе сижу за 100к, пинаю хуи днями на удалёнке, сегодня рабочий день к концу подходит, но реально работал я минут 15 и в рабочих чатах 30 минут советы советовал. Весь остальной день скролил двач и смотрел ютубчик. Иногда дрочильню какую-нибудь запускаю, поглядывая на втором мониторе за "работой" и чатиками.
159 3433325
>>33012

>Что не так с системщиной


Так ты сам писал про веб в Расте лол
160 3433327
>>33071
Ребенок какой-то.
>>33325
Веб разве что веб3 лол. Вот там платят нормально 200к+ в год за просто синиора минимум. Выгодней чем каким-то архитектором быть на веб2 говне, потому и кинул.
161 3433328
>>33327
Пруфани вакансией хоть одной
162 3433331
>>33328
Вот буквально недавнее
Position: Protocol Engineer
Salary: Up to $220k USD

Plexus has partnered with an innovative startup developing a protocol that enhances blockchain privacy by enabling encrypted data processing without exposure. This allows for smarter contracts, stronger security, and expanded Web3 use cases while remaining compatible with existing blockchain tools.
They are looking for a Senior Protocol Engineer to join their team and lead the rust development for their Solana solution.

Qualifications
Experience working with Rust and GoLang
Experience working on an L1 or L2 (Bonus if you worked in the Solana Ecosystem)
Proficient in spoken and written English
Offer
Competitive Salary
Tokens
Bonus

If this interests you, please send me an updated CV and we can arrange a call!

Hana Leka
Consultant @ Plexus Resource Solutions

Senior Protocol Engineer Opportunity | MEV ($300k+) 🤖

I have partnered with a protocol leveraging MEV infra who are hiring a remote Rust engineer.

Do you have:
Protocol engineering experience.
3+ years rust experience.
Familiarity with EVM.
5+ years engineering experience.

Let's chat, I can share a JD if interested.

Lee Dart
Recruiter at Plexus Resource Solutions

I’m partnered with Solforge, a trailblazing company redefining Solana’s consensus ecosystem. They’re building high-performance blockchain infrastructure for institutional-grade applications and transforming internet capital markets.

They’re seeking Rust Engineers to tackle distributed systems challenges, working with Rust, Kubernetes, and Go. You’ll help build scalable, modular systems while collaborating with a top-tier engineering team.

The role is fully remote with the Founder and Co-Founder based out of the UK and paying salaries up to $250k USD ON A B2B Basis.

Does this sound like a fit? Let’s set up a quick call: https://calendly.com/vorberg-clarke-digitechresourcing/15min.

Vorberg Clarke
Senior Recruitment Partner
162 3433331
>>33328
Вот буквально недавнее
Position: Protocol Engineer
Salary: Up to $220k USD

Plexus has partnered with an innovative startup developing a protocol that enhances blockchain privacy by enabling encrypted data processing without exposure. This allows for smarter contracts, stronger security, and expanded Web3 use cases while remaining compatible with existing blockchain tools.
They are looking for a Senior Protocol Engineer to join their team and lead the rust development for their Solana solution.

Qualifications
Experience working with Rust and GoLang
Experience working on an L1 or L2 (Bonus if you worked in the Solana Ecosystem)
Proficient in spoken and written English
Offer
Competitive Salary
Tokens
Bonus

If this interests you, please send me an updated CV and we can arrange a call!

Hana Leka
Consultant @ Plexus Resource Solutions

Senior Protocol Engineer Opportunity | MEV ($300k+) 🤖

I have partnered with a protocol leveraging MEV infra who are hiring a remote Rust engineer.

Do you have:
Protocol engineering experience.
3+ years rust experience.
Familiarity with EVM.
5+ years engineering experience.

Let's chat, I can share a JD if interested.

Lee Dart
Recruiter at Plexus Resource Solutions

I’m partnered with Solforge, a trailblazing company redefining Solana’s consensus ecosystem. They’re building high-performance blockchain infrastructure for institutional-grade applications and transforming internet capital markets.

They’re seeking Rust Engineers to tackle distributed systems challenges, working with Rust, Kubernetes, and Go. You’ll help build scalable, modular systems while collaborating with a top-tier engineering team.

The role is fully remote with the Founder and Co-Founder based out of the UK and paying salaries up to $250k USD ON A B2B Basis.

Does this sound like a fit? Let’s set up a quick call: https://calendly.com/vorberg-clarke-digitechresourcing/15min.

Vorberg Clarke
Senior Recruitment Partner
163 3433342
>>33071

>Пруф или уёбывай.


https://helsing.ai/
Например. Там работает автор rust for rustaceans
164 3433354
>>33071
ну что всосал?
165 3433524
>>32953

>Замена pandas на C будет ещё производительнее и напишут это быстрее


Только вот поларс уже написан, а замена на C ещё почему-то нет...
166 3433526
>>33009
C-левелам.
167 3433595
>>07697 (OP)
Вот зачем мне учить Раст, если сейчас все системные вакансии на С++?
168 3433597
Rust in Production: Microsoft rewriting Hyper-V components in Rust; calls 2025 "the year of Rust at Microsoft"

Чулочники таки пригодились. Возможно в этом и был план наклепать себе армию чулочников, чтобы за идею и лоупрайс клепали код для корпораций
169 3433599
>>33595
1) Не учи, мир от этого ничего не потеряет.
2) Это их выбор.
3) Так можно про любой язык сказать: зачем нам julia, zig, r, если есть питон.
170 3433602
>>33595
99% этих вакансий говнолегаси
171 3433607
>>33597
Ты все еще тут семенишь? За раст платят дохуя по сравнению с другими языками
172 3433644
>>33136
Везет тебе. Работаю за 130к в месяц, полные 8 часов в день, еще и тайминги нужно присылать типо сколько часов и минут работал над какой задачей. Проебываться не выйдет 100%, следят
173 3433859
>>33055

>раст слишком сложный


Раст простой не накручивай. Питон, плюсговно и сишка, вот эти языки сложные.
>>33331
Какой-то ммм.
>>33342
Какой-то 1 соевый стартап на весь мир, с каким-то ноунеймом.
РЯЯ ОНЛИ РАСТ В ОБОРОНКИ
174 3433874
>>33859

>Какой-то 1 соевый стартап на весь мир, с каким-то ноунеймом.


>https://github.com/orgs/helsing-ai/repositories


Чёт на расте у челиков только вебчик походу лол.
175 3434064
>>33874
оборонку в опенсорс? ебнутый?
176 3434069
>>33859
Нищенка перестань ныть. Люди по 250к+ евро зарабатывают, а ты тут хуи сосешь
177 3434107
>>34064
Да выложили свою оборонку в опенсурс вопросы?
>>34069
Пидорок, твоя подлинкованая оборонка - это какой ИИ попил с вебчиком на расте.
178 3434118
>>34107
Да, и крипта хуйня. Иди за косарь баксов круд говно пиши с наллреференсами, нищенка.
179 3434156
>>34118

>-Зибята бум раста оборонка вся на расте и с никсам уии


>-Где и нахуя там раст?


>-<Показывает очередное попильное ИИ говно и с растом для веба>


>-Нахуя ты это говно принёс, где остальная оборонка?


>-АРЯЯЯ НИЩЕНКА АРЯЯЯ


Лол, походу единственные, кто реально делал какие-то вещи с прошивками и лоу левел на расте это buttplug.io
180 3434370
Если не учитывать официального талисмана Rust — краба Ferris, то в качестве символического аниме-персонажа для языка Rust можно выбрать героиню, которая отражает его ключевые принципы: безопасность, скорость, многопоточность и отсутствие глобального сборщика мусора (GC).

### Кандидаты:

#### 1. Шаллоу (Shalltear Bloodfallen) из «Overlord»
- Почему? Rust известен своей безопасностью памяти — Шаллоу буквально неуязвима в бою, пока не найдётся эксплойт (как `unsafe` в Rust).
- Многопоточность: как вампир, она может действовать независимо от других NPC Назарика (асинхронность).
- Скорость: мгновенная телепортация и атаки.

#### 2. Сабера (Артурия Пендрагон) из «Fate/stay night»
- Нулевая стоимость абстракций: Сабера — идеальный слуга, эффективна без лишних движений.
- Контроль над ресурсами: Её Экскалибур требует точного управления маной (как ручное управление памятью в Rust).
- Без компромиссов: либо победа, либо смерть (как `panic!` в критических ошибках).

#### 3. Макото Ниидзима из «Persona 5»
- Статический анализ: как прокурор, она строго проверяет все доказательства (аналог borrow checker’а).
- Многозадачность: успевает и работать, и быть Лидером Фантомных Воров.
- Нет GC: она сама разбирается с проблемами, без посторонней помощи.

#### 4. Юки Нагато из «Melancholy of Haruhi Suzumiya»
- Предсказуемость: как интерфейс к данным, она работает строго по правилам (как Rust без неожиданных падений).
- Высокая производительность: может обрабатывать информацию на космическом уровне.
- Минимальные накладные расходы: молчалива и эффективна.

### Лучший выбор?
Если нужен **жесткий, системный подход** — **Юки Нагато**.
Если важна **боевая надёжность** — **Сабера**.
Если важен **баланс между силой и контролем** — **Шаллоу**.

А кто, по-вашему, лучше всего подошёл бы? 😊
180 3434370
Если не учитывать официального талисмана Rust — краба Ferris, то в качестве символического аниме-персонажа для языка Rust можно выбрать героиню, которая отражает его ключевые принципы: безопасность, скорость, многопоточность и отсутствие глобального сборщика мусора (GC).

### Кандидаты:

#### 1. Шаллоу (Shalltear Bloodfallen) из «Overlord»
- Почему? Rust известен своей безопасностью памяти — Шаллоу буквально неуязвима в бою, пока не найдётся эксплойт (как `unsafe` в Rust).
- Многопоточность: как вампир, она может действовать независимо от других NPC Назарика (асинхронность).
- Скорость: мгновенная телепортация и атаки.

#### 2. Сабера (Артурия Пендрагон) из «Fate/stay night»
- Нулевая стоимость абстракций: Сабера — идеальный слуга, эффективна без лишних движений.
- Контроль над ресурсами: Её Экскалибур требует точного управления маной (как ручное управление памятью в Rust).
- Без компромиссов: либо победа, либо смерть (как `panic!` в критических ошибках).

#### 3. Макото Ниидзима из «Persona 5»
- Статический анализ: как прокурор, она строго проверяет все доказательства (аналог borrow checker’а).
- Многозадачность: успевает и работать, и быть Лидером Фантомных Воров.
- Нет GC: она сама разбирается с проблемами, без посторонней помощи.

#### 4. Юки Нагато из «Melancholy of Haruhi Suzumiya»
- Предсказуемость: как интерфейс к данным, она работает строго по правилам (как Rust без неожиданных падений).
- Высокая производительность: может обрабатывать информацию на космическом уровне.
- Минимальные накладные расходы: молчалива и эффективна.

### Лучший выбор?
Если нужен **жесткий, системный подход** — **Юки Нагато**.
Если важна **боевая надёжность** — **Сабера**.
Если важен **баланс между силой и контролем** — **Шаллоу**.

А кто, по-вашему, лучше всего подошёл бы? 😊
17111026877060.jpg71 Кб, 1024x768
181 3434378
>>34064
Он стоял, уперев руку в бок, и не отвечал. Только умудренная улыбка и неторопливые перекаты вальяжной походки, что понесли его домой. Больше они об этом случае не разговаривали.
182 3434380
>>07697 (OP)
Раст не взлетел из за пидоров?
183 3434485
>>32743

> Go


Для веба раст гораздо удобнее гошки, так что с ним в этой нише вполне себе может конкурировать. Одни дженерики и асинхронность дают в разы больше удобства над ctrl+c ctrl+v и горутинами с каналами, про остальное молчу.

>C#


>Java


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

>JS/TS


Как вариант, но не для всех проектов, нода хоть и держит дохуя rps из всей скриптопараши, но утекает по памяти и имеет свои ограничения. Но для проектов где примитивные круды какой-нибудь nestjs будет топ
184 3434488
>>34380
Да, от них много хейта. Пишут какую нибудь обертку над никому не нужной библиотекой на си, а потом ноют на форумах что 20 лет писали на расте и пришли к выводу какой он говно. Плюс можно по треду и предыдущим заметить что один из представителей ЛГБТК+ никак не успокоится и постоянно срет здесь
185 3434582
>>34488
Двачую Раст реально никому ненужное говно.

Показатель нормального полноценного языка - проще всего решать практические задачи, например алгоритмы с Leetcode. С этим он справляется хуже всего, даже на форумах по Расту профессионалы пишут что решать на нем подобные алгоритмические задачи с Литкода это бред и максимально неэффективно, в отличие от С++.
186 3434601
>>34582
"Действительно, если смотреть исключительно на скорость «прототипирования» и лаконичность кода для алгоритмических задач вроде LeetCode, C++ сейчас в большинстве случаев выглядит предпочтительнее:

1. Развитая экосистема для CP

В C++ под рукой синтаксически удобный STL: vector, deque, priority_queue, unordered_map и т.д. Писать решения буквально в несколько строк, не теряя при этом в производительности — привычная вещь.

Подавляющее большинство материалов и примеров в сети именно на C++ — так что можно быстро найти паттерны и шаблоны решения.

2. Компиляция и запуск

На онлайн‑платформах компиляция C++ обычно быстрее, чем Rust — и задержки «compile & run» в сумме меньше отвлекают.

Rust-валидатор за проверку безопасных заимствований и lifetime‑анализ иногда «тормозит» ваши итерации правок.

Но это не значит, что Rust «никому не нужен» — просто область применения у него чуть другая:

Безопасность памяти
Rust гарантирует отсутствие «use-after-free», data race’ов и большинства типовых ошибок сегментации на этапе компиляции. В продакшн‑сервисах это критично, а в разовых задачах LeetCode — не очень.

Параллелизм и высоконагруженные системы
Пишешь многопоточный код — и знаешь, что компилятор не даст тебе сделать гоночную ситуацию. Скорость на уровне C/C++ + безопасность.

Удобство поддержки
Rust‑модули обычно проще рефакторить: чёткие ownership‑и borrowing‑контракты снижают риск регрессий.

> Если ваша основная цель — решать алгоритмические пазлы и соревноваться на LeetCode, то да, C++ («короче и привычнее») выглядит более «эффективным» инструментом.


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

---

Что делать?

Для соревнований и быстрого обучения алгоритмам — смело используйте C++.

Для проектов, где важна безопасность, контроль ресурсов и отказоустойчивость — берите Rust.

Если хотите прокачать навыки Rust в «алгоритмическом стиле», можно:

1. Изучить Vec::with_capacity и другие методы предвыделения памяти, чтобы снижать накладные расходы.

2. Попрактиковаться с крейтами itertools и smallvec (хотя их не всегда можно использовать на LeetCode).

3. Писать свои облегчённые «шаблоны» для деревьев и графов, чтобы не копировать из C++ STL, а иметь готовый skeleton на Rust.

В итоге выбор языка зависит от задачи и контекста. Что вам ближе сейчас — прокачка алгоритмов или надёжная разработка реальных сервисов?"
186 3434601
>>34582
"Действительно, если смотреть исключительно на скорость «прототипирования» и лаконичность кода для алгоритмических задач вроде LeetCode, C++ сейчас в большинстве случаев выглядит предпочтительнее:

1. Развитая экосистема для CP

В C++ под рукой синтаксически удобный STL: vector, deque, priority_queue, unordered_map и т.д. Писать решения буквально в несколько строк, не теряя при этом в производительности — привычная вещь.

Подавляющее большинство материалов и примеров в сети именно на C++ — так что можно быстро найти паттерны и шаблоны решения.

2. Компиляция и запуск

На онлайн‑платформах компиляция C++ обычно быстрее, чем Rust — и задержки «compile & run» в сумме меньше отвлекают.

Rust-валидатор за проверку безопасных заимствований и lifetime‑анализ иногда «тормозит» ваши итерации правок.

Но это не значит, что Rust «никому не нужен» — просто область применения у него чуть другая:

Безопасность памяти
Rust гарантирует отсутствие «use-after-free», data race’ов и большинства типовых ошибок сегментации на этапе компиляции. В продакшн‑сервисах это критично, а в разовых задачах LeetCode — не очень.

Параллелизм и высоконагруженные системы
Пишешь многопоточный код — и знаешь, что компилятор не даст тебе сделать гоночную ситуацию. Скорость на уровне C/C++ + безопасность.

Удобство поддержки
Rust‑модули обычно проще рефакторить: чёткие ownership‑и borrowing‑контракты снижают риск регрессий.

> Если ваша основная цель — решать алгоритмические пазлы и соревноваться на LeetCode, то да, C++ («короче и привычнее») выглядит более «эффективным» инструментом.


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

---

Что делать?

Для соревнований и быстрого обучения алгоритмам — смело используйте C++.

Для проектов, где важна безопасность, контроль ресурсов и отказоустойчивость — берите Rust.

Если хотите прокачать навыки Rust в «алгоритмическом стиле», можно:

1. Изучить Vec::with_capacity и другие методы предвыделения памяти, чтобы снижать накладные расходы.

2. Попрактиковаться с крейтами itertools и smallvec (хотя их не всегда можно использовать на LeetCode).

3. Писать свои облегчённые «шаблоны» для деревьев и графов, чтобы не копировать из C++ STL, а иметь готовый skeleton на Rust.

В итоге выбор языка зависит от задачи и контекста. Что вам ближе сейчас — прокачка алгоритмов или надёжная разработка реальных сервисов?"
187 3434620
>>34380
Раст взлетел из-за пидоров.
188 3434801
>>34582

>решать практические задачи, например алгоритмы с Leetcode


Перетолстил
image.png47 Кб, 1825x477
189 3434823
ДА
190 3434832
>>34801
Алгоритмы с Литкода наиболее точно отображают реальные проблемы Computer Science науки.
191 3434835
>>34832
толстота х2
192 3434849
>>34835
Зачем тогда по-твоему существует Литкод? Если бы он был не нужен, алгоритмы с Литкода не давали бы на собеседованиях в крупнейшие и самые богатейшие айти-компании мира, и он не был бы одним из самых посещаемых сайтов по айти.

Рыночек порешал и показал эффективность алгоритмов с Литкода. А Раст неэффективен для решения подобных алгоритмов. Вывод - Раст нахуй не нужен. Это просто как 2+2.
193 3434859
>>34849

>Зачем тогда по-твоему существует Литкод?


дрочить алгоритмические задачки

> Если бы он был не нужен, алгоритмы с Литкода не давали бы на собеседованиях в крупнейшие и самые богатейшие айти-компании мира, и он не был бы одним из самых посещаемых сайтов по айти


ложное логическое следствие

> Рыночек порешал и показал эффективность алгоритмов с Литкода


никакой связи между рынком и литкодом

> А Раст неэффективен для решения подобных алгоритмов


чо несешь, сам то понял?

> Вывод -


перестань быть ведомый идеями из интернета и начинай мыслить самостоятельно
ну и я хуй знает, почитай про логику и причино следственные связи, чтоб так больше не позориться
194 3434882
Если захочу собрать Zed (своих не бросаем) под лялих, сколько мне потребуется гигобайтов на диске?
195 3434884
>>34882
Дохуя, 10+.
196 3434963
>>34849
Понял, чмо? Не позорься!
197 3435079
>>34849

>Рыночек порешал и показал эффективность алгоритмов с Литкода. А Раст неэффективен для решения подобных алгоритмов. Вывод - Раст нахуй не нужен. Это просто как 2+2.


Ебать у тебя мышление настолько узкое и простое как решение задачки на литкоде по переворачиванию строк, действительно натренировался. В реальности выбор того или иного инструмента затрагивает множество аспектов, как и рабочий код в продакшене редко когда это решение примитивных алгоритмов.
Когда ты там уже доучишься и первую работу найдешь?
198 3435083
>>34884
Печально, а так зедчиком хотелось стать.
>>35079

>не может в решение простых алгоритмов


>ААУУУВААУ ЛИТКОД НИНУЖИН КУДАХ ПРАМЫШЛИННАЯ ПРОГРАММИРОВАНИЕ


Ты поди чисто джейсо-макакич.
199 3435144
>>35083

>Подрыв гринтекстом


Понимаю, толстота не удалась
200 3435307
Че там, кроме Alacritty, какие проги? Не все же в backend долбятся.
201 3435335
>>35307
Какая-то ебейшая субд. Выглядит прикольно.
https://www.youtube.com/watch?v=kzDnA_EVhTU
202 3435350
>>35335
Выглядит как говно. Кому вообще придёт в голову использовать реляционную базу в гейминге? Шиза с синхронизацией базы по сети - вообще пизда. Как будто они никогда не видели как неткод в играх выглядит.
0qsCktY9j8.jpg51 Кб, 596x503
203 3435421
204 3436242
>>35144
>>34859

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


А методичек не подвезли? Неужели USAid перестал финансировать расточмонек? Даже жалко как-то, язык то умирает...
205 3436329
>>36242
да не трясись ты, малой
206 3436477
>>36242

>USAid


В предыдущих тредах обоссали уже какого-то школьника, который с этим носился. Напомню что это политическая контора, в первую очередь рассчитана на политиков и медиа, а раст финансируют майкрософты с гуглами.
Толстота не удалась и ты решил продолжить позорится
207 3436561
>>36242

>язык то умирает


Не пизди выше уже сказали, что ВСЯ ОБОРОНКА пишет вебчик на пидорасте.
208 3436722
>>36561

>пишет вебчик на пидорасте


С этого я проигрываю каждый раз. Ебанутые написали свой нодежс на расте и теперь всем рассказывают, что их бекенд работает быстрее. Быстрее ждет ответа от кафки, наверное. Другие языки спокойно существуют в своих нишах, и только чулочники пытаются протолкнуть свой раст в каждую дырку.
209 3437137
>>36561

>ВСЯ ОБОРОНКА пишет вебчик на пидорасте


Ага, США до сих пор пишет код для оборонки на Аде и Коболе, а в РФ все еще пишут код для ракет на Си стандарта 1980 годов
210 3437138
>>36722

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



У растанутых по другому никак. Видят дырку - хотят что-то запихнуть, ибо психология такая
211 3437312
>>36561
>>36722
>>37138
Никто не ведется на жирноту и ты уже сам с собой разговариваешь? Или два голубка встретились ИТТ?
212 3437319
>>37312
Кто бы говорил, любитель мужских хуйцов.
213 3437736
>>37319
Нахуй ты сам с собой говоришь?
214 3437745
Как в пидораст вкатиться, чтобы линковаться либки, а не тащить гигабайты? Когда мэйкфайлы завезут?
215 3437760
>>37745
Пишешь в build.rs println!("какая-то магия {либа нейм}") и всё работает. Только надо хедеры сконвертнуть.

>мэйкфайлы завезут


Вызываешь напрямую rustc и делаешь что хочешь.
216 3439121

>раст - оборнка с вебчиком, фирмавари для дилдаков


>zig https://kristoff.it/


>A static site generator written in Zig.


>The tool that generates documentation automatically for Zig


>A TUI Twitch chat client designed for livecoders.


>A zero-allocation Redis client for Zig that works both in blocking and async mode.


Ору нахуй с этой замены сишки и плюсодерьма.
217 3439342
>>39121
хруст уже был неоднократно выебан языками зумерами типа говна и зигера, они уже нашли свои ниши, а вот хруст никому до сих пор не нужен.
218 3439348
>>39342
юзкейс раста это дать инвалидам повод доёбываться до новых проектов с вопросом "а чому не на расте?", поэтому новые проекты могут даже заранее расписывать причину "почему мы не использовали раст", чтобы исключить ебанутых.
219 3439445
>>39342
>>39348
Раст для embedded хорош, остальное нинужно
220 3439752
>>39445

>Раст для embedded хорош, остальное нинужно


>https://github.com/buttplugio/buttplug


Расточую.
221 3439782
>>39445

>Раст для embedded хорош


Дебил блять, у тебя хелоуворд растовский не влезет в половину железок просто из-за того, что весит как ядро ОС, написанное одним шизофреником.
Сука блять, иногда я хочу, чтобы зздесь можно было постить только после подтверждения квалификации через гойуслуги, такую хуйню несёте.
222 3439791
>>39782
Выше вон линкали раст в ембедед на продакшене, хули ты пиздишь.
223 3439812
>>39782
Как там в 2000? Сейчас у микрухи сраного мосфета больше памяти, чем в 486. Или ты про аналоговнеты на технологиях 60х годов? Так там любой яп выше местячкового асм оверкилл.
224 3439813
>>39812
Так а какой эмбед сейчас кроме батплагов на пидерасте делают? Авионику может или автомобили? Памяти же дохуя.
225 3439879
>>39782

>Дебил блять, у тебя хелоуворд растовский не влезет в половину железок



6 килобайт не влезет? Лол что.
https://www.youtube.com/watch?v=YgpbYBk1M0E
226 3440150
>>33644
в вб влетел? или где так не любят своих программуль
227 3440300
>>39879

>6 килобайт


Для чего? Блинка светодиодом? Ну как-то жирновато. Алсо, что-то кроме пресловутого блинка не наблюдаю каких-то мега-йоб на канале этом полуживом.
228 3440311
>>39782
Он влезал во все мои микрухи, начиная с AVR и заканчивая STM32. Не выдумывай, пидорас теоретик.
229 3440312
>>39813

> Так а какой эмбед сейчас кроме батплагов на пидерасте делают? Авионику может или автомобили? Памяти же дохуя.


Например много Real Time OS для эмбеддед Раста уже написано

https://arewertosyet.com/
230 3440320
>>40150
Нет, более мелкая контора, ОООшка
231 3440321
>>40311

>пидорас


Но я не написал ни строчки на расте
>>40312
Делают-то что? Йоба-роботов каких-то, ракеты. Нахуя мне планировщики твои.
232 3440326
>>40321
Какой планировщик, ты ебанутый? Так то это полноценные ОС для встроенных систем.

А вот примеры использования Раста в аэрокосмической отрасли:
Lechev.space (GitHub) - Building various aerospace-related projects including a Ground station service using Rust. https://github.com/LechevSpace

Cryptosat.io (GitHub) - Building the Trust Infrastructure for Web3, using satellites, in space. https://github.com/cryptosat

Вот примеры использования Раста в реальной эмбеддед индустрии:
49nord - 49nord develops safe and secure Industrial IoT hardware and applications using Rust. https://49nord.de/rust

Calyptech - Used for high performance embedded system components as an alternative to C. http://calyptech.com/

Espressif (GitHub) - Improving performance of embedded and IoT devices with using Rust in esp products. https://github.com/esp-rs/

System76 (GitHub) - As a Linux-based computer-manufacture, much of our infrastructure and desktop Linux projects are written in Rust. https://github.com/system76

SmartThings(1) - Memory-safe embedded applications on our SmartThings Hub and supporting services in the cloud. https://www.smartthings.com/how-it-works

Star Lab - As an embedded security company, Rust allows us to have confidence in the performance and reliability of our products.
https://starlab.io/

Вопросы будут или снова только пуки от тебя?
233 3440355

> растотред


> я не написал ни строчки на расте


> но с уверенным ебалом пишу хуйню



и так каждый тред...
234 3440407
>>40326
Какой то тухляк в списках
мимо
235 3440409
>>40407
Почему? Что конкретно не так?
236 3440496
>>40326

>safe and secure Industrial IoT hardware


>safe and secure


Спарк уже в раст завезли?

>https://github.com/cryptosat


Там go и джабаскрипт лол.

https://github.com/esp-rs/esp-hal/
Это пиздец какой-то монстр, с асинком-хуинком, с ансейфом через ансейф. Ебало дебичей, которые этим будут пользоваться.
237 3440501
>>40496

> с ансейфом через ансейф


Без ансейфа тяжело писать низкоуровневые вещи. Язык не про то.
238 3440879
>>40501

>Язык не про то.


А зачем он тогда? Очередной круд писать, как на говне?
239 3440902
>>40879

>А зачем он тогда?


писать эмбедед
240 3441148
>>40902
Можешь пояснить за no_std и вообще в чем отличие?
241 3441263
>>24693
rust с помощью gcc собирают
https://github.com/thepowersgang/mrustc
оно собрало, но библиотеки ниасилило, хуйня какая то
242 3443162
>>41148
Не анон выше,но поясню

no_std подразумевает, в том числе, отсутствие ядра операционной системы и стандартной библиотеки языка Си (что характерно для всяких микроконтроллеров/embedded). Заместо операционной системы, в окружении которой выполняется программа, в данном случае, микроконтроллер просто выполняет зашиваемую программу. При этом, так как нет ядра ОС (а только сама програмка/прошивка), то компилятор компилит прогу таким образом, что все данные и инструкции помещались в "стеке" (stack), а не в "куче" (heap) - ибо покуда нет ядра ОС, то нет и оперативки, которая выполняет роль "кучи".

>>41263
Есть альтернатива лучше, включенная уже в GCC (+- могет в rust версии 1.49)
https://rust-gcc.github.io/
243 3443730
>>43162

>https://rust-gcc.github.io/


Чёт звучит как что-то годное.
Короче, пидорастеры такие пидорастеры.

>оборонка на пидорасте (вебчик)


>криптонаебалово на пидорасте


Странно, что пидорастеры не упоминают одну базюльку на расте, видимо, только лабы пишут.
244 3443731
почему у вас нет стандартизированного async рантайма?
всё через жопу как в линкусе
245 3443826
как же раст аналлизатор душит мой дрищецпу, юзаю с еглотом, может в настройках эглота дело, пиздец всё тормозит. у вас также?
246 3444546
>>43162

>Есть альтернатива лучше, включенная уже в GCC (+- могет в rust версии 1.49)


>https://rust-gcc.github.io/


оно может собрать rust c std в чруте, без интернета так, чтобы собранный rust был способен собрать себя из исходников?
247 3444625
>>43731
Виндузятник спокухнись нах
248 3444670
Чет ваш сраст нихуя не проще плюсов
249 3444714
>>43826
Нет, ничего не тормозит, но у меня нормальный пека. Использую как IDE RustRover. Анализатор только не мгновенно работает, а после 2-3 секунд после изменения кода.
>>40879
Да, можешь загуглить Discord Go Rust. Там объяснение почему нужно писать круд на расте.
>>44670
Познакомился с концепцией trait и crate, а хочется классов?
250 3444736
>>43826

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


Попробуй использовать workspace, если у тебя большой проект, то раздели его на несколько crate и бери тяни зависимости из главного cargo.toml, используя workspace = true. Если у тебя жирные зависимости, замени их на что-то полегче или избавься вовсе. Опять-таки, смотря сколько у тебя зависимостей.
251 3445204
Странно что системный язык боится переполнений. Если б это было в виде варнинга на стадии компиляции я б это еще понял. Но вот сегфолт в рантайме?
252 3445237
>>45204
А как должно быть? Проверка выхода за пределы массива при каждом обращении? Даже в джаве таким не страдают, это слишком медленно.
253 3445267
>>45237
При чем тут массивы не понял? Я про целочисленное переполнение когда uint перемахивает через 0. Такая арифметика много где используется именно в системном программировании. Переполнения боятся всякие матлибы и прочее, но кто их на расте то пишет?
254 3445270
>>45267
А при чём тут сегфолты? При переполнении знакового числе нет никаких сегфолтов.
255 3445274
>>44714

>IDE RustRover


в ровере не аналлизер, там своя реализация.
>>45204

>сегфолт в рантайме


сегфолт это защита ос. раст не доводит дело до ос, вызывая панику.
>>45237
раст вставляет проверку выхода за пределы для паники.
>>45267
>>45270
действительно странно, если речь про раст, то при переполнении происходит паника, но только в дебаге.
256 3445278
>>45274

> сегфолт это защита ос


Чел, сегфолт - это обращение к невалидному участку памяти. Это часть аппаратной виртуальной памяти, оно не имеет никакого отношения к ОС.
257 3445307
>>45278
ошибся но всё же думаю, что ос может эмулировать мму. в любом случае это механизм защиты, который не срабатывает из-за паники.

>оно не имеет никакого отношения к ОС


и при этом всё настраивается ос и обработка исключений тоже
258 3445462
>>45270
>>45278
Да, не так выразился. Ну паника да
259 3445748
>>45274

>раст вставляет проверку выхода за пределы для паники.


Есть unchecked функции, если что. В зиге тоже есть рантайм проверки в debug режиме и в одном из релиз вариантов - и это правильно.

>Паника на численное переполнение ряя, системный языг какжи так


В gcc есть флажок, чтобы рантайм ебанул тебе исключение на целочисленном переполнении, ну, и тестики гонять с ubsan'ом. х3 можно ли в расте их отключать без nostd.
>>45278
Но сегфолт, который ты ловишь в своём юзерспейсе - это именно сигнал от ос.
Чем больше багов ловишь на тесте, тем очевидно лучше.

Внимание вопрос, к адептам пидораста, как мне написать линкед лист ПРАВИЛЬНО и без ансейфа?
260 3445753
>>45748
Иди нахуй.
261 3445772
>>45748

> Но сегфолт, который ты ловишь в своём юзерспейсе - это именно сигнал от ос.


Нет, сегфолт - это аппаратный эксепшен в ЦП. Его обрабатывает ядро и уже передаёт тебе.
262 3445881
>>45748

> линкед лист


Нинужно
263 3445961
https://youtu.be/ITvJcn91Nk0?si=seGPXRtNXNz9fHNr
Нормальный, вроде, чел. Хочет курс по расту пилить.
264 3445967
>>45961

> курс по расту


В эпоху ллмок делать курс. УмнО!
265 3446111
А в чем смысл раста? Я так понимаю его идея заключается в safe подходе к написанию системного кода, но это же можно делать и на плюсах, разве нет? Просто выделив из плюсов множество, написав банальный кор гайд\стайл, выкинув или запретив например любой менеджмент памяти, как собственно сделано просто в расте
266 3446121
>>46111
Это уже какой-то синдром поиска глубинного смысла. Раст - это просто лаконичный и понятный язык, всё то, что пишется на С++ можно написать на Rust в два раза короче за счёт макросов. При этом имея ту же самую производительность. С++ мне просто не нравится. Там каждая крохотулина ебёт мозги. Rust - это язык для людей. У меня всё окружение сразу настроено - я набрал в консоли cargo test оно протестировалось, набрал cargo add, он добавил зависимость, есть автоматическое форматирование. В С++ же какие-то блять мэйкфайлы, какие-то блять configure, единых тестов из коробки нету, надо ставить с каких-то сторонних сайтов. Всё это с таким вайбом, как будто я попал в 2008-ой год, какую либу не посмотришь, она обновлялась последний раз 10 лет назад и висит на каком-нибудь SVN на sourceforge. На мой личный взгляд, Страуструп слишком перемудрил с языком. Он впихнул туда слишком много абстрактной параши, которая нахуй не нужна. Все эти static_cast, uintptr_t, (uintptr_t(✸)(void ✸, uintptr_t)), хуй запомнишь. Вот например как расшифровать (const void ✸(✸)(void ✸))get_next? Нахуя нужны эти войд со звёздочками, почему допустим просто нельзя написать get_next? Стоит там хоть где-то забыть поставить звёздочку и у тебя программа наебнётся в core dump и ты будешь миллион лет гадать, что же я сделал не так. Ну и плюс, в целом С++ программисты это довольно специфический народ. Везде трёхэтажные конструкции, ноль форматирования и ноль комментариев. Будет какой-нибудь файл на 1000 строк, повсюду говнина со звёздочками, ты даже если и обращаешься к автору, он так смотрит с таким надменными видом как будто ты долбоёб полный и ещё так ответит ну типа отъебись надо же знать))))))) это база)))))))
267 3446169
>>46121
Сами макросы в русте нельзя назвать простыми и лаконичными, если ты не просто используешь готовые, а сам пишешь, как ты говоришь - для сокращения кода в два раза. Генерацию кода и ковыряние в AST нельзя назвать простым и лаконичным
268 3446171
>>46169
Что интересно эту хуйню из окамла перетащили в раст. Но в окамле это не часть языка, а прилеплено сбоку библиотекой ppx. А в руст эти макросы вкорячены в сам язык
269 3446173
>>46171
А может и наоборот. В окамле измачально было апи для манипуляции аст программ на этапе компиляции. Но написали как независимое расширения языка в виде библитеки и внешних инструментов. Но выгдлядит все как врасте.

Зачем все в сам язык пихать? Потом ваш раст превратится в монстра С++
270 3446191
>>46121
Что за хуйню ты пишешь. Раст всегда был более объёмным по количеству кода по сравнению с крестами. Там где в крестах ты просто пишешь что надо, в расте надо городить велосипеды.
271 3446212
>>46191
ДА! Я утверждаю что меньше кода. Потому что: 1) можно делать вызовы по цепочке, типа s.chars().filter(|c| c.is_alphanumeric()).collect::<String>().to_lowercase(); это экономит циклы, можно сделать просто .into_iter() и не писать отдельный цикл. 2) макросы опять-таки. Я могу допустим ставить функции логи одной строчкой, метрики, знать сколько раз была вызвана функция, сколько раз с ошибкой, длительность вызова, одной строчкой перед функцией - #[measure([HitCount, Throughput])].

Если ты утверждаешь что с++ более лаконичный - докажи примерами кода, иначе это просто пук в лужу.
272 3446215
>>46212

> делать вызовы по цепочке


То что ты в одну строчку напихал лапши не значит что кода стало меньше. У тебя в одной строчке 15 языковых конструкций и выглядит это как нечитаемое говно. Почему бы вообще весь код в одну строчку не писать и потом говорить что можно одной строчкой сделать больше чем в питоне. Ты реально шизоид.
s3osn5w8wt1c1.jpg366 Кб, 3204x2176
273 3446227
>>46215
Хорошая мантра.
274 3446228
>>46215
Ну подели на несколько строчек, делов-то.
275 3446231
>>46227

>C++


>include stdio.h


слишком жирно
276 3446233
>>46227
И что ты на пике притащил? Почему справа у тебя проход по массиву, а слева указатели? Не умеешь пользоваться массивами в крестах? Алсо, незнание как запринтить массив в крестах - это пока самое смешное что я видел сегодня. Я уже молчу про то что в крестах есть функционал сложения массивов без циклов.
277 3446234
>>46111

> А в чем смысл раста?


Перформанс + мемори безопасность + удобство.

> но это же можно делать и на плюсах, разве нет?


Нет. Струструпп предложил ещё лет 5 назад концепцию профилей для С++, вот прям как ты описал дальше

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


и эта идея никуда не пошла. Нет ни одного компилятора, который бы поддерживал профили. Сами профили были обоссаны несколько раз, что хорошо звучат только в теории, а на практике потребуют заново написать С++ с нуля.
278 3446254
>>46227
Зачем в раст версии в add_array делать &mut первым двум массивам?
мимо не знаю раст
Screenshot From 2025-05-04 10-35-44.png83 Кб, 1008x477
279 3446258
280 3446311
>>46227
#include <iostream>
#include <vector>
#include <numeric>
int main() {
int size = 5;
std::vector<int> a(size), b(size);
std::iota(a.begin(),a.end(),0);
std::iota(b.begin(),b.end(),10);
for(int i=0; i<size; std::cout<<a+b[i++]<<" ");
}
281 3446313
>>46311

>a+b[i++]


Двач сожрал как всегда
282 3446316
>>46313
a[ i ]+b[i++]
283 3446321
>>46311
Вызов принят. Вернусь домой и напишу кожи на расте.
284 3446354
>>45881

>Его обрабатывает ядро и уже передаёт тебе.


В том посте так и написано

>Но сегфолт, который ты ловишь в своём юзерспейсе - это именно сигнал от ос.


>>45881

>Нинужно


Почему тогда он есть в стандартной библиотеке?
285 3446358
>>46212

>s.chars().filter(|c| c.is_alphanumeric()).collect::<String>().to_lowercase()


Це пиздец.
286 3446400
>>46358
На любом языке этот код будет выглядеть примерно одинаково.
287 3446402
>>46400
Це мерзость, поэтому будущее за зигом и си (потому что там нет подобной функциональной лапши).
288 3446408
>>46402

>зиг


>const std = @import("std")


Спасибо, еще один ебнутый язык не нужен.
289 3446414
https://deadmoney.gg/news/articles/migrating-away-from-rust
Ещё один обманутый вкладчик.
1664387389965.png39 Кб, 981x222
290 3446427
>>46400
В крестах хоть нет вырвиглазной лапши и всё консистентно выглядит.
291 3446441
>>46414

> Rust's (powerful) low-level focus didn't always lend itself to a flexible high-level scripting style needed for rapid prototyping within our specific gameplay architecture.



> Bevy is young and changes quickly. Each update brought with it incredible features, but also a substantial amount of API thrash.



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

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

Но в целом чуть чуть подрочив того же самого можно и достигнуть на симейке + конане. Выглядеть это будет пиздец хуево, но двигаемся дальше. У тебя в твоих примерах описаны не плюсы, а приплюснутая сишка, что уже говно и кринж в мире плюсов. На 20\23 плюсах писать пиздецки как ахуенно, а главное перспективно, в будущий стандарт уже есть пропозалы на экзекуторы от нвидии и либы корутин от фейсбука, тянуть в проекты уже можно прямо сейчас, их добавят как было с либой ренжей. И писать на таких плюсах пиздецки как ахуенно. Можно со спокойной душой катиться на них в хайлод и бекенд и занимать нишу куда претендует раст, кстати как системный язык
293 3446450
>>46441

>на нем лучше писать библиотеки


Я, блядь, вам с самого первого пидорасто-треда это говорю, но веб-макаки начали раст засовывать туда, где раст будет всегда плохим инструментом.
Но мне больше всего обидно за линукс кернел, пидорастерам БОЛЬШЕ ВСЕХ надо было и им оче быстро завезли поддержку пидораста, но как мы видим, никаких полезный модулей/драйверов на пидорасте нет в мейнлайне. Ёбаные животные нахуй.
Снимок экрана от 2025-05-04 16-33-31.png4 Кб, 790x125
294 3446480
У меня всё красиво, никакой "лапши".
295 3446504
>>46450
Нахуя ты сидишь в треде если ты ненавидишь раст и осеорблчешт тех кто на нем пишет? Иди нахуй своей дорогой путник в С++ тред или откуда ты там вылез.
Screenshot From 2025-05-04 15-20-30.png37 Кб, 1274x266
296 3446512
>>46311
7 строчек кода и без вложенных инструкций.

https://play.rust-lang.org/?version=stable&mode=debug&edition=2024&gist=38da5040e1ec26e83f8ce559960c2bc4
297 3446539
>>46445

>Проблема в том что зачем учить одну и ту же технологию дважды?


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

>Системные языки


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

>а прямой вопрос а не хуйней ли мы сейчас занимаемся?


Я нет, а ты не знаю. Лично я пишу свои проекты на расте, а ты какой-то демагогией занимаешься.

>На 20\23 плюсах писать пиздецки как ахуенно, а главное перспективно


Ну пиши, тебе же никто не запрещает.

>главное перспективно, в будущий стандарт уже есть пропозалы на экзекуторы от нвидии и либы корутин от фейсбука


Похуй если честно. Кто там что тянет, меня не касается, я просто захожу на гитхаб и смотрю библиотеки/фреймворки по факту. Если зайти допустим на сайты издательств, по с++ книги почти не выпускаются в последнее время (я имею ввиду последние 3-5 лет), потому что никому он не интересен. Это уже прошлый век.

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


САМНИТЕЛЬНА НО ОКЭЙ (с) Олежа Тиньков
298 3446543
>>46504

>ненавидишь раст


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

>Ну пиши, тебе же никто не запрещает.


Пидорастеры и маркетолухи запрещают ему писать.
299 3446613
>>46539
Бротишка, пойми. Если ты что то мало мальски конструктивное отвечаешь или говоришь, накидываешь или хотя бы пытаешься. То не надо потом сливаться нууу эт меня не касается, самнительно но окей. Ну раз тебя не касается, так и иди нахуй просто отсюда. Че ты хуйню пишешь какую то? Не надо ничего отвечать просто. Ты что зумер даун дислексивный? Нахуя мне твое лично я, ты не знаю, я нет, чем я занимаюсь. Какая нахуй демагогия? Тебе прямые вопросы задали которые ты сам выставил на обсуждение
300 3446690
>>46613
Сам иди нахуй. Вы доебали уже. Скатили тред в бессмысленный токсичный срач. Весь тред - никакой пользы, один и тот вопрос "зачем нужен раст". Да какая вам разница, я наверное единственный из всего треда кто не пиздит, а реально делает крупные проекты на расте. Всё остальные только и выясняют почему "Х лучше Y". Зачем нам знать про другие языки, это тред раста. Какие-то залетные приходят и командуют, кому куда идти и как себя вести. Этот тред вообще не для вас, он для междусобойчика растеров.
301 3446695
>>46690
Всё так
302 3446704
>>46690
Возможно. Мне просто работу предложили на расте. Я оцениваю перспективы языка и свитча стека. А почему собственно и нет?
А срач наверное и правда заебный учитывая местный контингент. Но тебе то че, тред живет и бампается
303 3446716
>>46690

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


Пофиксил.
304 3446794
Салют. Подскажите, пожалуйста, насколько сейчас живое rust-wasm и можно ли уже новый код на фронте писать не на js/ts, а на rust, имея при этом возможность удобно использовать существующие либы js?
305 3446798
>>46794
Чел, никто не заменяет js на wasm. Wasm для каких-то тяжёлых алгоритмов только нужен. Доступ к DOM у wasm медленнее js.
306 3446804
>>46794
Фронт перепишем, хром перепишем
307 3446810
Мне одному кажется что официальная документация-книга очень хуевая? Мало того что для восприятия всех её принципов нужно хорошо знать C/C++ и ОС, так еще и создается такое впечатление что в попытке объяснить хоть что-то сложнее базовых типов данных авторы сами нихуя не понимают че сказать то хотят
308 3446811
>>46810
Это ты просто тупой. Её даже питонистам хватает.
309 3446816
>>46811
Бля наверное ты прав(
310 3446842
>>46704

>Я оцениваю перспективы языка


Говорю же, язык приятный, быстрый, продвинутое окружение, есть плагины, есть крутые библиотеки, что тебе ещё собака надо? Это же не от нас зависит, что выберет работодатель. Также можно спросить какие перспективы у тайской кухни в России? Или наберет ли молекурная кухня популярность? Это всё вкусовщина. Мы никак не влияем на процесс, язык остаётся нишевым. Ожидаю ли я, что завтра ломанется толпа народа переписывать легаси с пхп на раст микросервисы? Скорее нет, чем да. Но это даже хорошо, что он не становится мейнстримом. Язык держится на идейных людях, а не на тех додиках которые спрашивают "куда можно вкатиться". Здесь случайных людей нету, люди которые выбирают раст делают это осознанно. А не по совету знакомого васяна, который пиздит типа вкатись и зарабатывай 300к в наносек изи.
311 3446857
>>46810

> Мне одному кажется что официальная документация-книга очень хуевая?


Ну, не идеальная, да. Я в основном ллмки использую если что-то не понятно.
312 3447068
313 3447087
>>47068
Фрирен, потому что kill yourself.
314 3447101
>>47087
Серьёзно? Ну, ок, можно не смотреть теперь.
315 3447139
>>46842
Тогда это говно а не язык. Я пердюльки на нем писать не собираюсь сидя в будке сутками. Я жить хочу и деньги зарабатывать. Языки программирования и программирование в целом -- главным образом именно для этого и нужны. Проебывать свое время на хуйню, которая никому не нужна это бред
316 3447178
>>47139

>Проебывать свое время на хуйню, которая никому не нужна это бред


И тем не менее ты сидишь на сосаче...
317 3447210
>>47139

> Проебывать свое время на хуйню, которая никому не нужна это бред


> Проебыват время на себя


Лицемер.
318 3447228
>>47139

>Тогда это говно а не язык


>Я жить хочу и деньги зарабатывать


Да, а что ты ожидал? Что у тебя хуй на 30 сантиметров отрастёт? Зарплата на 300% повыситься? Ты станешь альфачом и все бабы начнут давать? Язык - это просто инструмент. Неадекватно ожидать, что от смены языка, качество жизни повыситься. Если ты до этого был успешным программистом, то ты им и останешься. Проблема в твоих ожиданиях, у языков нет "магического свойства" давать охуенно жить. Если абстрагироваться от всех зарплат, вакансий, работодателей, и так далее, а судить с чисто технической точки зрения то это просто приятный быстрый язык и всё.
319 3447247
>>46842

>язык приятный


Нет.

>быстрый


Нет.

>продвинутое окружение


Нет.

>есть плагины, есть крутые библиотеки


Нет, не нужны, потому что говно версии 0.0.

>Аналогия с едой


Додик ёбаный.

>Здесь случайных людей нету, люди которые выбирают раст делают это осознанно.


99% выбрали раст, потому что маркетолухи и общественное мнение, которое разгоняется в нужную сторону.
>>47139
Зачем тратить своё время, рассказывая, что ты НЕ СОБИРАЕШЬСЯ там чего-то делать, лол?
320 3447248
>>47228
У тебя какие то странные представления об успешности. Программисты все время развиваются, ищут стеки и технологии. Если ты этого делать не будешь то ты окажешься позади. Нужно все время стремиться туда где меньше конкуренция, где меньше людей, где больше денег и не хватает экспертности. Это неотъемлемая часть нашей профессии, нужно постоянно переоценивать рынок, вакансии и самого себя. А иначе рискуешь например оказаться на какой нибудь помойной должности никому нахуй не нужной вроде питон бекендера
321 3447250
>>47247
Я собираюсь. Учи лор очкочтец. Мне работу предлагают на расте, а сейчас я на плюсах пишу бекенды
322 3447257
>>47250

>бекенды на плюсах


>бекенды на расте


Хуевый план на жизнь, бро.
323 3447263
>>47257
И зачем ты мне это написал? Мне это даже никак не прокомментировать, или какой ты реакции ждал? Что у тебя в голове было когда ты свои сосиски к клавиатуре тянул?
324 3447285
>>47263
Нечем крыть, тупенький?
325 3447293
>>47285
Так а что именно крыть? Я вообще открыт к критике. Но ты же буквально не написал ничего, какой то гринтекст и все. Или я должен сам за тебя придумать условный аргумент и с ним поспорить? На что мне отвечать то?
326 3447388
>>47248
Причём здесь экспертность и rust, я нифига не понял. Как это вообще связано. Раст может либо подходить под задачу, либо нет. Ты какую-то хуйню понёс про рынок... Что ты знаешь вообще про рынок... я щас на ocaml'е напишу финансового бота и заработаю дохера денег. Где тогда твой бог будет.
327 3447396
>>47388
Ну пиши. Потом в личку скинешь сколько заработал, фантазер двачной
328 3447448
>>47396
Я сейчас пишу бота, но не финансового на расте. Заработаю кучу денег и скину тебе в личку.
другой анон
329 3447451
>>47448
Я тоже хочу чтобы мне кучу денег скинули в личку..
330 3447503
>>07697 (OP)

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


И че он во всё это может нормально? То есть я на нём и имиджборду свою смогу сделать и игру запилить?
331 3447516
>>47503
Конкретно ты хз, но ничего не мешает.
332 3447565
>>47503

>То есть я на нём и имиджборду свою смогу сделать и игру запилить?


Конечно
https://github.com/bakape/shamichan
333 3447569
>>47503
По играм негативный фидбек в основном попадается:
>>46441
334 3447733
>>47569
Bevy - какая-то заоверинженеренная НЁХ, я не понимаю, о чем они думали.
335 3447864
>>47861 (Del)
Два чаю. Все так и было
336 3448486
Стоит ли использовать const везде где можно если нет требования соблюдать обратную совместимость апи?

Линтер максимально не уверен. Вроде надо, а вроде не надо.
https://rust-lang.github.io/rust-clippy/master/index.html#missing_const_for_fn

Я понимаю, что const fn это аналог constexpr из C++, а значит, вроде как смысл есть пытаться с самого начала делать всё через const. Но при этом в const есть ограничение на использование for цикла, что сразу делает код менее понятным так как приходиться через while делать обход массива.

Какое ваше мнение по поводу использования const?
337 3448493
>>48486
Задумывался ли ты когда-нибудь о том что ты занимаешься просто какой то хуйней?
338 3448494
>>48493
Да. По вопросу комментарии будут?
339 3448500
>>48494
Будут. Это юзлес дрочь
340 3448502
>>48486
Константность - это вообще какой-то каргокульт сишке. Компилятор сам должен оптимизировать.
341 3448525
>>48486
Если функция будет использоваться в параметре дженерика, то делай. Иначе

>юзлес дрочь

342 3448551
>>48500
Ща чуть погодя в трапосообществе начнут отменять людей за неиспользования const везде.
343 3448607
>>48525
А почему в дженерике это важно?
344 3448619
>>48607
Любые const либо static const требуют либо литерал, либо константное выражение, либо константную функцию. Ты не можешь сделать массив размера "запрос GET по адресу malyezalupki.ru"
345 3448647
>>48619
Окей, спасибо
346 3448771
Я что-то в этой жизни не понимаю видимо. Как такое возможно, что для С++ в 14 раз больше вакансий чем для раста. Как вообще возможно в 2025 году продолжать писать на крестах. У меня горит.
347 3448779
>>48771
Знаешь фразу "для каждой задачи свой инструмент"? Так вот для задачи писать низкоуровневый код используют кресты, а для задачи получать ЛГБТ-гранты и долбиться в очко - раст.

запрещённая на территории РФ организация
348 3448789
>>48771
Там их и 90 нет. В большей части вакансии просто бекенд языки перечислены и накидали ключевых слов чтобы в поиске выдавало. Сами эти компании днища а вакансии не могут закрыть годами.
Но к слову на растущке сейчас гораздо больше дефолт бекенд вакансий и он потихоньку на чьей то инициативе начинает замещать те вещи что на плюсах писались или жабе, и что то можно залететь писать в банк или какой-нибудь маркетплейс просто с улицы
349 3448826
>>48771

>петушоникс 2002 г.р. сталкивается с суровой реальностью


Да, пидораст оказался никому не нужен. Шок!
image.png14 Кб, 822x85
350 3448851
>>48771
там ещё часть, где написано что-то вроде "было бы неплохо знание раста"
351 3448869
>>48851
Я уверен они имели ввиду доллары.
352 3448918
>>48771
Чел, сейчас раст - это исключительно разработка блокчейн на Solana Anchor. Нинде больше раста нет.
353 3448941
>>48771
Ну подумай, сколько лет плюсам, и сколько расту.
354 3448966
>>48941
Если мчитать от первого стабильного релиза, то 10 лет расту и 27 лет С++.
355 3448988
>>48918

> на Solana Anchor.


А там тоже очко. Документации нихуя нет, разработка под солану тоже в среднем в хуй никому не упала. Буквально раз в год запрос появляется, раз в 2 года в разработку что-то берём.
мимо криптогалера
356 3449067
>>48988
А какой стек предпочтительнее в крипте?
357 3449216
>>49067
А надо ли в крипту? Я напротив отсюда срыгнуть хочу, ибо не очень актуальный для переезда в другую страну опыт.

Смарт-контракты под EVM на Solidity хуярятся. Под не EVMки разработки мало. Solana преимущественно для запуска шиткоинов юзается, при любой попытке разработать что-то хоть более серьезное упираешься в незрелость экосистемы. Мне казалось, что ТОН должен был взлететь за счёт TWA в телеге, но пока его не видно. Остальное скорее мёртво.

Бэк на проектах, где я участвовал, преимущественно на ноде, либо ГОвне был. Педераст реже, но тоже есть.
358 3449234
>>49216

>А надо ли в крипту?


Конечно. Вся остальная айтишка скорее мертва чем жива.
359 3449271
Кто писал многопоточку на рамте: правда так всё плохо как говорят в Интернетах?
360 3449308
>>49271
В расте, как и везде, придется ебаться с блокировками. Многопоточка без ебли есть только в голанге, его специально таким придумали.
Для асинхронности есть токио, код выглядит почти как на нодежс.
361 3449321
>>49271
И что там в интернете опять говорят? Ты хоть бы пример какой привел
362 3449381
>>49308
Понял
>>49321

> И что там в интернете опять говорят?


Да вчера смотрел видос какой-то от ThePrimeTime и он там говорил, что пока вам не нужна многопоточка, то раст кажется очень простым. А когда нужна мноопточка, то сложность обучения улетает на Луну.

https://youtu.be/JeoYA7wABAA?si=u4vhC1IflL-ChC8h
sage 364 3449582
>>49271

>Кто писал многопоточку на рамте: правда так всё плохо как говорят в Интернетах?


Ну блять, опять одна бабка сказала. Меня лично всё устраивает. Использовать не сильно сложнее чем в typescript. Есть governor https://crates.io/crates/governor он позволяет лимитировать запросы, допустим не более 10 запросов в секунду. Там сложность не столько в самом tokio/futures, сколько в блокировках и атомарностях. У меня есть целая книга по блокировкам. Иногда возникают ошибки по типу "вы пытаетесь запустить tokio runtime внутри tokio runtime". Но в целом, не конец света.
365 3449612
>>49582

> У меня есть целая книга по блокировкам.


Покеж.
366 3449615
>>49582
Окей, я решил, что дам расту шанс и закончу на нем проект, в котором нужна многопоточка. Как минимум появится собственное мнение.
367 3449622
У пидорастеров делающих офф доку такая философия и подход к программированию писать и объяснять неработающий код, а потом остальную часть статьи посвящать как это все пофиксить. Или это просто какое то функциональное поражение мозга?
369 3449794
>>49381

>ThePrimeTime


Он же ни на чём никогда не погромировал? Откуда ему знать, где что легко, а где сложно?
1000012142.jpg3,8 Мб, 3000x4000
370 3449796
371 3449800
>>49796
Фу вы че реально еще и книги покупаете по этой шляпе. Еще и на русском. Ты че больной
372 3449828
Rust перформит лучше Go и C++ в высоконагруженных системах по тестам этого девопса.

https://www.youtube.com/watch?v=CsKNTwS9kic

https://www.youtube.com/watch?v=WnMin9cf78g
373 3449835
>>49828
Сейчас бы сравнивать рандомные фреймворки и говорить что протестил скорость ЯП, лол. На крестах надо хотя бы литий брать, а не дракона. Алсо, если взять какой-нибудь vertx и сравнить с растом, то может оказаться что джава быстрее раста, по логике того говноблогера.
374 3449854
>>49796
О, скоро тоже доберусь до неё. Не сразу понял что это они так "atomics and locks" перевели

>>49800
Заткнись идиот
marabos.jpg45 Кб, 523x523
375 3449964
>>49796

>Мара Бос


Когда шутки про трапов и пидораст были не шутками лул.
376 3450117
>>49964
Это шутками никогда и не было, пидорастовое коммьюнити крайне ЛГБШное.
377 3450156
Пора признать что С - король, а раст это однодневка для чулочников.
378 3450197
>>50156
Была бы в С хотя бы доля того удобного менеджмента зависимостей как у раста и если бы там на каждой строчке не могли затаиться по UB и сегфолту - так бы оно и было.
379 3450328
>>50197

> хотя бы доля того удобного менеджмента зависимостей как у раста


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

> если бы там на каждой строчке не могли затаиться по UB и сегфолту


От тупости ничего не спасёт.
380 3450409
>>50328
Борроу чекер спасает. GC спасает. Ошибки компиляции спасают. Можно конечно прыгать без парашюта, но я предпочту прыгать с ним чем без него.
381 3450588
>>50328

> vcpkg удобнее раста


орево
382 3450592
>>50588
vcpkg на крестах работает из коробки, просто пишешь имя зависимости в конфиге и пользуешься ей. Ничего дополнительно не надо делать.
383 3450608
>>50592

>работает из коробки


из какой блять коробки он у тебя работает

> просто пишешь имя зависимости в конфиге и пользуешься ей


> Ничего дополнительно не надо делать.


а система сборки у тебя этот конфиг каким образом подхватит?)

я уж не говорю о том то чтобы распостранять нормально этот код, люди буквально тебе локально на комп vcpkg ставят
384 3450611
>>50592
А карго работает из паллета что ли?
385 3450708
>>50409

>Борроу чекер спасает. GC спасает. Ошибки компиляции спасают. Можно конечно прыгать без парашюта, но я предпочту прыгать с ним чем без него.


Я на LOR устраивал жесткие срачи по этой теме, и тема неоднозначная, на самом деле "не только лишь все понимают, мало кто понимает".
На C/C++ есть статические анализаторы, есть анализаторы рантаймовые, В расте нет GC, а костыльное GC гугл прикручивал к хрому (временное хранилище для освобождённых указателей).

Больше всего суть ситуации описал один чел с хакернью, кратко пересказывая его слова: лучшие проекты написаны на C/C++, потому что над ними работали лучшие программисты.
Именно в этом заключается проблема C/C++ — на нём можно писать хорошо, но 99% макак хорошо писать не смогут. Над ними нужно ставить надзирателей с плётками: линтеры, тесты, кодревью, etc. Rust — это и есть тот фреймворк, где плёточники поставляются из коробки, где небезопасные операции явно отмечены, где целенаправленно замести проблему под ковёр намного сложнее (сравните с C/C++, где часто мимо проблемы проходят даже не обращая на неё внимание). Чтобы писать хороший код на C/C++ я выработал в себе дисциплину: "не бывает несёрьёзных ошибок", "если что-то может упасть — пусть оно упадёт", не использовать сложных неявных конструкций аля сложные деструкторы или копирующие конструкторы, и так далее. Также я из паскаля перенёс привычку ассертить всё на свете, каждый ебаный int, небо и аллаха (эта фишка частично есть в раста). В книжках обычно такому не учат, и даже учат наоборот.
Google — это одна из немногих крупных компаний, которая использует похожий на мой стиль и опубликовала его. Например, там за Boost пиздят ногами, за исключением нескольких легковесных модулей, которых почему-то нет в std.

Но давайте поговорим про более важные вещи — это время компиляции и неоправданная переусложнённость. Это актуально и для Rust, и для C++. Даже не зная, кто сделал Rust, я бы мог вслепую сказать, что это сделали крестовики. Потому что такой сложный и медленный пиздец могут терпеть только крестовики. Они на полном серьёзе считают, что два часа компиляции — это нормально, что спецификация языка на 600 страниц — это нормально, спецификация стандартной либы на 1000 страниц — это ок. И это новый язык, никакого legacy. Rc<RefCell<Box<dyn Trait>>> откушать не желаете?

Всё ебаную историю простота была преимуществом ЯП, но с приходом раст это свойство стало устаревшим. Теперь чем ебанутее ЯП, тем он лучше.
Я серьёзно не понимаю, кто те долбоебы, которым нравится Rust. Не "приходится работать с Rust", а реально "нравится работать"?
385 3450708
>>50409

>Борроу чекер спасает. GC спасает. Ошибки компиляции спасают. Можно конечно прыгать без парашюта, но я предпочту прыгать с ним чем без него.


Я на LOR устраивал жесткие срачи по этой теме, и тема неоднозначная, на самом деле "не только лишь все понимают, мало кто понимает".
На C/C++ есть статические анализаторы, есть анализаторы рантаймовые, В расте нет GC, а костыльное GC гугл прикручивал к хрому (временное хранилище для освобождённых указателей).

Больше всего суть ситуации описал один чел с хакернью, кратко пересказывая его слова: лучшие проекты написаны на C/C++, потому что над ними работали лучшие программисты.
Именно в этом заключается проблема C/C++ — на нём можно писать хорошо, но 99% макак хорошо писать не смогут. Над ними нужно ставить надзирателей с плётками: линтеры, тесты, кодревью, etc. Rust — это и есть тот фреймворк, где плёточники поставляются из коробки, где небезопасные операции явно отмечены, где целенаправленно замести проблему под ковёр намного сложнее (сравните с C/C++, где часто мимо проблемы проходят даже не обращая на неё внимание). Чтобы писать хороший код на C/C++ я выработал в себе дисциплину: "не бывает несёрьёзных ошибок", "если что-то может упасть — пусть оно упадёт", не использовать сложных неявных конструкций аля сложные деструкторы или копирующие конструкторы, и так далее. Также я из паскаля перенёс привычку ассертить всё на свете, каждый ебаный int, небо и аллаха (эта фишка частично есть в раста). В книжках обычно такому не учат, и даже учат наоборот.
Google — это одна из немногих крупных компаний, которая использует похожий на мой стиль и опубликовала его. Например, там за Boost пиздят ногами, за исключением нескольких легковесных модулей, которых почему-то нет в std.

Но давайте поговорим про более важные вещи — это время компиляции и неоправданная переусложнённость. Это актуально и для Rust, и для C++. Даже не зная, кто сделал Rust, я бы мог вслепую сказать, что это сделали крестовики. Потому что такой сложный и медленный пиздец могут терпеть только крестовики. Они на полном серьёзе считают, что два часа компиляции — это нормально, что спецификация языка на 600 страниц — это нормально, спецификация стандартной либы на 1000 страниц — это ок. И это новый язык, никакого legacy. Rc<RefCell<Box<dyn Trait>>> откушать не желаете?

Всё ебаную историю простота была преимуществом ЯП, но с приходом раст это свойство стало устаревшим. Теперь чем ебанутее ЯП, тем он лучше.
Я серьёзно не понимаю, кто те долбоебы, которым нравится Rust. Не "приходится работать с Rust", а реально "нравится работать"?
386 3450711
>>50328

>> хотя бы доля того удобного менеджмента зависимостей как у раста


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


У раста нихуя нет, чтобы там нужно было с какими-то зависимостями разбираться, язык несколько лет назад возник только. Вот когда оно обрастёт legacy и несколькими конкурирующими пакетными менеджерами — тогда поговорим про удобство менеджера зависимостей.
Например, чо там у нас с зависимостями от библиотек, написанны не на Rust, а на C/C++ или даже Fortran?
1687186683360.png207 Кб, 1824x1179
387 3450764
>>50608

> а система сборки у тебя этот конфиг каким образом подхватит?


Таким же как и исходники, лол? Поддержка vcpkg во все современные системы сборки встроена уже.
388 3450769
>>50708

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


Это всё сорта говна. В хорошем коде уменьшают количество мест, где может возникнуть ошибка, а не выдумывают как эти ошибки получше размазать по жопе. Это в расте выдумали каждый вызов функции обмазывать в Result/Option, т.е. каждый вызов может зафейлиться и ты обязан думать об этом. В геймдеве, например, хорошая практика делать так чтобы невалидный объект просто делал ничего, а не вызывал ошибки.
389 3450773
>>50708

> привычка ассертить


Хорошая привычка. Некоторые умные бли из NASA советуют ассертить не только инпут, но ещё и оутпут прямо внутри функции. Не рофл если что, сам иногда когда не лень так делаю.

> Но давайте поговорим про более важные вещи — это время компиляции


Просто купите новый компуктер.

> и неоправданная переусложнённость.


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

> Rc<RefCell<Box<dyn Trait>>> откушать не желаете?


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

> Не "приходится работать с Rust", а реально "нравится работать"?


Чел, я не знаю как после плюсов можно не любить раст. Мой опыт работы с плюсами один в один как твой. Постоянное ощущение, что я где-то мог накосячить и поэтому нужно всё перепроверить 10 раз. В расте же я просто и расслабленно пишу код потому что борроу чекер, компилятор и строгий линтер мне скажут если я где-то ошибся.
390 3450789
>>50708

>Rc<RefCell<Box<dyn Trait>>>


>Язык дизайнился не в 80-х


>Современный языг


)) Может проще научится писать на сях?
391 3450798
Мне кажется, что все языки "не оч" потому что они все имеют в себе ключевую ошибку. Они пытаются быть стабильными в нестабильном мире. Если сказать, что обратная совместимость никогда не будет поддерживаться и что в любой момент создатели языка имеют право взять и поломать апи, потому что так надо, то проблемы с Rc<RefCell<Box<dyn Trait>>> синтаксисом скорее всего можно было бы избежать.

Подобное убило бы любой язык. Писать на чем-то, что постоянно ломается невозможно с практической точки зрения. Но я предлагаю другую концепцию. Да, мы ломаем обратную совместимость 10 раз на дню, но в сам язык изначально вшит механизм миграции от версии X.0.0 к версии (X+1).0.0. Обратная совместимость сломана, но мы вам поможем сделать перход на следующую версию максимально безболезненным.

Не знаю насколько такое возможно на практике, но мне кажется, что это единственный способ для языка не превратиться в легаси на каком-то моменте своего развития.
392 3450799
>>50764

> во все современные системы сборки встроена уже


> показывает страничку ide


ОРЕВО
1652832846042.png21 Кб, 580x143
393 3450804
>>50799
Так это настройки системы сборки, лол. Это же не раст, где в конфигах ковыряться надо и писать простыни в build.rs. А тут больше и нечего показывать, потому что ничего нет, система сборки просто подтягивает зависимости и всё.
Untitled.png1 Кб, 50x43
394 3450826
>>50804
Блять, агуша, хватит позориться
Буквально нихуя в вопросе не понимаешь, просто в ide три кнопочки нажал и думает что это ИЗ ПОД КОРОБКИ всё само работает, даже не понимает что его vcpkg не сама система сборки запускает
395 3450833
>>49854
блядь, мне тоже интересно
зачем покупать бумажные книги на русском??
чтобы опечатки и неточности перевода считать на полях?
это же пиздец по-моему
image.jpg64 Кб, 1200x675
396 3450834
>>50798

>простыни в build.rs


Посмотрел на сборку в systemd, там ебать какая простыня для мезона, потом вспомнил какую простыню ебашит зиг для дефолтового проекта в build.zig, потом вспомнил, какая у меня ебала в cmake (простыня + куча модулей). И ещё миллион других систем для сборки и конфигурации с тьюринг полными язычками.
397 3450836
>>50833

>зачем покупать бумажные книги на русском??


Потому что в рф русский язык - священная корова, на игнрише хуй ты где купишь книги. Если начать продавать нужные книги на игрише рюсский язык ждёт участь какого-нибудь к примеру беларусского языка.
398 3450850
>>50836
вот книжка анона на озоне, например
https://www.ozon.ru/product/rust-atomics-and-locks-low-level-concurrency-in-practice-1981445025/

можно набрать "rust книга на английском" там же в поиске и будет куча книг по расту, где язык издания = Английский

если для тебя "русский язык - священная корова", то забудь про раст и хуярь только на 1С

хуйню ты несешь, даже на знаю рофлишь ты или нет
1625234022343.png135 Кб, 2035x1094
399 3450856
>>50826
Что ещё расскажешь, чмондель?
400 3450858
>>50850

>хуйню ты несешь, даже на знаю рофлишь ты или нет


Ну-ка найди мне TAOCP на игрише в продаже, сучька.
401 3450859
>>50856
теперь покажи такое же в cmake)
402 3450863
>>50858
ты походу реально ебанат

вот на Озоне:
https://www.ozon.ru/product/the-art-of-computer-programming-vol-1-4b-5-1935928199/
https://www.ozon.ru/product/the-art-of-writing-efficient-programs-iskusstvo-effektivnogo-programmirovaniya-na-angl-yaz-363064998/

вот на амазоне: https://www.amazon.com/Computer-Programming-Volumes-1-4A-Boxed/dp/0321751043
через всякие "бандерольки" народ из РФ там прекрасно покупает

но я все равно не понимаю нахуя нужна бумага
ну если только подарочные издания, как предмет интерьера
403 3450865
>>50850
>>50858
Это китай.
404 3450870
>>50863

>амазон


>китай


Це не росiя. В рф только переводные продаются, ещё раз.

>бумага


Почему люди предпочитают бумажные книги тебя ебать не должно, дегенерат.
405 3450871
>>50870
а, ну понятно, теплый ламповый звук, виниловые пластинки, гоям не понять
406 3450874
>>50863

>https://www.ozon.ru/product/the-art-of-writing-efficient-programs-iskusstvo-effektivnogo-programmirovaniya-na-angl-yaz-363064998/


Ну вот кстати не китай, они как раз старые совковые книжки издают, всякие от packt pub, только там размер какой-то здоровый сука и мягкие обоссаные обложки.
1709470130311.png183 Кб, 1670x1426
407 3450876
>>50859
Держи. У cmake в комплекте есть скрипт для автоустановки зависимостей vcpkg, просто говоришь ему использовать его и всё. Но зачем использовать cmake, когда есть msbuild.
408 3450885
>>50876

> У cmake в комплекте есть скрипт для автоустановки зависимостей vcpkg


Прекрасно, я как понимаю пресет тебе тоже в комплекте идёт? надеюсь никому больше пресеты не понадобятся, и можно полностью его vcpkg отдавать, ну или кастомить свои
Теперь по прошу к вниманию, добавление кастомных скриптов, добавление кастомных пресетов это ИЗ ПОД КОРОБКИ, не перепутайте

>зачем использовать cmake, когда есть msbuild


потому что в отличии от msbuild, cmake это стандарт индустрии

ладно, с месоном и остальным я тебя мучить уже не буду, если не совсем тупой уже на cmake должен был понять что не прав
409 3450906
>>50885

> потому что в отличии


Звучит как ВРЁТИ, когда ты игнорируешь рабочее решение и специально выбираешь пердольное.
410 3450910
>>50906

>рабочее решение


для лаб? оно блять даже не кроссплатформенное
411 3450917
>>50910
А cmake кроссплатформенный? В крестах не существует кроссплатформенности, что-то сложнее лаб всегда имеет куски под конкретную платформу, как и сборка со спецификой под неё. Открой любой "кроссплатформенный" проект на cmake и посмотри на скрипт сборки. А на msbuild собирается весь виндовый софт, никто в здравом уме не будет использовать cmake для сборки под виндой, особенно когда cmake сам генерирует проект под msbuild, а не собирает.
412 3450930
>>50917
Ну уже слишком жирно, даже студентота такой бы бредик не написала
Если уж реально хочешь по этому поводу поспорить то хотя бы иди в плюсо тред
413 3450933
>>50917

> В крестах не существует кроссплатформенности, что-то сложнее лаб всегда имеет куски под конкретную платформу, как и сборка со спецификой под неё.


Ну, если так судить, то кроссплатформенных тулзов вообще не существует если только они не сложнее лаб. Я понимаю под кроссплатформенностью то, что 90 % сборочного скрипта будет одинаковой между платформами.
мимо
414 3450985
>>50769

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


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


Да, я совсем забыл упомянуть важный момент: в геймдеве раст не нужен, потому что падение по ассерту и падение по сегфолту по результатам не отличаются. То есть, геймдеву раст вообще нихуя не даёт.
Собственно, ты прав по поводу "лучше чтобы ошибки нельзя было совершить" — потому геймдев довольно активно уходит от C/C++ и прочей низкоуровневины в сторону того же C#, по крайней мере на уровне логики.
415 3450999
>>50985

> падение по ассерту и падение по сегфолту по результатам не отличаются


Так пиши debug_assert(), а не assert().
416 3451018
>>50773

>Просто купите новый компуктер.


12 цпу и 32 Гб оперативы уже впритык — я правильно понел?

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


Нахуй нужен раст в скриптах аля питон? Я их на питоне и напишу, LOL. А где нужна производительность — там асинхронность и потоки.

>В расте же я просто и расслабленно пишу код потому что борроу чекер, компилятор и строгий линтер мне скажут если я где-то ошибся


Ты не поверишь, но именно этого я ждал от раста — просто пишешь код, а он тебе автоматом выводит типы и проверяет заимствования в этой новой парадигме "move by default". Пока не увидел, какой пиздец нужен, если ты хочешь переслать объект из потока в поток:
Ехал Rc через RefCell
Видит Rc — в RefCell Trait
Сунул Rc dyn Trait в RefCell
Rc<RefCell<Box<dyn Trait>>>
Потому что если ты хочешь сложные динамические объекты, то тебе НУЖЕН сборщик мусора. Как в Golang. Это не значит, что теперь GC будет ходить по каждому int в стэке — он будет лишь проходить по объектам из глобальной кучи. Про это Йося Крейнин ещё лет 10 назад писал в великом Frequently Questioned Answers.
Причём, я подчеркну, что счётчик ссылок — это весьма неэффективный способ организации общего доступа, да ещё и со своими проблемами. Например, если ссылка на объект со счётчиком ссылок лежит в глобальной переменной, то эту переменную нужно будет менять под блокировкой (счётчик защищает объект, но не ссылку на него) — в общем, ебатории там столько, что возникают мысли "да ну его нахуй этот раст, пойду голанг учить".
Или, например, дёрнуть туда-сюда счётчик — это грязная кэш линия, а потому нихуя не zero-cost. В частности, в CPython прямо катастрофа для желающих форкнуть процесс и получить read-only представление, поскольку их ебучий GC сделан на счётчиках ссылок (язык изначально делался вообще без GC), и при цикле сборки он дрочит счётчики, делая страницы грязными и нивелируя всё преимущество форка.
417 3451022
>>50999

>Так пиши debug_assert(), а не assert().


Ну в геймдеве так и делают. Но чаще ничего не пишут, просто игнорируют ошибки.
418 3451025
>>51018
Ну, ты прав, всё так. Вообще создатели раста собираются что-то делать с асинхронщиной в языке? Я где-то видел разбор, что они забили болт и сказали, чтобы сообщество само придумало решение.
419 3451039
>>51018

>то тебе НУЖЕН сборщик мусора


Ты не обязан использовать стандартные контейнеры. Сборка мусора не обязана быть черным ящиком, а может быть встроена в алгоритм по построению. Даже в плюсах, но всем насрали в голову с RAII.
420 3451041
>>50930

>Ну уже слишком жирно, даже студентота такой бы бредик не написала


>Если уж реально хочешь по этому поводу поспорить то хотя бы иди в плюсо тред


В крестах есть больше одного компилятора. Я ещё раз повторяю, что в расте никаких проблем нет потому ,что в нём нихуя нет: единственный компилятор, крошечный набор библиотек, половина которых просто биндилнги к внешним либам.
Окружения для сборки под винду и под никсы радикально отличаются. Да, есть подвижки к унификации, но всё равно разница большая до сих пор.
Да, cmake умеет собирать под винду, но сборка под винду сильно отличается, и потому если проект не писался специально для поддержки винды и это не hello world, то ни на какой винде он не соберётся (без позитксовых эмуляторов аля cygwin, которые создают больше проблем, чем решают).

Короче говоря, сравнивать один из старейших ЯП с желторотой новоделкой несерьёзно вообще, это разные категории.
421 3451049
>>51025
Есть же async_std, что вы все ноете?
422 3451065
>>51049

> async_std


О мертвых или хорошо или ничего.

Поддержка многопоточности в расте по факту в двух либах для разрабатывается: в Tokio и в Rayon.
423 3451067
>>51041
тебя никак не смущает что ты от VCPKG ВСЁ ИЗ ПОД КОРОБКИ
пришел к тому что ПРОЯВИТЕ ПОНИМАНИЕ, КРОССПЛАТФОРМЕНОСТИ НЕТ ИЗ ПОД КОРОБКИ
424 3451080
>>51065

>Tokio и в Rayon


Так и каковы же ваши объективные аргументы против этих двух?
425 3451082
>>51080
Никаких. Это просто не часть языка. Это тоже самое, что сказать, что в C++ есть же Boost, в котором есть всё что нужно.
426 3451089
>>51082

>Это просто не часть языка


Такое можно сказать про любую либу или фреймворк построенные на языке X, но не вхожие в его стандартную либу.
427 3451098
>>51089
Ну да, в этом и суть. Сегодня либа поддерживается, завтра не поддерживается. Либа не может изменить существующий семантику/синтаксис языка. Либа не может изменить вообще ничего в языке, она находится в состоянии "я всё это хаваю, у меня нет выбора". Опенсоурсная либа не должна заменять ожидаемую базовую функциональность языка, это просто неправильно.
428 3451105
>>51098
Это уже общая проблема всей современной разработки, вместо того чтобы сделать и вылизывать 1 единственный универсальный ЯП для всего и инфраструктуру под него же продолжают пилиться всё новые и новые никому не нужные.
429 3451227
>>51105
а потом выяснится, что универсальнось инструмента влечет за собой хуевость в решении каждой конкретной задачи

и поэтому нам надо несколько языков, чтобы каждый отвечал за свой спектр задач, но делал это охуенно
430 3451244
>>51227
Приведи примеры конкретных задач.
431 3451253
W5Caq5EsFS.png44 Кб, 603x736
432 3451257
>>51244
принять по http джон, сохранить в бд и пукнуть в кафку.

Так, 10 лет стажа на жабе, заинтересовал этот ваш раст. Дошёл до 7 главы учебника. Думаю дай-ка напишу свой стек для практики. И ОБОСРАЛСЯ. Чот депрессия накатила от сложности и стоит ли дальше пытаться. В учебнике как будто за ручку ведут по узкой тропинке, а вокруг ебучий варп. А ведь в реальной жизни этой тропинки не будет.
Возможно ли в struct обознать массив с неизвестной длиной?
433 3451271
>>51257
Либо Box, либо через Layout и alloc.
434 3451272
>>51257

> Так, 10 лет стажа на жабе, заинтересовал этот ваш раст.


Привет, брат жабист.

> Чот депрессия накатила от сложности и стоит ли дальше пытаться.


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

> Возможно ли в struct обознать массив с неизвестной длиной?


Vec<i32>
435 3451276
>>51272
помню в 2007 прочитал книгу по плюсам от шильда. Потом случайно узнать про жабу и прочитал книгу по ней, и прям на контрасте наслаждался простотой и что разработано для дураков. С тех пор жаба кормит
436 3451278
>>51257
Вот тебе промт для копилота:
write stack in rust. do not use vec. use array of various size, pass size in constructor. DO NOT USE Vec::with_capacity
437 3451307
>>51276
У меня такая же история. В вузике работал лаборантом и программировал на С++. Потом устроился на завод и понял, что надо перекатываться в настоящее айти. За год выучил жабу и стал андроид разраб. После плюсов жаба училась очень легко.
438 3451312
>>51278
Дурак твой копайлот.
>>51257
Коротко: нет, “чистый” массив неизвестной длины внутриstruct вRust объявить нельзя – язык требует, чтобы каждый полностью‑значимый (Sized) тип знал свой размер на этапе компиляции.
Но есть три практичных обходных пути, каждый подходит под разные сценарии.

---

1. Vec<T>— динамический вектор

struct Packet {
id: u32,
payload: Vec<u8>,
}

Хранит длину и данные в одной кучевой аллокации.

Дешёвое создание (Vec::new()), гибкое пополнение, срезы через &payload[..].

Самый «жабовый» вариант (аналог ArrayList, только без лишней синхронизации).

2. Box<[T]>или Arc<[T]>— «фиксированный после создания» срез

struct Packet {
id: u32,
payload: Box<[u8]>, // или Arc<[u8]> если нужно share‑ить
}

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

Нет лишнего capacity, нет метода push, зато меньше памяти и кеш‑френдли.

Хорошо ложится на паттерн «прочёл из сети → положил, не меняешь».

3. “Кастомный DST” (dynamically‑sized type) ― когда нужна C‑подобная «структура‑с‑хвостом»

#[repr(C)]
struct PacketHeader {
id: u32,
len: u32,
data: [u8], // UNSIZED хвост
}

impl PacketHeader {
// Чтение id/len безопасно, но сами экземпляры живут ТОЛЬКО за указателем
}

Разрешён только у последнего поля, и такой PacketHeader нельзя хранить как значение — его можно держать лишь через Box<PacketHeader>, &PacketHeader, Arc<PacketHeader> и т.п.

Создаётся «ручной» аллокацией + копированием данных, либо через crates вроде thin-vec / ouroboros.

Делают так в низкоуровневом коде (парсер бинарных протоколов, FFI‑обвязка).

В стабильном Rust 1.76+ уже можно безопасно “расширять” Box<PacketHeader<[u8; N]>> → Box<PacketHeader> через unsizing coercion .

---

Почему нельзя просто [T]?

Обычный struct в Rust имплементирует Sized по умолчанию.

[T] (срез) — unsized: у него нет компиляционной длины, поэтому он не может лежать «прямо» внутри значения фиксированного размера. Именно поэтому компилятор потребует обёртку‑указатель.

---

Что выбрать на практике?

Что нужноРешение

Мутируемый grow/shrink контейнерVec<T>
Фиксированная, но динамически определяемая длинаBox<[T]> / Arc<[T]>
Низкоуровневый «struct+tail» (zero‑copy, FFI)Custom DST

---

Маленький совет вместо депрессии

Начните с Vec – это буквально два слова кода, а под капотом делает всё нужное.

Когда понадобится убрать overhead, замените Vec на Box<[T]>.

А уж если полезете в zero‑copy/FFI, тогда и достанете тяжёлую артиллерию с DST.

Rust действительно сначала ведёт «за ручку», но по мере роста задач открывается всё больше голых проводов. Спокойно, шаг за шагом: сначала удобство, потом оптимизация, потом unsafe‑магия. Ты же 10лет на Java пережил— с Rust тоже справишься 🙂

Удачного кодинга!
438 3451312
>>51278
Дурак твой копайлот.
>>51257
Коротко: нет, “чистый” массив неизвестной длины внутриstruct вRust объявить нельзя – язык требует, чтобы каждый полностью‑значимый (Sized) тип знал свой размер на этапе компиляции.
Но есть три практичных обходных пути, каждый подходит под разные сценарии.

---

1. Vec<T>— динамический вектор

struct Packet {
id: u32,
payload: Vec<u8>,
}

Хранит длину и данные в одной кучевой аллокации.

Дешёвое создание (Vec::new()), гибкое пополнение, срезы через &payload[..].

Самый «жабовый» вариант (аналог ArrayList, только без лишней синхронизации).

2. Box<[T]>или Arc<[T]>— «фиксированный после создания» срез

struct Packet {
id: u32,
payload: Box<[u8]>, // или Arc<[u8]> если нужно share‑ить
}

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

Нет лишнего capacity, нет метода push, зато меньше памяти и кеш‑френдли.

Хорошо ложится на паттерн «прочёл из сети → положил, не меняешь».

3. “Кастомный DST” (dynamically‑sized type) ― когда нужна C‑подобная «структура‑с‑хвостом»

#[repr(C)]
struct PacketHeader {
id: u32,
len: u32,
data: [u8], // UNSIZED хвост
}

impl PacketHeader {
// Чтение id/len безопасно, но сами экземпляры живут ТОЛЬКО за указателем
}

Разрешён только у последнего поля, и такой PacketHeader нельзя хранить как значение — его можно держать лишь через Box<PacketHeader>, &PacketHeader, Arc<PacketHeader> и т.п.

Создаётся «ручной» аллокацией + копированием данных, либо через crates вроде thin-vec / ouroboros.

Делают так в низкоуровневом коде (парсер бинарных протоколов, FFI‑обвязка).

В стабильном Rust 1.76+ уже можно безопасно “расширять” Box<PacketHeader<[u8; N]>> → Box<PacketHeader> через unsizing coercion .

---

Почему нельзя просто [T]?

Обычный struct в Rust имплементирует Sized по умолчанию.

[T] (срез) — unsized: у него нет компиляционной длины, поэтому он не может лежать «прямо» внутри значения фиксированного размера. Именно поэтому компилятор потребует обёртку‑указатель.

---

Что выбрать на практике?

Что нужноРешение

Мутируемый grow/shrink контейнерVec<T>
Фиксированная, но динамически определяемая длинаBox<[T]> / Arc<[T]>
Низкоуровневый «struct+tail» (zero‑copy, FFI)Custom DST

---

Маленький совет вместо депрессии

Начните с Vec – это буквально два слова кода, а под капотом делает всё нужное.

Когда понадобится убрать overhead, замените Vec на Box<[T]>.

А уж если полезете в zero‑copy/FFI, тогда и достанете тяжёлую артиллерию с DST.

Rust действительно сначала ведёт «за ручку», но по мере роста задач открывается всё больше голых проводов. Спокойно, шаг за шагом: сначала удобство, потом оптимизация, потом unsafe‑магия. Ты же 10лет на Java пережил— с Rust тоже справишься 🙂

Удачного кодинга!
439 3451339
>>51312
Кокой прекрасный язык нет
мимо
440 3451349
>>51339
Так он реально хорош. Мне нужно рассчитать алгоритм где генерируется дерево с миллионами узлов, а потом ещё миллионами раз нужно его пройти обновляя веса нод.

Питон думаешь с таким справиться? А может жаба? Или скала? Или свифт? Не, с таким справятся три языка: С, С++, Rust. И из них самый пиздатый это раст.

Так что не пизди.
image.png6 Кб, 200x65
441 3451352
Бля какой кринж что они сами себя так называют. Это что то на уровне яндексоида
442 3451392
>>51352
ГНУОИД
443 3451396
>>51349

>а потом ещё миллионами раз нужно его пройти обновляя веса нод


Ты там NumPy переизобретаешь с матричными вычислениями? Так ебани на CUDA.
image.png27 Кб, 950x212
444 3451407
445 3451452
>>51396

> Так ебани на CUDA.


Блять. Ты будешь смеяться. Раст не поддерживает куда. А на С++ я не хочу писать этот алгоритм. Вот так вот...
446 3451453
>>51407
Лол. Кек.
447 3451579
>>51067

>тебя никак не смущает что ты от VCPKG ВСЁ ИЗ ПОД КОРОБКИ


>пришел к тому что ПРОЯВИТЕ ПОНИМАНИЕ, КРОССПЛАТФОРМЕНОСТИ НЕТ ИЗ ПОД КОРОБКИ


Ты кому отвечаешь? Vcpkg — это удобная windows-only параша. Всё.
Под виндой ты не можешь просто поставить Rust на комп и сразу компилировать бинари — тебе нужно либо MSVC, либо MinGW.
Далее, сам софт на Rust будет кроссплатформенным только если ты его сделаешь таким. То есть, даже в рамках Cargo + Rust на нескольких платформах ситуация не такая простая, как некоторым кажется.
В C/C++ просто ещё больше платформ, ещё больше компиляторов, и ещё больше разных систем сборки-пакетизации.
448 3451585
Zig Heil, пидорасы. В биореактор метнулись, чулочники на срасте
449 3451680

> 4:19


>>50764

> Поддержка vcpkg во все современные системы сборки встроена уже.



> 4:20


>>51579

> это удобная windows-only параша (из под коробки только в msbuild)



чел, ну уйди уже, стоит с обосранными штанами пытается всех убедить всех в обратном
450 3451687
>>51680
Чел, съеби уже со своими врёти. Тебе уже показали что в cmake точно так же vcplg работает без какого-то пердолинга.
451 3451696
Я под линупсом использую vcpkg из коробки
В vcpkg из коробки есть тулчейн для симейка
Просто указываешь cmake -DCMAKE_TOOLCHAIN_FILE=/путь/к/vcpkg/vcpkg.cmake
452 3451699
>>51696
Надо знать куда коды симейка писать после установки каждой либы. Но там немного
453 3451708
>>51452
там вроде в репозитории объявление что Rust CUDA перезапускают в 2025ом
454 3451713
>>51687

> без какого-то пердолинга


>>51696

Пердолинга нет, твёрдо и четко. Блять ебаный шиз, сьеби отсюда
ИЗ ПОД КОРОБКИ ребят, если кто то еще не понял
455 3451725
>>51713
Да из коропки. Сидишь в коробке из под холодильника и срешься в интернете что лучше руст или цпп..
456 3451737
>>51018

>дёрнуть туда-сюда счётчик


>zero-cost


Это про другое, еблан, зеро-кост -- это, когда предоставленная тебе хуитка из каропки, будет недороже твоего собственного лисапеда. Пример из жизни классеги из плюсоговна.

>Ехал Rc через RefCell


У пидораста один плюс для анальников - это нескучные обои синтаксис, потому что можно ебануть всё через свои аллокаторы/статически аллоцированые вещи, и твой баран чекер как бы уже и не нужен.
457 3451745
>>51257

>сложность


>жабист


>в компайл тайме ебашит не константу


Ну тут тупо выносите.
458 3451747
>>51585
О братан Zig! Слава Odin! Смерть пидоRustу!
459 3451768
>>51708
Да, но если не будет финансирования, то всё это такое себе. Рисковать переписыванием всего кода на С++ потому что поддержку раст-куды прекратят не хочется.
1665294053641.png8 Кб, 442x194
460 3451814
>>51747
Когда там уже 1.0 будет? И вообще zig это какой-то аналог сишки, а не крестов/раста, слишком мало сахара. После крестов выглядит неочень, на простейшие действия надо лепить бойлерплейт, а нормальные абстракции не написать. Когда привыкаешь в крестах изобретать велосипеды на ходу, хочется везде иметь такую возможность. Я вот недавно начал в стрелочки лямбды пихать, нравится.
461 3451855
>>51814

>слишком мало сахара


В этом и суть.

>метахуйня


Челибос зиг не для писания библиотек.

>нормальные абстракции не написать


>нормальные


Сорокина читни.
462 3451857
>>51855

>В этом и суть.


Забыл добавить, что эта цель плохо удалась, в зиге дохуя фичей.
463 3451863
>>51579

>Под виндой ты не можешь просто поставить Rust на комп и сразу компилировать бинари — тебе нужно либо MSVC


Для того чтобы запустить программу под ОС, нужно слиноковать системную либу этой ОС, какой кошмар.
464 3451877
>>51863

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


Кроссконпеляция, shared objects/dll. Ne?
465 3451889
>>51877
Тебе в любом случае нужны хедеры.
466 3451943
>>51863

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


Держу на связи: Golang и FPC компилируют бинари без внешних тулзов.
Здесь прикол скорее в том, что у них собственные заголовки для системы, а си-подобные языки пытаются напрямую использовать системные заголовки, типа чтобы всегда видеть актуальные заголовки.
Эта хуйня с Unix повелась, где было модно системный API специфицировать строго в форме заголовочных файлов для C, но для винды и Linux это не актуально, потому что у этих осей есть свой стабильный бинарный интерфейс.
Также, и Golang, и FPC изначально строились как системонезависимые высокоуровневые ЯП, а Си-подобные ЯП обычно подразумеваются как жёстко зависящие от системы и низкоуровневые.
Если ты не изолируешься от платформы, то ты становишься от неё зависимым — что и требовалось доказать. А мы о чём-то спорим?
467 3451985
>>51943

> но для винды это не актуально


Тогда зачем, по-твоему, для у тебя стоит десять MSVC Redistributables разных версий?
468 3451991
>>51985
upd. Да и в Линуксе бинарь, собранный под новый libc, не запустится со старой версией.
469 3452027
>>51985

>Тогда зачем, по-твоему, для у тебя стоит десять MSVC Redistributables разных версий?


Там по большей части изменения, касающиеся C++.

>Да и в Линуксе бинарь, собранный под новый libc, не запустится со старой версией.


Последняя смена мажорной версии libc была 28 лет назад, лол. Зависимость от минорных версий libc — это уже следствия забития болта на бинарную совместимость интерфейса libc, её просто никто даж не пытается поддерживать. Поддерживают только зависимость по API заголовков и ABI ядра Linux.
470 3452039
>>51855
Зачем мне читать. Абстракции не только про удобство, но и про производительность. Сишка очень сосёт в ООП-задачах например деревья, когда ты не можешь нормально объяснить компилятору что ты хочешь, вместо этого вываливая кучу процедурных костылей и сидя потом каждую строчку дроча в ассемблере, пытаясь сделать быстро. В то время как в крестах это хуяк-хуяк из классов и оптимизатор за тебя всё делает.

> зиг не для писания библиотек


Любой ЯП с невыразительным синтаксисом выразительность - это когда минимум повторений одинаковых конструкций языка, у раста например постоянно то лапша монад, то однотипные паттернматчинги только для либ и годится. Зачем писать в 3 раза больше кода, когда можно не писать. Поэтому раст так много где не взлетает, например в геймдеве. И зиг туда же, сидя примерно с таким же уровнем мусорности бойлерплейтного кода.
471 3452043
>>07697 (OP)
Какой прекрасный язык нет, астанавитесь111
472 3452047
>>51985
В винде их 3 штуки, а в пердоликсе даже libc не всегда есть, какой-нибудь musl встречаешь и пошёл нахуй. Пересборка софта каждый раз под новые зависимости - это только у пердоликса. Что уж тут говорить, когда даже финский нацик признавал какое говно дистрибуция софта в линуксе по сравнению с виндой/маком. Каждый дистр - это несовместимая хуйня.
473 3452053
>>52047

>когда даже финский нацик признавал какое говно дистрибуция софта в линуксе по сравнению с виндой/маком


А то что жалкое подобие Миникса монструозное говно он не сказал? Ща Раст в ядро затянет и можно закапывать.
474 3452063
раст прекрасный язык
475 3452065
>>52027

>Там по большей части изменения, касающиеся C++.


>


И вызовы WinAPI. Под Линуксом Го еще дергает системные вызовы напрямую, но на Винду всем похуй, он точно также линкуется с майковским рантаймом. Как и любой другой язык.
476 3452079
Блять, развели тут философию общих мест, хоть бы один засранец код привёл для разнообразия. В общем, сами перекатывайте.
477 3452080
>>52063
Докажи.
478 3452109
>>52039

>Абстракции


>производительность


Выбери что-то одно

>деревья


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

> Любой ЯП с невыразительным синтаксисо


Zig это когда ты берёшь и пишешь свой генератор и выражаешь любое возможное и невозможное дерьмище. Деревья в зиге нужно писать компайлтайм, чтобы все все ссылки были захардкоржены в этом дереве и не было никаких проходов дерева во время исполнения.
479 3452156
>>52109

> Но деревья. Ненужны.


Нужны.

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


Лол, удачи в построении дерева на миллиарды нод в компайлтайме.
S2d39d3e1d84e4a969d40cffaa1ca28fez.jpeg114 Кб, 1001x1001
480 3452201
>>52080

>Докажи

481 3452217
>>52109
Почему же тогда в репе зига активность в 20 раз ниже чем у раста? И всего в два раза выше чем у Карбона. Когда Карбон выйдет в состояние рабочего компилятора, про зиг все забудут как про страшный сон.
482 3452228
>>52217

>Карбон


АСТАНАВИТЕСЬ111
483 3452244
>>52228
Не остановимся. Судя по репе активность весь 2024 увеличивалась. В этом году допилят дизайн безопасной памяти. На конец 2026 планы выкатить 0.1 версию компилятора.
484 3452256
>>52244
А как в карбоне гарантируют безопасность памяти? GC?
485 3452274
>>52244

> 0.1


Ясно, через 10 лет что-то увидим
486 3452280
>>52156

>Нужны.


Нет. Деревья для пидоров.

>Лол, удачи в построении дерева на миллиарды нод в компайлтайме.


Тут ты прав, но деревья всё равно не нужны.

>>52217

> Почему же тогда в репе зига активность в 20 раз ниже чем у раста?


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

>про зиг все забудут как про страшный сон.


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

неосиляторы, студентота, шизы - вам всем тут рады, спрашивайте глупые вопросы, сритесь не вникая в суть, вобщем веселитесь
488 3452303
>>52287
А чего тут обсуждать? Zig лучше. Пидораст хуже. Это истина, это базис, основа.
489 3452411
>>52065

>И вызовы WinAPI. Под Линуксом Го еще дергает системные вызовы напрямую, но на Винду всем похуй, он точно также линкуется с майковским рантаймом. Как и любой другой язык.


Там даже в mvcc давно уже Unified CRT и никакой API не меняется.
А по поводу Go можно у нейросеточки было спросить, а не хуйню в инетах языком молоть:
https://www.virustotal.com/gui/file/aa119482ff9c1873781a92da74b8af2a6f292c2e9a8f46dadb868e3327cd0ec3/details
единственная зависимость у него — это kernel32.dll, ему твой visual C++ runtime не нужен. Visual C++ райнтайм — это райнтайм для ихнего компилятора и его бинарей, он никому другому, по-хорошему, не нужен, это не системные интерфейсы.
hrbogga6m9kafd8aa77fgitnnfy.jpeg65 Кб, 1095x914
490 3452422
491 3452423
>>52422
И что это?
492 3452431
>>52422
Твоя мать шлюха там написано ¯\_(ツ)_/¯
493 3452434
>>52431
азаза, чулочник
494 3452468
>>52422
Сиплюшечка родненькая ебашет всю пидорастическую лгбтшную мразотину. Юл невер би а вумен. Раст никогда не станет полноценным языком. TND. TKD.
495 3452509
>>52468

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


Жалко конечно что Фурифокс на Раст с Крестов свичканулся, не думаю что будет много желающи движок на нем поддерживать
496 3452513
>>52509

>Фурифокс на Раст с Крестов свичканулся


И сразу превратился в тоталитарную парашу с радужной гомосятиной вместо интерфейса. Идеально отражает менталитет чулочников-пидорастеров.
image.png121 Кб, 324x289
497 3452526
498 3452542
>>52526
Знаешь почему он так рот открыл?
499 3452551
>>52542
с зигадаунов рофлит?
1632534938069.png464 Кб, 648x1016
500 3452568
>>52551
Почти, с растанов. У него какая-то постироничная рубрика, где он берёт статью и разбирает по частям, пытаясь подъебнуть каждое слово. В том видосе он кекал с сишника, который перешёл на раст.
501 3452649
>>52422

>R выше раста


Вот это да...
502 3452677
>>52468

>Сиплюшечка родненькая ебашет всю пидорастическую лгбтшную мразотину. Юл невер би а вумен. Раст никогда не станет полноценным языком. TND. TKD.


Держу в курсе: муриканское правительство выпустило рекомендацию, по которой новые критические проекты с 2026 писать на memory unsafe ЯП, а для старых нужно демонстрировать соответствие бюрократическим аббревиатурам. Мой предыдущий проект ещё попадав в категорию legacy, а вот все новые уже всё.
Да, legacy ещё дохуя будет, но тенденция будет ускоряться. С одной стороны, наконец-то в софте станет меньше уязвимостейй, с другой стороны, хуже C++ может быть только Rust.
503 3452680
Я обычно озвучиваю этот тезис во всех срачах про раст, но тут что-то затупил. Надо было раньше сказать.

Основная проблема и C++, и Rust, которая приводит к переусложнённости — это подход "в каждой бочке затычка". То есть, мы делаем для написания performance-critical хуйни и драйверов ОС, и при этом мы пишем на том же ЯП бизнес-логику доставки пирожков, не имея ни GC, ни перспективы его заиметь.
Проблема в том, что архитектура классических тьюринговых ЦП фундаментально ненадёжна, оно рассыпается от малейшей ошибки в алгиритме. Например, указатель стэка случайно сдвинулся на 8 — всё, пиздец, программа пошла выполнять случайный код. На таком фундаменте ничего дельного вы не построите, в том числе поэтому LLM со своими ошибками выглядят не так плохо на фоне ненадёжной работы тьюринг-алгоритмов.

Причём, ещё раз повторяясь, безопасность доступа к паммяти не гарантирует надёжности логики. От того, что у вас программа управления ракетой остановится прямо на взлёте ракеты, у вас ракета всё равно разобъется, с безопасным доступом к памяти и без него, итог не изменится. И именно в плане надёжности писания логики архитекторы Rust вообще ничего даже не начинали делать, я совсем никак не помогает писать надёжнее логику.
504 3452685
>>52677

> в софте станет меньше уязвимостейй


а ты смешной
505 3452687
>>52680

>и при этом мы пишем на том же ЯП бизнес-логику доставки пирожков, не имея ни GC, ни перспективы его заиметь.


Ты ни JS ни Питухон ни Java не используешь для такого сорта приложений? Ну что сказать...
506 3452701
>>34601

>Пишешь многопоточный код — и знаешь, что компилятор не даст тебе сделать гоночную ситуацию. Скорость на уровне C/C++ + безопасность.


Rust никак не проверяет высокоуровневую логику. То есть, если ты сложил коровы с километрами — оно тупо сложит, ему похуй.
Далее, в фундаменте многопоточности Rust лежит ублюдочный механизм координации через блокировки и счётчики ссылки, работают только для медленной межпотоковой коммуникации какой-то GUI параши, вроде нажатия кнопочки. Когда у тебя потоки возаимодействуют через какие-нибудь ring buffer-а, или, хуже того, перекидываются сложными динамическими структурами данных, то ты охуеешь по двести блокировок и счётчиков дёргать на каждый вызов функции.
Самый простой пример корневой глобальной переменной:
static GLOBAL_VAR: Mutex<Option<Arc<Rec>>> = Mutex::new(Some(Arc::new(Rec())));
Если кому не понятно — это безопасный эквивалент сишного:
Rec *GLOBAL_VAR;
При каждом чтении безопасной растовой хуйни вы должны брать мутекс, увеличивать счётчик ссылок, копировать Arc, отпускать мутекс. Если это нужно делать раз в секунду — похуй вообще. Если у вас тысяча потоков делает это тысячу раз в секунду — они уже будут половину времени сидеть в блокировках по мутексу.

По этой причине создатели Go целенаправленно избавились от счётчиков ссылок, вместо этого предпочитая накладные расходы от lock-free барьеров записи (хуйня, которая сигнализирует сборщику мусора об изменении указателя). Самый главный профит от такой реализации Go заключается в том, что при простом чтении вам вообще ничего не нужно делать, ровно как и при изменении не-указателей. У вас даже GC не запускается, если нет выделений-высвобождений памяти.

Это рвёт шаблоны мамкиным оптимизаторам, которые рассказывают, что только на C/C++ может быть быстрый код. Ну то есть как бы да, но на написание корректного и быстрого многопоточного кода нужно въебать настолько много времени, за которое можно десять раз написать парашу на mutex+shared_ptr. А большинству просто похуй, они читают-пишут переменные без блокировок с гонками, а когда раз в месяц падает тестовый стенд под нагрузкой, то говорят "да это кароч менеджер памяти глючит, вон же ж стэк на него указывает".
506 3452701
>>34601

>Пишешь многопоточный код — и знаешь, что компилятор не даст тебе сделать гоночную ситуацию. Скорость на уровне C/C++ + безопасность.


Rust никак не проверяет высокоуровневую логику. То есть, если ты сложил коровы с километрами — оно тупо сложит, ему похуй.
Далее, в фундаменте многопоточности Rust лежит ублюдочный механизм координации через блокировки и счётчики ссылки, работают только для медленной межпотоковой коммуникации какой-то GUI параши, вроде нажатия кнопочки. Когда у тебя потоки возаимодействуют через какие-нибудь ring buffer-а, или, хуже того, перекидываются сложными динамическими структурами данных, то ты охуеешь по двести блокировок и счётчиков дёргать на каждый вызов функции.
Самый простой пример корневой глобальной переменной:
static GLOBAL_VAR: Mutex<Option<Arc<Rec>>> = Mutex::new(Some(Arc::new(Rec())));
Если кому не понятно — это безопасный эквивалент сишного:
Rec *GLOBAL_VAR;
При каждом чтении безопасной растовой хуйни вы должны брать мутекс, увеличивать счётчик ссылок, копировать Arc, отпускать мутекс. Если это нужно делать раз в секунду — похуй вообще. Если у вас тысяча потоков делает это тысячу раз в секунду — они уже будут половину времени сидеть в блокировках по мутексу.

По этой причине создатели Go целенаправленно избавились от счётчиков ссылок, вместо этого предпочитая накладные расходы от lock-free барьеров записи (хуйня, которая сигнализирует сборщику мусора об изменении указателя). Самый главный профит от такой реализации Go заключается в том, что при простом чтении вам вообще ничего не нужно делать, ровно как и при изменении не-указателей. У вас даже GC не запускается, если нет выделений-высвобождений памяти.

Это рвёт шаблоны мамкиным оптимизаторам, которые рассказывают, что только на C/C++ может быть быстрый код. Ну то есть как бы да, но на написание корректного и быстрого многопоточного кода нужно въебать настолько много времени, за которое можно десять раз написать парашу на mutex+shared_ptr. А большинству просто похуй, они читают-пишут переменные без блокировок с гонками, а когда раз в месяц падает тестовый стенд под нагрузкой, то говорят "да это кароч менеджер памяти глючит, вон же ж стэк на него указывает".
507 3452702
>>52685

>> в софте станет меньше уязвимостейй


>а ты смешной


Объективно, порядка 60% уязвимостей в коде C/C++ — это некорректная работа с памятью. Высокоуровневые ошибки в логике это не отменит, но уязвимостей станет меньше.

>>52687

>Ты ни JS ни Питухон ни Java не используешь для такого сорта приложений? Ну что сказать...


При чём тут я? Я вообще ебал в рот Rust и его толерантных инклюзивных разработчиков. Мой основной стэк — это C/C++ и Python.
508 3452713
>>52047

>Что уж тут говорить, когда даже финский нацик признавал какое говно дистрибуция софта в линуксе по сравнению с виндой/маком. Каждый дистр - это несовместимая хуйня.


Это уже давно неактуально и решено. Даже в 2014, когда Торвальдс это говорил, он также озвучивал факт стабильности ABI ядра. Уже тогда я запускал статически слинкованные бинари и они работали, хоть и были пиздец какими большими. Другое дело, что статически линкованному бинарю может понадобиться интегрироваться с остальной системой, вроде запросов к dbus или pulseaudio, а это уже не ядерные интерфейсы и к ним доступ возможен только через разделяемые библиотеки (SO). Плюс есть куски дерьма вроде Python и Perl, для которых деплоё ещё более всратый и они всегда ведут себя так, будто являются единственным ПО на машине — такой софт нужно изолировать в собственное окружение (chroot или контейнера), но при этом появляется новая проблема взаимодействия изолированных окружений.

Как раз за год до речи Торвальдса уже был выпущен Docker, и Flatpak был в ранней разработке, но стабильные Overlay FS, которые на базе read-only пакетов и copy-on-write строили виртуальную файловую систему, появились даже позже, а без них эффективное пакетирование в изолированное пространство реализовать было нельзя.

Сейчас инструменты пакетизации ещё более развиты, есть стандартизированные интерфейсы X Desktop Group, к которым можно обращаться по стабильному ABI с любыми библиотеками и статически линкованными бинарями.
509 3452719
>>52079

> Блять, развели тут философию общих мест, хоть бы один засранец код привёл для разнообразия. В общем, сами перекатывайте.



Перекотил: >>3452718 (OP)
510 3452743
Пиздец блять, мало того, что в треде орудием шиз, которого в детстве выебал раст и теперь каждое четвёртое сообщение в треде от него, в котором он кричит "растопидары" и "чулночники", так ещё этот же пидорас создаёт тред, с картинками на которых раст превращается в пидор и трапов.

Я ливаю с этой помойки. Модерация нихуя не работает. Оставайтесь сами с ебанутыми.
511 3452812
>>52509

>на Раст с Крестов свичканулся


Где лол? Там всё растовское уже выбросили и закопали.
512 3452863
>>52677
Они выпустили рекомендацию, а не регламент. Пользуйся каким хочешь языком, какая разница? Там вообще ни слова про языки. Тем более кто коммерции что скажет? Петушиное правительство спросить забыли на каком языке писать нужно
513 3452971
>>52743
Двачую, годный тред скатили в какой-то бесконечный токсичный срач.
514 3453226
>>52743
>>52971
Пиздец вы конечно неженки, токсики их оскорбляют в треде, плак-плак. В девочек мутируете?

Вы конечно могли бы волевым

> годный тред


Хоть одну продолжительную дискуссию относительно алгоритмов/технологий назови. Упс.... Нету... Оказывается в этом треде такие же джуны как и во всех других.
Обновить тред
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски

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

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