Этого треда уже нет.
Это копия, сохраненная 4 июля в 13:03.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
picrust.webp337 Кб, 1024x1024
Rust #31 /rust/ 3060192 В конец треда | Веб
Добро пожаловать в тред гарантий, обещаний, владения, заимствования и тайных знаков

Rust — невероятно быстрый язык для системного программирования без segfault'ов и с гарантиями потокобезопасности.

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

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

IDE для Rust: https://areweideyet.com/
GUI для Rust: http://www.areweguiyet.com/
Web для Rust: https://www.arewewebyet.org/
GayDev для 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 (упражнения чтобы привыкнуть к расту): 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/

Ресурсы на русском:
https://rust-lang.ru/
Отдельное спасибо автору этого гитхаба(старому ОПу). Здесь вы сможете найти много полезной информации: https://gist.github.com/TatriX/183c816f1346d418f969c4576c2b9b41

Предыдущий >>3030908 (OP)
2 3060279
Rust лучше чем C++
3 3060315
Раст пригоден для крупной разработке по типу что пишут джависты? Такое ощущение эти костыли с лайфтамими и чекерами будет очень сильно усложнять большую промышленную разработку?
image.png24 Кб, 225x225
5 3060342
6 3060346
>>060315
Усложнять будут конечно же. Джава очень простой язык.
Отвечая на твой вопрос, Ну вот смотри, фаерфокс большой проект? Цель создания раста переписать фф, например.
7 3060348
>>060335
Хз я вообще не понял нахуй оно нужно на самом деле
jackie-chan-meme-why-620x4961.jpg41 Кб, 620x418
8 3060364
>>060279
Зачем все это? Бери и пиши.
https://go.dev/
9 3060366
>>060315

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



https://github.com/firecracker-microvm/firecracker
https://github.com/vectordotdev/vector

Это достаточно крупная разработка?

Формо/крудо-шлёпить на расте будет сложнее чем на джаве, байтоёбить/экономить такты или память - проще.
10 3060368
Скажите, для установки раста все еще требуется установить 7-8 гигов С++ билдера от вижуал студии??
11 3060381
>>060364
Тебе правда надо объяснять зачем? Или ты так троллишь тупостью
12 3060392
>>060381
Ну можно, наверное, уже и свой линкер написать, а не 10 лет тянуть всю инфраструктуру вижуал студию с IDE?
13 3060467
>>060368
Для установки Раста нужно сделать sudo apt install rustup или аналог на твоем дистре, зачем тебе вижуал студия?
14 3060521
>>060467
Это прокатит только для одного процента говна, нормальные люди собирают мощные пеки чтобы еще играть и поэтому овер 60% сидят на швиндовс.
15 3060531
>>060521
Нормальные люди работают на заводе и женятся по залёту, оно тебе надо?
16 3060587
Ну чë, когда линкер напишете?
17 3060589
>>060521

>Нормальные люди


>имплаинг сам типа нормис


>/0

18 3060594
>>060521

> швиндовс


Тогда тебе надо C# ставить
19 3060696
>>060531
Не повод жрать говно, линукс удобен в плане сопровождения серверов, но как десктоп - калище еще то. Нормально писать под линукс не на линуксе, но линукс как рабочая станция, это мерзость. мимо 18 лет красноглазого опыта
20 3060737
>>060696
Очень аргументированно, издалека видно что ты очень умный. Что тебе на декстопах не нравится, убогий? Хоть бы расписал для приличия
21 3060739
>>060696
Смердопроблемы, что то хуйня, что другое хуйня но шинда вс линукс я определенно выбираю линупс

Мимо макос господин
22 3060781
Я так понял, в расте нельзя напрямую использовать vulkan, как в нормальных языках, только через кастрированный костыль vulkano?
23 3060803
>>060781
Ты понял неправильно. Берешь биндген и делаешь как тебе надо. Олсо, а в чем костыльность? Там вроде голый вулкан, только енумы обернуты.
24 3060829
>>060803
Просто в С ты можешь сразу учить vulkan по учебникам, а для раста нужно учить обертки и костыли. Наверно, новичку лучше изучать вулкан через Си, чтобы не запутаться в обертках?
25 3060844
>>060829
Новичку не стоит трогать Вулкан, потому что заебется и дропнет после первого треугольника. Это как гуи хреначить через голый winapi. А если понимаешь, что делаешь, то немного другое название функции никак не помешает.
26 3060877
>>060844
С чего стоит начинать?
27 3060882
28 3060883
>>060781

>расте нельзя напрямую использовать vulkan


можно конечно, вулкан это же С апи
просто готовься что многие функции - unsafe
29 3060950
>>060877
В идеале бы с чего-то вроде OpenGL 3.3, но для него на расте обертки только уровня того же vulkano. Остаётся wgpu. Там тоже куча дрочева, которое никак не связано с рисованием, но самые душные моменты моменты скрыты.
30 3060995
Если использовать чистый Vulkan, то придется учить отдельные api под каждую платформу?
31 3061001
>>060995

>отдельные api под каждую платформу


что ты под этим имеешь ввиду?

vulkan - кросс платформенное апи, хоть на линуксе
32 3061024
>>060950
А про Ash что скажешь?
33 3061069
>>060995

>придется учить отдельные api под каждую платформу?


Только для создания окошка, но обычно есть откуда спиздить. Или взять что-то типа GLUT.

>>061024
Тот же самый вулкан с мемори менеджментом, лейаутами и ручной синхронизацией, только приправленный сахарком. Для изучения графики не нужно.
34 3061141
>>061001
https://www.reddit.com/r/rust_gamedev/comments/p2ihhz/comment/h8kgek3/?utm_source=share&utm_medium=web2x&context=3

>If they don't want to learn how to use individual APIs on different platforms, then they want something like wgpu that can abstract it a little bit



Такой комментарий встретил. Какие API имелись ввиду?
35 3061179
>>061141
На Xbox, MacOS и iOS нет Вулкана из коробки, видимо про это. Но есть врапперы, так что на самом деле плевать.
36 3061191
>>061179

>Xbox


Там же почти обычная винда стоит
37 3061211
>>061191
Бинари для Vulkan на Винде поставляются с драверами видеокарт. На Иксбокс их, скорее всего, нет. Но опять же, качаешь первый попавшийся враппер над DX12 и забываешь.
38 3061223
>>060315
Вот пример крупного проекта https://github.com/zed-industries/zed

> Раст пригоден для крупной разработке по типу что пишут джависты?


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

>Такое ощущение эти костыли с лайфтамими и чекерами будет очень сильно усложнять большую промышленную разработку?


В каком-то месте усложняют, в каком-то упрощают. В любом случае большое приложение ты разбиваешь на слои или как в zed на несколько крейтов которые независимы друг от друга. С другой стороны концепция владения практически всегда заставляет тебя передавать ссылку, а не значение, что положительно сказывается на потреблении памяти.
39 3061240
>>061223
Есть ли у комьюнити какой-то устоявшийся логгер? В джава-подобных языках уровень логгера можно указать по уровню вложенности пакетов (где-то заглушить, где-то увеличить информирование), в расте что-то подобное есть?
40 3061245
>>061223

> 18к коммитов


> крупный проект


Как будет пол ляма, так и приходи со сказками про крупный проект с долгой разработкой. По факту это даже на средний не тянет, с его 10 мб исходников.
41 3061291
>>061245
Да пока странно выглядит, с учетом доступности только на маках. Напоминает те проекты операционных систем, которые живут на мотивации и потом чахнут.

Мне интересует больше промышленное программирование. И дело не в мемах про фабрики, а в том что между системным кодером и промышленным обычно большая пропасть недопонимания, понятно что ООП не в почете, но хороший логгер, IoC и прочее плюшки позволяют писать код годами, разными людьми.
42 3061310
>>061211
А скомпилировать самому нельзя?
43 3061356
>>061245
Пока ничего мхом в полляма коммитов и сроком в десятки лет не покрылось, ide вполне такой неплохой проект для языка который в продакшене всего пару лет. А так в основном пилят бекенд, крипту, консольные утилиты, софт для всяких коробочек в основном промышленных и драйвера в ядре.

Ты бы хоть на примере показал какой КРУПНЫЙ проект есть на жабе, который соответствует твоим критериям, чтобы понять о какой промышленности ты тут говоришь. А то у нас недопонимание.

>>061291

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


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

>И дело не в мемах про фабрики,


Это не мемы, я проходил стажировку на спринге и на себе ощутил эти упражнения в паттернах которые со временем становятся антипаттернами

> ООП не в почете


Это у сишников такой загон

Ты случаем не тот самый шиз из предыдущих тредов?
44 3061359
>>061310
Драйвер видеокарты? Лолнет, нельзя.
45 3061428
>>061356

>Ты бы хоть на примере показал какой КРУПНЫЙ проект


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

Раст пытаются натянуть на веб, стало интересно как на процедурном коде это все ляжет (без логгера с настройкой вложенности, без IoC). Просто, если без обид, то системные программисты обычно плохо разбираются в архитектуре, им смешно, забавно, а многие вещи буквально вытягивают сопровождение в таких "слоенных" проектах как в энтерпрайзе.
1683319419821.png120 Кб, 987x283
46 3061453
>>061223

> Вот пример крупного проекта https://github.com/zed-industries/zed


Ну нет, вот держи пример крупного проекта на крестах, 430к коммитов. И количество форков тоже хороший показатель вовлеченности людей в разработку - у zed 900 каких-то трапов, у пикрилейтеда 48к.
47 3061517
>>060366

>байтоёбить/экономить такты или память


Проще на Си.
48 3061527
>>061356

>и драйвера в ядре


В прошлом треде выяснили, что это за драйвера лол.
49 3061643
>>061223
Более трех лет пилят редактор на маке в глубокой бете, при условии существования всяких LSP.
Не про это ли говорил анон, что разработка на расте долгая?
50 3061644
>>061527
Можно узнать историю?
51 3061657
>>061453
А где ссылка-то, болезненый
52 3061707
Хотелось бы, чтобы было реализовано нативное графическое API на Rust, а не пользоваться обертками, которые неизбежно накладывают ограничения производительности. Хочется экосистему на расте.
Как эпл, сделала metal для себя.
53 3061716
>>061707
Зачем графическое апи на компилируемом в машкод языке? Тебе нужно кнопки быстро-быстро рисовать? С гуями и петухон справится.
54 3061728
>>061716
Бессмысленный вопрос.
55 3061762
Раст неплох и удобен, но блин, я только что понял что концепция владения тупо говно. Почему нельзя было сделать проще, ведь все равно мы манипулируем не владением, а ссылками. Нахер это владение. Сделать просто два условия - освобождать память в том же скоупе (лайфтайме) или по вызову ручкауми и работать только с ссылками.
56 3062096
>>060192 (OP)
Стоит ли начинать изучение низкоуровнего программирования с Rust, если не разу не писала на C/C++?
17081226564930.mp43,5 Мб, mp4,
1280x720, 0:15
57 3062115
>>062096

>не писала

58 3062129
Rustовчане,
Чем в rust заменить безусловный переход (типо goto)?
Учу rust и пытаюсь написать прогу по гипотезе коллатца
59 3062178
>>062096
Какие цели, если байтики в ардуинке дергать, то раст идет лесом, если веб, то раст идет лесом. Если пишешь бд, бразер, графический редактор, то может быть, но скорее всего всосешь по либам и докам.
Да, раст еще труднее читать, чем писать. Так что 10 раз подумай.
60 3062193
>>062115
Очередное подтверждение, что на расте пишут одни небинарные одноногие LGBTQ+ BLM активисты.
61 3062461
>>062115
>>062193
Автозаполнение превратило меня в трэнника, со мной всё нормально, мужики.
62 3062462
>>062178
Хочу моды на S.T.A.L.K.E.R. делать.
63 3062470
>>062461
Одна ошибка и ты ошибся.
64 3062693
>>061644

>пруф хотя бы в том, что единственный, помимо обвязки, кусок кода на расте в ядре сейчас, это драйвер https://github.com/torvalds/linux/blob/master/drivers/net/phy/ax88796b_rust.rs - типа, смотрите, как надо.


Один единственный драйвер в мэйнлайне на расте, при этом 1 в 1 с кодом на Си.
65 3062698
>>062693

>при этом 1 в 1 с исходником на Си



Бiстрофiкс
66 3062707
>>062693
Лол
67 3062723
>>062693
Покажи мейнкун драйвер на go или на плюсах.
Screenshot from 2024-02-25 12-50-10.webp25 Кб, 450x762
68 3062753
69 3062758
>>062753
да, сам вижу, что через рекурсию это не совсем goto
70 3063247
Мне одному раст немного напоминает тс по синтаксису? Как будто си скрестили с тс
71 3063262
>>063247
Да, одному. Остальным он напоминает перл.
image.png180 Кб, 480x340
72 3063788
Чет орнул
73 3063904
>>063788
В голос.
74 3064075
Почему на расте еще нету гит сервера? Неужели гитлаб/гити недостаточно развитый проект, чтоб его переделать на раст
75 3064224
>>064075
Возьми да напиши
76 3064279
>>060192 (OP)
Может ли компания Х начать развивать раст в своем видении без мнения Rust Foundation?
77 3064418
>>064075
Зачем
78 3064642
>>064279
Если сделает форк, то да
79 3064678
>>064642
Не хочу форк, хочу чтобы это был типа rust++
80 3064740
>>064279
Форк да. Уже даже есть один https://crablang.org
81 3064809
>>064740
Это не форк. Это ребрендинг.
82 3065389
83 3065395
>>061223

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


А это вообще к чему было? В той же джаве ты в 99% случаев ссылки перекладываешь
84 3065397
>>062096
По-моему С - это самый простой язык из перечисленных, наверное лучше с него
85 3065402
>>060315
Наверное вывернуться можно. Вот только зачем? Будешь писать на джаве так же кропотливо как на расте - и работать будет примерно как на расте. Так уж проще писать на джаве.
86 3065460
>>065397
Ебанутый?
87 3065466
>>060279
В чём?
88 3065641
>>065466
не в чём, а чем
89 3065673
>>065460
Конечно, ведь на много проще изучать изучать концепции владения, трейты и функциональщину, чем язык в котором из конструкций - функция, структура и указатель.
Хайпующие вкатуны совсем обезумели.
90 3065705
>>065673
Я тот самый хайпующий вкатун. Да, я стану мастером Раста будучи вкатуном вкатившимся на хайпе. Весь этот итт тред будет мною восхищаться. Точка.
91 3065732
>>065705

> на хайпе


Ты на 5 лет опоздал.
92 3065743
>>065732
Ну так он уже 5 лет и хайпует потихонечку. Всё правильно. Скуфидон, будь попроще
93 3065805
>>065466
Всём.
>>065641
Чем си.
94 3065818
>>065732
Нет, когда раст только появился - хайпа не было. Это только сейчас стали на самоподдуве его разгонять.
95 3066468
>>066456 (Del)

