Этого треда уже нет.
Это копия, сохраненная 21 мая 2022 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Rust #18 /rust/ 2133349 В конец треда | Веб
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/
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

Предыдущий тред: >>2107844 (OP)
0001.png34 Кб, 1920x1080
# OP 2 2133362
0002.png72 Кб, 1920x1080
# OP 3 2133364
0003.png35 Кб, 1920x1080
# OP 4 2133365
5 2133380
>>33362
Нефига какая толстота со слиянием.
Зачем делать такой трэш, отталкивает же.
6 2133382
>>33380

>слиянием


У тебя родители тоже слились в тебя, а не продолжили отдельно существовать?
7 2133383
>>33364
То есть, никаких достижений и нет, если пришлось приписывать рейтинг SO, где единственная заслуга это столбец "любимый".

>>33365
Хватило бы и одного столбца "Клевый - да - нет - нет"
8 2133385
>>33382
Да очевидно это рассчитано на тупой маркетинг, кто семейные деревья в бок рисует с хронологией? Приписка что это семейное дерево лишь чтобы такие как ты вовремя пукнули и поправили, а ассоциация ровно ложится как и задумал автор. Некрасиво и низко.
9 2133388
>>33383
А какие заслуги должны быть?
"первый язык, на котором написана программа управления дилдо"?
10 2133390
>>33383

> никаких достижений и нет,


На расте написан сам компилятор раста, что уже достижение.
image.png58 Кб, 1846x835
11 2133392
Логический правильный вариант (си же не слился в с++, а вышел с него). Да и другие языки могут дать еще потомства, хера скукожили.
после такого говна и манипулированием даже не хочется раст трогать
12 2133396
>>33388
Первая вакансия.
Первый флагманский проект - утилита grep.
Был принят в мазилу, а когда выпинут - не указали на самом деле авторы тупые и могли упомянуть создание фондейшена раста
Написания браузера на мазиле (написали же??)
13 2133429
>>33390

> что уже достижение.


На самом деле нет. С появлением ллвм каждый второй студент придумывает свой ЯП и пишет к нему компилятор в ир-код, который скармливает ллвм. Вот когда они интегрируют Cranelift как бэкенд хотя бы для debug-билдов на х86_64 (а такие планы у них были), тогда и можно сказать, что на расте полностью написан компилятор.
14 2133471
>>33365
А почему плюсы и си не типобезопасны?

из за войд звездочки?
15 2133573
Перекат на 484 посте... До такого только педераст мог додуматься.
16 2133582
>>33573
Боимся переполнения буфера, а вам прошу проследовать в петушиный угол к жабодаунам и плюсодебилам.
17 2133638
В прошлом треде анон упомянул язык bosque от MS, я о нём ничего не слышал, так что нагуглил видосик, через непонимание английского пытался вникнуть в послание мне постараться проанализировать и сделать выводы для себя) (как комнатный Рембо, крч). И сходу душа запела, потому что функционалочки во все поля. Лупов больше нет, они заменены функциями, мутабеольности нет вообще, ибо опасна и не нужна. Хотет Верону в таком же ключе.
18 2133650
>>33582
Но вы же освободили память, но в память по указателю до сих пор пишутся данные!
А ещё у вас состояние гонки теперь. Ех, непорядок. Растодебилы опять обосрались.
19 2133658
>>33385

>Некрасиво и низко.


Как и сам пидорский руст.
20 2133670
>>33471
Слаботипизированные, потому что.
Раст потому и сильнотипизирован, ведь это исключает класс ошибок (с ув. КО)
21 2133743
>>33364
График на два года устарел, Rust уже шесть лет подряд most loved.

>>33365
Эту таблицу рисовал какой-то конченный долбоёб. В расте нет динамическиго тайпчека, только статический, а в плюсах есть auto. А если мы говорим про dyn Trait, то это и в плюсах есть.

В общем, хуйня.
22 2133744
>>33638
google "Alan lang"

Не благодари.
1629442861072.jpeg294 Кб, 1080x2340
23 2133745
>>33744
Чиво?
24 2133747
>>33743

>В расте нет динамическиго тайпчека


&dyn Trait?
25 2133754
>>33747
Ну, очевидно, что эту таблицу писал человек, который нихуя не знает про кресты, а ещё думает, что всё знает про раст, примерно как ты.
Во-первых, dyn Trait — это не динамическая типизация, твой тип всё ещё должен имплементить некий трейт, чтобы ты мог получить dyn Trait.
Во-вторых, в крестах есть точно такая же хуета, когда ты используешь классы с vtable вместо определённого типа, но почему-то в таблице я не вижу static/dynamic у крестов.
В-третьих, если мы говорим про dyn Any и даункасты, такую же хуету можно получить просто кастом указателей.

Так что нет.
26 2133761
>>33754

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


Спасибо за такую высокую оценку моей уверенности в себе.

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


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

>кастом указателей


Это проверяет тип?
27 2133765
>>33761

>он умеет проверять это в рантайме


Нет, он проверяет соответствие типов в компайл-тайме. Точно так же, как кресты или сишка.

>Это проверяет тип?


Нет, но dyn Any тоже не проверяет тип, он проверяет хеш, и в теории эти хеши могут совпасть у двух совершенно разных типов. Так что в теории отличия тут нет, а на практике ты и в сишке можешь свои типы хешить в компайл-тайме макросами.
28 2133773
>>33765

>Нет


В книжке написано в рантайме.
https://doc.rust-lang.org/stable/book/ch17-02-trait-objects.html#trait-objects-perform-dynamic-dispatch

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


Ловко ты словами сыграл. В теории могут совпасть, значит в теории отличий нет. В теории, я могу привести неоспоримые доказательства своей правоты, значит в теории я победил. До свидания.
29 2133781
>>33773

>В книжке написано в рантайме


Там написано, что он ресолвит методы в рантайме, а не типы (точно так же, как работает ресолвинг методов на классы в крестах; ты всё ещё не показал разницу между dyn Trait в расте и dynamic dispatch классов в крестах). Типы ресолвятся в компайл тайме всегда.

>Ловко ты словами сыграл


Я не играл словами, я тебе рассказал как dyn Any внутри работает, и что даункастинг в расте ничем не отличается от каста указателей, абсолютно ничем.

Но если ты говоришь что ты победил, то ты победил, офк, удачи.
30 2133810
Что-то вы тут все разболтались. Все привели в порядок свои mod.rs? Хватит бездельничать идите прописывать модули.
31 2134087
>>33781

> Там написано, что он ресолвит методы в рантайме, а не типы


Ващет dyn Any именно ресолвит типы в рантайме. https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=5df16936d71d237c5da1e9470eb6b6b9

Правда с ненулевым шансом коллизий, потому что расторазрабы дауны: https://github.com/rust-lang/rust/issues/10389
32 2134135
>>33638
Некоторые решения у них сомнительные там, но это же MSR, там ни раз направят на путь истинный.

В целом, мне думается, это будет такой "котлин" для С#, ну на самом деле не замена, а просто модный и молодежный язык для дотнета (вероятно и как замена тайпскрипта, раз так похож).
33 2134145
msr ещё разрабатывает dafny и koka
34 2134221
>>34145
Нефига у них там в MSR весело, сидишь такой, пилишь новые языки, которые не факт даже на свет что выйдут. koka выглядит интересным
https://www.youtube.com/watch?v=Y_ts9DSIh0g
35 2134244
>>34145
Жалко не дотянули до котлиновских лямбд (без необходимости скобой и с "it").
Хотя вариант без "стрелок" мне нравится (не знаю как другим, но вечно бесили эти -> и =>, у меня даже какой-то мышечный "затык" был во время написания).
gallery-share-1629377375931.jpg247 Кб, 912x872
36 2134256
>>33365
Не знал, что в Расте нет сборщика мусора. Подчищаете malloc'ом каким-нибудь?
мимо из соседнего треда решил посмотреть чем люди занимаются
37 2134260
>>34256
Компилятор вычисляет, где что дропается, и сам расставляет free()
38 2134265
>>34260
Понял. Т.е. самому разработчику не нужно париться по поводу собственноручной очистки мусора?
39 2134270
>>34265
Нет.
image.png194 Кб, 278x300
40 2134273
>>34256
Если в С++ ты сам собираешь урожай со своих грядок. То в расте ты находишься в рабстве у черного властелина Борроу Чекера, с веления которого ты собираешь урожай как ему захочется.
41 2134282
>>34273
Так автоматические указатели в C++ - это же почти та же самая хуйня, нет?
42 2134283
>>34256
>>34273
И в расте и в плюсах очистка делается автоматом при помощи raii. Впрочем в расте можно и заранее вызвать деструктор при помощи функции drop.