> это просто неудобно


Безопасность всегда была неудобной. Длинный пароль из цифр, букв и спецсимволов, без возможности его записать, с требованием менять на новый каждые две недели - тоже неудобно, зато безопасно. Так и тут. Боров на борове и чеком погоняет. Неудобно, зато если скомпилировалось уже не упадёт. Если ансейфами себе в ногу не настрелял, офк. И офк, если не накачал крейтов с ансейфами внутре, ты такой весь сейфный, но с крейтами, но в код крейтов не заглядывал.
image.png21 Кб, 223x1072
96 3066481
>>066468

>зато если скомпилировалось уже не упадёт


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

Раст никак не решает системную сложность, 100500 картинок которые были в треде тому подтверждение, лови новую.

сложные пароли группируются в кей-менеджер, поэтому хватит графоманить.
97 3066484
>>066481

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


Правилами информационной системы запрещено.
98 3066493
>>066481
Просушил штаны и вернулся, шиз
99 3066721
>>065673
Долбоёб, который писал только лабы на Си, ты? В Си хуилион подводных камней, в связи с чем конпелятор постоянно тебе пытается воткнуть нож в спину, а также тут хуилион вопросов с тулингом, в пидорасте пространство аналогичных вопросов гораздо меньше - вкатуну будет проще

>концепции владения


В Си они тоже есть, но мы уже поняли про уровень твоей компетенции.
100 3066834
>>065673
адекват
Си это буквально самый простой язык из всех возможных
В языке буквально пару семантик и легчайший синтаксис

неговоря еще о том что большинство либ с которыми ты будешь работать это С api, и лучше знать их чем какие то обертки на расте
101 3066848
https://www.youtube.com/watch?v=T4ZUMvALdKI
Как будете оправдываться?
изображение.png514 Кб, 600x429
102 3066849
103 3066851
>>066848
не трясись

>>066848
это разве не старая новость что анб говорила плюсы не юзать?
или это что то новое?
104 3066857
>>066851

>анб говорила плюсы не юзать


И в чём они не правы?
105 3067194
>>066851

>анб говорила


Эти плохого не посоветуют.
106 3067302
>>066851
почему? а что юзать?
почему тогда Ghidra на плюсах?
107 3067314
>>067302

> почему? а что юзать?


Чо ты у меня спрашиваешь, у анб узнавай
Они там целый документ на этот счёт выкатили

> почему тогда Ghidra на плюсах?


Ху
108 3067329
>>067314

>Ху


вот и думай
109 3067549
>>066857

>анб говорила


Ага тысячи зависимостей, хер пойми от кого и откуда, безопасненько. Че морду скрючил, иди обновляй бэкдоры.
110 3067560
>>060192 (OP)
Нихуя не пойму о чём вы спорите.
Что написано на Rust?
111 3067563
>>066834
Ты плохо знаешь Си и вряд ли писал его сиртаксический разбор.
112 3067575
>>067563
Я писал: компиляторы, ядро ОС, эмуляторы. Недостаточно для знания Си?
113 3067622
>>067575
А прошивки для космолётов писал?
114 3067629
>>066721

>В Си они тоже есть, но мы уже поняли про уровень твоей компетенции.


А твой уровень компетенции? Сколько лет в коммерческой разработке на С и что пишешь?
115 3067633
>>066721

> В Си хуилион подводных камней


Если ты знаешь UB стандартной библиотеки, их резко мало. SAST быстро находит большую часть неочевидного, DAST оставшуюся.
116 3067634
>>067302
Не смотрел, но разве не на джаве?
117 3067639
>>066848

>In a new report, the White House Office of the National Cyber Director (ONCD) has called on developers to use "memory-safe programming languages,"


>Java is considered a memory-safe language

118 3067640
>>066721

>В Си хуилион подводных камней


Конечно, каждый кто пытается научиться программировать с программы-калькулятора натыкается на баги в компиляторе
119 3067643
>>067302

>почему тогда Ghidra на плюсах?


https://github.com/NationalSecurityAgency/ghidra

>Java 85.9% C++ 6.9%

smile2.png114 Кб, 359x250
120 3067646
>>066848

>Actually rust has not been mentioned yet, but it's coming


cope
121 3067647
ghidra.PNG7 Кб, 407x139
122 3067650
>>067647
Узнаешь ссылочку? Перейди и посмотри статистику по языкам, только чистые штанишки приготовь сразу, а то задрищешь
123 3067657
Всем привет
начал изучать раст
пока более менее понятно
124 3067661
>>067575

>Я писал: компиляторы, ядро ОС, эмуляторы.



Писал или написал? Где можно посмотреть на твой компилятор?
125 3067665
>>067661
Да, чел, написал компилятор уровня llvm в одиночку, щас скину тебе за щеку
126 3067690
>>067575

>уии писал


И говёно писал судя по всему, потому что глубоко не осознаешь проблем с языком.
127 3067693
>>067690
Не трясись, зумерок.
128 3067697
>>067646
У меня все физруки в универе были именно МС, кто-то по боксу, кто-то по лыжам, в ПТУ да, были просто люди с улицы.
129 3067698
>>067563
компилятор си это буквально легчайший из возможных
литерали задача уровня курсовика для 3 курсника
130 3067767
>>067693
Напиши реализацию абс на C.
131 3067978
>>067767
Написал тебе за щеку, проверяй.
132 3068000
>>067978
Ебать ты истеричная хуйня.
А по сути - ты ничтожество.
133 3068026
>>068000
Я гениален и знаю побольше вашего. Можешь и дальше биться от бессильной злобы и зависти.
134 3068037
>>068026
Говно, твои слова это мусор. Просто дай ссылку на свой профиль на гитхабе.

Чтобы так пиздеть, как ты, надо хоть что-то из себя представлять. Пока что ты просто 🤡.
135 3068137
>>068026
Ты случайно не тот шиз на которогу ссут из треда в тред?
136 3068346
>>068137
Не, это вроде больше на тебя похоже
137 3068602
>>068346
>>068137
Вы оба промахнулись, на самом деле обоссаный шиз - я! Уаххаха!
138 3068900
>>067560
Линукс
139 3068903
>>067657
Держи нас в курсе.
image.png383 Кб, 700x599
140 3068905
>>068137
О, доктор пришел, этот чудесный человек по всем тредам ходит и ищет какого-то шиза. не понимая, что шиз это он
141 3068907
>>068905
А ты прям по всем тредам ходишь и знаешь что я и кому пишу?
142 3068920
>>068907
Нет же, что-ты, у меня талон только на три треда.
143 3068925
>>068920
Зачем ты меня преследуешь?
144 3068928
>>068903
Ну я буду сюда и за советами приходить.
145 3069460
Как на расте сменить обои рабочего стола? Желательно кроссплатформенно, винда, мак, линукс-гтк.
146 3069535
>>067560
Куча петпроектов
147 3070264
>>067978

>-Уии пишу конпеляторы


>-Напиши реализацию абс


>..


>пук-среньк

148 3070298
>>070264
>>067767
Отрезаеш старший бит (хранящий знак) и возвращаеш. Писать лень.
мимо
149 3070304
>>070298
Вот по этому вам лучше на питонедорасте писать, а не на сишке, сишка сложная.
151 3070473
>>067698
Покажи свой..
Ты хоть понимаешь как tiny c compiler работает?
152 3070590
>>070473
Нет конечно, расскажи очень интересно!
153 3071404
>>069460
Попробуй отправлять команды на смену обоев через std::process::Command. Разные оси можно указывать через cfg
154 3072973
>>070470

>Нужно еще оставшиеся биты инвертировать


Ебать тут специалисты
155 3072976
>>071404
То есть, мне нужно написать приложение, меняющее обои например на си, а затем, мне надо будет написать на расте приложение, создающее приложение, чтобы я менял обои, пока меняю обои? Хмм... Нет.
156 3073003
>>072976
То есть ты знаешь как написать программу на си которая меняет обои, но не понимаешь как это сделать на расте?
157 3073058
>>072973
Охуеть кто голос подал!
158 3073165
сап, пишу вебню, первый раз на расте. Сталкиваюсь с тем что кучу ебаных ошибок надо как-то хэндлть, а ума не приложу как это сделать лучше. Что-то подсказывает что нужен енам, может даже макрос написать какой-то для него надо, но хз. Может есть у кого примеры того, как хэндлить ошибки?

Ошибки такого уровня у меня сейчас
159 3073171
>>073165
Теперь сравни это месиво с кодом на го или на шарпе.
160 3073180
>>073171
Лучше покажи примеры годного хэндлинга ошибок
161 3073185
>>073180
Просто берешь и не пишешь на этом говне.
162 3073193
>>073185
Хочу на расте писать и точка.
163 3073220
>>073165
>>073180
Создай нужные функции, например

pub fn owu6ka<T: Debug>(msg: T) -> async_graphql::Error {
warn!("Пишу в лог {:?}", msg);
async_graphql::Error::new("Пишу клиенту что у него owu6ka")
}

А уже в коде перед самой отправкой на клиент используй map_err:

let user = self
.models
.user()
.find_by_email(email)
.await
.map_err(owu6ka)?;

На клиент по сути надо обощенную ошибку, чтобы ничего не выплюнуть лишнего, а остальное в логах пишешь как надо. Мы используем anyhow и где надо добавляем контекст в итоге в логах написана вся красота
164 3073253
>>073220
спасибо. Чище выглядит теперь
165 3073254
>>073253
Правда теперь надо засунуть логирование и энихау, но это уже следующим шагом
166 3073429
Если в расте туго с GUI библиотеками, имеет смысл прогу написать консольной, а гуй-обертку написать на более доступном языке? Типа как пишут сторонние авторы обертки для консольных утилит.
167 3073445
>>073429
Да, на доступных языках HTML, CSS и JS.
168 3073449
>>073429

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


Имеет смысл пойти нахуй и тупорылые вопросы не задавать!
169 3073454
>>073429
Попробуй tauri, у тебя будет WebView, в котором ты гуй на любом JS фреймаорке можешь написать.
Ну или Slint есть хочешь qt-like декларативщины.
170 3073459
>>073454
А в чем минусы сторонних оберток, это плохо работает или что?
Вот к примеру https://github.com/kannagi0303/yt-dlp-gui гуй на шарпе, а софтина на питоне.
171 3073490
>>073429

> а гуй-обертку написать на более доступном языке?


Гуй-обёртку зачем на языке писать? Гуй-обёртку надо в дизайнере форм формошлёпить. Не? Саый лучший из виденных мной дизайнеров форм - это дельфи и его клон лазарус (который уже не нужен, ибо нынешние владельцы дельфи опомнились и выпустили бесплатную версию, но было поздно, ахаха).
172 3073530
Никто не посоветовал egui, ну что за люди. Может ему и надо-то, что одиночную форму с парой кнопоцк.
173 3073537
>>073530
Посоветуй.
1709584436722.png143 Кб, 600x290
174 3073614
>>073530

> Никто не посоветовал


Понимаешь, сложно советовать что-то человеку, не читающему шапку.
175 3073618
>>073459
Смотря что ты пишешь, зачастую бывает неудобно выстраивать взаимодействие между двумя процессами, особенно если много разных методов нужно вызвать и структуры передавать сложные. Если что-то простое и прямолинейное, то почему бы и нет, если работает и быстро можно наваять.
176 3073625
>>073429
На расте вообще туго с любыми либами.
>>073454

> Попробуй tauri


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

> это дельфи и его клон лазарус


Они устарели насколько вообще можно, со времён ХР там ничего не менялось, ещё и паскаль вместо ЯП. У майков есть формошлёпство на шарпе, даже удобнее лазаруса хуяк-хуяк делать, есть мультиплатформа для линуксоидов/мака даже. Под виндой так же есть свежий WinUI, на крестах, по скорости и красоте гуя это вообще топ, отрисовка сильно производительнее qt.
>>073530
Потому что оно ЦП жрёт адово, ещё и надо с рендерингом ебаться. Использовать immediate гуй для пары кнопочек - это совсем пиздец. А ещё у юзеров без видеокарты будут сюрпризы, смотря какое графическое API возьмёшь - в лучшем случае будет тормозить как сука, в худшем вообще не запустится. Если реально надо пару кнопочек сделать, то лучше уж на голом winapi - будет легковесно, быстро и работать у всех.
177 3073629
>>073625

> формошлёпство на шарпе


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

> свежий WinUI, на крестах


Вот это уже интереснее, в контексте связки с бэком на расте.
178 3073631
>>073629

> компилируемого язык


Так и шарп компилируется уже в нативный код, лол. Уже две версии дотнета как там есть AOT-компилятор вместо JIT. Поддержка формошлёпства правда пока частичная, но допил идёт.
179 3073634
>>073631

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


> AOT-компилятор вместо JIT


Не разбираюсь в сортах говна.
Вот раст искаропки компилируется в нативный код и мне не надо ничего гуглить.
180 3073779
>>073490
гугли qt, gtk
181 3073783
>>073614

>не читающему шапку


Сложно не жопой прочитай изначальный мой пост. Уровня qt и gtk фрейворков на расте нет и не будет. Только недокостыли для связывания с++ библиотек с растом.
182 3073785
>>073625

>На расте вообще туго с любыми либами.


Вот на этом и мрут 99% новых инновационных языков из-за отсутствия экосистемы. Жить могут только языки, поддерживаемые корпорациями типа гугл.
Так что, похоже, кодинг C/C++ будет существовать до второго пришествия, каким бы он уебищным не был.
183 3073813
>>073629

>ты получаешь жирный вендорлок.


Ну да, у нас тут есть стандарт, с десяток компиляторов и сотни сайтов репозитарий. Никакого вендерлока.
184 3073817
>>073785

>Так что, похоже, кодинг C/C++ будет существовать до второго пришествия, каким бы он уебищным не был.


Опыт зига показал, что людям нужен скорее язык с полным интеропом и кросскомпиляцией и люди, в этом случае, даже готовы брать бета язык.
А для проблем с памятью достаточно тестового аллокатора.
185 3073831
>>073625

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


Пользуюсь им, сделал пару утилиток для хакинга для себя, проблем никаких. Может у тебя руки не из того места?
186 3073971
>>073817

>Опыт зига показал


Что за опыт, где показал?
187 3073976
>>073971
Опыт написания todo-app-cli
189 3074090
>>073831
Выложи.
190 3074098
>>073454
А там можно сделать split screen, поделить экран на независимые части или, если подключены несколько мониторов, на каждый монитор выводилась свое окно/фуллскрин?
191 3074132
>>074098
Можно.
Vanilla 192 3074156
>>072976
По любому на Mac и разных окружениях Linux это можно сделать через команды. Если нет, то можно просто менять конфиги (путь к картинке)
193 3074164
>>074132
Твердо и четко?
Аноним 194 3074249
>>073785
Rust уже используют эти самые большие корпорации. Он уже достаточно жирный, чтобы существовать самостоятельно. По крайней мере, в нём полно всяких врапперов для различных библиотек с плюсов.
195 3074273
>>074249
Нет, нужно всё переписать, и плюсы должны уйти в забытье.
196 3074530
>>063247
.unwrap() = await
В ЧЕМ Я НЕ ПРАВ?
197 3074536
>>074530

>В ЧЕМ Я НЕ ПРАВ?


В том что не открыл документацию
198 3074568
>>074530
Анврап - это кейс элс, генерящий экзепшон. Причём тут эвэйт?
199 3074621
>>074568
>>074536
Потому что await анврэпит Promise, как unwrap анврэпит Result. И тоже может зафейлить
200 3074631
>>074621
Алсо, там где в тс обычно Промисы, в расте обычно Результы. А resolve, rej - это тупо Ok(), Err
201 3075174
>>060192 (OP)
учтить раст как 1ый язык норм?

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

хочу делать
а) 500к в месяц(баксов... мб питон ML качать и в Долину - это наибыстрейший способ, нет/да?)
б) работу без стресса, любивую, 40ч в неделю за по верху рынка но готов 60ч за 350% от рынка
в) для души - хотел бы делать ААА игры чтобы продавались по 20 млн копий, на все платформы, типа Гта и ведьмака но круче, чтобы 4 измерения, дееткив и мистика, парарлеьные миры, 8 разлитчных веток сюжета(НЕ пересекающиеся. т.е.начав на 20% прохождени игры играть скажем РЕНЕГАДОМ а не ГЕРОЕМ - у тебя будут иные миссии(в тех же местах), иные сцены, иные разивтия персонажей...
202 3075184
>>075174
Тебе тяжело будет, иди в питонотред
203 3075185
>>075184
почему... ((
204 3075235
>>075174
Это не троллинг, кстати, это ребёнок-даун добрался до компа. Не смейтесь над больным.
205 3075274
Всё. Пойду 1с учиться и заводить нетворкинг с кабанами по менеджерской линии. Выйду на 20млн/год за год.
206 3075389
Я же правильно понимаю, растопидарaxи не смотрят асм на выходе?
207 3075445
>>075174
На расте нет своих библиотек
208 3075547
209 3075617
>>073817

Опыт зига это реализация bun.js? Потому, что других извстных решений я не знаю. И если это так, то этот опыт пока нельзя считать релевантным.
210 3075646
>>074249

Всё так. Ещё пару лет такими темпами и отказаться от языка и вернуться к тем же плюсам будет очень сложно. Единственный современный конкурент это Mojo, но и там надо релиза ждать, чтобы нормально сравнивать.
211 3075660
>>075646
щас бы сравнивать жопу с пальцем
212 3075681
>>075646

>Mojo


Это нишевая хуйня для МЛ и питонистов, там даже костыли для питоновского синтаксиса ввели, чтобы тупо копипастить питоновский код. А так тот же раст без владения и лайфтаймов, со структурами и трйетами без полноценного ООП, но в питоновском стиле
213 3075844

>>3075836


В расте вообще нельзя без "безопасных" обёрток использовать низкоуровневые либы, религией запрещено.
214 3076840
Пока непонятна тема с импортами, областями видимости. Хуже чем в плюсах.
215 3076954
>>076840

> Хуже чем в плюсах


Ты про плюсовые модули? Ну хзы...
216 3077378
Почему АНБ не котирует плюсы? Это же та же сишка, но с расширениями.
217 3077391
>>077378
А разве АНБ котирует сишку?
218 3077436
>>077391
А что она котирует тогда из системщины?
219 3077550
>>077436
Джаву.
220 3077554
>>077550

>Джаву


Язык-гной, язык-пидор.
221 3077588
>>077554
Поясни
222 3077626
>>077378

> Это же та же сишка, но с расширениями


Вот именно поэтому. Плюсы котируют там где пишут на них не как "на сишке с расширениями".
223 3077642
>>077626

>Плюсы котируют там где пишут на них не как "на сишке с расширениями".


поясни
224 3078411
>>077436
Аду и раст
225 3078769
>>078411
мда
226 3079977
>>060192 (OP)
установил вскод и раст
что делать? учить by example? хочу работу скорее найти
227 3080005
>>079977ъ

>вскод


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

>учить by example


опыт в программировании на других языках есть? Может ну его, этот раст?

>хочу работу скорее найти


Пока что количество программистов, которые в восторге от раста, сильно превышает запросы работодателей, так что тут надо быть ниибаца каким бородатыч сеньором в свитере с крестами в анамнезе. Свитер есть у тебя?
228 3080078
Можно на расте сделать движок уровня rage?
229 3080126
>>080078
Сашенька, сперва уроки, потом движок.
230 3080382
>>080078
Нужно.
231 3080389
>>080005

>опыт в программировании на других языках есть? Может ну его, этот раст?


0
раст просто модный
232 3080404
>>080389
Модный? Модный-то сишарп. А раст, он как шахматная задачка для продвинутых шахматистов.

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

233 3080441
>>080404
сишарпу лет 20, нет?
234 3080600
>>080441
И чё, бля, и чёёёё???
235 3080643
>>080382
Но как, если нет графической апишки на расте?
236 3080649
>>080643
Нужно на расте сделать графическую апишку.
237 3080652
>>080649
Ну ты и фантазер.
238 3080703
>>080643
Есть.

> но это кок-пок биндинги!


По такой логике, приложение на расте вообще запускается в ОС, написанной на си. Надо начинать не с "графической апишки", а с написания ОС на расте. Тогда троллинг удастся.
239 3080764
>>080703

>Есть


Нет, нету. Ты не видишь разницы между нативным апи и прослойками?

>вообще запускается в ОС, написанной на си


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

>троллинг удастся.


хуюлинг, додстер.
240 3080770
>>080764

>Нет, нету. Ты не видишь разницы между нативным апи и прослойками?


>


> компилятор всё переводит в машинные коды, и на низком уровне нет разницы в языках



Ты буквально сам опроверг собственный тезис.
241 3080790
>>080770
Ты не компетентен.
242 3080807
>>080790
Если я оберну функцию malloc функцией yoba_malloc, означает ли это, что я больше не пользуюсь стандартной либой C?
243 3081168
>>080790
Ты не компетентен.
244 3081200
>>081168
ты такой забавный
1710152668023.png107 Кб, 510x573
245 3081427
Аутиста закоротило ИТТ, лол.
246 3081688
>>078411

>и раст


>-safe memory language


>-анус ставишь?


>-нет


))
247 3081742
>>081688
Поставленный анус не проходит проверку борова-чекера как заимствованный, поэтому вангование не компилируется.
248 3081746
>>081742

>кок-пок боровчекер


Как же так вышло, что были баги в стандартной либе, язык же безопастный?
249 3081760
>>081746
Язык безопасный, а идеального кода никто не обещал. Баги есть. Баги отлавливаются. Так и живём.
250 3081766
>>081760

>безопасный язык


>никто тебе ничего не обещал


В голосину нахуй с таких ГАРАНТИЙ ))
251 3081789
>>081766
Соломенное чучело в треде:

> идеального кода тебе не обещали


> никто ничего не обещал

252 3082425
Если компания сделала проприетарный движок для ааа игр, имеет ей смысл развивать опен сорс движок для инди игр?
253 3082548
>>082425
Да. Иди развивать.
254 3082549
>>082425
Зачем индюкам опенсорс? Им главное чтобы куча фич и бесплатно.
255 3082811
>>077554
Нет ты
256 3082813
>>077550
Вот это настоящая база
257 3082904
Зачем нужно время жизни? Вчера читал, что-то не сильно понял. Только простой пример, что возвращается некий тип из функции, который моржет быть одой ссылкой или второй, Более сложного примера не удалось придумать
258 3082980
>>082904
1. Данные автоматически удаляются при выходе из блока. Это понятно?
2. При вычислении некоторого выражения в некотором блоке, ты хочешь вернуть вычисленные данные. Такое бывает?
3. В расте ты вычислил данные, пытаешься их вернуть, но они удаляются согласно пункту 1.

Твои действия?

Ответ: надо как-то пометить возвращаемые данные, чтобы они могли пожить некоторое время, при выходе из блока, в вышестоящий блок и этой пометкой и является лайфтайм.
259 3083063
>>082980
Какая же уебанская реализация. Осоюбенно static
260 3083232
>>083063
Да, я когда до этого дочитал в растбуке, тоже приуныл. Сначала всё было хорошо, а потом пошло: а-штрих, бэ-штрих...

Надо было как-то элегантнее сделать.
261 3083295
>>082813
хуяза, даун
262 3084072
>>083295
Ладно.
263 3084424
>>082980
Возвращаешь данные, а не ссылку на данные.
264 3084427
>>080389

>раст просто модный


9 лет после релиза.
265 3084431
>>082904
Костылизация, оказывает владение сложнее хеллоу-ворда плохо ложится на реальным мир разработки. Дальше будет хуже.
266 3085325
>>067560
раст написан на раст
267 3085334
>>085325
Один раз раст и вот ты уже пидораст.
268 3085404
rayon с его par_iter можно красиво распараллелить на несколько серверов? есть красивое решение? или это из совсем другой области?
269 3085909
>>085404

> это из совсем другой области

270 3085913
>>084431
Двачую. Вернулся опять на шарп. Мечтаю о нативном шарпе без дотнета (НО НЕ СИ!!). ИТТ сижу по привычке. Вдруг случится чудо и раст... Впрочем, нет.
271 3085951
>>085913
неосилятор, спок
272 3085974
>>085951
Я всё прекрасно осилил, просто пока что мне надо формошлёпить КРУДы, на шарпе мне привычнее и быстрее. Как появятся системные задачи - я раст в уме держу.
image.png1,2 Мб, 671x800
273 3085988
>>085974

>я раст в уме держу


а должен держать в сердечке, неосилятор
274 3086070
>>085988

> бубубу, яскозал!


Ладно-ладно ржавошиз. Держу в сердечьке, главное не нервничай, успокойся, положи нож на место, блядь!
image.png3,1 Мб, 1920x1080
275 3086141
>>085325
Раст написан на юните и на сишарпе
276 3086144
>>085951
Раст не сложный, он скорее неудобный, неприятный. Я осилил, но положил болт, просто не комфортно писать, не получаю удовольствие, особенно после котлина, где меня просто избаловали.
277 3086150
>>086144

>Раст не сложный, он скорее неудобный, неприятный


В чём это проявляется?
278 3086165
>>086150
Ну знаешь есть понятие цветных функций, а из лайфтаймов появляются еще цветные несовместимые типы. Эти костыли rc, refCell, fnMut итд. Само по себе владение, костыль, потому как работаешь с ссылками, а там другой раст. Магия макросов, само по себе трудное чтение кода, процедурное программирование зло. То есть, банально больше 3-4 параметров в функции уже зло, а писать в объектном стиле понадобиться и IoC, а там уже и геттеры/сеттеры, в общем, процедурное программирование мертво. Опшены это просто операция ветвления. Для промышленного кодинга эта хрень не годится точно, нужен стектрейс ошибок и иерархия ошибок.

Много еще от чего у меня бомбило, но я уже не помню, одно только отсутствие GC не выкупает все это говно.
279 3086175
>>086165

> одно только отсутствие GC не выкупает все это говно


> рили не выкупил


Мы вас выслушали. Мы вам перезвоним.
280 3086258
аноны, тут, это, блэкрок esg лавочку прикрывает. Я вот подумал: а пидарасы в расте не по этой ли статье проходили? Если так, то скоро чулочников повыпрут за ненадобностью.

https://finance.yahoo.com/video/blackrock-drops-esg-approach-transition-225945468.html
16945850756230.jpg246 Кб, 900x900
281 3086418
>>086165

> процедурное программирование мертво


...

> банально больше 3-4 параметров в функции уже зло


уже даже в си эту проблему решили, посмотри как апи в вулкане том же устроен
282 3086452
>>086258

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


Ты от этого бестолочью быть не перестанешь.
283 3086501
>>086418
Ещё бы в расте решили её, а то у них лапша из билдеров.
284 3086570
>>086418

>уже даже в си эту проблему решили, посмотри как апи в вулкане том же устроен


Покажи
285 3086593
>>086501
перепиши вулкан на раст, не будет лапши
286 3086829
>>086144

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


Хах, я на котлине не могу после раста. Хуй пойми откуда ждать иксепшон, енумы какие-то стрёмные, туплы ебануто реализованы. Но удобнее голой жабы, это да.
287 3087285
>>086829

>Хуй пойми откуда ждать иксепшон


Сразу видно вкатуна, который никогда не работал. В 90-99% случаев ты не можешь восстановить контекст и просто логируешь сообщая о сбое, поэтому и ручная обработка, она же checked exception, была признана моветоном и исключена из котлинов и шарпов. Но зумеры вернули их в го, расте, вроде в свифте.

Я конечно понимаю, что раст низкоуровневый, но радоваться долбежки в ошибки на каждой строчке, такое себе удовольствие. Исключительные ситуации на то и исключительные, что не являются нормальным процессом работы и требуют отдельного внимания.
image.png23 Кб, 639x197
288 3087292
>>086570
пикрил
вместо миллиона параметров, есть простая структура данных, где поля это и есть параметры
код становится читаемее во много раз

>>086501
билдеры же один параметр принимают
289 3087300
>>087292
Так это и есть билдер хуйня. Впрочем ничего заметно лучше все равно нет.
image.png31 Кб, 771x236
290 3087302
>>087300

> Так это и есть билдер хуйня.


под билдером в 99% случаев понимают вот такую конструкцию
291 3087309
>>087302
А внутри этой структы билдера хуйня как тут >>087292
292 3087318
>>087309
внутри там вобще всё что угодно может лежать, хоть глобальные переменные или синглтон

конкретно в этом коде происходит намного больше чем просто структурку заполняют
изображение.png3 Кб, 256x50
293 3087345
>>087292

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


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


Прикинь на расте можно также, добавь Default к структуре и ты можешь делать тоже самое нихуясе, да?
Только так лучше не делать, а более православный путь с билдером вот это >>087302 там ты можешь например провалидировать каждое значение и проверить на обязательные, а остальные оставить дефолтными.
294 3087352
>>087345

> Прикинь на расте можно также


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

> более православный путь с билдером вот это


в сишке к сожалению такого не сделать макросы даже не рассматриваются как вариант
295 3087515
О, я похоже запустил тренд на нейрокартинки в оп пиках. Или не я?
296 3087536
>>087352

>а я говорил что на расте нельзя? или ты про что?


Не, всё ок, я думал ты другой анон, которому неудобно.
297 3088796
Когда ваша поделка перестанет зависить от блотвера под называнием llvm, тогда и зовите. Идея-то хорошая.
298 3088806
>>088796
LLVM - это широко используемая инфраструктура для разработки компиляторов, предоставляющая набор библиотек и инструментов для создания оптимизирующих компиляторов и генерации машинного кода. Многие известные проекты, такие как Clang, Rust, Swift и другие, используют LLVM в своей основе.