Можно использовать и аллокаторы, но тогда придётся ебстись с ансейфом.
43 2134291
>>34282
>>34283
Это был юмор. В С++ есть выбор, и это нормально. А в раст есть ансейф и это не нормально.
44 2134292
>>34282
Борроу чекер работает только для обычных ссылок. Умные указатели живут сами по себе и обычно с борроу чекером вообще не взаимодействуют, потому что передаются по значению.
mpv-shot0026.jpg105 Кб, 1280x720
45 2134320
>>34273
>>34283
Понял. Забавно у вас, конечно. А что интересного или примечательного (на ваш взгляд) вы можете рассказать о своём языке? Есть какие нибудь мастхэв фреймворки или для чего в общей массе используют раст, что там по вакансиям и т.п.?
46 2134339
Не понятен статус кока, вроде и исследовательский проект, но тут и сайт запилили, и в чатике няшатся, и версия уже за 2.х.х, и даже есть один вопрос на SO (лол). Кто что слышал за проект, расскажите.
47 2134399
>>34135
Там про облака много сказано было. Для тех целей его и пердолили, вестимо.
48 2134402
>>34399
Кот в облаках ничем от локального кода не отличаются. Разве что билд-система может быть заточена под контейнеры (только зачем?).
49 2134406
>>34339
Так они для какой только шляпы сайты не пилят. Вон, посмотри на F* с классным логотипом (и KreMLin'ом).

>>34402
А шоб я знал, что у них и зачем. Я нубас, сюда зашёл, потому что краб понравился. Ну и картиночки для переката пощу.
image.png18 Кб, 415x378
50 2134408
Что-то очень давно они рисёрчат.
51 2134433
>>34408
Быстро только кошки родятся.
52 2134444
>>34408
>>34433
Сразу вспоминается тяжелой труд исследователя.
https://www.youtube.com/watch?v=xZpspMh3TFE
53 2134875
>>33349 (OP)

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


Насколько он быстрее, чем Си?
55 2134990
>>34880
Шел 2021 год, люди до сих пор мерятся языками по скомпрометированному сайту, по скомпрометированному коду и футуристическими тестами коня в вакууме списке.
56 2135021
>>34875
Вопрос немного по другому надо ставить: насколько меньше UB в расте и насколько продуктивнее расторазрабы по сравнению с сишниками?

>>34990
А как ещё письки мерять? Не по "SO: most loved" же.
57 2135130
>>34990
Ну запусти сырцы у себя и провалидируй результаты.
58 2135199
Почему язык, который создали 20 лет назад, имеет защиту от очень неприятной и редкой плавающей ошибки (затенения переменной) встречающиеся в очень большом коде, а в новом, ультробезопасном языке есть возможность даже переиспользовать имя переменной под другим типом?

Можете не отвечать. Откуда творческим личностям знать об редких ошибках.

Безопасность не для вас молодой человек написана, это только для памяти.
59 2135200
>>35199
ультробезопасном языке (Безопасность не для вас молодой человек написана, это только для памяти.)
парсер звездочку скушал
60 2135208
>>35199
Потому что у нас статическая типизация, и если ты не бомж, который не может себе позволить запустить rust-analyzer, то ты всегда знаешь тип переменной и всегда можешь прыгнуть к её объявлению.
61 2135217
>>35021

>Не по "SO: most loved" же.


Там второй любимый язык вообще имеет лисп синтаксис, так что вся эта колонка тоже скомпрометированна.
62 2135221
>>35208
Интеллект уровня - растер.
Вообще-то это шарп со статик типами. Да и речь про затенение переменных (и я это указал).
63 2135229
>>35221
Если что
https://dotnetfiddle.net/JUGjMU
Просто та в 9 шарфике убрали для главного стартового файла все эту ООП хрень с паблик статик воид мэин.
64 2135236
>>35199
Имеет, просто выключена по-умолчанию, потому что в функциональных яп шадоуинг - это норма. Можно запритить в линтере, даже есть несколько уровней запрещения, вот эта строка запрещает любой шадоуинг:
#![deny(clippy::shadow_unrelated, clippy::shadow_same, clippy::shadow_reuse)]
65 2135340
Устроился фронтом - оказалось взяли на бекенд писать Раст + WebGPU. В принципе доволен, давно хотел перекатиться и есть опыт работы с функциональными языками и бекендом. Довольно большая компания и нишевый продукт.

Пока всё нравится, борроу чекер конечно обсирает часто, но понемногу въезжаю.

Дочитываю книжку из ОП-поста. Есть ли какие-то рекомендации от местных анонов что читать дальше? Алсо, может кто-то опытный, порекомендуйте что-то по компьютерной графике webgl/webgpu/основы шейдеров, текстур и рендеринга.
66 2135361
>>35340
Бамп реквесту, тоже интересно
67 2137049
Как же я ненавижу этот компилятор, ебаный в рот этого бороу чекера
НУ НИХУЯ Я НЕ БОРОВЛЮ ПСИНА ТУПАЯ
У меня всё что только можно один лайф тайм имеет
Как я вобще могу бороувить что то вызовом функции, если после её завершения мутабельного референса на лексер вобще больше не существует

Так еще и если токен не возвращать неожиданно множественный бороувинг пропадает и всё какого то хуя компилиться 4 скрин

Так еще и если всё это сделать просто из мейна, создавая и вызывая лексер напрямую всё работает

вместо кода полтора часа сижу не понимаю что от меня компилятор хочет и что ему не нравится
image.png49 Кб, 774x407
68 2137051
>>37049
на первом скрине вот это должно было быть
image.png56 Кб, 831x407
69 2137052
>>37051
да ебанный врот
70 2137061
соре за мои высеры, я так поныть просто, скорее всего просто начну все в стринги пихать, чтобы лайфтаймы все к минимуму свести
компилятор 1 : 0 я
71 2137067
>>37049
Ты компилятор пишешь?
72 2137068
>>37049
На самом деле это баг. Ему уже шесть годиков. Думали что исправится при помощи нлл, но оказалось слишком сложно: https://github.com/rust-lang/rust/issues/21906
73 2137075
>>37067
Ага
Книжку одну прочесть решил про компиляторы, вот параллельно пытаюсь свой маленький сделать
74 2137076
>>37061

> начну все в стринги пихать


Либо делай лексер тредсейф (пихай все изменения в атомики/мютексы и бери иммутабельную ссылку).
75 2137077
>>37075
Книга дракона? Если нет, то поделись названием, пожалуйста.
76 2137078
>>37061
И таки я нашёл как обойти этот баг (точнее спиздил идею отсюда: https://stackoverflow.com/questions/38078936/borrowing-reference-in-structure/38080934#38080934 ).
Надо чтобы лексер помимо токена возвращал в случае успеха мутабельную ссылку на себя, которую и использовать в последующих итерациях: https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=ed32875ad5c336688de502f2424470b8
77 2137081
>>37077
Она самая

>>37078
Ух ты, спасибо
78 2137090
>>37068
Ржавчина. 6 лет. Итоги.
79 2137171
>>37051
Чому не итератор?
80 2137328
>>37090
Жесть.
81 2137507
>>37171
Хотелось бы результат возвращать, чтобы ошибки обрабатывать
ну можно конечно результат в опшион обернуть, но что то meh
82 2137752
В прошлом треде вы мне помогли понять как работает обработка ошибок с Ok, Err. Теперь прошу пояснить про Some, None.
83 2137770
>>37752
Ну если хочешь совсем подробно как работает, то вот: https://github.com/rust-lang/rfcs/blob/master/text/3058-try-trait-v2.md Именно так оно работает внутри, но сам трейт ещё нестабилен, а значит для своих типов его имплементировать нельзя - знак вопроса работает только для Result или Option (но одно в другое преобразовывать не может).
84 2138051
Почему у вас нет эксепшнов?
85 2138061
>>38051
Если говорить о расте как о функциональном языке, то эксепшны считаются нечистыми.
Если говорить о расте как о языке с небольшим рантаймом, то эксепшны могут влиять на производительность. Последнее более логично.
86 2138063
>>37090
Куда уж нам до C++... https://gcc.gnu.org/bugzilla/show_bug.cgi?id=35412
Куда уж нам до до сих пор не унифицированного манглинга...
87 2138068
>>38063

> Куда уж нам до до сих пор не унифицированного манглинга...


Ну, в расте его тоже нет. Это кстати, было одной из причин почему сложные структуры не стабилизировали в константных генериках - не знали как их закодировать в названии типа: https://github.com/rust-lang/rust/issues/61486
88 2138106
>>38051
Они есть, просто называются паниками.
89 2138124
>>38051
Мне думается, что современные кустарные разработчики не могут осилить это в рантайме и начинают придумывать всякий бред, заставляя программиста, по сути, руками пробрасывать ошибки.
90 2138168
>>38124
Могут, паники как бы так и работают и их даже отлавливать можно. Просто специально сделали, чтобы их использование для ловли ошибок было как можно более сложным (а так вообще можно делать, правда ловиться будут только растовские паники). https://doc.rust-lang.org/std/panic/fn.catch_unwind.html
91 2138185
>>38168

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


Нужно еще чтобы перед написанием кода программисты били себя плетью.
Какая реальная причина и почему в С++ есть эксепшены? Я не эксперт, но вероятно это требует больше усилий для написания компилятора и рантайма?
92 2138186
>>38185
Весь рантайм уже имеется. Реальная причина в том, что выбрали возвращение эксепшенов одновременно с результатом в качестве основного способа работы с ошибками. Всё.
93 2138192
>>38186
Новые языки нынче выглядят как халтура (го, раст, вроде свифт). Если раньше люди старались сделать жизнь программиста лучше, то сейчас делают пару фич для демонстрации, а на остальное кладут болт (точнее выпускают статью, почему это тебе "ненужно").
94 2138194
>>38192
Checked exceptions были ещё в жяве. Плюс в расте ничего не мешает использовать Box<dyn Error> если лень пердолиться с конкретными типами ошибок.
95 2138202
>>38194
Не люблю чекед ошибки/"ошибки это значения" (хотя я раньше был сторонником их в джаве), вообще ошибки считаю как отдельная ветвь программы (исключительная, и по большей части не для текущей ветки исполнения). Ну, типа, есть нормальная работа и редко не нормальная, на которой не хотелось бы максимально заострять внимание (а лучше пробросить до нужного контроля, и мне тут не мешала).
В общем, дело вкуса.
96 2138218
>>38202
Ну оператор "?" и Box<dyn Error> как раз и убирают всю исключительную часть кода под капот (правда ценой боксинга ошибок). Есть даже макросы, которые добавляют ещё больше сахарку: https://github.com/withoutboats/fehler
97 2138231
>>38218
не боксинга, а
match var {
Ok(v) => v,
Err(e) => return e.into()
}
смекаешь разницу?
98 2138235
>>38231
Я не понимаю тебя. Я говорил про Box<dyn Error>, который по сути аналог Throwable из жавы. Преобразование любой ошибки со стека в Box<dyn Error> состоит в аллокации памяти и перемещении со стека в кучу. Преобразование из Box<dyn Error> в Box<dyn Error> - noop.
99 2138239
>>38235
бля, я листнул вверх и увидел ваш полный срач про исключения, а думал, шт затираешь про бесповоротный box ошибки при ? операторе, соре, уёбываю

хотя, постойте

кто там хотел исключения?
ловите:
panic::catch_unwind()
panic::set_hook(Box<FnMut(&PanicInfo)>)
всё без асинха, хоть обмазывайся Runtime::block_on'ом при каждой обработке, ёба

им подают нормальную концепцию разделения потока исполнения проги в случае ошибки - нет, не хочу, хочу исключать говно
100 2138241
>>38239
Говно ты даёшь. Можно вместо unwind сделать abort и вся твоя нормальная концепция пойдёт по пизде. Плюс надо чтобы возвращаемое значение имплементировало https://doc.rust-lang.org/std/panic/trait.UnwindSafe.html

Конечно можно его имплементировать вообще для всего, даже ансейф не нужен, но таким образом можно очень быстро получить сложнонаходимые ошибки.
101 2138243
>>38241
abort - это грех
102 2138329
Почему так нахуй? Я хочу просто прочитать число из stdin, почему во всех остальных языках я могу это сделать, а в расте вот это:
https://programming-idioms.org/idiom/120/read-integer-from-stdin/1906/rust
Ни один из этих способов и близко не похож на простой, который можно легко вспомнить при желании, что за пиздец
И чем дальше я смотрю, тем больше такого пиздеца наблюдаю
Даже с++ не кажется теперь таким оверинжиниринг куском говна
103 2138331
>>38329
Bruh, 3 строчки кода буквально
104 2138339
>>38331
Плюсы: cin >> x;
Питон: int(input())
GO: _, err := fmt.Scanf("%d", &i)
С: scanf("%d", &n);

Во всех этих языках это 1-2 строчки вместе с объявлением и мне даже не пришлось гуглить, этот код безумно легко читатется\осознается\запоминается
Конечно, раст еще показывает все места, в котором код может свалиться, но между трейсбеком в рантайме, на написание которого я потратил 0 секунд и .expect("Failed") я выберу трейсбек
105 2138361
>>38339
3 строчки это все ещё просто
106 2138508
>>38361
Какая разница просто или нет, если мне для такой простой операции, как чтение числа из stdin пришлось написать кучу неочевидного борлерплейта?
Я был уверен, что язык в 2021 должен помогать программисту абстрагироваться от кода и больше думать о том ЧТО написать, а выходит, что 99% времени я должен думать о таких простых вещах как каст прочитанной строки из stdin в число
107 2138519
>>38508
Наоборот всё очевидно и единообразно. Без заклинаний.
108 2138523
>>38508
Потому что I/O — это ебаная пизда, и раст от тебя это не скрывает. Ты получаешь ебаные байты, а с ебаными байтами всё что угодно может пойти не так. Из очевидных проблем: у тебя может отвалиться пайп, у тебя могут пойти на вход байты, которые не являются валидным utf8, у тебя может на вход попасть строка, которую нельзя распарсить в нужный тип. Всё что угодно в ебаном I/O может пойти не так.
109 2138529
>>38523
Ты ещё забыл про то, что IO пиздец какой медленный. Куча языков делают скрытую буферизацию, чтобы хоть как-то обойти это. А в расте нихуя нет, из-за чего он иногда в десятки раз медленней в бенчмарках, где активно используется вывод в консольку без вручную добавленного буфера.
110 2138533
>>38529

>в расте нихуя нет


std::io::BufWriter тебя чем не устраивает?
111 2138534
>>38329
используй крейты. например:
https://crates.io/crates/scanrs
я туда коммитил кстати
112 2138588
>>38508
Теперь будешь знать что чтение числа из стдина нихуя не лёгкая операция
113 2138592
>>38508

> кучу


> 3 строчки


> 2021 год

114 2138626
>>38508
ты малость не туда зашёл с хотелками чтоб язык делал всё за тебя

раст это СИСТЕМНЫЙ язык, который должен предоставлять разработчику максимальную инфу о возможных точках отказа, а для этого они должны быть ВИДНЫ в коде, чтоб глаз мог за них зацепиться, и чтоб потом не бегать потом с ошпаренной жопой из-за прилетевшего в sentry трейсбэка на проде
115 2138636
>>38329
Покажи как в плюсах отловить ошибку ввода? Ну т.е. ты ждешь число и что будет, если будет введено не число и как выловить эту ошибку.
116 2138754
>>38636
Пол секунды гугла https://pastebin.com/z1X2zjRX

>>38534
Что если я гипотетически не могу использовать крейты?

>>38523
Еще раз, остальные языки развалятся в рантайме со стектрейсом из которого я пойму, что произошло, без дополнительных телодвижений. В расте же я на каждую ошибку предварительно должен написать .expect("Random error") - такая ошибка ничуть не лучше трейса (может даже хуже)

>>38626
Как .expect("Random error") решает проблему прилетевшего в sentry трейсбека?
117 2138761
От эксепшенов даже в плюсах плюются, а тут чел их хочет в раст принести, лол
118 2138764
>>38533
Это и есть "вручную" из моего поста.
119 2138771
В системных языках не должно быть эксепшенов
Пруф ми вронг
120 2138871
>>38754

>Еще раз, остальные языки развалятся в рантайме


>Как .expect("Random error") решает проблему прилетевшего в sentry трейсбека?



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

fn get_input() -> String {
let mut buffer = String::new();
match std::io::stdin().read_line(&mut buffer) {
Ok(_) => () // можно опустить количество прочитанных байт,
Err(e) => { делаешь с e что угодно, хоть паникуешь, хоть в жопу суёшь, если похуй }
}
buffer
}

как вариант, ошибку можно пробросить выше по стеку, изменив при этом возвращаемое значение:

fn get_input() -> Result<String, io::Error> {
// сразу ВИДНО, что функция может сфейлить, и разработчик ОБЯЗАН обработать ошибку хотя бы через unwrap(), потому что никак иначе ему до возвращённого значения, которое обёрнуто в Result, не добраться.
// как мне в питоне понять, что абстрактное int(input()) может бросить исключение, и его нужно обработать?
...
std::io::stdin().read_line(&mut buffer)?; // ? - достать значение из Result в случае успеха или вернуть из функции ошибку
buffer
}

если короче: Result<T, E> - обработка ожидаемых ошибок, паника возникает при неожиданных (если в проекте нет unwrap()/expect()/panic!()) и требует такого громоздкого синтаксиса, шоб им не хлоупотребляли
121 2138874
>>38871
быстрофикс

fn get_input() -> Result<String, io::Error> {
...
Ok(buffer)
}
122 2138884
>>38871

> ибо паника - это действительно ненормальное поведение проги


Кстати, злоупотребление паниками в коде аллокатора в стандартной библиотеке стало одним из препятствий для включения раста в ядро линукс. Пришлось добавлять версии функций с возвращаемой ошибкой https://github.com/rust-lang/rust/issues/86942 и пердолить способы опцией запретить вызывать паникующие версии функций: https://github.com/rust-lang/rfcs/pull/3140
123 2138912
>>38884
ну вот, пердолят линух вместо специализации, TAITов, let-chain'ов и auto/negative impl trait'ов, эх, хоть сам бери да прись контрибьютить
124 2138923
>>38912
Поддержку линукса пердолят не команда компилятора, а отдельные люди на зарплате. А кор тим там недавно ГАТы из экспериментальных фич вывели. Возможно скоро стабилизируют. TAIT тоже разделили на минимальную версию (с ограничениями - TAIT'ы не могут быть аргументами функций и полями структур), в которой компилятор раста точно может вывести типы и тоже возможно скоро стабилизируют.
125 2140069
Бле посоны раст это сила нахуй
126 2140364
А как вернуть None?
Т.е. или fn method() {
Или через Option?
127 2140411
Вот есть у меня структура, а в ней поле, например
enum Some_Enum {
__some_type(String)
}
let x = Some_Enum::some_type(String::from("test value"))

Как мне, например сделать срез some_type и записать в отдельную переменную?
128 2140414
>>40411
А, уже понял. Блять, немного напрягает что через раз этот match юзать надо. Понимаю почему и для чего, но напрягает
129 2140419
>>40414
А как ты хотел иначе? Если преобразуешь часто, можно имплементировать трейт From: https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=eda63b201bc0b68316046c4a125548ba
Ну или TryFrom, если преобразование может быть неудачным.
130 2144107
Есть какой-нибудь roadmap для изучения именно системного программирования на Rust? Я неплохо обращаюсь с языком, но не знаю с чего начать продолжение. Меня интересует именно системное программирование под Windows.
131 2144199
>>44107
Ну шинапи учи
image79 Кб, 824x832
132 2145527
Нашел вот такую штуку в растомиконе, но не нашел что с ней делать
Такие штуки чтоли совсем невозможно на расте писать?
133 2145539
>>45527
Ну конкретно этот пример можно сделать с помощи entry-апишек: https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=f54710a2fc538081bc48c580615e40f8
https://doc.rust-lang.org/std/collections/hash_map/enum.Entry.html

А вообще с мутабельными ссылками всё плохо, вон анон выше уже наткнулся на проблему с ними: >>37068
134 2145543
>>45539
Понял, спасибо
135 2145574
Приветствую
Аноны, хочу ПОПЫТАТЬСЯ вкатиться к вам - сейчас занимаюсь db, plssql и так далее. Такой что да, очередной зеленый вкатун.
Есть ли предпосылки, чтобы я НЕ стал пробовать?
Живу в Гейропке и тут вроде есть пара сотен вакансий.
Спасибо за помощь
136 2145575
>>45527

>Такие штуки чтоли совсем невозможно на расте писать?


Я на скриншоте ни одного ансейфа не вижу. Её вообще хоть пытались написать?
137 2145577
>>45575
А как тебе ансейф поможет с лайфтаймами справиться?
138 2145581
>>45574
Ну ноги и руки тебе никто не переломает если начнёшь пробовать раст
Так что дерзай

или чего ты боишься?
139 2145584
>>45577
Берёшь сырой указатель, потом его разыменовываешь. Никакой лайфтайм ничего не скажет.
140 2145602
>>45581
Боюсь обосраться
Есть плюс минус год финансовой подушки, но это уже дискуссия по тематике треда. Спасибо за ответ
141 2145611
>>45581

>Ну ноги и руки тебе никто не переломает если начнёшь пробовать раст


Это ты просто на комментаторов опеннете не виде. Будь их воля, у тебя бы сифилис начинался от одной мысли о расте.
142 2145614
>>45611

> Это ты просто на комментаторов опеннете не виде.


Кстати да, там прям какое-то сборище любителей си, которые на си никогда не программировали. Я иногда захожу в новости с очередной уязвимостью и в первую очередь ищу коммент с упоминанием раста, а если его нет сам делаю такой.
143 2146087
>>38771
Не имея паник в языке (или хотя бы process::exit) ты не можешь вернуть Box<dyn Error>, потому что аллокация боксы может зафейлиться. Что ты будешь делать в этом случае?
144 2146096
>>46087
В no_std в расте это реализуется специальной функцией (помеченной как #[panic_handler]), которая никогда не должна завершаться. Например в bare-metal можно либо принудительно перезагружать процессор, либо вызывать зависание бесконечным циклом.
Screenshot 2021-09-01 at 10.52.30.png147 Кб, 962x1212
145 2146603
Господа байтоебы, нужна помощь, взорвал мозг и не могу спать пиздец....
Проблема с кодом типа пикрил, присваивание в метче подсасывает тип первого бранча и компилятор пиздит что второе присваивание нелегитимное, хотя по сути оба опшена это инстансы того же дженерик объекта..

Мне нужно как-то указать ебучему компилятору что у sort_govna тип GovnoGeneric<impl Govno> а не GovnoGeneric<S1>

Для бекграунда — я пытался по аналогии с тайпскриптом реализовать фектори которая взависимости от входных параметров инстанциирует тот или иной обработчик, но у всех обработчиков общий интерфейс. Может в расте подобные вещи решаются иначе?
146 2146653
>>46603
У тебя разные типы возвращаются, один S1,а другой S2. Так нельзя. Иди читай в растбуке про dyn Trait.
147 2146664
>>46603
С impl не взлетит. Импл подразумевает что тип будет известен во время компиляции, а значит sort_govna может быть либо GovnoGeneric<S1>, либо GovnoGeneric<S2>. Тебе нужен dyn, который ресолвится в конкретный тип уже в рантайме. Например так: https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=c32ba7391ffe5dc52a6b9e7ad48c8dd9
Но лучше создать отдельный трейт который нужен функции a и имплементировать его для GovnoGeneric. Например так: https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=4ebf397427f5ea4980c1317f05f6704d

Единственный недостаток, что Box<dyn T> медленнее чем импл. Есть другие варианты, например с енумами, но там нужно уже ебстить вручную. Есть крейты для распространённых трейтов (например чаще всего нужен итератор): https://github.com/taiki-e/auto_enums но в общем они не подойдут.
image.png539 Кб, 800x533
148 2146757
>>46664

> GovnoHolder


бля пока че ето я паходу..

Сделал на dyn (еще понадобилось пердолиться с Clone для моего трейта), вроде вкурил, но странно что нельзя захинтить __любой__ тип с полями дженерика и реализацией трейта....
149 2146909
Ананы, сишник в треде.
Вкатываюсь в Раст, что меня ждет?
150 2146916
>>46909
Неистовое сражение с компилятором
151 2146980
>>46909
Если писал многопоточные программы на си, то "бля, охуенный компилятор".
Если писал драйверы под экзотическое железо или только однопоточные программы, то "бля, да почему нельзя-то".
152 2147003
>>46916
Хм. Знаешь, если я перестану сражаться с AddressSanitizer'ом и утечками и останется компилятор, это будет хорошо.
>>46980
И то, и другое писал и пишу, только размениваюсь на современный стек потихоньку. Потыкался в него, понравилось.
Screenshot 2021-09-01 at 19.30.39.png46 Кб, 912x342
153 2147188
>>46603
В итоге я чуть ли не дословно спиздил пример отсюда — https://github.com/lpxxn/rust-design-pattern/blob/master/creational/factory.rs и немного затвикал т.к у меня бокс является только частью объекта из метча.
Но я все еще не пойму почему при использовании енума или инстанциировании в лоб через дерево ифов компилятор выкупает что объект совместим с функцией, а в моем оригинальном варике не.. надо покурить доки...

А есть способ при вызове цепочкой аля пикрил получить резалт в блоке? или надо явно сначала объявлять/юзать метч? вызывать логику в ветках метча это не антипаттерн?
154 2147585
>>47188
Мне кажется на пикриле тебе нужен if let. https://doc.rust-lang.org/reference/expressions/if-expr.html#if-let-expressions

> А есть способ при вызове цепочкой аля пикрил получить резалт в блоке?


Что значит получить резалт? Если нужно получить значение используй оператор вопросительный знак и пробрасывай ошибки наверх: https://doc.rust-lang.org/book/ch09-02-recoverable-errors-with-result.html#a-shortcut-for-propagating-errors-the--operator
Либо используй функции в самом Result (например map, map_or и подобные), чтобы поменять ошибку или значение в нём: https://doc.rust-lang.org/std/result/enum.Result.html
155 2147614
Есть ли какой-то более-менее общепринятый способ прикрутить валидацию при изменении значения поля структуры? Подходят ли для этого сеттеры, как в Java, или в Rust это антипаттерн?
156 2147615
>>47614
Проблема в том, что в расте нет эксепшонов, а потому простые сеттеры там не сделаешь (сахарка для геттеров/сеттеров вообще нет, как и в жяве надо вручную пердолить функции). Т.е. функция set_smth(...) должна будет возвращать Result<(), Error> - пустой результат, содержащий только ошибку (которую вызывающий код должен будет проверить). А вот как работать с ошибками - уже совсем другой вопрос. Тут можно либо заморочиться с описанием каждой ошибки, если в этом есть необходимость (рекомендую thiserror для сахарка, чтобы писать меньше кода), либо просто оборачивать строку в ошибку и возвращать её (тут рекомендую anyhow). Либо использовать всё вместе.

thiserror: https://github.com/dtolnay/thiserror
anyhow: https://github.com/dtolnay/anyhow
157 2147616
>>47615
Я так и не ответил на вопрос. В расте сеттеры - это норма, потому что по сигнатуре функции сразу видно, что во-первых он изменяет структуру (потому что в качестве первого агрумента принимает &mut self), а во-вторых может возвратить ошибку.
158 2147916
>>47585

>Мне кажется на пикриле тебе нужен if let.


If let позволяет достать Result::Ok и выполнить действие для успешного кейса, но если вызов зафейлился, в else ветке я не могу достать Result::Err чтобы из него дернуть значение ошибки, выкинуть ее в стдаут и выйти из функции... Пока отдыхал понял что вроде могу сделать match по мемберам Result, если метч можно юзать не только для присваивания

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

Сорямба если путано объясняю, я вкатился из веб хуйни где говнить можно любым способом, и в силу квалификации никогда не возникало потребности формулировать то че я хочу сделать в технических терминах
159 2147923
>>47916

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


Я ж тебе специально ссылку дал на документацию оператора "?". Ты пишешь на расте трёх-четырёх летней давности и изобретаешь велосипеды. Сейчас уже с ошибками работать в разы проще.
160 2147958
Добрался до использования регулярок и у меня встал колом вопрос - как использовать регулярку из переменной? Допустим у меня такой код

>const MY_REGEX: &str = r"^\.rs$"



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

> let rege = "^\.rs$"


без вот этого r?
161 2148096
>>47958
let rege = r"^\.*rs$" должно сработать, или о чём ты?
162 2148157
>>48096
У меня агрументом передаётся регексп, типа такого

let rege = argv[1488]

и при запуске бинаря типа такого

./my_prog -r "^\.rs$"
163 2148242
>>47923
Ага в принципе согласен. А есть какой-то общепринятый подход к обработке ошибок.. мб либка? У меня это могут быть меседжами из модулей, а могут быть написанные вручную, я к каждому месседжу добавляю произвольный текст и форматирую как джейсон чтобы другая софтина спалила стдаут и чето сделала... Если с ? дать всему всплыть то получится месс в main, поэтому я и решил каждую ошибку обрабатывать в месте возникновения
164 2148338
>>48157
Тогда он у тебя уже отэскейплен должен быть, чтобы через шелл пройти, r-строка тут не нужна.

>и при запуске бинаря типа такого


>./my_prog -r "^\.rs$"


Если это баш (или вообще линуксовый шелл), то эскейпать нужно одинарными кавычками.
165 2148342
>>48242

>А есть какой-то общепринятый подход к обработке ошибок


Пробрасывают до самого мейна() вопросиками, и там обрабатывают.

>то получится месс в main


В чём он состоит? Мейн вызывает функции, и проверяет, была ли ошибка, и прямо там же написано, что он делает, если была. Если нет, то продолжает.

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


Ага, то есть у тебя программа может прервать выполнение в любом из файлов, чтобы посложнее искать было? Это не говоря о том, что всякие стеки не анвиндит, а просто сдаётся и оставляет всё очищать ос, а какие-нибудь коннекты к дб или сокетам вообще оставляет висеть в воздухе.
166 2148350
>>47615
>>47616

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

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


ну я руководствовался подходом типа "если функция сделала ерли ретерн то чето пошло не так но реагировать уже не надо". По поводу стека и памяти тут я банально нихуя не знаю, но разве память занятая штуковинами инстанциированными в функции не очистится при ретерне?
168 2148464
>>48462
Ну и офк это не то чтобы сверхкритичные проблемы, прост интересно обсудить
169 2148506
>>48462
Я не очень понимаю, что ты хочешь. Напиши на знакомом тебе языке (если знаешь много, то на си), что ты хочешь получить, потому что для меня выглядит, что ты две разных вещи смешиваешь.
170 2148526
>>48506
Ну вот например, псевдокод. В прототипе логика свалена в одну функцию, как на пике, где разные действия требуют разной реакции на ошибку, но даже если разбить точку входа на функции с single responsibility, обработчик каждой конкретной ошибки не поменяется и имо удобнее делать это на месте
171 2148553
>>48526
Ты снова описал своими словами в комментария, только потратил время на придумывание названий. Напиши на каком-нибудь языке, который ты знаешь, что ты хочешь.

Если хочешь просто скипнуть результат какой-то другой функции, никак её не обрабатывая, то делаешь либо .unwrap(), если ты знаешь, что она не может зафейлиться; либо if let, если тебе нужен только хороший результат; либо let _ = may_fail(), если тебе вообще всё равно.

Можешь возвращать что угодно из функции с ?, надо только обернуть в результат. То есть либо Ok(()), либо Err(()). И обновить сигнатуру функции, добавив -> Result<_,_>
172 2148570
>>48342

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


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

> мб либка?


Я выше давал две либы: >>47615
anyhow - по сути представляет собой парадигму строка - это ошибка. Можно ошибки комбинировать, добавляя к ним новые строки.
thiserror - уже позволяет удобно создавать свои типы ошибок.

Если нужно просто вывести ошибку и пофигу не её тип, то используй anyhow, если нужно различать разные типы ошибок и в зависимости от разновидности ошибки меняется логика программы, то тут нужен thiserror.
173 2148582
>>48526
так блядь goвнарь ссаный я ща тебя выибу а потом выибу

во-1): где юзается '?' - там можно вернуть Result<(), Error>, просто бляд ебошиь
fn huj() -> Result<(), Error> {
maybe_error()?;
...
Ok(())
}

вовторых) пошоо нахой гуглить доки к anyhow и захват контекста ошибки с помощью anyhow::Context

в-тетьих - ещё раз нахуй ой то есть гуглить нормальную блядь растованную обработку ошибок типа
if let Err(e) = maybe_error() {
println!("пошёл нахуй по причине {}", e);
}
174 2148583
>>48582
БЛЯДЬ ТАБЫ ЕБАБЫ
ты понял кроч
175 2148585
>>48582

> типа


Ну это не очень нормальная обработка ошибок. Если ошибка фатальна и функция дальше работать не сможет, то обычно ошибка возвращается наверх при помощи оператора ? (предварительно либо засовывается в другую ошибку, либо отправляется как есть). Если ошибка не фатальна, то либо используется матч
let res = match maybe_error {
Ok(val) => val,
Err(e) => {
...
default_val
}
};
либо готовая функция из Result, например https://doc.rust-lang.org/std/result/enum.Result.html#method.unwrap_or_else
let res = maybe_error.unwrap_or_else(|e| {
...
default_val
});
176 2148788
Хочу написать небольшой ржавый сайт. В какую сторону смотреть?
177 2148798
>>48788
В сторону какого крейта*
фикс
178 2148869
>>48553

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


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

>>48582
>>48570

>anyhow


похоже на правду, особенно bail!
179 2148872
>>48788
Yew + actix?
180 2148875
>>48872
Щас вместо актикса в моду входит https://github.com/tokio-rs/axum
181 2150303
Всем привет, я писал немного кода на c#
Хотел был научиться писать на Расте. Есть ли какие-нибудь материалы на русском чё да как там для нубов?
182 2150309
>>50303
Конечно есть, растбук называется
В шапке ссылка
183 2150374
В чём не прав этот господин?
https://habr.com/ru/post/537790/
184 2150442
>>50374
Кринжовый дед лаборант

От нехуй делать начал сам себе жизнь усложнять, сам и побухтел на себя
185 2150521
>>50374

>Хабр


Он во всем прав, иди к нему и не возвращайся.
186 2150598
Заебало писать костыли на powershell, хотел укатить куда-нибудь. Приглянулся раст. Но гугл по запросу "работа со строками" выдает дичь, так и есть? В чем цимус — периодически пишу прикладные скрипты, которые забирают некоторые данные из SQL и по всякому их вертят. С первым проблем нет у раст вроде, а вот дальнейшая обработка данных вызывает вопросы. Много геммороя там с выделением подстрок и прочим конкатом текста, получением текста из файлов? Или ну его нахуй и лучше какой-нибудь GO
187 2150601
>>50598
Ты с ума сошел, скрипты на системщине писать? Питон же есть.
188 2150606
>>50601
Питон не компилируемый, а надо очень чтобы было. Ну и скрипты, они пока скрипты, это тоже одна из причин ухода с ПШ, дабы полновесные приложения писать с миллиардом свистелок набором применений, а не как в философии Unix.
189 2150624
>>50598
Вся сложность строк в расте - это наличие кучи типов у каждого из которых своя изюминка:
1) str - массив байтов неизвестного размера, которые обязательно представляют из себя валидный utf-8. Сам по себе тип почти не используется (во многом из-за того что раст не имеет стабильного способа работы с типами неизвестного размера на стеке или внутри структур) и вместо него используются умные указатели с ним. Чаще всего это толстый указатель (fat pointer) на него - &str, который притворяется обычной ссылкой но на самом деле помимо обычной ссылки на массив вмещает ещё внутри количество символов в строке, а потому размер у него больше чем у обычной ссылки. Так же используются и другие умные указатели - Cow<'_, str>, Box<str> и прочее (остальное совсем редко).
2) String - по сути Vec с гарантиями, что содержимое является валидным utf-8.

Мой совет - используй везде где возможно String (потому что в отличии от &str для него не нужно пердолить борроу чекер, да и в целом проще и понятней работать), а другие типы уже используй для оптимизации кода.
190 2150626
>>50624

> Cow<'_, str>


Хотя это не совсем умный указатель, а скорее гибрид ужа с ежом - String и &str в одном типе. Нужен для всяких оптимизаций, чтобы в функцию передавать оба типа без использования генериков.
191 2151070
Каким хуем можно прочитать ёбаный файл в wasm?
192 2151072
>>51070
Никаким? wasm не делает своего io
193 2151093
>>51072
Хорошо, видимо, я выразился косноязычно. Попробую объяснить, что имел в виду.
Я пишу небольшой сайт на расте и мне нужно во время его работы прочитать в строку один файл. Как я могу это сделать? Файл расположен на сервере
194 2151096
>>51093
Читаешь в js, отдаёшь в wasm строку.
195 2151545
А есть невсратый крейт для работы с датами? В chrono нельзя даже кварталы достать изкоробки. Или добавить произвольное количество месяцев к дате лол
196 2151698
>>51545

> Или добавить произвольное количество месяцев к дате лол


К юникстайму прибавь
197 2151706
>>51545

>В chrono нельзя даже кварталы достать изкоробки.


Я, конечно, не доктор датных наук, но это разве не месяц/4?
198 2151714
>>51698
Так он же про дату, а не дату+время. С датой+временем там пиздец полный будет, особенно если идёт учёт часовых поясов и летнего/зимнего времени.
199 2151751
>>51706
я так-то хуй простой но у автора хроно руки не отсохнут добавить еще один геттер который бы возвращал 1.5 для июня

>>51698
>>51714
ага там даты а не таймстампы
200 2151762
>>51545

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


А как ты планируешь это делать? Вот 31 декабря + 2 месяца, это что?
.jpg50 Кб, 859x960
201 2151766
>>51762
31.14.2021
202 2151770
>>51762
последний день февраля, очевидно всем, кроме байтоебов
203 2151772
>>51770
Раз это

>очевидно всем


то тогда ты с такой же очевидностью, наверное, скажешь, что будет, если к 28 февраля прибавить ещё один месяц?
204 2151782
>>51772
30 или 31 марта ебать, я не помню сколько в марте дней
205 2151786
>>51782
Почему не 28 марта?
206 2151787
>>51782
А почему не 28 марта?
207 2151788
>>51786
Лол.

>очевидно всем

208 2151797
>>51782
На самом деле, объясни зачем тебе нужно добавлять месяцы? В теории можно добавить какой нибудь add_month_saturating_days, который добавит n месяцев и попытается сохранить день каким он и был, но в случае если номер дня больше максимальных дней в месяце, то ставится максимальный.
209 2151899
>>51787 >>51786
а че, месяц теперь определяется как 30 дней?

>>51797
бизнес логика, я дайджестю записи с датами, зачастую известны только год и месяц/квартал, иногда нахожу от этих дат производные в будущем, и группирую с точностью до месяца/квартала и как всем очевидно, в таком случае меня не интересует результирующее число месяца или упаси господи таймстамп. В итоге и пришлось пердолить утилиту чтобы корректно переносить и не падать в 14 месяц, просто странно что такой простой хуйни нет в пекедже
210 2151924
>>51788
Даже в ноубрейновом пистоне ты можешь прибавлять к дате максимум недели, потому что дальше ты уже не можешь сказать сколько секунд содержит величина.
211 2151927
>>51899

>а че, месяц теперь определяется как 30 дней?


Где ты 30 насчитал, аналитик? Было 28 февраля, прибавили 1 месяц, получили 28 марта.
212 2151933
>>51927
так ты напиздел, стало последнее марта
213 2151936
>>51933
Почему последнее, а не 28?
Если к 27 февраля месяц прибавить, то какое число будет?
214 2151939
>>51936

>Почему последнее, а не 28?


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

>Если к 27 февраля месяц прибавить, то какое число будет?


27 февраля, всем очевидно
215 2151942
>>51939

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


Почему в последний, а не в 28й?

>27 февраля, всем очевидно


Предположу, что ты оговорился и имел в виду 27 марта.
Почему 27, а не предпоследний?
216 2151944
>>51942
а хуй знает
217 2152079
>>51899

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


Раз дни хранить не нужно, мне кажется тут свой велосипед в виде отдельной структуры будет подходить лучше всего.
218 2152082
>>51899
Так если тебе день не нужен, берёшь
https://docs.rs/chrono/0.4.19/chrono/enum.Month.html
и хуяришь вычисления прямо на месяце.

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

let day = std::cmp::min(28, original_date.day());

А если тебе нужна нольмальная точность, то ты хуй прибавишь произвольное количество месяцев.
image.png4 Кб, 370x108
219 2153272
Объясните, пожалуйста, почему этот код не работает?
220 2153273
>>53272
А что компилятор пишет?
image.png27 Кб, 686x348
221 2153274
>>53273
Это пример из книги, если что. Но я так и не понял, что к чему
222 2153275
>>53274
unused `Map` that must be used
означает, что в какой-то момент появляется некая `Map` с которой ты должен что-то сделать. Присвоить в переменную, передать в функцию, распечатать. А ты не делаешь с ней ничего, поэтому она просто дропается.
223 2153277
>>53274
Это не ошибка, а варнинг
224 2153278
>>53277
Никто ничего про ошибку и не писал?
225 2153280
>>53272
Чел... итераторы ленивые, они не вычисляются без надобности. А так код корректен. Нельзя изучать раст без знаний c/c++ и ml/haskell.
226 2153282
>>53278
При варнингах код работает
227 2153285
>>53282
Смотря что ты имеешь в виду под "работает". У него код ничего не делает. Это "работает" в твоём понимании?
228 2153296
>>53285
Может ему на работе за количество строк платят. В таком случае подобные варнинги действительно вредны, потому что уменьшают продуктивность. Слава богу их можно глобально отключить. Просто добавь
#![allow(unused_must_use)]
в самый верх с файл с мейном.
229 2153568
>>48875
Чем лучше актикса? Поверхностно глянул, вроде зависимостей чуть меньше и все?
Мимо заебавшийся от количества зависимостей и времени их компиляции в актиксе
230 2153578
Объясните мне какой смысл писать на этой хуйне со странным синтаксисом, если в С++ уже давно можно писать так же безопасно как в расте с помощья умных указателей?
231 2153582
>>53578

>в С++


И что там есть такого, чего нет в расте?
232 2153585
>>53582
Нет, твой вопрос поставлен не верно, С++ дефакто стандарт, на нем написана куча библиотек и куча софта, к тому же С++ постоянно развивается, добавляя новые пиздатые фитчи и вот скажи мне, что такого есть в расте, чтобы разработчики которые пишут по 10-15 лет на плюсах и все компании которые пишут свой софт на с++ стали переходить на раст?
233 2153586
>>53585

>дефакто стандарт


Это С, а не эти ваши наросты.
234 2153591
>>53586
C - да, особенно у некоторых разработчиков библиотек. Но си, согласен небезопасное, говно на котором заебешься прогать что-то сложное, но оно и не надо. Нормальные люди даже библиотеки уже давно пишут на С++.
Но речь именно про Rust vs C++. Так вот давай переубеди меня человека который 13 лет пишет на С++ перейти на твой пориджеский раст.
235 2153594
>>53591

>Так вот давай переубеди меня человека который 13 лет пишет на С++ перейти


А кто ты такой, чтобы тебя переубеждать перейти? Что-то полезное хоть написал за 13 лет?
236 2153596
>>53591

> Нормальные люди даже библиотеки уже давно пишут на С++


Невозможно на этой хуйне писать библиотеки нормально.
237 2153597
>>53594
Ну ты же адепт раста, ты должен зазывать меня перейти на твою сторону.

> Что-то полезное хоть написал за 13 лет?


Дохуя чего. Я, в отличии от тебя, пишу реальные приложения.
238 2153598
>>53596
Лал, это еще почему?
239 2153599
>>53597

>Дохуя чего. Я, в отличии от тебя, пишу реальные приложения.


Показывай гит свой.
240 2153600
>>53598
Манглинга унифицированного нет.
241 2153613
>>53599
С хуяли я тебе показывать свой гит должен?
Тем более я работаю на реальной работе и пишу закрытые коммерческие приложения.
Ладно, я уже раскусил тебя по твоим высерам, ты вряд ли вообще когда-то работал в ИТ, твой максимум - хелоуворлды выкладывать на гитхаб.

>>53600
И что? И это плюс. Есть ABI, и они должны иметь несовместимость версий.

Короче бля ясно, первый адепт раста жидко пернув, умер, несите следующего.
242 2153616
>>53613

>С хуяли я тебе показывать свой гит должен?


Так ты же пришёл рассказывать, какой ты невероятный разработчик, и как тебя должны переубеждать. А оказалось, что ты ничего и не сделал за 13 лет.

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


И зачем тогда тебя переубеждать, если ты на кабанчике скачешь? На чём тебе скажут, на том писать и будешь.
Даже жабаскриптеры полезнее тебя.
243 2153621
>>53613

> И что? И это плюс. Есть ABI, и они должны иметь несовместимость версий.


Для библиотек это недопустимо.

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


Причем здесь раст, я Си защищаю.
244 2153623
>>53616
Если бы ты просто ничего не ответил на мой пост, то это бы выглядело намного менее жалко и позорно, чем то, что ты сейчас высрал от обиды, выдавая желаемое за действительное.

Слабо, слабо... даже адепты питона были намного более убедительны во вчерашней полемике со мной, чем "это".
245 2153625
>>53623
Как ты жопкой-то вертеть начал, как только у тебя гитхаб спросили.
246 2153627
>>53621

>Для библиотек это недопустимо.


Это еще почему? А для чего допустимо тогда?

>Причем здесь раст, я Си защищаю.


При чем здесь Си если я про С++ vs rust говорю?
247 2153630
>>53625
Ты троллишь тупостью или как?
Во-первых, ты пытаешься перевести изначальную тему беседы, прося у меня гитхаб и т.д. то, что к делу никакого отношения не имеет.
Во-вторых, ты кто такой чтобы требовать у меня гитхаб? Мент что ли? А если я на улице подойду к тебе и скажу давай сука сюда свой телефон, мне позвонить надо, как гопники из нулевых ты мне отдашь?
В-третьих, жопой вертишь тут только ты, макака безмозглая, воды дохуя сути нихуя в твоих высказываниях.
248 2153632
>>53630
Какой же ты жалкий с этими оправданиями.
249 2153640
>>53632

>оправданиями


Лол, это даже не похоже на оправдания.

И это все, что ты смог высрать? Жалкий тут только ты. Тебя наверное унижали в школе и макали головой в унитаз, давно не встречал более жалкого, мягкотелого, амебного, омежъего упыря на двачах. Ты там еще не заплакал? Ну иди чулочки надень, вставь пробку и садить писать очередной хелоу вордик на своем любимом расте.
250 2153642
>>53627

> Это еще почему


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

> При чем здесь Си если я про С++ vs rust говорю?


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

251 2153644
>>53640

>убеждайте меня переходить на раст


>зачем?


>я программист 13 лет!


>показывай, что ты за 13 лет напрограммировал?


>рииииииии, ничего не должен вам показывать! зато почитайте мои гомофантазии!


Лол.
252 2153652
>>53642

>П-п-п-отому что если б-б-б-иблиотека будет собрана одной версией компи-и-и-и-лятора, а программа, её использующая - д-д-д-ругой, то она может т-т-т-упо не ра-а-а-а-ботать. А м-м-м-ожет и раб-б-б-отать. Даже тут ебучее UB, везде сопровождающее этот уб-б-б-блюдский яз-з-ык.


Лол, какое-то школьное оправдание заикающегося девственника.

Еблан, там есть совместимость ABI между различными компиляторами.
И во-вторых, она даже не скомпилируется, т.к. линковка провалится.

>>53644
Школьник ебучий, не позорься.
253 2153659
>>53652

> школьное


> Школьник


Это видимо последний оставшийся аргумент нашего погромиста на С++ с 13 летним стажем без единой строчки написанного кода.
254 2153661
>>53652
Ты либо жирный, либо дебил. В любом случае, тебе тут не рады.
255 2153662
>>53659
>>53661
Школьники порвались. Вы все просто заикающиеся девственники, а я альфа-самец, программирую на самом лучшем языке мира - С++. Найдите себе баб лучше, неудачники.
256 2153671
>>53659

>РЯЯЯ Я НЕ ДЕБИЛ МАМ СКАЖИ ИМ


Так я то сотни аргументов привёл, это ты как выебанная в жопу шлюха начала истерить. А начал ты истерить потому что не способен на мои аргументы привести свои какие-либо контраргументы. Типичная реакция животного, я даже тебя не виню, в том, что ты такой. Это все природа и защитные реакции, лол
257 2153674
>>53671

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


"Ты девственник/школьник/шлюха" - это не аргумент. Ты просто засираешь тред своими визгами. Если твоя задача всех победить в "жаркой полемике" как каких-то там питоновцев (видимо предыдущих жертв твоих доводов), то можешь считать себя победителем и уёбывать отсюда с высоко поднятой головой.
258 2153686
>>53674
Так ты перевёл этот разговор в такое русло, я начал нормально спрашивать чем раст лучше с++ и зачем мне и другим крестовикам переходить на него, если в крестах все отлично. Ты начал давай сюда свой гитхаб щас заценим, начал вопить ВРЕЕТИ и т.д. А теперь ты меня обвиняешь в том, что я тебя оскорбляю, когда сам же и вынудил обращаться к тебе в таком ключе. Ебать ты даже причинно-следственную связь не можешь отследить в разговоре, куда тебе говорить о более сложных вещах
259 2153689
>>53686
Успокойся, победитель. Можешь записывать "растовчан" в свой список побеждённых шлюх/девственников/школьников рядом с питонистами и уёбывать отсюда. Твой высер даже читать не буду.
260 2153697
>>53568

> Чем лучше актикса?


Наличием "стабильной" (насколько версию 0.X можно назвать стабильной лол) версии с токио 1. Актикс 4 (в котором тоже токио 1) уже дохуя времени в разработке, а релиза всё не видать. Плюс ублюдское разбитие самого проекта актикса на отдельные пакеты со собственным версионированием, что при обновлении бета-версии с вероятностью 90% что-то сломается.
261 2153703
Дежурно напоминаю, что плюсомакаки заменяются на раз и получают гроши, просто никто не хочет связываться с этим говном в реальных приложениях. Вы сейчас имеете дело с Computer Vision макакой, которая другого ничего не писала и не имеет представления о том, как все работает в других отраслях.
262 2153704
>>53689
Пассивная шлюха сдалась, ок.

Есть тут нормальные растовчане уровень которых хотя бы использование раста в проде, а не написание хелоу ворлдов для гитхаба?
263 2153717
>>53703
Лол я полагаю ты про меня? На самом деле нормальные плюсобояре получают намного больше всех остальных, а то что показывают ваши графики зарплат по языку - бред собачий. Ясен хуй поридж не осилит плюсы на нормальном уровне чтобы получать хорошую зп, вот от сюда и эти графики.
На счёт того что я работал только в CV это опять выдаивание желаемого да действительное, я писал и сервера и hft и близкие к железу вещи, и в 3д работал, и вот щас в cv. Но судя по ощущениям на этой борде таких как в 1-3 человека максимум, остальные - это макаки на галерах максимум, либо хелоу вордщики студенты/вкатыши.
264 2153722
>>53717

>а то что показывают ваши графики зарплат по языку - бред собачий.


ВРЕТИИИИИИИИИИИ ВАШИ ВАКАНСИИ НЕ ВАКАНСИИИИИ ЗАРПЛАТА ЭТО ТО ЧТО Я СКОЗАЛ!11!1111!111
image.png80 Кб, 1341x682
265 2153723
266 2153776
>>53723

>РРРЯЯЯЯЯ, НИМОЖЕТ БЫТЬ, ТЫ HTML ПОПРАВИЛ, МЫ ПОЛУЧАЕМ 200 БАКСОВ ЗА ЧАС


Я подготовил ожидаемый ответ за нашего порванного с++ специалиста
267 2153829
>>53722

>Average


Ты ведь вкурсе как считается average?
Получается так из-за того, что порог входа в С++ очень высокий, чтобы получить хотя бы звание среднего разработчика. Поэтому график зарплат/skills выглядит не как линейная функция, а как экспоненциальная. И соответственно, нормальные ребята ( коих намного меньше чем всех остальных вкатышей ), а под нормальными я имею ввиду людей имеющих хороший бекграунд в CS, получаются хорошие зарплаты.
А обезьяны которые на гикбреинс купили двухнедельный курс по с++, получают низкооплачиваемую работу по поддержке легасиговнища, где их творческий максимум будет равняться работе по исправлению багов от наследия си подобных говнопрограмм которые могут дереференсить нуль поинтеры и обращаться к неинициализированной памяти.
Так что если твоя цель это быть average разработчиком, то я тебя поздравляю, ты ни на каком языке не будешь получать хорошую зарплату, а разница в колебании средних зарплат между различными языками это всего лишь шум, это копейки на которые вообще не стоит обращаться внимания, потому что хорошие разрабы уровня сеньор+ получают намного больше средних зарплат.
268 2153844
>>53829
Уважаемый плюсопетух, вакансии находятся в открытом доступе, зарплата прекрасно считается по перцентилям. Ваши диванные размышления о экспоненциальных зарплатах разбиваются о суровую реальность. Причем речь идет о ссаном питоне, а не о расте. Вы можете сколько угодно заниматься коупингом, но от этого плюсомакаки не перестанут быть плюсомакаками, где даже топ 25% зарплат меньше чем у динамикодрисни.
image.png58 Кб, 891x647
269 2153845
270 2153849
>>53844
Погоди, а при чем тут питон? Мы находимся в треде по системным языкам программирования.

>Причем речь идет о ссаном питоне,


Так на питоне работает много уважаемых дата саенс господ, многие из которых PhD и Dr. Ясен хуй у них будут огромные зарплаты.
Но средняя веб макака на питоне даже близко не будет нюхать такие зарплаты, да даже топовая веб макака не будет получать так.
А вот хороший инженер с степенями в CS, пишущий на С++ будет.

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

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

>Мы находимся в треде по


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

>Так на питоне работает много уважаемых дата саенс господ, многие из которых PhD и Dr


Только 2% питоноразработчиков имеют PhD, а на нем 25% зарплат все так же больше чем у плюсомакак, при том, что это явный бекенд девелопер.

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


Тогда тебе стоит вкатится в проституцию и завести аккаунт на онлифанс

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


Плюсомакака зачем-то начала все мерять СНГ рынком и не в курсе, что у швятых до недавнего времени практически обязательно было иметь вышку и с помоечными курсами особо не брали и в посту выше видно, что нищие плюсомакаки вовсе не вкатывальщики, а имеют минимум бакалавра при этом оставаясь низшим звеном пищевой цепочки.
273 2153885
>>53857
Ты нахуя опять мне этими апроксимирующими графиками срешь?
Я даже твои посты читаю через строку, ибо твои маня-прогнозы на основе маняпроксимаций меня мало волнуют.

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

Я не знаю, за что ты ненавидишь так С++, видимо потому что не можешь его осилить, а как известно человек боится\ненавидит то, чего не знает.
Но суть в том, что я и любой другой сеньор пишущий на С++, досконально знает всю архитектуру пк, алгоритмы и структуры данных, матан и всю все необходимое из CS, чтобы за пару недель\месяцев перейти на другой стек технологий если потребуется.
А вот вкатыши, фанбои, хейтеры, ну или такой школьник как ты, который под влиянием маркетинга прошел недельный курс на гикбреин по любому новомодному языку, вряд ли даже отличит баблсорт от квиксорта, и уже тем более не сможет сменить язык\стек технологий так же как "плюсомакака", хотя я не знаю почему ты считаешь что на плюсах макаки, ведь чтобы уметь хоть как-то писать на плюсах просто макакой уже не получится быть.

Вот я же не хейчу раст, ок раст, как технология с виду кажется интересным, но как замена с++, вряд ли пока что может заинтересовать тех кто уже пишет на с++ и эти люди могу сопоставить все за и против, детально разбирая каждый аспект сравнения двух языков, а местные фанбои окончившие пту вчера работавшие кассирами в пятерочке, начинают с пеной у рта срать на весь тред хуйней абсолютно не по теме. Даже твои наивные рассуждения о зарплатах уже многое говорит о тебе, ты безмозглый фанбой, ты флюгер который показывает туда куда дует ветер, у тебя нет никаких знаний в CS, ты просто пустозвон, ты никогда не будешь нормальным программистом получающим нормальную зп ( я даже не говорю о хорошей ). Так что самое лучше что ты можешь сделать сейчас, это согласиться со мной, очистить историю посещений, и навсегда забыть об этом разделе, а потом вернуться в реальную жизнь, где ты пойдешь работать на стройку за 20к рублей, а не будешь тут фантазировать об огромных зарплатах питономакак.
По существу изначальной темы не было ни одного вразумительного аргумента в пользу того или иного языка. И не будет, потому что 98% тех кто тут сидит такие же безмозглые вкатыши, с нулевым опытом в айти как и ты
273 2153885
>>53857
Ты нахуя опять мне этими апроксимирующими графиками срешь?
Я даже твои посты читаю через строку, ибо твои маня-прогнозы на основе маняпроксимаций меня мало волнуют.

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

Я не знаю, за что ты ненавидишь так С++, видимо потому что не можешь его осилить, а как известно человек боится\ненавидит то, чего не знает.
Но суть в том, что я и любой другой сеньор пишущий на С++, досконально знает всю архитектуру пк, алгоритмы и структуры данных, матан и всю все необходимое из CS, чтобы за пару недель\месяцев перейти на другой стек технологий если потребуется.
А вот вкатыши, фанбои, хейтеры, ну или такой школьник как ты, который под влиянием маркетинга прошел недельный курс на гикбреин по любому новомодному языку, вряд ли даже отличит баблсорт от квиксорта, и уже тем более не сможет сменить язык\стек технологий так же как "плюсомакака", хотя я не знаю почему ты считаешь что на плюсах макаки, ведь чтобы уметь хоть как-то писать на плюсах просто макакой уже не получится быть.

Вот я же не хейчу раст, ок раст, как технология с виду кажется интересным, но как замена с++, вряд ли пока что может заинтересовать тех кто уже пишет на с++ и эти люди могу сопоставить все за и против, детально разбирая каждый аспект сравнения двух языков, а местные фанбои окончившие пту вчера работавшие кассирами в пятерочке, начинают с пеной у рта срать на весь тред хуйней абсолютно не по теме. Даже твои наивные рассуждения о зарплатах уже многое говорит о тебе, ты безмозглый фанбой, ты флюгер который показывает туда куда дует ветер, у тебя нет никаких знаний в CS, ты просто пустозвон, ты никогда не будешь нормальным программистом получающим нормальную зп ( я даже не говорю о хорошей ). Так что самое лучше что ты можешь сделать сейчас, это согласиться со мной, очистить историю посещений, и навсегда забыть об этом разделе, а потом вернуться в реальную жизнь, где ты пойдешь работать на стройку за 20к рублей, а не будешь тут фантазировать об огромных зарплатах питономакак.
По существу изначальной темы не было ни одного вразумительного аргумента в пользу того или иного языка. И не будет, потому что 98% тех кто тут сидит такие же безмозглые вкатыши, с нулевым опытом в айти как и ты
image.png651 Кб, 700x655
274 2153888
>>53885

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



СПИСОК ВАКАНСИЙ НЕ ЗАКОН - Я ЗАКОН
15638103624700.png558 Кб, 618x480
275 2153896
>>53885
Сениор сипипи, не останавливайся, прошу продолжай
изображение.png111 Кб, 320x240
276 2153899
>>53885
Я даже не читал, как увидел эту простыню, сразу представил

>АААРРРЯЯЯЯЯЯЯ

277 2154035
>>53578

> странный синтаксис


Дед, ты бы хотя бы попробовал
Си стайл полный калл неудобный
278 2154411
https://www.youtube.com/watch?v=qIxKPu20R58[РАСКРЫТЬ]

https://www.youtube.com/watch?v=OxRTGMe_RuE[РАСКРЫТЬ]

https://www.youtube.com/watch?v=4BlpONgj74A[РАСКРЫТЬ]

https://www.youtube.com/watch?v=Vq1lxeg_gNs[РАСКРЫТЬ]

https://www.youtube.com/watch?v=XuOm-RTQxVU[РАСКРЫТЬ]

Все описанное в этих роликах стало бы попросту невозможным если бы прошивки этих соснулей и игры для них были написаны на RUST.

Пруф ми вронг.
279 2154477
>>54411

>Пруф ми вронг.


Делаешь предположение - доказывай. Иначе твое предположение просто

>пук

280 2154541
а че вы холиварите если любая системная хуйня ненужное говно тридцать лет назад компы делали все то же на в тысячи раз меньших ресурсах
281 2154704
>>54411

>невозможным


Я смогу
282 2154763
>>54704
хорош, респектирую
283 2154852
>>54411
Да, написание прошивок на расте невозможно, нет прошивок - нет ошибок.
284 2155907
а почему на насте нельзя написать прошивку? на метале работать умеет, в говно компилироваться умеет............
285 2155909
>>54852

>невозможно


>>55907

>нельзя


Я смогу
image.png125 Кб, 637x358
286 2156073
>>53885
Молодец, анон. Все правильно написал.
287 2156240
>>55907
Потому-что он дурак не знает что несёт.
288 2156516
че такое b""?
289 2156518
Можно ли у вас байтоебить?
290 2156541
>>56518
Везде можно.
291 2156547
Парни, какой язык лучше выучить C++ или Rust?
Мне не для работы, я и так веб макака, вот душа лежит выучить что-нибудь из этих двух, но не могу выбрать. В перспективе хочу чисто ради фана программирование - это же пиздец весело пописать 2Д игрушки какие, не используя какие-нибудь мега энжины типа unreal.
292 2156575
бинарник проги запускается из консольки, как можно замерить скок он потребляет рам хуям и какая нагрузка на проц пока он работает
293 2156584
>>56547
А чего тебе на JS 2д игрушки не пишется?
294 2156588
>>56584
я собираюсь писать игрушки не ради игрушек, а ради попрогать либо на расте либо на плюсах. и пофаниться. мб если попрет и 3Д поделаю
295 2156591
>>56584
а еще я рот ебал JS
296 2156600
>>56588
Твой вопрос какой-то нелогичный. Ты говоришь, я собираюсь учить один из этих языков, чтобы писать игрушки, но писать игрушки буду не ради игрушек, а ради языка. Зачем ты тогда вообще игрушки упоминаешь, если этот факт по сути на выбор не влияет. Да еще и приходишь в растотред и спрашиваешь, что выбрать, раст или другой язык. И какой ответ ты хочешь? Конечно же не раст.
297 2156635
>>56516
Массив байт
Или аски строка
298 2156637
>>56547
С графикой наверное лучше все таки в плюсы
хотя в обоих случаях будет больно
299 2156686
>>56600
я хочу учить один из этих языков, по ходу дела буду пилить игрушки по фану. Т е приоритет учить язык, второе писать игрушки, ясли я не выполняю первый пункт, мне и второй нахуй не нужен.

> Зачем ты тогда вообще игрушки упоминаешь


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


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

>>56637
спс, братик, так у меня тайловый графоний будет, без выебонов
image.png57 Кб, 774x265
300 2156770
>>56686
Так ты потом тридэ хочешь. Тридэ в расте твой рот выебет, всё равно на биндингах писать будешь.

Но для общего развития раст намного лучше крестов. Когда у тебя свой borrowck в голове появится, ты и в других языках начнёшь понимать, почему твои программы — дерьмо.
301 2156778
>>56770

> Тридэ в расте твой рот выебет


Триде на любом языке рот выебет, в одиночку писать движок такая себе затея. Да и компиляция раста в шейдеры пока что оффициально не поддерживается, так что там использоваться свой С/С++ подобный язык без вариантов.
302 2156789
>>56770
ну я вот пока тоже склоняюсь к плюсам.
то честно говоря я даже не очень понимаю насколько сильна проблема, которую решает раст, я про борроу чекер и про всякое описание жизни ссылок, на мой неопытный глаз проблема преувеличена, чтобы так надрачивать компилятору. Мб когда попишу на плюсах что-то сложнее универских лаб, тогда пойму зачем запилили раст.
303 2156792
>>56635
спасибо
304 2156937
>>56778

>Триде на любом языке рот выебет



Ну хуй его знает, вроде норм

https://learnopengl.com/
305 2157114
>>56770

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



https://www.youtube.com/watch?v=3tOdwmRWLKw
306 2157129
>>56778

> Да и компиляция раста в шейдеры пока что оффициально не поддерживается


А компиляция чего в шейдеры поддерживается?
307 2157131
>>57129
шейдеров
308 2157141
>>57131
Ты же понимаешь, что независимо от языка программирования шейдеры ты один хуй будешь писать на GLSL если мы говорим про OpenGL
Какая тогда разница?
Лучше бы сказал про то, что нет нормальной библиотеки, чтобы не писать свои велосипеды.
309 2157145
>>56547

>пописать 2Д игрушки какие


Математику учи, а не языки, говна кусок.
310 2157146
>>57141
Сори, я мимокрокодил. Просто люблю, что в шейдеры компилируются шейдеры, а в ассемблер — ассемблер.
311 2157149
>>57145
Расскажи про известных математиков-авторов игр?
312 2157151
>>57149
Только разработчик Dwarf Fortress в голову сразу приходит, дальше думать надо
313 2157152
>>57151
И как там с графикой? Хорошо математика пригодилась?
314 2157154
>>57152
Ты бы лучше про генерацию мира и общую продуманность игры спросил.
315 2157156
>>57154
Но вся математика в графике сегодня. Генерация это здорово, но можно спокойно 2n алгоритмы применять, и никто этого не заметит, потому что делается это только один раз в самом начале.
316 2157162
>>57149

>Расскажи про известных математиков-авторов игр?


Речь не про "известных математиков", речь про базовые знания, до которых тебе как до Луны. За языки он тут пришел трепаться, неуч сраный.
317 2157170
>>57141

> GLSL


Вообще есть ещё SPIR-V, который работает в том числе и в опенгл (относительно новых версий) и позволяет использовать любой язык, который умеет в него компилироваться.
318 2157186
>>57145
>>57162

>>Расскажи про известных математиков-авторов игр?


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


эт другой анон спросил, не агрись плиз на него, спрашиваю за языки я.
кстати да, нахер мне математика чтобы написать пару-тройку паршивых 2д платформеров, которые увидят только я и мб твоя мама?
319 2157267
>>57156

>никто не заметит


>генерация мира в Dwarf Fortress

320 2157300
>>57267
То есть замечают? Это потому что там n! алгоритмы. Такие вот из математиков разработчики игр.
321 2157494
Джаваскрипт-господин посетил вас.

Есть одна либа на расте. Хочу поднять веб-сервер, который будет принимать POST multipart/form-data, использовать эту либу и возвращать ответ.

Что посоветуете, чем богаты?
322 2157497
>>57494
ага нормально делай
323 2157498
>>57497
у меня лапки
324 2157504
>>57498
ебани сервер на ноде, если на расте не делал нихуя то заебешься, нодой пиши формдату в файл и просовывай через spawn/exec в забилженный бинарник своей раст проги
325 2157506
>>57504
О, спасибо
326 2157530
>>57300

> n! алгоритмы


Ты от балды сказал или реально исследовал тему?
Я сам в теме не разбирался, но мне очень не верится, что математик бы позволил себе использовать O(n!) алгоритм, если есть возможность использовать алгоритм быстрее.
327 2157534
Прочитал что копилефт лицензия C лучше чем пермиссив Раста. Это правда?
328 2157542
>>57534
а те не поебать?
329 2157557
>>57534
Как это - лицензия языка?
330 2157568
>>57542
Шопенгауэр ты?
2021-09-14T13:00:42,629933667+03:00.png724 Кб, 2880x1024
331 2157765
начинаю вкат в вашу хуйню, какие подводные?
332 2157770
>>57765
Придется стать девочкой
yande.re 829706 cleavage dress gotoh510 hololive sakuramiko[...].jpg5 Мб, 1505x2666
333 2157774
>>57770
Так я уже, по линуксы не видно что ли?
334 2157786
>>57765
Ты и сюда пришёл...
Шарпы не осилил что-ли?
335 2157789
>>57786
Шарпы сложные, ничего удивительного.
336 2157794
>>57789
Не сложнее раста. С ума сошёл? Там синтаксический сахар вместо программирования, за тебя практически всё делает IDE.
337 2157802
>>57794
Ну а он, как видишь, не справился.
338 2157804
>>57786
Шарпы заебюатый язык, до сих пор пишу на нём всякую консольную хуету, уровня реализаций логики кубика рубика и алгоротмив сортировки ,многопоточность, написал недавно свой неофетч на шарпе, заебатый язык на самом деле, ещё синтаксис очень просто, особых знаний не нужно что бы его понимать, они ещё сильнее упростили язык в sdk6 и десятой версий шарпа

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

а раст, раст для школьничков смузихлёбов - мне на опеннет так сказали, ну я решил попробувать, и пока он мне не особо нравиться в сравнений с шарпом, ещё этот ебанный компилер сука, пока только сегодня чить начал, думаю написать калькулятор, сделать много скриншготов и выложить в r/unixporn свою хуйню, и можно будет возращаться к шарпам
339 2157805
>>57804
Ну иного от цыгана вниманиеблядского не ожидалось.
1624404845529.jpg72 Кб, 948x1168
340 2157809
>>57805
Уроки сделал? порфтель собрал?
341 2157811
>>57804

> ещё этот ебанный компилер сука


Уебанский компилер! Надо всего лишь написать cargo run/cargo build и всё будет работать!!! НУ И ХУЙНЯ!
222.jpg91 Кб, 1280x720
342 2157814
>>57811
проиграл, но ваще с шарпами и моно так же
csc test.cs
mono run.exe

Ваще, я имел ввиду что компилер высирает какието ошибки по мелким причинам, А шарпы к примеру вообще всё сжирают
343 2157816
>>57809

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


> Уроки сделал? порфтель собрал?


Ну не позорься, чел
344 2157817
>>57814

> А шарпы к примеру вообще всё сжирают


Шарпы потом на каждом пропуке в рантайме высираются ошибками, которые к тому же разобрать невозможно.
2021-09-14T13:28:18,615458350+03:00.png141 Кб, 692x292
345 2157819
Вот что это блять значит и как решить вообще?
346 2157822
>>57816
похоже ты не слыхал про арчешкольников-смузишлёбов? жаль, возможно бы ты понял что я имею ввиду, но похуй уже, последуй нахуй, в свой загон /s

>>57817
маняфатназий и хуйня какаята, редко встречал в шарпах ошибки которую нельзя разобраться, да и где там ошибки делать? синтаксис в языке просто1
347 2157823
>>57819
Тебе же английским языком написано function is never used. Догадайся, что сделать надо?
Тем более это не error, а warning, тебе даже в конце написало, что сборка завершена успешно.
Возвращайся на шарп лучше сразу.
348 2157825
>>57822

> да и где там ошибки делать? синтаксис в языке просто1


Ты же троллишь, да?
349 2157828
>>57823
я про это знаю бля, но почему тогда не вывело что мне нужно? да и где использовать функцыю если она выполняет определённый код? иле компилер хочет что бы я записах another_funtion в main()?
350 2157829
>>57823
Шарп слишком убогий язык, чтобы на него возвращаться даже с перла.
351 2157834
>>57828

> иле компилер хочет что бы я записах another_funtion в main()?


Как ты умудрился заставить функцию выполнять определённый код, не засунув её в main()?
2021-09-13T10:10:28,644750495+03:00.png134 Кб, 328x389
352 2157838
>>57834
и првда
2021-09-14T14:01:36,525768285+03:00.png113 Кб, 689x209
353 2157865
блять, как вообще отключить всякую подлобную хуйню? что в код вписать надо?

помню читал главы две три назад но уже забыл
354 2157888
>>57865
Гугл ком
Раст хау ту торн офф ворнингс

сам не знаю, каждый раз гуглю
355 2157892
>>57865
А вобще не будь мразью и слушай что тебе ворнинги говорят
356 2157894
357 2157915
Вы нахуя ему что-то объясняете? Он пару дней посидит, потом перекатится на какой-нибудь питон или плюсы и будет в их тредах срать
358 2157938
>>57915
Потому что смешнее будет если он дропнет раст из-за строк (и количества их разновидностей) и борроу-чекера, чем от невозможности заглушить варнинги.
359 2157986
>>57938
Нет, не смешнее.
Ты прикинь, чел дропнул яп из-за варнинга по поводу наименования функции, это же ухахатбл
360 2158310
>>57986
А прикинь, он не дропнет раст, найдёт работу, а там CI на ворнинги и клиппи.
use gentoo46 Кб, 720x480
361 2158507
>>58310

>найти работу


>на расте



пчел, нах мне работать на этом языке, я же не школьничег смузихлёб, лол, для работы есть пыха и прочея вебпараша, раст, кресы, пёрл и прочие подобные языки это для школьников которым нехуй делать на каникулах энтузиастов, понимаешь? так же как и линукс
362 2158509
>>58507
Пыха разве не мёртвый язык, за код на котором даже едой не платят?
363 2158517
>>58509

> даже едой не платят?



маняфатазий местынх школьников, сам делал заказы на пыхе на фрилансе, и да сука, платили копейки, зато за месяц работы обновил пеку и купил сиси ди на 480 с алика, балею щас, но не суть, у меня друг работает на пыхе+лара и получает свой 1500 баксов поживая в хохляндий, пыха хароша тем что можно легко вкатиться, и заказов много, работы много, вообще never die
2021-09-15T10:44:15,630868296+03:00.png35 Кб, 753x198
364 2158523
О, я уже дошёл до этой очень важной темы
365 2158530
>>58523
Её надо было первой читать, ты вообще из первых трёх глав понял что-нибудь?
366 2158537
>>58530
Офк, это же элементарно, там же почти читать не надо, алсо я читал оф доки и метанит, да и там всю базово и элементарно
367 2158572
Появилась идея создать торрент трекер, где игры можно играть прямо из браузера на webassembly. Просто заходишь в аккаунт на рутрекере допустим, и можешь прямо оттуда играть в игры. Только осталось реализовать. Можно ли такое сделать одному?
368 2158594
>>58572
Если задаешь такие вопросы, то нет, нельзя. Да и без тебя уже справились: новые игры перевести в вебассембли без шансов, а для ретро (дос, консоли) архив.орг.
369 2158600
>>58594
То есть я не могу крузиз заставить работать в браузере в одиночку?
1608635604267.jpg1,2 Мб, 2048x2048
370 2158640
2021-09-16T03:17:09,325635773+03:00.png133 Кб, 1361x254
371 2158897
блять, а тут уже в чём проблема? вроде же я использую ресулт в принтлн, почему так?
2021-09-16T03:19:54,878641755+03:00.png225 Кб, 1367x421
372 2158899
блядь, чё это за петухон ебанный, как будто за лишьние пробелы ебут сука
373 2158901
>>58897

>Аргумент невер юзед


>Аргумент


>невер юзед



У тебя место только под один аргумент в принтовой строке, компилятор не знает куда второй аргумент вставить.
374 2158904
>>58899
А, понятно, ты просто троллишь. Файл не сохранил, и спамишь на двач своими ошибками.
375 2158906
И нахуя ты используешь rustc вместо карго?
У тебя там хардкорная статическая линковка с сишными либами? Или ты просто долбоёб?
376 2158910
>>58906
а нахуя мне под каждый пук отельный проект с папками создовать? когда я могу свою маленькую хуйню компилить из файла?
377 2158911
>>58901
Да я уже понял, посмотрел примеры кода

>>58904
долбоёбина, почитай что консоль пишет
378 2158929
>>57829

>даже с перла


Не надо про перл. Вполне хороший язык, только его пик популярности давно прошел горизонт.
379 2158944
>>58929
прошел горизонт событий в черной дыре? Непонятно
380 2158973
>>58944
Ах, этот шитпостинг тупизной.
Поразительно, по множеству тематик наплыв таких долбаебов буквально неделю или две назад начался.
381 2158976
>>58973
Вахтер, спок. Если хочешь раст иди читай доки, общайся в issues
382 2158983
>>58973
фантазёр спок, иди уроки делай, может перестань путать мимоАнонов со свойми протыками
383 2158993
>>58983

>протыками


Какое-то новое зумерское слово?
old.jpg4 Кб, 179x220
384 2158994
385 2159074
>>58983
Протыкл артём семёнович, это имя твоего гулаговского деда. Которого воры попротыкали туберкулёзными хуями за отказ брать на себя норму паханов.
2021-09-16T09:36:26,002639288+03:00.png228 Кб, 1596x352
386 2159253
Ну а здесь в чём проблема? почему компилер не хочет выводить булеан значение?
387 2159268
>>59253
Ты английского языка не знаешь? Он же тебе объясняет, что функция ничего не возвращает. И подсказывает ; убрать.
388 2159280
>>59268
блять, и правда, thx
389 2159282
>>59268
Он тебя троллит, а ты ведёшься.
2021-09-16T10:59:04,796504022+03:00.png522 Кб, 1597x900
390 2159315
Гайсы, начинаю писать калькулятор, вроде более менее в базе освойлся, думаю за пол часа смогу настрепать, пожелайте удачи блять, очень уж надо, с учётом что язык начал учить три дня назад
391 2159342
Так блять, Я вроде близко, а как решить пик? больше всего пришлось гуглить 18-20 строки
2021-09-16T11:44:03,501082128+03:00.png485 Кб, 1599x733
392 2159345
>>59342
пикча отвалилась
IMG20210916184656.jpg43 Кб, 1080x437
393 2159347
>>59345
Что вот это твоё match{} означает?
394 2159348
>>59345
Как ты вообще линукс умудрился поставить со своим знанием английского?
395 2159349
>>59347
Да, я это уже и решил, там нужно было передать значение, теперь вроде очевидная проблема
2021-09-16T11:55:21,640436649+03:00.png533 Кб, 1598x900
396 2159351
>>59348

Вот по этим ставил, с 4 раза, первый раз проебался с разметокой, потом 2 и 3 раз проебался с загузчиком
но в итоге за два с лишним часа накатил свой арч линупс

https://itsfoss.com/install-arch-linux/
https://wiki.archlinux.org/title/installation_guide

Алсо, проблему я уже решил, и калькулятор почти работает как надо
397 2159409
>>59268
Нахуй ты отвечаешь ему? Это толсто нереальных масштабов, а ты ведешься, даже стыдно за тебя.
sage 398 2159440

>2159253 (You)


>2159268 (You)


>2159280 (You)


>2159282 (You)


>2159409 (You)


Таблетки.
399 2159444
>>58640
почиму? я очень хочу
400 2159457
>>38871
хэй! мимокрокодил, почитал немного тред, но невнимательно и нифига не понял, какие интересные фичи у языка есть. знаю плюсы, учу хаскель, что раст их них позаимствовал, чего не хватает?
401 2159460
Мне сказали шарписты что язык Раст фигня. Ето правда?
402 2159464
>>59457
ссылка на пост >>38871 случайно приклеилась
403 2159595
Учу раст по растбуку и "Программирование на языке Rust" Дж Бленди Дж Орендорф. Пытался смотреть курс Computer Science Center А. А. Кладова, но 80% не понимаю. Вообще ощущение, что непонятно абсолютно всё. Как будто я вне какого-то контекста, будто есть база знаний, необходимая для того, чтобы просто начать изучать программирование, а у меня этой базы нет. Чуда ведь не произойдёт и я так и продолжу заучивать примеры и определения без видимого результата?
404 2159627
>>59595
ты не поймешь те лекции ибо те лекции на людей которые пришли с плюсов и которые знают что делают и как это работает.

Мой тебе совет, не теряй времени, скачай три тома книг столярова и прочитай их. После этого растбук и лекции пойдут как с молоком матери.

сайт - stolyarov.info
cache.png282 Кб, 1230x1878
405 2159696
Сап, крабач, хочу сделать программу, суть токова...

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

Я все никак не могу взять в толк, как же правильно это сделать. Набросал пока пикрелейтед, но здесь не выполняется пункт 4 (да и по остальным пунктам вопросы, например стр. 32). Пока единственная идея - завести HashMap<String, Mutex<bool>>, где String будет неким идентификатором данных, а флаг будет говорить о состоянии запроса (идет запрос в данный момент или нет). Проблема в том, что (на мой взгляд) тут проще простого словить PoisonError и наебнуть весь сервер целиком. Подскажите, в каком направлении копать?
406 2159719
>>59444
Если соло разрабатывать, то ты закончишь в тот момент, когда это перестанет быть кому-нибудь нужно, все в облаке будут играться.

Проще заработать денег и купить фирму с прогерами, чтобы тебе это сделали.
407 2159791
>>59444
Делай, в чем вопрос?
408 2159798
Дарова, пацаны ебашу музыкального дискорд бота на расте. Хотел спросить если нормальные либы апи дискорда для раста?
409 2159802
>>59798
Такой хуйней вряд-ли бы стал кто-то заниматься
410 2159807
>>59798
Отвечаю себе. Еслть хуйня называется serenity вот эта хуета позволяет работать с апи дискорда, также есть songbird от этих же разрабов, но эта хуета для войс чатов.
https://github.com/serenity-rs/serenity
https://github.com/serenity-rs/songbird
411 2159845
>>59791
Ты будешь отличным психологом.
2021-09-17T12:42:18,126382887+03:00.png272 Кб, 617x710
412 2160123
Блять, почему так? что я делаю не так? чего он сука хочет, из ошибки через rustc нихуя не понял, хелп плез

алсо, почему то кажеться что тред одновременно и жив и мёртв
413 2160135
>>60123
Ты если английский не знаешь, то хотя бы переводчиком пользуйся
Ты два раза берешь мутабельную ссылку на переменную, в расте так нельзя
Можно много иммутабельных и лишь один мутабельный референс на переменную
414 2160137
>>60135
Я в анлюсике нормально освоислся, как монимум видосы на ютубе с сабами могу смотреть и балдеть, но беда в новых языках сложна, ибо новые слова и приходиться много гуглить, но думаю это времиенно, пока только вкатываюсь, у меня же меньше недели с начала вкатывания, потому думаю со временем привыкну, да и я уже далеко не с каждой самой мелкой проблемой сюда бегу, только если что то долго не получаеться решить
image20 Кб, 551x36
415 2160139
>>60137
Вот это пробовал?
image40 Кб, 1112x631
416 2160141
Всё очень удобно описано как раз
2021-09-17T12:59:33,240951947+03:00.png126 Кб, 846x269
417 2160142
Бля, всего лишь убрать нужно было, мда

>>60139

>Вот это пробовал?


>>60123

> из ошибки через rustc нихуя не понял

1631898116536.png68 Кб, 185x235
418 2160143
Это тролинг какой-то?
419 2160144
>>60141
>шиндовс

>руст



Да кстати, но я подумал что много читать нужно ради такой мелкой ошибкой
420 2160147
>>60144
Малой, срачи то хоть не разводи
tfw hello world.jpg81 Кб, 640x644
421 2160148
>>60143
Я только несколько дней вкатываюсь в язык, по метаниту и докам, раньше писал жиес и шарпе, потому не привык к синтаксису и логике работы подобных языков,но это временно, я быстро обучаюсь, через неделю две уже такой хуйни скорее всего не будет
422 2160149
>>60143
Он уже сам с собой разговаривает, просто пройди мимо.
423 2160150
>>60147

>


>


но ведь это так, на линуксах и маке куда удобней писать на расте, ещё с учётом вима, и ладно бы похуй на вим, не ради вима на линухе идут, но это же охуенно быстрая и удобноая система, а писать на расте из под винды какой то крайне костыльный метод, проще на линуксах
424 2160154
Карикатурный персонаж
EdUAtBDXYAAk-h8.jpg145 Кб, 933x1200
425 2160605
Сап, подскажите тему для диплома ну русте.
426 2160614
>>53885

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


>Суть в том, что ты наивный манятеоретик жизни не нюхавший


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

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


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

>Я не знаю, за что ты ненавидишь так С++, видимо потому что не можешь его осилить, а как известно человек боится\ненавидит то, чего не знает.


А ты агаришься потому что не можешь осилить тот самый простой бэкенд для вэбмакак и так и работаешь в своем подзаллупном НИИ за копецки и даже в rust походу не осилил

>вряд ли даже отличит баблсорт от квиксорта


Это не нужно знать в вебе, вот прям совсем, если дело дошло до того что нужно оптимизировать сортировку и погружаться в алгоритмы, то это либо хайлоад типа яндекса, либо ты что-то делаешь не так. Даже не знаю почему этими алгоритмами некоторые дрочат на собесах.
Вообще этот твой высер выглядит как-будто автослесарь доебывает дальнобойщика что тот не может отличить разные типы топливных форсунок. Писать код на плюсах под железки и писать для вэба на питоне это разные сферы как стоматолог и гинеколог. Любой вкатун бэкендер будет знать лучше тебя что происходит с момента нажатия кнопки "отправить" на дваче до появления на мониторе отправленного поста.
427 2160633
>>60605
друг писал простенький си-компилятор на расте. Дерзай хули
428 2160646
>>60614

>тот же питон уже давно не новомодный


Питон старше жабы и жса, так-то.

>>60614

>даже на Go не первый год уже пишут


Да толком ничего и не пишут. Есть какие-то места вроде озона и вайлдбериса, где есть агрессивные пиарщики ГОвна, но дальше он так никуда и не проник. Думаю, через несколько лет он станет чем-то вроде ruby по популярности и тенденциям в развитии.
429 2160651
>>60646

>агрессивные пиарщики ГОвна


Не дотягивают до пиарщиков сисярпа
430 2160674
>>60605
Ну как вариант напиши типобезопасный MapReduce поверх Tokio. В качестве кандидатской пойдет оптимизатор его DAG с выносом маленьких ступеней (что влезают в RAM квоты) в локальные очаги вычислений. В качестве докторской подтянешь на машобчике более эффективный shuffle, оценку skew данных при join и размазывание ступеней по нодам исходя из предсказанных IOPS. А потом продашься с потрохами за пару миллионов какому-нибудь стартапу-переростку в долину. Если не нравится идея, спрашивай еще, у меня таких миллион.
431 2160692
>>60646

>Есть какие-то места вроде озона и вайлдбериса, где есть агрессивные пиарщики ГОвна, но дальше он так никуда и не проник.



>мерить популярность языка по СНГ

432 2160752
>>60646

>Да толком ничего и не пишут.


Микросервисы и много где, особенно в банках и финтехе полюбили его даже в некоторых случаях монолиты с жабы на микросервисы на го переписывают У нас на работе даже прошивки для кое-каких коробочек пишут и плюс работат на бэкенде где потоки с видео/аудио. Остальное все на рельсах.

>места вроде озона и вайлдбериса


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

>ruby по популярности и тенденциям в развитии.


Да, да умирает и не развивается поинтересовался бы для приличия прежде чем что-то писать
EdUAtBDXYAAk-h8.jpg145 Кб, 933x1200
433 2160790
>>60674
Ок, попробую. Изначально хотел что-то такое делать https://github.com/odygrd/quill
434 2160910
>>59696
бамп
435 2160914
>>59696

>хочу сделать программу


Делай, в чем вопрос?
436 2161024
>>60914
От души, анон.
437 2161183
>>59696
Какой блядь пойсон эррор, просто возьми AtomicBool. А если у тебя будет тип, который не влезает в атомик, то берёшь parking_lot::Mutex, там пойсонов нет (потому что они не нужны, если ты не пишешь ансейф).
А если ты таки хочешь стандартный мутекс, то просто берёшь и не паникуешь на пойсоне, разворачивая ошибку в данные, там специальная функция into_inner() есть как раз для этого.
438 2161185
Чет себя таким тупым ощущаю. Читаю растбук, дошел до пакетов и вот что-то прям хуево понимается, уже раз 6 перечитываю. До этого все было просто, и владения и перечисления, хотя немного на перечислениях потупил, когда в них значения передавать можно было и как их извлекать.
sage 439 2161251
>>61185

>перечисления


Поэтому надо начинать с ml и его диалектов. Rust = ML + C
440 2162099
>>61251
Причем тут ml?
441 2162109
>>62099
Тоже слабо понял. Какой-то адский вброс.
442 2162152
>>62099
>>62109
Растовский enum это datatype из ml, т.е. конструктор ADT
ML: datatype 'a option = None | Some of 'a
Rust: enum Option<T> { None, Some(T) }
443 2162155
>>62152

>хотя НЕМНОГО на перечислениях потупил


>дошел до пакетов и вот что-то прям хуево понимается



мл нужно учить.
444 2162214
>>62155
И сишку. Т.е. с сишкой и млем не будет проблем ни с перечислениями, ни с пакетами. Алсо, в растбуке предпологается, что ты не зелёный в программировании, т.е. теорию о типах, архитектуре, сетях и т.д. знаешь.
445 2162684
>>33349 (OP)
На одном расте можно работать? Чтобы без всяких плюсов.

Вообще подумываю так слегка из бекграунда ios и android, по 2 года в каждом. Ржавый похож сильно на свифт, синтаксически. Приятно думаю вам писать на нем.

И как вообще дела с вакансиями?
446 2163147
>>62684
Вакансия пока что самая грустная сторона раста, кратко говоря работы нет

> приятно вам на нем писать


Всем сердцем ненавижу компилятор и бороу чекер, но Бэк на нем писать достаточно приятно
447 2163673
>>59457
ну, шо там по фичам-то?
448 2163704
>>63673
>>59457
Ничего. Только тайпклассы.
449 2163705
>>63704
Это из хаскеля. Из плюсов raii наверное.
450 2164028
>>63705
мув сементика
но в расте она не из жопы, а из системы типов.
451 2164055
>>63147

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


Так он же помогает делать так, чтобы программа потом в рантайме не развалилась.
452 2164358
>>64055
Обычно да, а иногда только мешает писать так как хочется
453 2164462
>>63147
А чего ненавидеть-то, ну оберни что надо в Rc, да и все.
454 2164476
Гейзы, я как погляжу дела у вас тут прямто таки хуёво, не изменилось нихуя за это время, а я в это время на генту перешёл, хотя на втором диске всё ровно устоновил федору, ибо раст будет компилиться часов 4-5
455 2164494
>>64476

> ставить генту


> бояться компиляции


Нахуя ставил-то?
456 2164519
>>64476

>фотография экрана

SmartSelect20210512-002229YouTube.jpg630 Кб, 1619x1005
457 2164539
>>64494
Да это допизды просто , я раза с 4 только осилил устоновку, и то пиздец, у меня скринфетч компилиться 1 час с лишним, ну его нахуй, ещё драва и граб в прршлые разы сломал, пиздец,я в линуксах на самом деле не долго, месяца 4 назад начал вкат, но генту для меня это всё же лишним времязатрано и долго, я и так три дня компилил и пересобирал систему, ибо пизбей сколько ошибок, потому ну нахуй, пидора/рач остаються мейн-дистрами для разработки

>>64519
Иначе никак
458 2164562
>>64539
Ты тот самый чушка, который каждую ошибку постил сюда и засирал треды своими скринами пидорача с анимешными картинками?
16322246785290.jpg78 Кб, 588x766
459 2164603
>>64562
Да, ето я
(Автор этого поста был забанен. Помянем.)
460 2164612
>>64539

>я в линуксах на самом деле не долго, месяца 4 назад начал вкат


>генту


Ты долбоеб? Ставь убунту, ну или федору для начала. Генту совсем для красноглазых и бородатых
461 2164629
>>64612
Не пизди. Я первые пару месяцев линукса дистрохопился между колясками типа убунты, федоры и дебиана, потом резко полез на арч, а потом сразу на генту. Ничего сложного для красноглазобородатых там нет, достаточно уметь читать хотя бы по русски.
Проблемы могут возникнуть разве что на каком-нибудь экзотическом железе, но они возникнут вообще на любом линуксе.
462 2164717
>>64629
всё так, разве что заебёшься компилить на каждый пук по 20 минут, а так заебись, ещё рач и пидора норм, но что бы пидора была вполне юзабельно нужно много её напердолить

> Ставь убунту, ну или федору для начала.



неосилятор плез, я до этого сидел на раче, а щас на пидоре, нахуя мне эти вечноломающийся сами себя коляски?
463 2164802
>>64476
я тебе так скажу, анон.
Тебе от силы 16-20 лет. И ты не работаешь.

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

Больше мне нечего сказать. Пока.
ZKo0Y1ev400x400.jpg20 Кб, 400x400
464 2164826
>>64802

>Тебе 17 лет


> И ты не работаешь.



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

>Ты понимаешь что все это хуйня?



Это охуенно интересно и сложно, рили, и даёт глубококе понимаеи как работает система, немало опыта, идёт как проверка на прочность, я немало узнал и понял, ещё я очень быстро учусь, потому мне такое нравиться
(Автор этого поста был забанен. Помянем.)
465 2164841
>>64802

>Пока ты ебешься с этим, нормальные люди делают деньги.


Представил с каким ЕБАЛОМ и ПРИДЫХАНИЕМ ты сказал "деньги" и проиграл.
Деньги как смысл жизни так себе затея.
Но зато ты НОРМАЛЬНЫЙ, так что не бери в голову. Ты молодец! Удачи!
qzhtipeAypI.jpg196 Кб, 831x1080
466 2165608
>>64826

>(Автор этого поста был забанен. Помянем.)


Это за 17 лет его так?
467 2166098
Дарова, пацаны. Кароче есть либа clap я хочу перевести либу со второй версии на третью, и прекол в том что у меня всё к хуям ломается. Даже после моих блядь исправлений, не хуй соси. Поэтому прошу помощи у двача, пожалуйста, помогите перевести это на clap v3. Вот код с опциями. https://pastebin.com/Q2cuUKZ5
https://github.com/clap-rs/clap
468 2166117
>>61183
Нет, ты не понял, зачем мне атомик? Мне нужно, чтобы остальные треды засыпали, пока первый не закончит работу. Впрочем я уже понял, что мне нужен Condvar (которому один хуй требуется Mutex).
469 2166237
>>65608
За вниманиеблядство.
470 2167127
>>60123
>>59345
>>59315

> И прочие посты этого долбоеба


Какой же охуенный компилятор, прям мордой ткнет.
Тыкаюсь в Rust пару дней, вроде ничего так, хочу бэкенд попробовать поскольку сам рельсовик, апишки на чем обычно пишут? По ссылкам в шапке нашел actix и rocket, что из них лучше потыкать?
471 2167782
>>67127
школьничек спокизи, я уже осовйлся и с компилятором и продолжаю изучать и писать конкретные проекты
472 2170118
прив мертвый тред!
как напердолить итератор для двух разных структур, если они обе поддерживают итератор?
я пытался сделать свою кастомную, которая держит оригинальную и имплементнуть для нее итератор, тобишь функцию next в которой я метчился по оригинальному типу и возвращал next или одного итератора или другого, но там какие-то разные имплементации, и я чет пососал....
image.png48 Кб, 1168x66
473 2170374
как убрать из текста паника этот кусок?
475 2170391
>>70388
о бля во первых спасимбо, во вторых я б никогда не подумал гуглить такую тему на русике а на англ не выдавало
476 2172471
>>70118
std::iter::zip?
477 2173128
Есть идея создать просмоторщик картинок. Вообще есть ли на расте какой-нибудь всеядный дестктоп image viewer, способный обрабатывать и фотошоп форматы и svg по типу picasa? Мб кто-нибудь уде пробовал
478 2173744
Аноны, зацените новый линкер https://github.com/rui314/mold

собирает многопоточно, перелинковка (тупо добавил пробел и собрал) заняла 10 сек на моём 2665 (8/16@2.8)
До этого было что-то в районе 1.5 минут
по зависимостям у меня так
cargo tree|wc -l
985
479 2174385
>>73744
Ау, растаны, чего заглохли?
ОП, добавь mold в шапейку нексттреда, для тех, кто заебался ждать переконпеляции (на самом деле перелинковки) после правки пары строк.
480 2174536
>>74385
хуй знает, какая-то слишком сложная хуйня для мя...
но попутно вопрос, за то время что я писал на расте я видел дохуя инструментов заявляющих что они "самые быстрые в классе" и бля, они действительно самые быстрые если ты осилил непонятный синтаксис. В чем подводные, как достигается ебовейшая скорость?
481 2174577
>>74536

>какая-то слишком сложная хуйня для мя...


Ебать, а я-то думал, что я на расте самый тру-смузи-хипстер.
Там всё тупо: по инструкции собираешь, потом /path/to/mold -run cargo build.

Что касается скорости софта на расте, то на нём легко и приятно писать многопоточные приложения, также есть удобные обёртки над SIMD.
Что каcается mold, то он не на расте написал, просто оче быстрый линкер. Ещё lld можно попробовать.
482 2174603
>>74385

>ОП, добавь


Старый ОП пропал, а я только последные 2 треда перекатывал. Н и вам придется нового ОПа найти, потому что я с двачей ухожу.
483 2176481
>>74603
Нашёл работу на ржавом?
484 2176608
>>74603
Нашел тяночку на кукан?
485 2177927
>>33349 (OP)
Чё пацаны раст?
486 2178060
>>76608
Почему сразу тяночку-то? Может, трапика нашёл, и теперь вместе няшатся, пушат друг другу коммиты.
2021-10-10T20:34:52,624854201+03:00.png314 Кб, 978x880
488 2179690
блять я чёт аж проиграл с ошибок компиляций
489 2179826
>>64629

> Ничего сложного


И ничего полезного.
490 2179921
>>34880
А как так выходит, что сраст быстрее си, но медленее плюсов? Растодебил на админе так и не пофиксил данный конфуз?
491 2180047
>>79921
На сишке писать неудобно. А кресты быстрее потому что там unsound на unsound и UB на UB.
Screenshot 2021-10-17 at 15.59.40.png207 Кб, 1360x262
492 2185924
каждый раз ору с пердоликсов и маняаргументов почему отсутствие в стд (и крейтах, лол) самого очевидного функционала это хорошо
493 2186075
>>85924
ну так раст не плюсы, зависимости в 2 клика добавляются
так что не вижу проблем, тем более если разрабам легче
494 2189023
Сап, растаманы. Ищу microORM для домашнего проекта. Требования следующие:

- Нормальный СИНХРОННЫЙ интерфейс. Асинки и авайты идут в задницу, не вписываясь в архитектуру абсолютно.

- Простота. Мне не нужны миграции, васяноутилиты управления проектом, getting started длинной в "Войну и Мир" и прочая шляпа (привет, diesel, и пока), просто хочу подключить библиотеку, шлепнуть #[derive(VotEtoOtobrazi)] на структуры и юзать.

- Отсутствие необходимости постоянно писать SQL-запросы вручную (нет, мне не трудно совсем, но нахера тогда ORM, если все вручную делать?).

- Поддержка хотя бы основных СУБД (SQLite / MySQL / Postgres).

Когда-то давно на сишарпах использовал https://github.com/FransBouma/Massive - вот что-то подобное было бы очень кстати.
495 2189120
>>89023
Охуеть ты комбайн себе хочешь, конечно. Смирись с тем, что все комбайны давно пересели на асинк и научись вызывать его из синхронного кода с помощью block_on.
496 2189150
>>89120
Мне как раз комбайн не нужен, мне нужна маленькая и простенькая библиотека, которая умела бы в прозрачный CRUD над POD, только и всего. И чтобы она до кучи была синхронной. Все.

Тот же Massive, ссылку на который я дал выше - по сути один файл исходного кода и несколько адаптеров для конкретных СУБД. (При этом он еще и в асинк умеет для тех, кому нужно.) Неужели в современном мире стильно-модно-молодежной разработки такого больше не делают?

> Смирись с тем, что все комбайны давно пересели на асинк и научись вызывать его из синхронного кода с помощью block_on.



Это дикие и корявые костыли, которые придется по всему коду расставлять или писать макрос, втыкающий эти костыли за меня... Хуевый вариант
497 2189318
>>89023
Ты хочешь слишком много для бедного раста.

С учётом того, каким говном являются макросы в расте, если ты хочешь не писать SQL руками, то тебе остаются только пляски а-ля дизель с отдельными файлами описания схемы и т.п.
498 2189324
>>89318

> С учётом того, каким говном являются макросы в расте


А что с ними не так?
499 2189345
>>89324
Нет никакой возможности получить информации о типах в рамках всей программы.

Соответственно, макросы очень ограничены в плане того, что они могут делать на дерайвах, аннотациях и т.п.
500 2189414
>>89318
>>89345
Да я уже вообще чувствую, что придется самому писать что-то...
501 2189470
>>89414
Ну с твоими хотелками можно в дизель попробовать, он не сильно и страшен, на самом деле.

Потому что все альтернативы проще заставят писать sql руками
502 2189566
>>89470
Просто у них даже хелловорлд начинается с какой-то энтерпрайзной херни с миграциями + установкой своего консольного инструментария. У меня три таблицы с четырьмя колонками каждая, зачем мне все это?
503 2189858
В общем, это снова я >>89023. В итоге остановился на Sea-orm, прикрутив следующий костыль для превращения асинхронных вызовов в синхронные:

trait Block {
fn wait(self) -> <Self as futures::Future>::Output
where Self: Sized, Self: futures::Future
{
futures::executor::block_on(self)
}
}

impl<F,T> Block for F
where F: futures::Future<Output = T>
{}

Теперь после любого асинхронного вызова можно сказать .wait() и все.

Самое смешное, что раньше в futures был такой вызов, но потом его зачем-то выпилили - видимо, чтобы люди безальтернативно страдали с асинками...
504 2190062
>>89566

> энтерпрайзной херни с миграциями + установкой своего консольного инструментария


Скипаешь, сразу делаешь свои структы и пользуешься только орм.
изображение.png129 Кб, 220x220
505 2191526
АНОНЫ, ПЕРЕКОТ: >>2191525 (OP)
АНОНЫ, ПЕРЕКОТ: https://2ch.hk/pr/res/2191525.html (М)
мимоОП
Тред утонул или удален.
Это копия, сохраненная 21 мая 2022 года.

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

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