Автор комментария, судя по всему, негативно относится к LLVM и считает, что зависимость от этой инфраструктуры делает проект менее самостоятельным или качественным. Он называет LLVM "блотвером", проводя аналогию с вредоносным ПО, видимо, намекая на его "паразитический" характер или негативное влияние на проекты, которые его используют.

Однако такое сравнение некорректно, так как LLVM является легитимным и широко признанным инструментом в разработке ПО, а не вредоносной программой. Использование LLVM само по себе не делает проект хуже, а зависимость от тех или иных библиотек и фреймворков - обычная практика в разработке программного обеспечения.
299 3088847
>>088796
Минусы блотвера под называнием llvm?
300 3088852
>>088847
Мерко всё это. Грязно
301 3088870
>>088852
Это в целом про раст, так что и llvm там к месту. Компилятор крестов не смогли за 10 лет написать, пусть теперь пидорастам дымоход чистят.
302 3090360
>>087285

>и просто логируешь сообщая о сбое


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

Ну и, что касается практики - писал торгового бота на расте, там возможность обработки ошибок очень помогала.
303 3090395
>>090360
А это важно? Если какая-то операция может завершиться с двумя результатами - это не сбой, нужно оба состояния обрабатывать как обычно. Сбой это когда произошла какая-то неведомая хуйня - тут уже неважно что и где, т.к. нет гарантий что этот сбой не поломал ещё что-то. В try оборачивается блок кода, который пойдёт по пизде в случает сбоя внутри - в большинстве случаев этот блок всё равно надо будет рестартить заново с учётом произошедшего или вообще ронять весь рантайм. Условно, если ты собираешься читать файл, то надо чекнуть что это можно сделать и потом уже читать, а не читать на похуе и ловить эксепшены.
304 3090413
>>090360
Что за бред, не знаешь что ловить, лови общий Exception "на верху". Сидеть и долбиться в подобие if..else, тоже не радость.
image9 Кб, 482x176
305 3090462
>>090413

Самый простой пример, из того же трейдинга: нужно мне получить цену лота. В одном случае для меня это не критично, например, когда надо обновить данные в таблице (пикрил), в другом критично - когда хочу сделать ставку. Соответственно, я
а) всегда знаю, где может случиться ошибка
б) могу варьировать поведение в зависимости от : хочу - unwrap с паникой, хочу - наверх проброшу, а могу и просто заигнорить.
г) легко могу собрать, сортировать, посчитать и как угодно обработать ошибки, которые, суть, обычный вариант от enum.
Это вам не

>лови общий Exception "на верху"



>>090395

>Если какая-то операция может завершиться с двумя результатами - это не сбой


ага, вот только в котлине это всё пиздец как неудобно. А если с тремя, а если с четырьмя? Что там нам предлагается, с кодами ошибок изъёбываться или отдельный класс под возврат каждой функции пердолить?
image9 Кб, 473x172
306 3090464
Пофиксил вариант со сбором ошибок
307 3090511
>>090462

> с кодами ошибок изъёбываться


Ты же литералли это и делаешь.
5dbd5105-30b2-445e-9497-7bcc5aa2fe07.jpg62 Кб, 679x513
308 3090525
>>090462
Исключительная ситуация, это ситуация выходящая за бизнес логику, если тебе надо вернуть управляющие данные, то возвращаешь данные со статусами, а не придумываешь херню.

Для самых маленьких:
try {
//бизнес логика.
} сatch {
// не бизнес логика, исключительная ситуация, не гадящая в основную логику.
}
309 3090542
>>090525
Я же тебе, дурачку, показал конкретный пример. Есть функция, которая может вернуть ошибку. В зависимости от контекста вызова меняется поведение при возникновении ошибки. Если у тебя глобально один try / catch на всё, то, ну, ну сам понимаешь.

>>090511
Я не изъёбываюсь, это всё где-то под капотом. Ты не видишь разницы: изъёбываться самому или доверить это дело языку и компилятору?
310 3090653
https://github.com/klaxons1/Microsoft-Device-Emulator?tab=License-2-ov-file
часто вижу программы, которые наполовину написаны на си, а другая на плюсах. Типа автор не определился на чем он хотел писать?
311 3090676
>>090653
Там либы сишные, а код на крестах.
312 3090712
>>060192 (OP)
РАСТ не взлетит вообще. Я так думаю.

Ну... 1 главная причина: он уродливый. Его ОЧЕНЬ сложно читать. Даже если ты сам пишешь или переписываешь чей-то проект. А представьте 10 или 100 или 1000 человек работающих над N программами. Какая же мозгоебка.

Окей, где важна скорость и безопасность, самая база ОС, может быть, может быть написана на Расте.
Но если мы говорим о будничном софте, то я не вижу причин, почему кто-то будет тратить N месяцев на разработку проги на расте, когда конкурент за N/2 время будет такое же хорошее приложение сходной по размеру и компетенциям командой делать. Раст тупо не конкурентен там, где время разработки/скорость поддержки(апдейтов, улучшений) имеет немалый вес
313 3090740
>>090712
Почему бы не Аде писать? Всяко лучше чем пидораст
314 3090742
>>090712

>1 главная причина: он уродливый


Уродливым я бы не назвал, скорее причудливым.

>Его ОЧЕНЬ сложно читать


Нет если код написан профессионалом.

>когда конкурент за N/2 время


А конкуренты кто? C++ ближайший конкурент. И на нём в 2 раза быстрее писать код? Да ладно?

>Раст тупо не конкурентен


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

>Нет если код написан профессионалом.


Покажи такой код
316 3090932
Ладно пидорaxи убедили, собираюсь вкатываться в ваш пидораст. С чего начать? Алсо, что делать, если не хочется покупать новый жд, а то ебал его рот сколько места эта хуита занимает.

мимо-дед
317 3090939
>>090932

> сколько места эта хуита занимает


И сколько же?

> С чего начать?


С растбука. Только читай честно, без скипов и с выполнением ДЗ.
318 3090944
>>090939
10 гигов папка с проектами на расте.
319 3091306
>>090395

> это важно?


да
320 3091334
>>090742

>Если написан профессионалом


Хуя нихуя, код на ЛЮБОМ языке лучше читается если написан профессионалом, вот только уже люди не тупые и начали делать языки по принципу гайдлайнов для читабельности вроде го и зига, потому что не-профессионал - это то, на кого стоит ориентироваться создателю языка.
Вообще у раста нет идеи как таковой, его спиздили меилручнули-майкрософточипировали у создателя, он идет курсом как ветер занесёт, и через пару-тройку лет станет теми же плюсами с кучей нахуй ненужных фич которыми никто не умеет пользоваться, только это будет еще приправлено огромными бинарниками, уебищным ллвм-овским тулингом и десятками memory-leak'ов в std да и в простом safe.
У раста есть возможность спастись только одним путем - сделать форк стабильной версии, направить все ресурсы на оптимизацию и устранение проебов в памяти и уже МОЖЕТ добавлять фичи по необходимости, а этот железный корабль под именем "Ржавчина" пусть окисляется у майков на зарплате, пока не наиграются.
1686053593830.png20 Кб, 473x172
321 3091345
>>091334

> добавлять фичи


Лучше бы убирали и боролись с репитативностью синтаксиса.
Вот возьмём обработку ОДНОЙ ошибки от чела выше, что в ней видим:

> 9 открывающихся-закрывающихся скобочек


> лямбда


> дженерик


> енум


> монада


Против примитивной конструкции с if или циклом для заполнения векторов. Куда, блять, ещё сильнее замусоривать этот кал.
322 3091408
>>091345
А в чем проблема-то? Конкретно здесь это выглядит как выебоны, но лямбды так-то половину GoF делают ненужной хуйней.
323 3091410
>>090750
Любая книга по rust'у, миллион примеров.

>>091334
Это уже не проблема самого языка. Язык не отвечает:
1) За количество вакансий.
2) За пользователей
3) За зарплату
И т.д.

Тоже самое может произойти с любым наикрутейшим фреймворком. Ты щас возьми любой супер-пупер язык, придёт рукожоп и сделает говно. Любой инструмент в руках долбоёба будет плохо работать. Ты щас дай скрипку Страдивари за 16 миллионов нюфагу и он её или сломает или сыграет полную хуйню. Это же не вина Страдивари, что он не сделал достаточно простую скрипту, чтобы даже полный долбоёб мог сыграть.
324 3091567
>>090542
Еще раз, для самых маленьких для растеров. Если что-то возвращает управляющие данные (влияющие на бизнес логику) то, это будет частью бизнес логики уже тавтология пошла, это не должно быть ошибкой.

Есть два потока состояний - нормальный поток и нет. правильно говорят, что системщики не понимают в архитектуру
325 3091652
>>091410

> язык не отвечает за пользователей


Ты только что сказал, что ни разу не программировал ни на C, ни на Go, ни на любом другом подобном языке; язык ДОЛЖЕН ограничивать пользователя.
Почему огромное количество проектов до сих пор пишут на С, а не на плюсах, хотя у первого практически нет никаких преимуществ перед вторым? Да потому что писать плохой код на плюсах гораздо проще, падает планка качества проекта и повышается разношёрстность кода, делая команду менее состоятельной.
В Zig и Go очень часто компилятор не дает ничего сделать с кодом, потому что там ошибочная разметка или другие глупости, с которыми в коде хоть и нет багов, но читается он хуже. По этой же причине отсуствие классов в языке это ФИЧА, а не наоборот.

> любая книга, миллион примеров


Что то мне кажется, что количество материалов по расту гораздо больше, чем оригинального кода на этом языке. Ржавые это религиозные инфоцигане прогромирования, только наебывают тебя на священное время.
326 3091692
>>091652

>Почему огромное количество проектов до сих пор пишут на С, а не на плюсах


Это их личный выбор. Почему программист или кабан выбрали язык А, а не выбрали язык Б, пусть психологи разбираются. Это может быть элементарный АВДРУХЧО аргумент, в каждой отрасли полно ссыкунов которые ссуться изменений и малейшего риска. Человек может верить во что-то, необязательно это будет правдивое. Он верит допустим в том, что С++ тормозит или С++ не подходит для больших проектов и не выберет изначально.

>хотя у первого практически нет никаких преимуществ перед вторым?


Любое действие в программировании можно сделать десятком разных способов. Причём не обязательно способ А лучше способа Б.

>В Zig и Go очень часто компилятор не дает ничего сделать с кодом, потому что...


Возможно, но мне лично похуй.

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


Это твоё личное мнение.
327 3091754
>>091652
Чел, ты бредишь. Сишка меньше всего ограничивает кодера.

> отсуствие классов в языке это ФИЧА, а не наоборот


Когда в пердоликсе костылями эмулируют классы, то что это? Или в винде изобретают ком-объекты? Иди нахуй в общем.
328 3092119
>>091567
Вот ты глупый, ей-богу. Сравни:
На расте ты всегда сразу знаешь, где у тебя Result, где Option, а где значение и можешь выстраивать от этого бузинес-логику.

На котлине хуй разбери, что там наворочано в сторонней функции. Хорошо, если она возвращает Result, который, впрочем, на котлине хуёво сделан по сравнению с растом. А может ведь и срыгнуть Exeption - что тогда? Тогда ты, такой, "Ааа, бля, дак оно ещё и крашнуться может, ссука" - и перелопачиваешь готовый код, меняя логику под это дело, так как результат вызова не такой уж обязательный и перетерпеть, в-принципе, можно.
329 3092134
>>092119
Блять, ещё вот эта https://discuss.kotlinlang.org/t/stacktrace-points-to-line-after-end-of-file/4129/9 хуита постоянно мозг ебёт. Почему в низкоуровневом расте, где дохуя макросов, которые разворачиваются в простыни, такой проблемы нет, а в высокоуровневом котлине, который отжирает половину оперативы для хеллоуворлда, не нашлось способа срыгнуть нормальные номера строк в бэктрейсе? Шо джава говно, шо это.
330 3092438
>>091754
Не эмулируют, а имплементируют, для тебя класс это что-то что на уровне проца заложено? Имплементация фич по необходимости и есть фича C, чё вы как маленькие.

>>091692

>Мне лично похуй


Дурак ты. Я тебе добра желаю, перед тем как лезть в раст поработай хоть над проектом серьезным и может для тебя вопросы об архитектуре будут решаться не "психолухами". А так свое время угробишь только.
331 3092477
>>092438

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


а что вы там scanf и printf и прочее из stdio.h не имплементируете по необходимости?
как вы будете бороться с тем, что один имплементирует так, а другой иначе?
что тогда не на чистом асме пишете? под каждый проект не создаете свой язык?

другой анон
sage 332 3092496
>>092477

> а что вы там scanf и printf и прочее из stdio.h не имплементируете по необходимости?


Нет необходимости.

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


https://git-scm.com/docs/gittutorial

> под каждый проект не создаете свой язык?


Ну вот раст делает же кто то, у них спроси.
image.png270 Кб, 500x500
333 3092510
>>092496

>Нет необходимости.


так юзай раст и в имплементации классов у тебя тоже не будет необходимости?
334 3092516
>>092496
и ты не ответил про asm - что на нем все не пишешь, а юзаешь готовое? имплементируй все с нуля, вот ссылка на гитхаб туториал у тебя есть, посмотришь как другие имплементируют и сделаешь так же
sage 335 3092525
>>092510
Блядь, еще раз - фичу нельзя убрать, можно только добавить. Если у тебя в языке есть классы, у тебя в мердж реквестах будут сплошные классы от студентов, а нахуй тебе это надо если у тебя проект не ООП? Это реально так трудно понять?

>так юзай раст


Memory leak в std, невозможность дебага unsafe? Нет спасибо.
336 3092541
>>092525
ну а что ты будешь делать, если фичу добавили до тебя? при этом ты считаешь, что фичу зря добавили? или надо было имплементировать эту фичу иначе?
337 3092547
>>092438

>поработай хоть над проектом серьезным


Да мне похуй, я психопат. Могу себе позволить поработать и над серьёзным и над потешным/несерьёзным. Чё ты мне сделаешь? Я бешеный!
338 3092555
пока все смахивает на классическое: "мы будем писать на С/C++, потому что мы там уже все возможные шишки себе набили и он у нас под коркой сидит, а нырять в что-то новое у нас уже ни сил ни здоровья не хватит", а остальное уже лирика и натягивание совы на глобус
sage 339 3092561
>>092541
Если фича вредит коду, то выберу другой язык или добавлю гайдлайн, но второе в рамках попынсорса гораздо хуже работает нежели в энтерпрайзе, поэтому по ситуации.

>>092547
Ну тогда без вопросов, флаг в руки :)
sage 340 3092570
>>092555
Плюсы - плохой язык и раст не лучше, а Сяму раст не альтернатива, так понятно?
341 3092575
>>092570
и ООП тоже отстой, да? который нужно добавлять по необходимости?
IMG20230811181305077.jpg64 Кб, 640x640
sage 342 3092616
>>092575
Ну умнеешь на глазах! Все так.
343 3092622
>>060192 (OP)
Есть шансы вкатиться в Rust, если я джаваскриптизер обыкновенный?
image.png642 Кб, 509x455
344 3092634
>>092616
понял вас, вопросов больше не имею
345 3092731
>>092622

>Есть шансы вкатиться в Rust, если я джаваскриптизер обыкновенный?


Возьми ПОДАЙ ЗАЯВКУ и сам узнаешь. Чего ты ждёшь? Письменных блять гарантий, со штампом и росписью кровью? Их нету! Единственный кто может гарантировать вкат - это ты сам. Не жди советов "знающих людей", гайдлайнов, инструкций, пошаговых схем, никто тебе не скажет "учи вот это, это и это и ты гарантировано вкатишься".
346 3092740
>>092634
Проблеск разума угас так же внезапно, как вспыхнул?

Да, представляешь, совсем необязательно прибивать ООП к языку.

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

Потому что:
Если язык изначально "ООП", ты столкнёшься с горой статик-бойлерплейта при написании необъектных программ (например, шарп).
Если язык изначально "неООП", ты столкнёшься с горой Объект.Метод-бойлерплейта при написании объектных программ (например обджект-паскаль из дельфи).
347 3092797
>>092740
В языках без нормального ООП начинается отсос в ООП-задачах - это про сишку и почему она не нужна в 2024 году.
А вот в расте нет полноценного ООП, но всё прибито гвоздями к типам и их трейтам, как раз о чём ты пишешь происходит - куча бойлерплейта с impl вокруг структур, даже если структура пустая и нахуй не нужна.
348 3092812
>>092740
в процедурном стиле можно писать и на расте, т.к. там сами еще не решили ООП они или нет

>Вполне можно сделать ООП как систему объектных типов рядом с системой необъектных типов.


вот это ты раст сейчас описал
349 3092820
>>092797

>куча бойлерплейта с impl вокруг структур, даже если структура пустая и нахуй не нужна


если нужна просто функция (без структуры), пиши просто fn() без всяких блоков impl и пустых ненужных структур
350 3092851
>>060192 (OP)
Если отказаться от std и прочих стандартных библиотек, компании Х разработает свои библиотеки, от rust что-то вообще останется?
351 3092876
>>092851
Да, надоедливые похрюкивания боровчекера в консольку.
352 3092986
>>092797
Чел тупо не понял, что ему написали.
353 3092990
>>092812

> там сами еще не решили ООП они или нет


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

У меня есть структура данных. Я хочу, чтобы она получила признаки объекта. Что я делаю в ООП-языках? Я переделываю структуру в класс, создаю этому классу интерфейс, пользуюсь конструкторами для создания экземпляров. Казалось бы, хороший план, надёжный, как швейцарские часы, но... Где моя структура?

И вот я в расте. У меня есть структура данных. Я хочу, чтобы она получила признаки объекта. Что я делаю в расте? Я пишу типаж для структуры. Пишу имплементацию типажа. Возможно, в разных файлах. Изумительно. Структура лежит на месте. К ней подключены ООП-сущности. Идеальное разделение данных и логики. Джва года ждал. Сделоли.
354 3093006
>>092990
а зачем тебе типаж, если у тебя просто одна структура данных? что понимаешь под "признаками объекта"? просто impl чем не нравится?
355 3093012
>>093006

> а зачем тебе типаж


Вот хочу!

> у тебя просто одна структура данных?


Не одна.

> что понимаешь под "признаками объекта"?


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

> просто impl чем не нравится?


И просто импл тоже пригождается.
356 3093029
>>092990
Ты же шизоид. Всё что сделали в расте с ООП - поломали то что работало. Например инкапсуляция - её теперь нет, кишки лайфтаймов и боровов торчат наружу. Вместо наследования какая-то магическая залупа derive. Полиморфизм испоганили строгой типизацией. То что impl блоки отделены - это к ООП никакого отношения не имеет. По факту в расте ООП нет вообще ни в каком виде.

> получила признаки объекта


Пиздос дурка, чел даже значения слов не знает.
357 3093053
>>093029

>Вместо наследования какая-то магическая залупа derive


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

>ООП - поломали то что работало


нужность ООП вообще под вопросом, а в системном языке так и вовсе
358 3093062
>>093029

>Вместо наследования какая-то магическая залупа derive


Перетолстил
16111479950850.webm173 Кб, webm,
960x540, 0:03
359 3093070
>>093029

>Вместо наследования какая-то магическая залупа derive


Ору нахуй
360 3093145
>>092119
Тебе говорят, что ошибки это не бизнес логика. Но отсутствие значения или какой-то флаг в динамической системе, могут быть б-логикой.

То что тебе приходиться долбиться каждый раз в резалт, это проблема говноязыков. Да еще без макросов в расте ошибки создавать тот еще бойлерплейт.
361 3093156
>>092134
Раст не может на лету переобуться и из резалтов и высрать хер пойми какую панику? Думаю с макросами, ансейвами и ты тупыми обертками над си, можно поесть куда больше веселого говна, я бы тут осторожнее выеживался понятно что ты хеллоу-ворд-мэн, но раст ты разлюбишь до первого пердолинга дампа памяти
362 3093159
>>092622
Зачем?
363 3093229
>>092876
съеби из треда
364 3093335
>>093156

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


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

>>093156

>пердолинга дампа памяти


Всё лучше, чем сраный котлин, который даже номера строк в бектрейсе нормально вывести не может. Впрочем, не уверен, что всё так плохо - пердолил перформу через perf, проблем не было.

>>093145

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



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

>долбиться каждый раз в резалт


Это гораздо лучше, чем долбиться в null, где тебе вообще ни хуя не понятно: нет данных в таблице? Нет таблицы? Нет базы?

>какой-то флаг в динамической системе


Ой, блять, SDL_GetError ещё притащи как образцовый пример работы с ошибками.
image.jpg54 Кб, 800x450
365 3093629
СИСТЕМА ТИПОВ
АЛГЕБРАИЧЕСКИЕ ТИПЫ
ПОЛИФОРМИЗМ
НАСЛЕДОВАНИЕ
МОНАДА
ЛЯМБДЫ
ИИНКАПСУЛЯЦИЯ

>системный язык
1710934349196.jpeg33 Кб, 223x226
366 3093681
>>093629
Коде кондукт
367 3094364
Кто-нибудь знает что стало с группой в тг? Переехали в дискорд?
368 3094375
Знатоки Токио на месте?
1) Как лучше распараллелить чтение/запись с сокета? (если нужно, накину больше контекста)
2) Это правда что RwLock работают по разному в разных ОС ? Планирую кросс компилить linux->win, поэтому хотелось бы знать о подводных камнях.
369 3094494
Дайте гайд по вкату на работу на сабже. Есть опыт фулстакомакакинга в 3.5 года.
370 3094519
>>094375
Что значит распараллелить? Ты сначала вычитываешь все из сокета, потом пишешь туда.
371 3094566
>>094494
1. Заходишь в https://t.me/rust_jobs_feed, смотришь вакухи, понимаешь чо хочет рыночек и что из этого ты можешь
2. Гуглишь interview questions по этим темам, прикидываешь что из этого ты уже знаешь, а с чем надо разобраться
3. (опционально) Делоешь за пару вечеров/выходных/недель фуллстак todo-list на axum/actix/tauri/etc, и чтоб внутри был diesel/sqlx/solana/wasm/pgrx/etc что ты там обнаружил на первом шаге
4. Апплаишься на вакухи в конторы, куда точно не пойдешь, прост чтоб потренироваться на интервью
5. Актуализируешь списочек в п.2, освежаешь знания
6. Апплаишься на вакухи, куда хочешь устроиться, устраиваешься, серешь в треде
372 3094603
>>094566
Пиздос, одни сеньорские и лидовские вакухи. Как же ебут простых мидл+ господ.
373 3094633
>>094566

>todo-list


Это же попса и для вката сегодня нужна как минимум копия твиттера в качестве пета.
374 3094658
>>094633
Ну зависит же, в тч от предметки
Мне как-то тестовое задали на пару часов - ордербук закодить. Я закодил (и оффер получил), а потом за несколько дней развил его до примитивной биржи, с api, счетами, риск-менеджментом, персистентностью и хорошим RPS.
Теперь даю ссылочку на нее перед собесами и почти на всех собесах обсуждаем моё поделие вместо лайв-кодингов и тестовых
375 3094790
>>094519
В этом то и фишка!
Представь поток данных, который льётся подобно реке в двух противоположных направлениях...
Что интересно, у сокета в базе есть блокировка на чтение, в ожидании пакетов, но нет чего-то подобного на запись, подумывал сделать такой механизм, который бы писал в сокет, только если некоторые глобальные данные обновились в системе. Но непонятно, стоит ли делать это на мутексах или лучше как-то иначе через каналы пропердолить это

>>094566
ты забыл самый главный пункт, крутануть 2-3 года в резюме
376 3094952
>>094790

>ты забыл самый главный пункт, крутануть 2-3 года в резюме


Но популярных жопаэсе или петухоне это сделать куда проще чем на нишевом расте, да и меня скорее всего на первом кодревью спалят что я не уверенный мидл, а чел прочитавший растбук и пару недель с боровом поебавшийся.
377 3095639
dxvk в расте работает?
378 3095707
>>095639
Нет. Только ты один РАБотаешь, лох.
379 3095761
>>087302
Так это литерали то же самое, только параметры ставятся не простым присвоением, а через методы.
380 3095771
>>095639
Это плюсовое API, надо дополнительно обернуть на Си и биндгеном подлинковать.Еще есть какой-то костыльный крейт для подключения плюсов напрямую, но ну его нах
381 3095805
>>095771

>надо дополнительно обернуть на Си и биндгеном подлинковать


боже какие костыли в расте...
382 3095821
>>095805
Поэтому пользуйся православным Glide, очевидно же.
383 3095822
>>095805
Это проблема технологии что она реализована на стаковерфловнутом говноязыке, а не божественном расте.
384 3097416
>>094952
Ну бля чел, ты сам знаешь, надо быть уверенным на покерфейс ебале врываться, иначе никак.
Я несколько лет пердолил джаву, в надежде вкатиться, но это просто хуита, если опыт не крутить. Да я и сам понимаю, зачем им какой-то скуф самоучка, когда есть упругие свежие зумеры с профильных вузов, с горящими глазами, которым можно копейки платить. Короче рыночек так порешал, если нет альфа стержня, так просто не залететь никуда.
385 3097417
>>094633
тудулист только для фронтовичков и мобильщиков может сработать, остальным надо покряхтеть.
386 3099310
>>060192 (OP)
Как считается будет лучше, если для раста начнут разрабатывать собственный компилятор вместо llvm?
Потенциально такой компилятор может иметь преимущества перед плюсового llvm?
387 3099351
>>099310
Нет, не будут разрабатывать, пушо проще любую архитектуру засунуть в бекенд llvm, чем писать с ноля компилятор.
Нет, не будет преимуществ (кроме как заткнуть дурачка, который считает отсутствие самописного бекенда в расте недостатком)
388 3099401
>>095761
только в методах ты можешь делать не только присвоение, если это не тривиальный какой нибудь случай
например валидация
389 3099403
>>099351

>Нет, не будет преимуществ


Почему не будет? Rust и C++ это разные языки, логично, что компилятор под rust должен в теории быть лучше, чем компиляторов плюсов. Потому что будут учитываться специфические вещи раста при оптимизации.

А если ты считаешь, что принципиально нет и не может быть ничего лучше богоизбранного LLVM и C++, и это пик развития человечества, ты, во-первых, ошибся тредов, плюсы обсуждают в своем треде, а во-вторых, нахуй тогда вообще нужны языки отличные от плюсов? Зачем что-то новое изобретать?

Это же просто по-сути обёртки вокруг С++. В чем смысл, в нескучном синтаксисе?

> заткнуть дурачка


Тебе придется много дурачков затыкать. Выйди из своей эхо-камеры на какие нибудь форумы, увидишь много разных мнений.
390 3099519
>>099403

>Это же просто по-сути обёртки вокруг С++. В чем смысл, в нескучном синтаксисе?



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

На расте написан фронтенд раста для LLVM. Он превращает исходники на расте в LLVM IR, а потом уже сам LLVM этот IR оптимизирует и через какой-то из бекендов (x64/ARM/RISCV/etc) превращает в машинный код. Так же делает фронтенд плюсов, написанный на плюсах, и фронтенг го, написанный на го.

Для gcc тоже есть фронтенд плюсов, и каким-то энтузиастом пишется фронтенд для раста rustc_codegen_gcc.

Так вот, зачем переписывать LLVM на расте? Там рили десятки и сотни человеко-лет труда. Чтобы что? Избавиться от висячих указателей/гонок в многопоточке? Но это не проблема для софта, который запускается эпизодически.

> какие нибудь форумы, увидишь много разных мнений


Я пока не видел ни одного мнения с серьёзной аргументацией про необходимость собственного компилятора раста, написанного на расте. Просто пуки в воздух "а вот у плюсов/сей есть".
sage 391 3099526
>>099310
Лол, во первых они на расте LLWM в жизни не напишут;
Во вторых это очень небезопасТно будет, если у тебя утечка в unsafe ты базу никогда не раздебажишь, заново придется переписывать, либо оставлять каждый бинарий с утечкой;
В третьих если он будет селфхост то компиляция будет быстрее в разы, а зачем это микрософтам если язык нацелен на уничтожение опенсора и локальной компиляции в целом? Короче не будет такого никогда.
392 3099535
>>099310

> плюсового llvm


Это ведь худший компилятор плюсов, что угодно лучше шланга. Сравнивай с gcc или хотя бы msvc.
>>099403
Чел, оптимизации делаются в соответствии с архитектурой, а не языком. Что за хуйню ты несёшь тут. Все языки на LLVM генерируют сначала IR-байткод, а потом уже оптимизируется под архитектуру и в машинный код компилируются.
393 3099571
>>099535

> худший компилятор плюсов


По каким критериям? По поддержке санитайзеров он например лучший. По понятности ошибок тоже лучше обоих. Да и по архитектуре.
394 3099572
О какая интересная беседа тут у вас. Прям масло.

Баловался я как-то с llvm. Пытался добавить в него новую архитектуру для кодогенерации - по аналогии с теми, что там уже есть. Чем закончилось - очевидно. Убив пару дней на попытки это сделать, забросил в ужасе эту затею. Явно задача даже не на неделю, нет гарантии даже что за месяц можно добиться результатов на этом поприще. Там вникать глубоко нужнр, реально глубоко.

И рабочее место с двумя, а то и тремя мониторамми. Тот случай когда пялитьсч надо в несколько мест.

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

Ух бля, не сложилось у меня с llvm.
395 3099575
>>099571

> По каким критериям?


Хотя бы по поддержке самих крестов. Единственный компилятор из тройки, до сих пор не имеющий полной поддержки С++20. Даже nvcc может, а шланг нет. А clangd такое лютое дерьмо, что даже JetBrains свою альтернативу с нуля написали, лол.
396 3099604
>>099519

>Просто так получилось, что большая часть его написана на плюсах.


>Так же и GCC - фреймворк для создания компиляторов, написанный на сях.


Почему бы появиться компилятору на расте?

>Так вот, зачем переписывать LLVM на расте?


Чтобы была специальная оптимизация под раст?

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


Дык и не увидишь, у тебя когнитивное искажение.

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

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


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

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

Чтобы было понятней, вот аналогия: я говорю, страна должна быть суверенной, а для этого нужна собственная армия и флот. А ты говоришь, ниет, зачем суверенность, лучше давай поставим американские базы и заживем, вон, как япония и корея.
Мы говорим про разное: я - про самостоятельную страну, а ты - про колониальный придаток.

>Так же делает фронтенд плюсов


На чем была скомпилирована первая версия llvm? Вот и думай.

>>099526

>Лол, во первых они на расте LLWM в жизни не напишут;


Им же хуже.

>заново придется переписывать,


В этом суть раста в безопасности. Криво написал, переписывай.

>>099535

>Сравнивай с gcc или хотя бы msvc.


Что сравнивать? Вопрос был больше гипотетический. Понятно, что c/c++ это с нами до конца времен.
396 3099604
>>099519

>Просто так получилось, что большая часть его написана на плюсах.


>Так же и GCC - фреймворк для создания компиляторов, написанный на сях.


Почему бы появиться компилятору на расте?

>Так вот, зачем переписывать LLVM на расте?


Чтобы была специальная оптимизация под раст?

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


Дык и не увидишь, у тебя когнитивное искажение.

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

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


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

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

Чтобы было понятней, вот аналогия: я говорю, страна должна быть суверенной, а для этого нужна собственная армия и флот. А ты говоришь, ниет, зачем суверенность, лучше давай поставим американские базы и заживем, вон, как япония и корея.
Мы говорим про разное: я - про самостоятельную страну, а ты - про колониальный придаток.

>Так же делает фронтенд плюсов


На чем была скомпилирована первая версия llvm? Вот и думай.

>>099526

>Лол, во первых они на расте LLWM в жизни не напишут;


Им же хуже.

>заново придется переписывать,


В этом суть раста в безопасности. Криво написал, переписывай.

>>099535

>Сравнивай с gcc или хотя бы msvc.


Что сравнивать? Вопрос был больше гипотетический. Понятно, что c/c++ это с нами до конца времен.
image.png110 Кб, 1283x559
397 3099806
>>099604

>Почему бы появиться компилятору на расте?


Он уже есть, это rustc

>Чтобы была специальная оптимизация под раст?


Специальные оптимизации под раст находятся во фронтенде, в rustc. Общие оптимизации - в llvm, они работают с IR

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


>Нет компилятора = нет языка.


Таак, python/perl/php/ruby/js/tcl - нет компилятора, не настоящие.
C#/Java с сателитами - компилятор только в CIL/байткод, которые запускаются в jit, написанном на плюсах, не настоящие.
Go/Swift/Julia/Rust - сделаны на llvm, не настоящие
Все компиляторы/трансляторы ассемблеров написаны не на этих ассемблерах - не настоящие.

Принеси-ка определение настоящего языка сюда. Только не из голосов в твоей голове и не с каких-нибудь форумов, а от кого-то более авторитетного в среде разработки языков - Страуструп, Ричи, Вирт, Гослинг, МакКарти вполне подойдут. Пик тебе для затравочки - опровергай.

>Это не язык тогда, а надстройка над фреймворком, который написан на другом языке, на другой логике.


Какая такая другая логика у раста, в отличие от плюсов? Приведи примеры другой логики.

>Твой "язык" ограничен этим фреймворком, ты не можешь сделать что-то, что выходит за рамки его функциональности.


Что такого я не могу сделать для раста в llvm, что мог бы сделать в отдельном компиляторе? Конкретнее, пожалуйста

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


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

>Поэтому считаю универсальные фрейворки абсурдом.


Поэтому гугл, эпл, интел ими пользуются, бедняжки, но тебе-то виднее. Давай уже вылезай из 80х годов XX века.

>вот аналогия:


С кривыми аналогиями иди на свои форумы и в студенческий чатик
А то вдруг окажется, что в стране сиплюсплюсии есть своя армия и флот (llvm), армия и флот соседней страны (gcc), корпоративные армии и флоты (msvc/icc/nvcc/etc), причём штаб-квартиры этих корпораций находятся в другом измерении.

продолжаю кормление
image.png110 Кб, 1283x559
397 3099806
>>099604

>Почему бы появиться компилятору на расте?


Он уже есть, это rustc

>Чтобы была специальная оптимизация под раст?


Специальные оптимизации под раст находятся во фронтенде, в rustc. Общие оптимизации - в llvm, они работают с IR

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


>Нет компилятора = нет языка.


Таак, python/perl/php/ruby/js/tcl - нет компилятора, не настоящие.
C#/Java с сателитами - компилятор только в CIL/байткод, которые запускаются в jit, написанном на плюсах, не настоящие.
Go/Swift/Julia/Rust - сделаны на llvm, не настоящие
Все компиляторы/трансляторы ассемблеров написаны не на этих ассемблерах - не настоящие.

Принеси-ка определение настоящего языка сюда. Только не из голосов в твоей голове и не с каких-нибудь форумов, а от кого-то более авторитетного в среде разработки языков - Страуструп, Ричи, Вирт, Гослинг, МакКарти вполне подойдут. Пик тебе для затравочки - опровергай.

>Это не язык тогда, а надстройка над фреймворком, который написан на другом языке, на другой логике.


Какая такая другая логика у раста, в отличие от плюсов? Приведи примеры другой логики.

>Твой "язык" ограничен этим фреймворком, ты не можешь сделать что-то, что выходит за рамки его функциональности.


Что такого я не могу сделать для раста в llvm, что мог бы сделать в отдельном компиляторе? Конкретнее, пожалуйста

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


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

>Поэтому считаю универсальные фрейворки абсурдом.


Поэтому гугл, эпл, интел ими пользуются, бедняжки, но тебе-то виднее. Давай уже вылезай из 80х годов XX века.

>вот аналогия:


С кривыми аналогиями иди на свои форумы и в студенческий чатик
А то вдруг окажется, что в стране сиплюсплюсии есть своя армия и флот (llvm), армия и флот соседней страны (gcc), корпоративные армии и флоты (msvc/icc/nvcc/etc), причём штаб-квартиры этих корпораций находятся в другом измерении.

продолжаю кормление
398 3100109
>>099519

>Избавиться от висячих указателей/гонок в многопоточке


Ну так и пидораст от подобных багов не спасает на 100%.
399 3100210
>>099535

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


Схуяли?
400 3100239
>>100109
Возвращайся обратно в /ga и не забудь извиниться перед своим парнем
sage 401 3100268
>>100239

>/ga/


Так его снесли и перекатили в этот тред. По статистике посмотри, по твоему почему сейчас тут обострение?
402 3102202
>>099401
сингл респонсибилити же
403 3102369
>>102202
значение знаешь?
404 3102381
>>102369
Сейчас он расскажет что это когда только одно действие метод выполняет, лол.
405 3102684
>>102369
нет
406 3109184
>>099806

>Давай уже вылезай из 80х годов XX века.


Ну блин, чувак, тогда придется отказаться от с++ и написанных на нем корпоративных высеров.
408 3109209
Rust developers at Google are twice as productive as C++ teams

https://www.theregister.com/2024/03/31/rust_google_c/

> When we've rewritten systems from Go into Rust, we've found that it takes about the same size team about the same amount of time to build it, that is, there's no loss in productivity when moving from Go to Rust. And the interesting thing is we do see some benefits from it. So we see reduced memory usage in the services that we've moved from Go ... and we see a decreased defect rate over time in those services that have been rewritten in Rust – so increasing correctness.



Получается пиздеж обман все это про низкую продуктивность н а расте
409 3109226
>>109209
Зная какие крестовики у гугла и то что они пишут фактически на С++03 - что угодно будет продуктивнее.
410 3109564
>>109226
Читай внимательно: продуктивность на расте равна продуктивности на говне. а также котлине и прочих "высокоуровневых языках"
411 3109582
>>109564

>котлине


У jvm проблема в скорости разработки кроется во всяких AbstractSingletonProxyFactoryBean и это не шутки https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/aop/framework/AbstractSingletonProxyFactoryBean.html как начинают всей этой хуйнёй заниматься так и уходит тонна времени. На расте и го писать все эти паттерны тяжелее и люди меньше занимаются написанием Паттернов, а больше кодом по делу
412 3109588
>>109564

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


Хотелось бы узнать как ты сделал такие выводы. То что продуктивность говна как у сишки всем и так известно.
413 3109596
>>109588
Личные очучения из опыта работы с котлином. Где-то быстрее раста из-за отсутствия борова, где-то медленнее из-за тупого тулинга и кривой семантики, где слишком дохуя ошибок приходится ловить в рантайме.
414 3109610
>>109588
Если продуктивность говна как у сишки, то и у Явы под Граалем такая же продуктивность
415 3110221
>>060366
и зачем это говно нужно?
я про гит
416 3110253
>>109209
В гугле любой код проходит код-ревью владельца сервиса и мастера языка. Там код на код-ревью висит дольше чем пишется.
Цитата про продуктивность в таком контексте может значить всё что угодно.
417 3110254
>>110253
Написал код - неделю хуи пинаешь, пока ревью ждёшь. Не работа - мечта! А может это скорость ревю выросла? Дак тоже плюс.
418 3110262
Тут кто-то про Java говорил, мб эксперт найдется, кто может на пальцах объяснить в какой момент времени GC вычищает объекты, на которых больше нет ссылок?
Просто представьте весь этот Spring с AOP магией, и попытайтесь понять такое, это невозможно.
420 3110306
>>110262
По дефолту гц пауза случается, когда мы создаём новый объект и приходится либо расширять кучу, либо нужно утрамбовать текущую. По факту есть оптимизации типа экспейп анализа и там хер проссышь. И вообще для жабы есть свой тред.
421 3110320
>>110306

> гц пауза случается


Это же не GOвно, сто лет как есть асинхронная сборка мусора.
423 3110406
На расте можно написать программу для webgpu?
424 3110564
>>110406
Пробовал в гугле написать "webgpu rust"? Это быстрее чем на дваче вопрос оставить.
425 3110568
>>110221
При разработке в Git прежде всего обеспечивается целостность исходного кода под управлением системы. Содержимое файлов, а также объекты репозитория, фиксирующие взаимосвязи между файлами, каталогами, версиями, тегами и коммитами, защищены при помощи криптографически стойкого алгоритма хеширования SHA1. Он защищает код и историю изменений от случайных и злонамеренных модификаций, а также позволяет проследить историю в полном объеме.

Использование Git гарантирует подлинность истории изменений исходного кода.

В некоторых других системах управления версиями отсутствует защита от тайного внесения изменений. Это может стать серьезной угрозой информационной безопасности в любой организации, занимающейся разработкой ПО.
426 3110593
>>110564
вроде только js/ts
image383 Кб, 1578x1256
427 3110600
>>110593
Ты это серьёзно?
428 3110632
>>110600
У тебя неправильная выдача, речь не о wgpu
429 3110649
>>110632
Ты шейдеры писать на расте хочешь что-ли? Такого нет, похоже. Могу нагуглить только https://github.com/EmbarkStudios/rust-gpu , но поддержки WGSL пока нет.
430 3110669
>>110649
А на чем они пишутся, если vulkan в расте использовать?
431 3110688
>>110669
Шейдеры в vulkan передаются в виде SPIR-V (байткод). Писать можешь на чём угодно, что сможешь транслировать в SPIR-V. Только причём тут webgpu и раст?
432 3110822
>>110688
графика, чел.
433 3110835
>>110822
Что графика? Я не телепат, не понимаю твои мысли.
434 3110837
>>110649

> шейдеры писать на расте хочешь что-ли?


Кстати-кстати! Шейдерный язык GLSL является потомком си. Надо бы написать RSSL основанный на расте!
435 3110937
>>110837
Можно на HLSL писать, он тоже в SPIR-V компилиться умеет, там почти кресты, даже дженерики есть.
437 3111155
>>110937

> Можно на HLSL писать


Нельзя. Он богомерзкий. Майкрософт нашла критический недостаток в GLSL - он сделан не ими, и выпустила HLSL.
1712174299970.mp41,7 Мб, mp4,
360x640, 0:25
438 3111156
>>111128

> Rust and Zig Combined

439 3111348
>>111156
Эхх, легендарные времена, когда телек был ещё не для быдла, но уже пытался быть интересным.
440 3111398
>>111348
Телик, быдло.
441 3111404
>>111398
От слова теливизор, видимо. Вот такие тела в школе не доучатся, а потом в айти катятся.
442 3111443
>>111404
а велик от слова велисипед?
443 3111500
>>111443
На моей стороне народ русскай
444 3111777
>>111156
Ну так все правильно, ты видел когда нибудь железные балки из одной ржавчины?
image.png91 Кб, 1113x436
445 3112261
>>111404
У меня одни пятёрки в аттестате, а ты прогулял урок, где рассказывали про суффиксы. Читай, восполняй пробел.
>>111500
В Интернет, к сожалению, пускают даже без справки от психиатра, не говоря уже об аттестате. Так что это не показатель. На моей стороне академический справочник.
446 3112410
>>112261
Это просторечное слово, следовательно, какие в пизду правила?
Телек vs телик идёт с соотношением 3:1 именно в той самой простой речи, которая срать хотела на правила и живёт своей бурной жизнью. Всякие попытки загнать её в рамки правил, считаю бюрократическим крючкотворством.
447 3112589
К вопросу о скорости разработки. Ебусь с жабой
java.lang.NullPointerException: Cannot read field "classname" because "model" is null

и знаете, шо? Проверяю объект - а он, сука, не null. Оборачиваю в try - а тоже похуй, при попытке доступа к classname валит исключение, причём не в моём коде, а где-то в потоке. Блять, я бы лучше лишние 10 раз с боровом поебался, чем с этим.
why.mp4513 Кб, mp4,
640x360, 0:26
448 3112732
А почему нельзя значения переменных c и d на два байта вниз подвинуть ну и может значения имеющих к этому отношение регистров поправить перед тем как делать b.push()?
449 3112902
>>111777
Вообще, непонятна душа англицкая, почему слово ржавчина им показалось достойной для названия языка?, который по своей задумке наоборот нержавеющий (ржавчина - это же мусор).
1599px-Rust-AH-2022.jpg773 Кб, 1599x1066
450 3112934
>>112902
Да нет, назвали раст очень мудро и правильно, сейчас обьясню.
Когда в металлопроизводстве защищают металл от коррозии, создают процесс названный пассивацией, и один из таких методов, как ни странно, саму ржавчину и использует - например Кортеновская сталь (или "вечная сталь") полностью покрыта пленкой, которую зовут ржавчиной (но по сути это патина), пик - и есть этот слой. Это своего рода натуральный способ борьбы с короззией при помощи самой ржавчины. В нашем же случае коррозия отсылает на утечки памяти. В мозилле раст создали именно ради своего рода защитной пленки браузера; просто язык совсем неправильно поняли и он попал в руки корпорастов, которые пытаются сделать из него якобы замену плюсам, хотя предпологалась как вспомогательный язык - даже создатель раста писал, что сделали что то непонятное. Вообщем печально получилось, как корабль назовешь - так он и поплывёт.
451 3112959
>>112934

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


> создают процесс названный пассивацией


А, ну тогда всё ясно.
452 3112972
>>112732
Представь что дальше по стеку не два байта, а две тыщи двести двадцать два. Как это скажется на производительности? Вообще, в си есть VLA, которые никто не использует по прямому назначению кажется.
Стикер575 Кб, 400x400
453 3113030
>>112934
А грибы?
454 3113326
>>112732
Теоретически можно, но гораздо проще просто аллоцировать массив с новой длинной дальше по стаку и копировать туда данные.
Кстати не знаю причем здесь стак, даже в куче массивы вроде не растут, только копируются с более длинные.
По крайней мере так в джаббе, а в расте массивы могут расти?
455 3113329
>>113326
Vec в 2 раза растёт когда место кончается. Как именно растёт — копируется или как-то с ссылками ебутся не знаю.
456 3113334
>>113329
Vec это не массив.
>>113326
В расте нет такого типа — массив. Есть массивы заранее известной на этапе компиляции длины. Т.е. [T; 24] и [T; 42] — это разные типы. Они не могут расти по определению
457 3113341
>>113329
Посмотрел, ну как в джаве (и как везде наверное) работает github.com/rust-lang/rust/blob/master/library/alloc/src/vec/mod.rs#L263
Просто копируют в новый массив большей длины и это в куче

>If a vector's length exceeds its capacity, its capacity


/// will automatically be increased, but its elements will have to be
/// reallocated

>If the vector's length would exceed its


/// capacity after the push, O(capacity) time is taken to copy the
/// vector's elements to a larger allocation.
458 3113344
>>112410
Даже матюги пишутся по правилам. Например, пишем хуй, а не хухь; блядь, потому что проверяется словом бляди; пиздёнка без мягкого знака, несмотря на смягчение перед д. Так и с теликом: ну не выпадает там гласная из суффикса при склонении, поэтому пишем через и.
Разговорная речь ещё и знаками препинания оформляется, к слову.
459 3113349
>>113334
Разговор начался с
>>112732

> делать b.push()

460 3113353
>>113349
В видео объясняется почему нельзя написать b.push() для массивов. Там буквально написан массив из 3-ёх u8. То же самое переспросил анон. Векторы тут не причём.
461 3113465
>>113344

Я катаюсь на велике, но смотрю новости по телеку, ничего не могу с собой поделать. Возможно это от того, что сокращение часто происходит "на лету": Мань, что у нас сегодня по теле.. и далее мозг выбирает между визору или леку, что с тели.. было бы невозможно. Вариант телик на мой слух звучит как-то инфантильно-детсадовски, ещё и созвучно со словом челик: Это что там за (ч|т)елик? - а вот хуй ты проссы, что там сказано.
Кофе в среднем роде недавно узаконили, так и тут победа будет за нами.
464 3113776
>>113326
Эхх, щас бы расти в расте как программист.
465 3113795
>>113334

> [T; 24] и [T; 42] — это разные типы


Пиздос. У них там ещё и многомерных массивов нет, наверное?
466 3113876
>>113795

>У них там ещё и многомерных массивов нет, наверное?


Тип T может быть любым типом, удовлетворяющему трейту Sized, например другим массивом.
1712405706023.png24 Кб, 579x282
467 3113879
>>113795
Да хватит уже срать! Идите в свои треды и обсуждайте там свои джавы!
468 3113951
>>113795
C чего бы им одним типом быть? Это не динамический массив же
469 3113953
>>060192 (OP)
говно без задач
16815760584710 (1).png837 Кб, 1250x1280
470 3113980
чет смотрю все больше народу переписывает библы с C/C++ на пайтоне под раст
стоит ли закатываться?!
471 3114105
>>113980
Ты разрабатываешь на питоне? Стоит, если ты:
1. Заебался поддерживать нативную либу.
2. Планируешь написать с нуля нативную либу.
3. Хочешь похайповать вместе с остальными.
472 3114178
>>113980
Главная причина почему они это делают - уёбищные разрабы питона и то что питон на сишке написан. Собирать крестовые модули для питона просто ад, там ещё система сборки просто пиздец, хуже для крестов нет. В ней куча многолетних багов и ебучий ninja. По задумке припизднутых питонистов оно должно просто собираться одной командой на любых платформах, но мы же прекрасно знаем что кроссплатформенных крестов как и сишки не существует, у каждой системы свои компилятор и стандартная либа. Поэтому сборка крупных либ под виндой, если она таргетится под линукс - это такой цирк с конями, что даже всякие гуглы/меты не могут осилить, оно иногда собирается в определённых окружениях, иногда нет. А ошибки сборки из какого-нибудь nvcc - это отдельный пиздец, который годами никто не может разобрать и пофиксить. Хотя с nvcc раст тоже не сильно поможет, он ещё хуже с кудой дружит.

> стоит ли закатываться?!


Стоит если ты в первую очередь веб-питонист и тебе просто надо узкие места оптимизировать. Если ты из машоба, то раст в это плохо умеет, лучше дальше страдать со сборкой.
473 3114640
>>113465
Ты смотришь новости по телику, не по *тельку.

>созвучно со словом челик


Так и с великом рифмуется. А если у тебя написание (!) звучит, то это ты просто не разбираешься в матчасти. Звук от буквы не отличаешь?

>Кофе в среднем роде


Грамматически у этого больше оснований, потому что такая начальная форма у слов среднего рода: поле, море и т.д. Но всё же употребление в мужском роде коррелирует с высоким уровнем образования.
474 3114849
>>113344

> по правилам


А потом появляются всякие стеклянный, оловянный, деревянный.
475 3114947
>>114640

> тебя написание (!) звучит


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

>Так и с великом рифмуется


Не рифмуется, а созвучно, не путай. Ч и мягкая Т звучат максимально близко.
476 3116126
Можно ли на расте писать десктопные кроссплатформенные приложения?
477 3116305
Какую книжку лучше читать первой? Клабник С., Николс К. - Программирование на Rust или Макнамара Тим - Rust в действии?
478 3116369
>>116126
Есть привязки к популярным кроссплатформенным библиотекам для построения пользовательских интерфейсов.
>>116305
Читай растбук.
479 3116453
Какие расширения есть для вс кода? Поставил rust-analyser и он жрёт с ходу полгига озу, после редактирования toml вообще завис, так же дофига всякой шляпы добавляет в код, без спросу что-там создаёт в таргете (через гит увидел). А мне всего лишь нужна подсветка синтаксиса и автокомплит. Есть более легковесные аналоги?
480 3116458
>>116453
А хуле ты думал? Язык компилируемый. Ну естественно он компилирует код вначале. Rust-analyzer вполне адекватное расширение.
481 3116529
>>116453
А еще если ты поставишь антивирус касперского, он завизжит, что артефакты компиляции у тебя все вирусные.
482 3116809
Написал хеллоу ворлд, после компиляции бинарь 3,6 Мбайта. Это точно язык для системного программирования? Даже в голанге, где встроен рантайм, получается около 2 Мбайт.
483 3116817
>>116809
Это ты в дебаге собрал. Но вообще в расте бинари огромные, даже в релизе хэллоу ворлд будет 400 кб весить, а 10 строчек кода с использованием std до мегабайта поднимут его. С либами вообще пиздец, сразу за несколько мегабайт улетает.
484 3116824
>>116817
Это не нормально. Для сравнения многие стандартные линуксовые консольные утилиты занимают 20-100 Кбайт.
485 3116840
>>116824
Одна только libc занимает 2 мегабайта, если линковать статически.
486 3116847
Ещё плагин через раз работает, постоянно отваливается. Я теперь понял, зачем там пункт restart server. Насколько же всё сыро, хотя уже прошло немало времени.

>>116840
Разве нельзя сделать, чтобы он брал только те функции, которые нужны, а ненужные не включал?
487 3116868
>>116847
В Расте тоже можно убрать лишнее, если специально заморочиться. Вот так всегда, заёбываются по мелочам вместо чего-то важного, а потом в 2024 году все приложения однопоточные и игры статтерят, потому что нам лень шейдеры компилить асинхронно.
488 3116873
>>116868
Я хотел писать на расте легковесные утилиты для старых пека, потому что там сейчас ничего из современного невозможно запустить, всё гиганстких размеров и тормозит. А получается проблема в самих компиляторах, потому что они не позволяют делать маленькие программы, а сразу генерят эти огромные бинари, которые потом сжирают всю память и тормозят.
489 3116880
>>116873
Старые - это 386-ые? Потому что даже у некроноутов 10 лет назад было от 4 гигабайт памяти, и полмегабайта даже на них не решали. Вот Электрон для них смерть.
490 3116897
>>116880
На ZX Spectrum было вообще 48 Кб ОЗУ и там не то что консольные программы были, а даже цветные видеоигры. А теперь на 48Кб даже хеллоуворлд не запустишь.
И 10 лет назад 4 гига было только у мажоров. Лично у меня ноупук тех времен был 2 ядра 2 гига, сейчас там даже "легковесные" дистрибутивы линупса с трудом работают.
492 3117111
>>116873
Если ты прям такой оптимизатор, то рекомендую сначала освоить всё-таки что такое статическая и динамическая линковка. Тема изжёвана 100 раз уже. В ОП-посте есть ссылка на гитхаб, там есть статья в которой всё подробно объясняется. Ах да, тебе её уже скинули, ленивая жопа. Нихера ты писать не будешь всё равно, пишу ответ только для ньюфагов, которые решат что раст говно из-за таких провокаций. На расте можно писать как на си, только зачем.
493 3117121
>>117081
Почему разработчики раст не написали свою библиотеку системных вызовов, а пользуются сишной? Наверно, придётся изучать API и писать свои обёртки на каждый системный вызов.

>>117111
Об этом должны были подумать разработчики раста, а не рядовые программисты, которые знакомятся с языком.
Пока я вот вообще не вижу преимуществ перед сишкой. Фактически нам предлагают тот же С/С++ только с другим синтаксисом.
494 3117129
>>117121

> тот же С/С++


В крестах хеллоу ворлд меньше 10 кб, не пизди на них.
image224 Кб, 1424x1246
495 3117137
>>117121

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


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

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


У рядовых программистов не стоят задачи написать самый маленький хелловорлд. А у разработчиков языка не стоит задача заставить все операционные системы поставлять с системными библиотеками раста. Включай мозги.
496 3117184
>>117121

>Пока я вот вообще не вижу преимуществ перед сишкой


На сишке ты будешь постоянно занят
- поиском нужной либы
- линковкой нужной либы
- правильно написать формулу для определения размера для malloc
- не забыть бы сделать free
497 3117190
>>117184

> линковкой нужной либы


В 2024 году это одна строчка с FetchContent и ссылкой на гит либы. Cmake всё сам сделает.
498 3117245
>>117190
Ну и вали в свой си-тред.
499 3117266
Коллеги, а может челлендж? У меня 8/12

https://rust-book.cs.brown.edu/ch17-05-design-challenge.html
500 3117269
>>117121
https://docs.rs/libc/latest/libc/ обертки написали
501 3117352
fn plus_one(x: i32) -> i32 {
x + 1
}

Это я считаю дурным решением. Чем им не понравился return? А программист должен высматривать какие-то точки с запятой в коде. Я их может на автомате ставлю за все годы программирования на си-подобных языках.
502 3117358
>>117352
Мне тоже сразу не понравилось, но в растбуке это было объяснено, и я согласился с логичностью этого решения. Но не помню, в чём была там суть. Короче, читай растбук и поймёшь, зачем они так сделали.
503 3117360
>>117358
Аа... Вспомнил. Это из за выражений. Компилятор раста рассматривает языковые конструкции как выражения. Точка с запятой завершает выражение и начинает новое. Таким образом, ретурн становится не нужен. Если функция заканчивается выражением, то функция результат выражения и возвращает. Надеюсь доходчиво объяснил. Если непонятно, то как написано выше, читай растбук.
504 3117390
Правильно ли я понимаю, что если меня бесит костыльность плюсов с их невероятно огромным стандартом, противоречящим самому себе в тонких местах, но при этом не устраивает джава из за скорости и недостаточного контроля, то раст - то что мне нужно?
505 3117400
>>117390
Какую задачу ты собираешься решать? Пытаюсь понять, что привело к выбору из этих 3ёх языков.
506 3117408
>>117400
Я пилю свой проект который в теории мне должен деньги приносить, поэтому нужно экономить время. И тут Java >>> C++, потому что куча либ, сервисов, стандарт хороший. Но синтаксис просто пизда какой бойлерплейтный + есть числодробительные места в которых хотелось бы максимальной производительности без ебли со сборкой кусков написанных на разных языках в одного монстра
507 3117410
>>117390
С такими шизоидными рассуждениями - да, как раз в раст. Там тебе расскажут один единственный метод написания кода и будешь писать.
508 3117413
>>117390
Язык норм сам по себе. Я не понимаю, зачем сравнивать. Типизация есть, zero-cost abstractions есть, скорость есть, безопасность есть, форматирование, тестирование из коробки есть. Чё те ещё собака надо? Тебе не похуй чё там в с++? Не похуй на джаву? Какой язык тебе не дай, ты же всё равно используешь отсилы 10% возможностей. Для твоих васянских говнопроектов любой язык в мире подойдёт кроме ассемблера.
509 3117421
>>117413
Че порвался?

> Какой язык тебе не дай, ты же всё равно используешь отсилы 10% возможностей


Как скажешь. Этого достаточно, чтобы 2900 иметь зеленых в месяц
510 3117602
>>117390
>>117408
Нет, скорее всего джава - это то что тебе нужно. Просто дело в том, что люди пишут на джаве на отъебись - и все тормозит, а потом идут в раст/сиси плюсплюс, считают байтики - и все летает. И связывают производительность с языком, а не с тем как они пишут код в каждом из случаев.
Недавно был челлендж выжать из джавы максимум, агрегируя миллиард строк на лету https://github.com/gunnarmorling/1brc
Естественно участники считали байтики и естественно джава со скоростью света всё разрулила.
Так что - будешь писать на джаве как на си - получишь и перформанс близкий к си, будешь на си писать как на джаве - получишь перформанс как на джаве.
511 3117768
Начал читать про владение и уже жопа горит. Кто это говно придумал?! Покажите мне! Покажите! Может ему лечиться пора? Он ещё не знает, не подозревает.
512 3117805
>>117768
Прикинь, это ещё и заразно https://docs.modular.com/mojo/manual/values/ownership
513 3117812
>>117768

>Кто это говно придумал?! Покажите мне! Покажите! Может ему лечиться пора?


Стало интересно, кто же действительно это придумал. Согласно википедии подструктурные, такие как афинные в расте, представляют из себя аналог подструктурной логики для типов (очевидно). А подструктурная логика вроде как впервые описана Иваном Орловым в 1928г. Ну а подструктрные типы как понятие как будто впервые появляются в статье Walker, David (2002) "Substructural Type Systems", но это не точно.
514 3118069
>>117768
Благодаря принципу владения не нужен сборщик мусора, и при этом не требуется вручную освобождать мусор. Не нравится - не ешь.
gcc-hello.jpg30 Кб, 473x147
515 3118185
Для сравнения, попробовал откомпилировать на си и без всяких ухищрений, оговорок и миллионов ключей сразу получил адекватный размер бинарника в 16Кб.
516 3118196
>>118185
Поздравляю.
517 3118304
>>118185
Держи в курсе
518 3118325
>>118185
Теперь сделай то же самое, но чтобы при исключениях выдавался человекочитабельный стектрейс.
519 3118350
>>117602
Спасибо
520 3118373
>>118185
Бля, я тут хотел чекнуть сколько у zig будет хеллоу ворлд, вроде помнил что меньше 10 кб был. В итоге чуть очко не сгорело. В стабильной версии 0.11 хеллоу ворлд под виндой вообще не собирается с -O ReleaseSmall с --release=small тоже ошибка компиляции, две строчки кода скопированы из доков зига, без оптимизаций компилируется и пишет в консоль. Ошибка очень информативная:

> error: the following build command failed with exit code 1


Ясно, понятно, ну думаю хуй с ним, поставлю последнюю dev-версию. Там хеллоу ворлд компилируется, но в консоли пусто. Пиздец нахуй. Я этот кал в принципе не долюбливал, но после этой хуиты точно больше не притронусь к нему.
521 3120319
>>117408

>И тут Java >>> C++


kotlin >>>>>>>> java
522 3120351
>>120319
На котлине нет value типов, а для числодробилок они нужны
image.png54 Кб, 668x567
523 3120686
Чего нахуй
524 3120690
>>120686
Ну я 2.0 в инт перевел, хуй знает как по-другому
525 3120693
>>120686
Компилятор говорит тебе пошёл нахуй, вот что. Типы тут прибиты гвоздями и не кастуются.
526 3120874
>>120686
Альт+шифт+интер нажми. Написано же.
527 3120885
>>120874
Так не сработает, он его сделать as float64, потом такой а тут должен быть инт и предложит добавить as i32 и так до бесконечности
528 3120889
>>120885
А в чём собсна задача? Какого типа должен быть идентификатор?
529 3120890
>>120885
да блядь
у тебя присваивается, что 1, то 2.0
сделай или 1.0 и 2.0 или 1 и 2
остальные аналогично - выбери один тип, т.к. переменная идентифаер у тебя одна и компилятор должен знать ее тип
image.png47 Кб, 821x383
530 3120893
>>120889
>>120890
Задача в том, чтобы работало, я вот решение написал уже >>120690, успокойтесь

Кто-нибудь с таури работал? Я хочу что-то типа пикрила сделать, это возможно?
531 3120898
>>120893

> я вот решение написал уже >>120690, успокойтесь


Как тут успокоиться, когда ты пишешь
>>120690

> в инт перевел, хуй знает как по-другому


Показывая полное непонимание происходящего.

А ещё и в таури лезешь, не поняв базовых типов, не поняв литералов.
532 3120902
>>120898

>Показывая полное непонимание происходящего.


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

Там на выбор есть сделать возвращаемые значения инт или флоат. Тк дальше идет дрочка с интами, и только 1 значение флоат, то проще поменять 2.0 на 2.

Под "хз как по-другому" я имел в виду, что концептуального другого решения кроме как привести все возвращаемые значения к одному типу я не вижу
533 3120905
>>120902
Зачем вообще дрочка с цифрами? У тебя приходит строка и отдашь строку. Почему не сделать

> если хомяк то лес


> если змея то пустыня


???
534 3120907
>>120902

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


так его и нет
image10 Кб, 622x258
535 3120909
Я тут, аноны, работаю с teloxide через dptree (ну, пизжу с примеров). И просто охуеваю с dptree - они столько накрутили, что там чуть ли не свой язык погроммирования. Например, при написании бота ты пропихиваешь функцию для какой-то ветки (на скрине через branch) и сигнатура этой функции чекается в рантайме, нахуй.

Вот теперь думаю, как бы переделать на нормально.
image.png41 Кб, 477x547
536 3120910
>>120905
Потому что автор задачи написал ниже "DO NOT CHANGE THIS STATEMENT BELOW"
537 3120911
>>120910
Ну так с этого следовало начинать. А ты первый скрин всплывающей подсказкой перекрыл и траллируешь тут битый час.
538 3120912
>>120902

> как привести все возвращаемые значения к одному типу


Enum
539 3120932
>>120910
Ну и поменяй на 1, 2, 3, -1
Вообще, какое-то ебанутое задание. Джун, который думает, что он мидл, сделал задание для долбоёба, который думает, что он джун.
540 3120934
>>120932
Какой нах джун, если я только синтаксис раста учу
541 3120950
Можете подсказать, что тут происходит с сигнатурой функции string_uppercase в пик1?

Я уже решил задачу через пик2. Сейчас хочу заставить это работать так, чтобы при этом data из main сохранилась и можно было её использовать после вызова string_uppercase (вроде бы это называется инвалидация, и я хочу избежать инвалидации data)
image.png37 Кб, 445x458
542 3120951
>>120950
Хуй знает, че там автор задания делает, вот так работает и делает то, что я хочу. В чем я не прав?
543 3121042
>>120893

> Кто-нибудь с таури работал? Я хочу что-то типа пикрила сделать, это возможно?


Можно, сделай async функцию и там запрашивай что хочешь.
544 3121063
>>120950
После упееркейз у тебя создается новая String и тут же дропается, соответственно ссылка инвалидируется. Присвой её в новую переменную, и тогда она доживет до конца скоупа.
Типа:
let uppercased = str.touppercase()
let ref = &uppercased
println("{ref}")
image.png48 Кб, 522x549
545 3121533
В чем прикол с енамами, как это разгребать, когда в одной куче считай лежат структуры, которым ещё и методы можно добавлять.
Ваще жесть какая-то
546 3121713
>>121533
В расте одна из лучших имплементаций енумов что я видел, я хз.
547 3121718
>>121533

> В чем прикол с енамами, как это разгребать


Как и в любом другом языке. Кроме того что дополнительно к нумерованной константе енума в расте ты можешь прикрутить дополнительное значение. Вот бы в других языках так же. Хочу растовские енумы в шарпе. Аш пичот!

> // c# dotnet 12


> switch (eblya)


> {


> case Yebles.VPizdu _pezda: return _pezda.IsBreaded;


> case Yebles.VRot _rot: return _rot.NumOfTeeth;


> case Yebles: VZhopu _zhopa: return _zhopa.diameter;


> default: return Yebles.Droch;


> }



Пока что на шарпе такое можно делать разве что через наследуемые интерфейсы, но это горы ёбнутого бойлерплейта вырастут.
Some на шарпе.png83 Кб, 609x763
548 3121732
>>121718

> разве что через наследуемые интерфейсы


Или через классы. В любом случае получится ГЦ-дрисня. А в растике нашем-то зеро-кост!
SomeT на шарпе.png65 Кб, 712x552
549 3121854
>>121732
Или через классы с шаблонами. Всё равно получается Droch.
550 3121936
>>121533
Алгебраические типы норм. Я бы кстати выбросил 99% фишек пидораста оставил няшные енумы и макросы, писал бы как на си и было бы заебись.
551 3121950
>>121936
Двачую.
552 3121991
А вот так в шарпе можно реализовать скрин отсюда >>121533
Программа работает так же, только телодвижений больше.
553 3122014
>>121936

> макросы


За такие предложения даже обоссать не жалко.
554 3122054
>>122014
Долбоёб иди нахуй.
555 3122055
>>121991
Это пиздец.
556 3122091
>>122055
Ждём, когда майкрософт обнаружит критический недостаток в расте...
557 3122094
>>122091
Ты хотел сказать фатальный недостаток?
558 3122097
>>122094
Можно и фатальный. Мне похуй. Главное, чтобы завезли растовые енумы в шарп.
559 3122130
Ананы, кто-нить пробовал на вкус Аду ? Как оно по сравнению с растом? Я тут пытаюсь, тулинг зело сырой, хотя alr и пытаются копировать с cargo.
Ещё узнал, что есть (будет?) gnat-studio для раста.
560 3122272
>>122130

> ада


> ада


> ада


Пойди в питонотреде спроси, идиот.
561 3122369
>>121991
Тебе заняться нечем, пчел? Успоуойся уже)
562 3122461
>>122272
Нюхни калца, обиженка.
563 3122510
>>121936
В зиге есть что-то подобное:

// first define the tags
const ValueType = enum {
int,
float,
string,
unknown,
};

// not too different from simple union
const Value = union(ValueType) {
int: i32,
float: f64,
string: []const u8,
unknown: void,
};

// just like the simple union
var value = Value{ .float = 42.21 };

switch (value) {
.int => std.debug.print("value is int={d}\n", .{value.int}),
.float => std.debug.print("value is float={d}\n", .{value.float}),
.string => std.debug.print("value is string={s}\n", .{value.string}),
else => std.debug.print("value is unknown!\n", .{}),
}

Спижжено отсюда: https://zig.news/edyu/zig-unionenum-wtf-is-switchunionenum-2e02

Правда зиг не для меня - я слишком туп чтобы за сырыми указателями следить, мне семантика владения ближе.
563 3122510
>>121936
В зиге есть что-то подобное:

// first define the tags
const ValueType = enum {
int,
float,
string,
unknown,
};

// not too different from simple union
const Value = union(ValueType) {
int: i32,
float: f64,
string: []const u8,
unknown: void,
};

// just like the simple union
var value = Value{ .float = 42.21 };

switch (value) {
.int => std.debug.print("value is int={d}\n", .{value.int}),
.float => std.debug.print("value is float={d}\n", .{value.float}),
.string => std.debug.print("value is string={s}\n", .{value.string}),
else => std.debug.print("value is unknown!\n", .{}),
}

Спижжено отсюда: https://zig.news/edyu/zig-unionenum-wtf-is-switchunionenum-2e02

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

> string: []const u8,


У них штоле юникода нет искаропки в 2к24?
565 3122542
>>122539
У них даже дефолтных аргументов нет, пиздуй заполнять структуры как в сишке.
566 3122543
>>122542
Обоже, соу патетик.
567 3122652
>>122539
Что есть юникод, если не слайс байтов?

>>122542

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


Все как диды завещали
image.png32 Кб, 813x389
568 3122739
Бля да хули так сложно-то ебаные модули нахуй. Ну блять современный язык нахуй с зависимостями через toml да ахуенно
570 3122746
>>122652
Что есть {что угодно} если не слайс байтов?
image.png57 Кб, 583x689
571 3122906
Накидал репозиторий, вот так норм делать?
572 3122930
>>122906
Нахуя ты обернул вектор?
573 3122955
>>122930
Чтобы потом туда в теории добавить фул репозиторий с
Find, Save, Load и тд
574 3123347
>>122906
Ооп головного мозга, нахуя тебе пидораст, шёл бы в кресты за классиками, будешь там свои абстрактные фабрики ваять.
575 3123357
>>123347
Дебс, а как ты ещё блять рам репозиторий сделаешь? Да и в принципе репозиторий, который будет работать с бд
576 3123366
>>123357
Ебанашка, зачем в сиспроге всякие репозитории, ты явно хуитой занимаешься. Обернул вектор в структуру и рад, гений блядь.
577 3123379
>>123366
Отсталый, в курсе, что Rust язык общего назначения?
578 3123413
>>123347

> Ооп


> кресты


Когда кресты стали ООП языком?
579 3123453
>>123413
Always has been.
580 3123523
>>123453
В стандартной библиотеке крестов никакого ООП нет вообще.
581 3123570
>>123523
Там нет классов, наследования и subtype-полиморфизма?
Попей таблеточек мань
582 3123577
>>123570

> наследования и subtype-полиморфизма


Нет. Это тебе таблетки надо попить. В крестах метапрограммирование, какое в пизду наследование.
image.png220 Кб, 1888x626
583 3123845
>>123577

>метапрограммирование


Оно ортогонально ООП.
Побереги свои фантазии для саниторов.
584 3123884
>>123845
С таким же спехом можно и Раст назвать ООП языком. Но по факту в либе крестов ООПа меньше, чем у раста. Наследование не используется в принципе, вместо ООП-полиморфизма используется функциональщина, классов в понимании полноценных ООП-языков типа джавы там не используют - просто структуры с RAII, очень много функционала в процедурном стиле без привязки к объектам - вообще типы там часто заменены концептами. То что язык позволяет на всех стульях сидеть ничего не значит, надо ориентироваться на код, утверждённый комитетом, т.е. стандартную либу.
585 3123908
>>123884

> С таким же спехом можно и Раст назвать ООП языком.


Нельзя, в расте нет наследования и subtype-полиморфизма

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


Так и запишем: поциент считает плюсы языком для написания стандартных либ. Алоу, открой любой крупный проект на плюсах - там сплошное ООП.
586 3123917
>>123908
Опять ты переворачиваешь всё с ног на голову. Какое отношение язык имеет к тому что утята пишут на си с классами? Если ты посмотришь на проекты под С++17 и выше, то количество ООП там будет стримиться к нулю.
587 3123988
>>123917
Приведи примеры таких проектов
588 3124002
>>122906
Зачем отдаёшь в массив копию датафайла? Почему бы не отдавать оригинал? А уже оттуда предоставлять ссылки. У тебя лайфтайм массива явно дольше отдельных элементов будет.
589 3125441
ПЕРЕКАТ >>3125439 (OP)
ПЕРЕКАТ >>3125439 (OP)
ПЕРЕКАТ >>3125439 (OP)
590 3125477
>>125441

> перекат раньше 1500


Сразу видно какие пидорасты чмошные.
591 3125562
>>125477
Ты своей тупизной весь тред засрал, вот и перекатили, чтоб не воняло
592 3134469
>>122906
вроде норм, главное убедись что ничего лишнего не клонируешь.
Тред утонул или удален.
Это копия, сохраненная 4 июля в 13:03.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски