Программирование

Ответить в тред Ответить в тред
Check this out!
Rust #18 /rust/ Аноним 19/08/21 Чтв 20:37:39 21333491
1200px-Rustprog[...].png 41Кб, 1200x1200
1200x1200
16293886903872.jpg 77Кб, 750x1000
750x1000
16293886903741.png 2132Кб, 1500x882
1500x882
16293886903730.jpg 60Кб, 760x383
760x383
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)
Аноним # OP 19/08/21 Чтв 20:52:40 21333622
0001.png 34Кб, 1920x1080
1920x1080
Аноним # OP 19/08/21 Чтв 20:53:24 21333643
0002.png 72Кб, 1920x1080
1920x1080
Аноним # OP 19/08/21 Чтв 20:53:53 21333654
0003.png 35Кб, 1920x1080
1920x1080
Аноним 19/08/21 Чтв 21:07:07 21333805
>>2133362
Нефига какая толстота со слиянием.
Зачем делать такой трэш, отталкивает же.
Аноним 19/08/21 Чтв 21:09:01 21333826
>>2133380
>слиянием
У тебя родители тоже слились в тебя, а не продолжили отдельно существовать?
Аноним 19/08/21 Чтв 21:09:49 21333837
>>2133364
То есть, никаких достижений и нет, если пришлось приписывать рейтинг SO, где единственная заслуга это столбец "любимый".

>>2133365
Хватило бы и одного столбца "Клевый - да - нет - нет"
Аноним 19/08/21 Чтв 21:13:51 21333858
>>2133382
Да очевидно это рассчитано на тупой маркетинг, кто семейные деревья в бок рисует с хронологией? Приписка что это семейное дерево лишь чтобы такие как ты вовремя пукнули и поправили, а ассоциация ровно ложится как и задумал автор. Некрасиво и низко.
Аноним 19/08/21 Чтв 21:17:09 21333889
>>2133383
А какие заслуги должны быть?
"первый язык, на котором написана программа управления дилдо"?
Аноним 19/08/21 Чтв 21:18:28 213339010
>>2133383
> никаких достижений и нет,
На расте написан сам компилятор раста, что уже достижение.
Аноним 19/08/21 Чтв 21:20:42 213339211
image.png 58Кб, 1846x835
1846x835
Логический правильный вариант (си же не слился в с++, а вышел с него). Да и другие языки могут дать еще потомства, хера скукожили.
после такого говна и манипулированием даже не хочется раст трогать
Аноним 19/08/21 Чтв 21:25:16 213339612
>>2133388
Первая вакансия.
Первый флагманский проект - утилита grep.
Был принят в мазилу, а когда выпинут - не указали на самом деле авторы тупые и могли упомянуть создание фондейшена раста
Написания браузера на мазиле (написали же??)
Аноним 19/08/21 Чтв 22:02:11 213342913
>>2133390
> что уже достижение.
На самом деле нет. С появлением ллвм каждый второй студент придумывает свой ЯП и пишет к нему компилятор в ир-код, который скармливает ллвм. Вот когда они интегрируют Cranelift как бэкенд хотя бы для debug-билдов на х86_64 (а такие планы у них были), тогда и можно сказать, что на расте полностью написан компилятор.
Аноним 19/08/21 Чтв 22:28:28 213347114
>>2133365
А почему плюсы и си не типобезопасны?

из за войд звездочки?
Аноним 20/08/21 Птн 00:03:46 213357315
Перекат на 484 посте... До такого только педераст мог додуматься.
Аноним 20/08/21 Птн 00:40:52 213358216
>>2133573
Боимся переполнения буфера, а вам прошу проследовать в петушиный угол к жабодаунам и плюсодебилам.
Аноним 20/08/21 Птн 01:58:55 213363817
В прошлом треде анон упомянул язык bosque от MS, я о нём ничего не слышал, так что нагуглил видосик, через непонимание английского пытался вникнуть в послание мне постараться проанализировать и сделать выводы для себя) (как комнатный Рембо, крч). И сходу душа запела, потому что функционалочки во все поля. Лупов больше нет, они заменены функциями, мутабеольности нет вообще, ибо опасна и не нужна. Хотет Верону в таком же ключе.
Аноним 20/08/21 Птн 02:56:06 213365018
>>2133582
Но вы же освободили память, но в память по указателю до сих пор пишутся данные!
А ещё у вас состояние гонки теперь. Ех, непорядок. Растодебилы опять обосрались.
Аноним 20/08/21 Птн 03:33:23 213365819
>>2133385
>Некрасиво и низко.
Как и сам пидорский руст.
Аноним 20/08/21 Птн 05:56:45 213367020
>>2133471
Слаботипизированные, потому что.
Раст потому и сильнотипизирован, ведь это исключает класс ошибок (с ув. КО)
Аноним 20/08/21 Птн 09:56:54 213374321
>>2133364
График на два года устарел, Rust уже шесть лет подряд most loved.

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

В общем, хуйня.
Аноним 20/08/21 Птн 09:59:15 213374422
>>2133638
google "Alan lang"

Не благодари.
Аноним 20/08/21 Птн 10:00:34 213374523
1629442861072.jpeg 294Кб, 1080x2340
1080x2340
Аноним 20/08/21 Птн 10:01:03 213374724
>>2133743
>В расте нет динамическиго тайпчека
&dyn Trait?
Аноним 20/08/21 Птн 10:09:20 213375425
>>2133747
Ну, очевидно, что эту таблицу писал человек, который нихуя не знает про кресты, а ещё думает, что всё знает про раст, примерно как ты.
Во-первых, dyn Trait — это не динамическая типизация, твой тип всё ещё должен имплементить некий трейт, чтобы ты мог получить dyn Trait.
Во-вторых, в крестах есть точно такая же хуета, когда ты используешь классы с vtable вместо определённого типа, но почему-то в таблице я не вижу static/dynamic у крестов.
В-третьих, если мы говорим про dyn Any и даункасты, такую же хуету можно получить просто кастом указателей.

Так что нет.
Аноним 20/08/21 Птн 10:15:58 213376126
>>2133754
> а ещё думает, что всё знает про раст, примерно как ты
Спасибо за такую высокую оценку моей уверенности в себе.

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

>кастом указателей
Это проверяет тип?
Аноним 20/08/21 Птн 10:19:43 213376527
>>2133761
>он умеет проверять это в рантайме
Нет, он проверяет соответствие типов в компайл-тайме. Точно так же, как кресты или сишка.

>Это проверяет тип?
Нет, но dyn Any тоже не проверяет тип, он проверяет хеш, и в теории эти хеши могут совпасть у двух совершенно разных типов. Так что в теории отличия тут нет, а на практике ты и в сишке можешь свои типы хешить в компайл-тайме макросами.
Аноним 20/08/21 Птн 10:33:19 213377328
>>2133765
>Нет
В книжке написано в рантайме.
https://doc.rust-lang.org/stable/book/ch17-02-trait-objects.html#trait-objects-perform-dynamic-dispatch

>и в теории эти хеши могут совпасть у двух совершенно разных типов. Так что в теории отличия тут нет
Ловко ты словами сыграл. В теории могут совпасть, значит в теории отличий нет. В теории, я могу привести неоспоримые доказательства своей правоты, значит в теории я победил. До свидания.
Аноним 20/08/21 Птн 10:42:20 213378129
>>2133773
>В книжке написано в рантайме
Там написано, что он ресолвит методы в рантайме, а не типы (точно так же, как работает ресолвинг методов на классы в крестах; ты всё ещё не показал разницу между dyn Trait в расте и dynamic dispatch классов в крестах). Типы ресолвятся в компайл тайме всегда.

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

Но если ты говоришь что ты победил, то ты победил, офк, удачи.
Аноним 20/08/21 Птн 11:21:07 213381030
Что-то вы тут все разболтались. Все привели в порядок свои mod.rs? Хватит бездельничать идите прописывать модули.
Аноним 20/08/21 Птн 14:47:55 213408731
Аноним 20/08/21 Птн 15:30:40 213413532
>>2133638
Некоторые решения у них сомнительные там, но это же MSR, там ни раз направят на путь истинный.

В целом, мне думается, это будет такой "котлин" для С#, ну на самом деле не замена, а просто модный и молодежный язык для дотнета (вероятно и как замена тайпскрипта, раз так похож).

Аноним 20/08/21 Птн 15:40:01 213414533
msr ещё разрабатывает dafny и koka
Аноним 20/08/21 Птн 17:04:19 213422134
>>2134145
Нефига у них там в MSR весело, сидишь такой, пилишь новые языки, которые не факт даже на свет что выйдут. koka выглядит интересным
https://www.youtube.com/watch?v=Y_ts9DSIh0g
Аноним 20/08/21 Птн 17:20:24 213424435
>>2134145
Жалко не дотянули до котлиновских лямбд (без необходимости скобой и с "it").
Хотя вариант без "стрелок" мне нравится (не знаю как другим, но вечно бесили эти -> и =>, у меня даже какой-то мышечный "затык" был во время написания).
Аноним 20/08/21 Птн 17:29:36 213425636
gallery-share-1[...].jpg 247Кб, 912x872
912x872
>>2133365
Не знал, что в Расте нет сборщика мусора. Подчищаете malloc'ом каким-нибудь?
мимо из соседнего треда решил посмотреть чем люди занимаются
Аноним 20/08/21 Птн 17:31:25 213426037
>>2134256
Компилятор вычисляет, где что дропается, и сам расставляет free()
Аноним 20/08/21 Птн 17:33:21 213426538
>>2134260
Понял. Т.е. самому разработчику не нужно париться по поводу собственноручной очистки мусора?
Аноним 20/08/21 Птн 17:36:54 213427039
Аноним 20/08/21 Птн 17:37:38 213427340
image.png 194Кб, 278x300
278x300
>>2134256
Если в С++ ты сам собираешь урожай со своих грядок. То в расте ты находишься в рабстве у черного властелина Борроу Чекера, с веления которого ты собираешь урожай как ему захочется.
Аноним 20/08/21 Птн 17:41:42 213428241
>>2134273
Так автоматические указатели в C++ - это же почти та же самая хуйня, нет?
Аноним 20/08/21 Птн 17:42:11 213428342
>>2134256
>>2134273
И в расте и в плюсах очистка делается автоматом при помощи raii. Впрочем в расте можно и заранее вызвать деструктор при помощи функции drop.

Можно использовать и аллокаторы, но тогда придётся ебстись с ансейфом.
Аноним 20/08/21 Птн 17:44:41 213429143
>>2134282
>>2134283
Это был юмор. В С++ есть выбор, и это нормально. А в раст есть ансейф и это не нормально.
Аноним 20/08/21 Птн 17:44:58 213429244
>>2134282
Борроу чекер работает только для обычных ссылок. Умные указатели живут сами по себе и обычно с борроу чекером вообще не взаимодействуют, потому что передаются по значению.
Аноним 20/08/21 Птн 18:00:36 213432045
mpv-shot0026.jpg 105Кб, 1280x720
1280x720
>>2134273
>>2134283
Понял. Забавно у вас, конечно. А что интересного или примечательного (на ваш взгляд) вы можете рассказать о своём языке? Есть какие нибудь мастхэв фреймворки или для чего в общей массе используют раст, что там по вакансиям и т.п.?
Аноним 20/08/21 Птн 18:14:54 213433946
Не понятен статус кока, вроде и исследовательский проект, но тут и сайт запилили, и в чатике няшатся, и версия уже за 2.х.х, и даже есть один вопрос на SO (лол). Кто что слышал за проект, расскажите.

Аноним 20/08/21 Птн 19:07:03 213439947
>>2134135
Там про облака много сказано было. Для тех целей его и пердолили, вестимо.
Аноним 20/08/21 Птн 19:09:02 213440248
>>2134399
Кот в облаках ничем от локального кода не отличаются. Разве что билд-система может быть заточена под контейнеры (только зачем?).
Аноним 20/08/21 Птн 19:10:57 213440649
>>2134339
Так они для какой только шляпы сайты не пилят. Вон, посмотри на F* с классным логотипом (и KreMLin'ом).

>>2134402
А шоб я знал, что у них и зачем. Я нубас, сюда зашёл, потому что краб понравился. Ну и картиночки для переката пощу.
Аноним 20/08/21 Птн 19:12:46 213440850
image.png 18Кб, 415x378
415x378
Что-то очень давно они рисёрчат.
Аноним 20/08/21 Птн 19:35:59 213443351
>>2134408
Быстро только кошки родятся.
Аноним 20/08/21 Птн 19:46:21 213444452
Аноним 21/08/21 Суб 09:12:13 213487553
>>2133349 (OP)
> Rust — невероятно быстрый язык для системного программирования
Насколько он быстрее, чем Си?
Аноним 21/08/21 Суб 09:21:16 213488054
Аноним 21/08/21 Суб 11:57:52 213499055
>>2134880
Шел 2021 год, люди до сих пор мерятся языками по скомпрометированному сайту, по скомпрометированному коду и футуристическими тестами коня в вакууме списке.
Аноним 21/08/21 Суб 12:42:34 213502156
>>2134875
Вопрос немного по другому надо ставить: насколько меньше UB в расте и насколько продуктивнее расторазрабы по сравнению с сишниками?

>>2134990
А как ещё письки мерять? Не по "SO: most loved" же.
Аноним 21/08/21 Суб 14:05:39 213513057
>>2134990
Ну запусти сырцы у себя и провалидируй результаты.
Аноним 21/08/21 Суб 15:14:20 213519958
image.png 6Кб, 376x142
376x142
image.png 13Кб, 937x76
937x76
Почему язык, который создали 20 лет назад, имеет защиту от очень неприятной и редкой плавающей ошибки (затенения переменной) встречающиеся в очень большом коде, а в новом, ультробезопасном языке есть возможность даже переиспользовать имя переменной под другим типом?

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


Безопасность не для вас молодой человек написана, это только для памяти.
Аноним 21/08/21 Суб 15:15:14 213520059
>>2135199
ультробезопасном языке (Безопасность не для вас молодой человек написана, это только для памяти.)
парсер звездочку скушал
Аноним 21/08/21 Суб 15:20:27 213520860
>>2135199
Потому что у нас статическая типизация, и если ты не бомж, который не может себе позволить запустить rust-analyzer, то ты всегда знаешь тип переменной и всегда можешь прыгнуть к её объявлению.
Аноним 21/08/21 Суб 15:24:33 213521761
>>2135021
>Не по "SO: most loved" же.
Там второй любимый язык вообще имеет лисп синтаксис, так что вся эта колонка тоже скомпрометированна.
Аноним 21/08/21 Суб 15:27:46 213522162
>>2135208
Интеллект уровня - растер.
Вообще-то это шарп со статик типами. Да и речь про затенение переменных (и я это указал).
Аноним 21/08/21 Суб 15:33:29 213522963
>>2135221
Если что
https://dotnetfiddle.net/JUGjMU
Просто та в 9 шарфике убрали для главного стартового файла все эту ООП хрень с паблик статик воид мэин.
Аноним 21/08/21 Суб 15:37:42 213523664
>>2135199
Имеет, просто выключена по-умолчанию, потому что в функциональных яп шадоуинг - это норма. Можно запритить в линтере, даже есть несколько уровней запрещения, вот эта строка запрещает любой шадоуинг:
#![deny(clippy::shadow_unrelated, clippy::shadow_same, clippy::shadow_reuse)]
Аноним 21/08/21 Суб 16:43:49 213534065
Устроился фронтом - оказалось взяли на бекенд писать Раст + WebGPU. В принципе доволен, давно хотел перекатиться и есть опыт работы с функциональными языками и бекендом. Довольно большая компания и нишевый продукт.

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

Дочитываю книжку из ОП-поста. Есть ли какие-то рекомендации от местных анонов что читать дальше? Алсо, может кто-то опытный, порекомендуйте что-то по компьютерной графике webgl/webgpu/основы шейдеров, текстур и рендеринга.
Аноним 21/08/21 Суб 16:57:13 213536166
>>2135340
Бамп реквесту, тоже интересно
Аноним 23/08/21 Пнд 00:10:55 213704967
image.png 42Кб, 885x287
885x287
image.png 47Кб, 824x310
824x310
image.png 60Кб, 642x426
642x426
image.png 40Кб, 841x179
841x179
Как же я ненавижу этот компилятор, ебаный в рот этого бороу чекера
НУ НИХУЯ Я НЕ БОРОВЛЮ ПСИНА ТУПАЯ
У меня всё что только можно один лайф тайм имеет
Как я вобще могу бороувить что то вызовом функции, если после её завершения мутабельного референса на лексер вобще больше не существует

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

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

вместо кода полтора часа сижу не понимаю что от меня компилятор хочет и что ему не нравится

Аноним 23/08/21 Пнд 00:11:58 213705168
image.png 49Кб, 774x407
774x407
>>2137049
на первом скрине вот это должно было быть
Аноним 23/08/21 Пнд 00:13:14 213705269
image.png 56Кб, 831x407
831x407
Аноним 23/08/21 Пнд 00:37:50 213706170
соре за мои высеры, я так поныть просто, скорее всего просто начну все в стринги пихать, чтобы лайфтаймы все к минимуму свести
компилятор 1 : 0 я
Аноним 23/08/21 Пнд 00:52:31 213706771
>>2137049
Ты компилятор пишешь?
Аноним 23/08/21 Пнд 00:54:14 213706872
Аноним 23/08/21 Пнд 01:09:36 213707573
>>2137067
Ага
Книжку одну прочесть решил про компиляторы, вот параллельно пытаюсь свой маленький сделать
Аноним 23/08/21 Пнд 01:10:39 213707674
>>2137061
> начну все в стринги пихать
Либо делай лексер тредсейф (пихай все изменения в атомики/мютексы и бери иммутабельную ссылку).
Аноним 23/08/21 Пнд 01:16:50 213707775
>>2137075
Книга дракона? Если нет, то поделись названием, пожалуйста.
Аноним 23/08/21 Пнд 01:23:07 213707876
>>2137061
И таки я нашёл как обойти этот баг (точнее спиздил идею отсюда: https://stackoverflow.com/questions/38078936/borrowing-reference-in-structure/38080934#38080934 ).
Надо чтобы лексер помимо токена возвращал в случае успеха мутабельную ссылку на себя, которую и использовать в последующих итерациях: https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=ed32875ad5c336688de502f2424470b8
Аноним 23/08/21 Пнд 01:35:34 213708177
Аноним 23/08/21 Пнд 02:28:47 213709078
>>2137068
Ржавчина. 6 лет. Итоги.
Аноним 23/08/21 Пнд 08:42:39 213717179
Аноним 23/08/21 Пнд 12:05:56 213732880
Аноним 23/08/21 Пнд 14:25:01 213750781
>>2137171
Хотелось бы результат возвращать, чтобы ошибки обрабатывать
ну можно конечно результат в опшион обернуть, но что то meh
Аноним 23/08/21 Пнд 17:28:13 213775282
В прошлом треде вы мне помогли понять как работает обработка ошибок с Ok, Err. Теперь прошу пояснить про Some, None.
Аноним 23/08/21 Пнд 17:39:30 213777083
>>2137752
Ну если хочешь совсем подробно как работает, то вот: https://github.com/rust-lang/rfcs/blob/master/text/3058-try-trait-v2.md Именно так оно работает внутри, но сам трейт ещё нестабилен, а значит для своих типов его имплементировать нельзя - знак вопроса работает только для Result или Option (но одно в другое преобразовывать не может).
Аноним 23/08/21 Пнд 20:35:48 213805184
Почему у вас нет эксепшнов?
Аноним 23/08/21 Пнд 20:49:55 213806185
>>2138051
Если говорить о расте как о функциональном языке, то эксепшны считаются нечистыми.
Если говорить о расте как о языке с небольшим рантаймом, то эксепшны могут влиять на производительность. Последнее более логично.
Аноним 23/08/21 Пнд 20:58:07 213806386
Аноним 23/08/21 Пнд 21:11:08 213806887
>>2138063
> Куда уж нам до до сих пор не унифицированного манглинга...
Ну, в расте его тоже нет. Это кстати, было одной из причин почему сложные структуры не стабилизировали в константных генериках - не знали как их закодировать в названии типа: https://github.com/rust-lang/rust/issues/61486
Аноним 23/08/21 Пнд 21:59:53 213810688
>>2138051
Они есть, просто называются паниками.
Аноним 23/08/21 Пнд 22:15:25 213812489
>>2138051
Мне думается, что современные кустарные разработчики не могут осилить это в рантайме и начинают придумывать всякий бред, заставляя программиста, по сути, руками пробрасывать ошибки.
Аноним 23/08/21 Пнд 22:51:10 213816890
>>2138124
Могут, паники как бы так и работают и их даже отлавливать можно. Просто специально сделали, чтобы их использование для ловли ошибок было как можно более сложным (а так вообще можно делать, правда ловиться будут только растовские паники). https://doc.rust-lang.org/std/panic/fn.catch_unwind.html
Аноним 23/08/21 Пнд 23:07:42 213818591
>>2138168
>Просто специально сделали, чтобы их использование для ловли ошибок было как можно более сложным
Нужно еще чтобы перед написанием кода программисты били себя плетью.
Какая реальная причина и почему в С++ есть эксепшены? Я не эксперт, но вероятно это требует больше усилий для написания компилятора и рантайма?
Аноним 23/08/21 Пнд 23:09:06 213818692
>>2138185
Весь рантайм уже имеется. Реальная причина в том, что выбрали возвращение эксепшенов одновременно с результатом в качестве основного способа работы с ошибками. Всё.
Аноним 23/08/21 Пнд 23:15:09 213819293
>>2138186
Новые языки нынче выглядят как халтура (го, раст, вроде свифт). Если раньше люди старались сделать жизнь программиста лучше, то сейчас делают пару фич для демонстрации, а на остальное кладут болт (точнее выпускают статью, почему это тебе "ненужно").

Аноним 23/08/21 Пнд 23:18:34 213819494
>>2138192
Checked exceptions были ещё в жяве. Плюс в расте ничего не мешает использовать Box<dyn Error> если лень пердолиться с конкретными типами ошибок.
Аноним 23/08/21 Пнд 23:35:45 213820295
>>2138194
Не люблю чекед ошибки/"ошибки это значения" (хотя я раньше был сторонником их в джаве), вообще ошибки считаю как отдельная ветвь программы (исключительная, и по большей части не для текущей ветки исполнения). Ну, типа, есть нормальная работа и редко не нормальная, на которой не хотелось бы максимально заострять внимание (а лучше пробросить до нужного контроля, и мне тут не мешала).
В общем, дело вкуса.
Аноним 24/08/21 Втр 00:14:30 213821896
>>2138202
Ну оператор "?" и Box<dyn Error> как раз и убирают всю исключительную часть кода под капот (правда ценой боксинга ошибок). Есть даже макросы, которые добавляют ещё больше сахарку: https://github.com/withoutboats/fehler
Аноним 24/08/21 Втр 00:49:03 213823197
>>2138218
не боксинга, а
match var {
Ok(v) => v,
Err(e) => return e.into()
}
смекаешь разницу?
Аноним 24/08/21 Втр 00:58:38 213823598
>>2138231
Я не понимаю тебя. Я говорил про Box<dyn Error>, который по сути аналог Throwable из жавы. Преобразование любой ошибки со стека в Box<dyn Error> состоит в аллокации памяти и перемещении со стека в кучу. Преобразование из Box<dyn Error> в Box<dyn Error> - noop.
Аноним 24/08/21 Втр 01:16:32 213823999
>>2138235
бля, я листнул вверх и увидел ваш полный срач про исключения, а думал, шт затираешь про бесповоротный box ошибки при ? операторе, соре, уёбываю

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

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

им подают нормальную концепцию разделения потока исполнения проги в случае ошибки - нет, не хочу, хочу исключать говно
Аноним 24/08/21 Втр 01:23:26 2138241100
>>2138239
Говно ты даёшь. Можно вместо unwind сделать abort и вся твоя нормальная концепция пойдёт по пизде. Плюс надо чтобы возвращаемое значение имплементировало https://doc.rust-lang.org/std/panic/trait.UnwindSafe.html

Конечно можно его имплементировать вообще для всего, даже ансейф не нужен, но таким образом можно очень быстро получить сложнонаходимые ошибки.
Аноним 24/08/21 Втр 01:29:51 2138243101
Аноним 24/08/21 Втр 09:23:35 2138329102
Почему так нахуй? Я хочу просто прочитать число из stdin, почему во всех остальных языках я могу это сделать, а в расте вот это:
https://programming-idioms.org/idiom/120/read-integer-from-stdin/1906/rust
Ни один из этих способов и близко не похож на простой, который можно легко вспомнить при желании, что за пиздец
И чем дальше я смотрю, тем больше такого пиздеца наблюдаю
Даже с++ не кажется теперь таким оверинжиниринг куском говна
Аноним 24/08/21 Втр 09:25:57 2138331103
>>2138329
Bruh, 3 строчки кода буквально
Аноним 24/08/21 Втр 09:38:13 2138339104
>>2138331
Плюсы: cin >> x;
Питон: int(input())
GO: _, err := fmt.Scanf("%d", &i)
С: scanf("%d", &n);

Во всех этих языках это 1-2 строчки вместе с объявлением и мне даже не пришлось гуглить, этот код безумно легко читатется\осознается\запоминается
Конечно, раст еще показывает все места, в котором код может свалиться, но между трейсбеком в рантайме, на написание которого я потратил 0 секунд и .expect("Failed") я выберу трейсбек
Аноним 24/08/21 Втр 10:13:58 2138361105
>>2138339
3 строчки это все ещё просто
Аноним 24/08/21 Втр 11:56:37 2138508106
>>2138361
Какая разница просто или нет, если мне для такой простой операции, как чтение числа из stdin пришлось написать кучу неочевидного борлерплейта?
Я был уверен, что язык в 2021 должен помогать программисту абстрагироваться от кода и больше думать о том ЧТО написать, а выходит, что 99% времени я должен думать о таких простых вещах как каст прочитанной строки из stdin в число
Аноним 24/08/21 Втр 12:02:58 2138519107
>>2138508
Наоборот всё очевидно и единообразно. Без заклинаний.
Аноним 24/08/21 Втр 12:11:02 2138523108
>>2138508
Потому что I/O — это ебаная пизда, и раст от тебя это не скрывает. Ты получаешь ебаные байты, а с ебаными байтами всё что угодно может пойти не так. Из очевидных проблем: у тебя может отвалиться пайп, у тебя могут пойти на вход байты, которые не являются валидным utf8, у тебя может на вход попасть строка, которую нельзя распарсить в нужный тип. Всё что угодно в ебаном I/O может пойти не так.
Аноним 24/08/21 Втр 12:18:53 2138529109
>>2138523
Ты ещё забыл про то, что IO пиздец какой медленный. Куча языков делают скрытую буферизацию, чтобы хоть как-то обойти это. А в расте нихуя нет, из-за чего он иногда в десятки раз медленней в бенчмарках, где активно используется вывод в консольку без вручную добавленного буфера.
Аноним 24/08/21 Втр 12:23:16 2138533110
>>2138529
>в расте нихуя нет
std::io::BufWriter тебя чем не устраивает?
Аноним 24/08/21 Втр 12:23:22 2138534111
Аноним 24/08/21 Втр 12:58:11 2138588112
>>2138508
Теперь будешь знать что чтение числа из стдина нихуя не лёгкая операция
Аноним 24/08/21 Втр 13:00:57 2138592113
>>2138508
> кучу
> 3 строчки
> 2021 год
Аноним 24/08/21 Втр 13:23:07 2138626114
>>2138508
ты малость не туда зашёл с хотелками чтоб язык делал всё за тебя

раст это СИСТЕМНЫЙ язык, который должен предоставлять разработчику максимальную инфу о возможных точках отказа, а для этого они должны быть ВИДНЫ в коде, чтоб глаз мог за них зацепиться, и чтоб потом не бегать потом с ошпаренной жопой из-за прилетевшего в sentry трейсбэка на проде
Аноним 24/08/21 Втр 13:32:36 2138636115
>>2138329
Покажи как в плюсах отловить ошибку ввода? Ну т.е. ты ждешь число и что будет, если будет введено не число и как выловить эту ошибку.
Аноним 24/08/21 Втр 15:16:45 2138754116
>>2138636
Пол секунды гугла https://pastebin.com/z1X2zjRX

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

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

>>2138626
Как .expect("Random error") решает проблему прилетевшего в sentry трейсбека?
Аноним 24/08/21 Втр 15:23:05 2138761117
От эксепшенов даже в плюсах плюются, а тут чел их хочет в раст принести, лол
Аноним 24/08/21 Втр 15:24:05 2138764118
>>2138533
Это и есть "вручную" из моего поста.
Аноним 24/08/21 Втр 15:31:52 2138771119
В системных языках не должно быть эксепшенов
Пруф ми вронг
Аноним 24/08/21 Втр 17:27:45 2138871120
>>2138754
>Еще раз, остальные языки развалятся в рантайме
>Как .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!()) и требует такого громоздкого синтаксиса, шоб им не хлоупотребляли
Аноним 24/08/21 Втр 17:32:17 2138874121
>>2138871
быстрофикс

fn get_input() -> Result<String, io::Error> {
...
Ok(buffer)
}
Аноним 24/08/21 Втр 17:40:09 2138884122
>>2138871
> ибо паника - это действительно ненормальное поведение проги
Кстати, злоупотребление паниками в коде аллокатора в стандартной библиотеке стало одним из препятствий для включения раста в ядро линукс. Пришлось добавлять версии функций с возвращаемой ошибкой https://github.com/rust-lang/rust/issues/86942 и пердолить способы опцией запретить вызывать паникующие версии функций: https://github.com/rust-lang/rfcs/pull/3140
Аноним 24/08/21 Втр 18:05:20 2138912123
>>2138884
ну вот, пердолят линух вместо специализации, TAITов, let-chain'ов и auto/negative impl trait'ов, эх, хоть сам бери да прись контрибьютить
Аноним 24/08/21 Втр 18:16:10 2138923124
>>2138912
Поддержку линукса пердолят не команда компилятора, а отдельные люди на зарплате. А кор тим там недавно ГАТы из экспериментальных фич вывели. Возможно скоро стабилизируют. TAIT тоже разделили на минимальную версию (с ограничениями - TAIT'ы не могут быть аргументами функций и полями структур), в которой компилятор раста точно может вывести типы и тоже возможно скоро стабилизируют.
Аноним 25/08/21 Срд 19:32:25 2140069125
Бле посоны раст это сила нахуй
Аноним 26/08/21 Чтв 01:11:14 2140364126
А как вернуть None?
Т.е. или fn method() {
Или через Option?
Аноним 26/08/21 Чтв 02:31:12 2140411127
Вот есть у меня структура, а в ней поле, например
enum Some_Enum {
__some_type(String)
}
let x = Some_Enum::some_type(String::from("test value"))

Как мне, например сделать срез some_type и записать в отдельную переменную?
Аноним 26/08/21 Чтв 02:36:26 2140414128
>>2140411
А, уже понял. Блять, немного напрягает что через раз этот match юзать надо. Понимаю почему и для чего, но напрягает
Аноним 26/08/21 Чтв 03:08:39 2140419129
Аноним 29/08/21 Вск 20:55:57 2144107130
Есть какой-нибудь roadmap для изучения именно системного программирования на Rust? Я неплохо обращаюсь с языком, но не знаю с чего начать продолжение. Меня интересует именно системное программирование под Windows.
Аноним 29/08/21 Вск 23:24:02 2144199131
Аноним 31/08/21 Втр 11:10:47 2145527132
image 79Кб, 824x832
824x832
Нашел вот такую штуку в растомиконе, но не нашел что с ней делать
Такие штуки чтоли совсем невозможно на расте писать?
Аноним 31/08/21 Втр 11:27:08 2145539133
Аноним 31/08/21 Втр 11:34:43 2145543134
Аноним 31/08/21 Втр 12:21:59 2145574135
Приветствую
Аноны, хочу ПОПЫТАТЬСЯ вкатиться к вам - сейчас занимаюсь db, plssql и так далее. Такой что да, очередной зеленый вкатун.
Есть ли предпосылки, чтобы я НЕ стал пробовать?
Живу в Гейропке и тут вроде есть пара сотен вакансий.
Спасибо за помощь
Аноним 31/08/21 Втр 12:24:08 2145575136
>>2145527
>Такие штуки чтоли совсем невозможно на расте писать?
Я на скриншоте ни одного ансейфа не вижу. Её вообще хоть пытались написать?
Аноним 31/08/21 Втр 12:25:26 2145577137
>>2145575
А как тебе ансейф поможет с лайфтаймами справиться?
Аноним 31/08/21 Втр 12:27:51 2145581138
>>2145574
Ну ноги и руки тебе никто не переломает если начнёшь пробовать раст
Так что дерзай

или чего ты боишься?
Аноним 31/08/21 Втр 12:29:25 2145584139
>>2145577
Берёшь сырой указатель, потом его разыменовываешь. Никакой лайфтайм ничего не скажет.
Аноним 31/08/21 Втр 12:48:38 2145602140
>>2145581
Боюсь обосраться
Есть плюс минус год финансовой подушки, но это уже дискуссия по тематике треда. Спасибо за ответ
Аноним 31/08/21 Втр 12:57:50 2145611141
>>2145581
>Ну ноги и руки тебе никто не переломает если начнёшь пробовать раст
Это ты просто на комментаторов опеннете не виде. Будь их воля, у тебя бы сифилис начинался от одной мысли о расте.
Аноним 31/08/21 Втр 13:00:40 2145614142
>>2145611
> Это ты просто на комментаторов опеннете не виде.
Кстати да, там прям какое-то сборище любителей си, которые на си никогда не программировали. Я иногда захожу в новости с очередной уязвимостью и в первую очередь ищу коммент с упоминанием раста, а если его нет сам делаю такой.
Аноним 31/08/21 Втр 21:58:25 2146087143
>>2138771
Не имея паник в языке (или хотя бы process::exit) ты не можешь вернуть Box<dyn Error>, потому что аллокация боксы может зафейлиться. Что ты будешь делать в этом случае?
Аноним 31/08/21 Втр 22:09:57 2146096144
>>2146087
В no_std в расте это реализуется специальной функцией (помеченной как #[panic_handler]), которая никогда не должна завершаться. Например в bare-metal можно либо принудительно перезагружать процессор, либо вызывать зависание бесконечным циклом.
Аноним 01/09/21 Срд 10:56:25 2146603145
Screenshot 2021[...].png 147Кб, 962x1212
962x1212
Господа байтоебы, нужна помощь, взорвал мозг и не могу спать пиздец....
Проблема с кодом типа пикрил, присваивание в метче подсасывает тип первого бранча и компилятор пиздит что второе присваивание нелегитимное, хотя по сути оба опшена это инстансы того же дженерик объекта..

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

Для бекграунда — я пытался по аналогии с тайпскриптом реализовать фектори которая взависимости от входных параметров инстанциирует тот или иной обработчик, но у всех обработчиков общий интерфейс. Может в расте подобные вещи решаются иначе?
Аноним 01/09/21 Срд 11:52:59 2146653146
>>2146603
У тебя разные типы возвращаются, один S1,а другой S2. Так нельзя. Иди читай в растбуке про dyn Trait.
Аноним 01/09/21 Срд 12:01:03 2146664147
>>2146603
С 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 но в общем они не подойдут.
Аноним 01/09/21 Срд 13:33:06 2146757148
image.png 539Кб, 800x533
800x533
>>2146664
> GovnoHolder
бля пока че ето я паходу..

Сделал на dyn (еще понадобилось пердолиться с Clone для моего трейта), вроде вкурил, но странно что нельзя захинтить __любой__ тип с полями дженерика и реализацией трейта....
Аноним 01/09/21 Срд 15:50:48 2146909149
Ананы, сишник в треде.
Вкатываюсь в Раст, что меня ждет?
Аноним 01/09/21 Срд 15:55:37 2146916150
>>2146909
Неистовое сражение с компилятором
Аноним 01/09/21 Срд 16:42:08 2146980151
>>2146909
Если писал многопоточные программы на си, то "бля, охуенный компилятор".
Если писал драйверы под экзотическое железо или только однопоточные программы, то "бля, да почему нельзя-то".
Аноним 01/09/21 Срд 16:54:36 2147003152
>>2146916
Хм. Знаешь, если я перестану сражаться с AddressSanitizer'ом и утечками и останется компилятор, это будет хорошо.
>>2146980
И то, и другое писал и пишу, только размениваюсь на современный стек потихоньку. Потыкался в него, понравилось.
Аноним 01/09/21 Срд 19:31:40 2147188153
Screenshot 2021[...].png 46Кб, 912x342
912x342
>>2146603
В итоге я чуть ли не дословно спиздил пример отсюда — https://github.com/lpxxn/rust-design-pattern/blob/master/creational/factory.rs и немного затвикал т.к у меня бокс является только частью объекта из метча.
Но я все еще не пойму почему при использовании енума или инстанциировании в лоб через дерево ифов компилятор выкупает что объект совместим с функцией, а в моем оригинальном варике не.. надо покурить доки...

А есть способ при вызове цепочкой аля пикрил получить резалт в блоке? или надо явно сначала объявлять/юзать метч? вызывать логику в ветках метча это не антипаттерн?
Аноним 02/09/21 Чтв 00:47:32 2147585154
>>2147188
Мне кажется на пикриле тебе нужен 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
Аноним 02/09/21 Чтв 04:32:20 2147614155
Есть ли какой-то более-менее общепринятый способ прикрутить валидацию при изменении значения поля структуры? Подходят ли для этого сеттеры, как в Java, или в Rust это антипаттерн?
Аноним 02/09/21 Чтв 04:43:24 2147615156
>>2147614
Проблема в том, что в расте нет эксепшонов, а потому простые сеттеры там не сделаешь (сахарка для геттеров/сеттеров вообще нет, как и в жяве надо вручную пердолить функции). Т.е. функция set_smth(...) должна будет возвращать Result<(), Error> - пустой результат, содержащий только ошибку (которую вызывающий код должен будет проверить). А вот как работать с ошибками - уже совсем другой вопрос. Тут можно либо заморочиться с описанием каждой ошибки, если в этом есть необходимость (рекомендую thiserror для сахарка, чтобы писать меньше кода), либо просто оборачивать строку в ошибку и возвращать её (тут рекомендую anyhow). Либо использовать всё вместе.

thiserror: https://github.com/dtolnay/thiserror
anyhow: https://github.com/dtolnay/anyhow
Аноним 02/09/21 Чтв 04:45:16 2147616157
>>2147615
Я так и не ответил на вопрос. В расте сеттеры - это норма, потому что по сигнатуре функции сразу видно, что во-первых он изменяет структуру (потому что в качестве первого агрумента принимает &mut self), а во-вторых может возвратить ошибку.
Аноним 02/09/21 Чтв 13:31:00 2147916158
>>2147585
>Мне кажется на пикриле тебе нужен if let.
If let позволяет достать Result::Ok и выполнить действие для успешного кейса, но если вызов зафейлился, в else ветке я не могу достать Result::Err чтобы из него дернуть значение ошибки, выкинуть ее в стдаут и выйти из функции... Пока отдыхал понял что вроде могу сделать match по мемберам Result, если метч можно юзать не только для присваивания

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

Сорямба если путано объясняю, я вкатился из веб хуйни где говнить можно любым способом, и в силу квалификации никогда не возникало потребности формулировать то че я хочу сделать в технических терминах
Аноним 02/09/21 Чтв 13:36:24 2147923159
>>2147916
> тобишь проверять результат на ошибочность и выходить из функции
Я ж тебе специально ссылку дал на документацию оператора "?". Ты пишешь на расте трёх-четырёх летней давности и изобретаешь велосипеды. Сейчас уже с ошибками работать в разы проще.
Аноним 02/09/21 Чтв 14:38:01 2147958160
Добрался до использования регулярок и у меня встал колом вопрос - как использовать регулярку из переменной? Допустим у меня такой код

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

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

> let rege = "^
\.rs$"
без вот этого r?
Аноним 02/09/21 Чтв 16:51:17 2148096161
>>2147958
let rege = r"^\.*rs$" должно сработать, или о чём ты?
Аноним 02/09/21 Чтв 18:11:13 2148157162
>>2148096
У меня агрументом передаётся регексп, типа такого

let rege = argv[1488]

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

./my_prog -r "^\.rs$"
Аноним 02/09/21 Чтв 20:28:06 2148242163
>>2147923
Ага в принципе согласен. А есть какой-то общепринятый подход к обработке ошибок.. мб либка? У меня это могут быть меседжами из модулей, а могут быть написанные вручную, я к каждому месседжу добавляю произвольный текст и форматирую как джейсон чтобы другая софтина спалила стдаут и чето сделала... Если с ? дать всему всплыть то получится месс в main, поэтому я и решил каждую ошибку обрабатывать в месте возникновения
Аноним 02/09/21 Чтв 21:51:14 2148338164
>>2148157
Тогда он у тебя уже отэскейплен должен быть, чтобы через шелл пройти, r-строка тут не нужна.

>и при запуске бинаря типа такого
>./my_prog -r "^\.rs$"
Если это баш (или вообще линуксовый шелл), то эскейпать нужно одинарными кавычками.
Аноним 02/09/21 Чтв 21:58:23 2148342165
>>2148242
>А есть какой-то общепринятый подход к обработке ошибок
Пробрасывают до самого мейна() вопросиками, и там обрабатывают.

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

> поэтому я и решил каждую ошибку обрабатывать в месте возникновения
Ага, то есть у тебя программа может прервать выполнение в любом из файлов, чтобы посложнее искать было? Это не говоря о том, что всякие стеки не анвиндит, а просто сдаётся и оставляет всё очищать ос, а какие-нибудь коннекты к дб или сокетам вообще оставляет висеть в воздухе.
Аноним 02/09/21 Чтв 22:11:09 2148350166
>>2147615
>>2147616

Благодарю за развёрнутый ответ, анончик
Аноним 02/09/21 Чтв 23:58:00 2148462167
>>2148342
Ну например к ошибке из модуля я хочу прилепить какой-то юзерфрендли текст, к самопиской ошибке сериализировать параметры че ее вызвали итд, что в свою очередь требует смотреть на ошибку в месте где она всплыла. В теории можно все реализовать в мейне или спрятать в отдельный метод, но обрабатывать на месте требует минимума телодвижений, особенно если хочешь просунуть в обработчик ошибки данные

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

Аноним 02/09/21 Чтв 23:58:46 2148464168
>>2148462
Ну и офк это не то чтобы сверхкритичные проблемы, прост интересно обсудить
Аноним 03/09/21 Птн 00:28:33 2148506169
>>2148462
Я не очень понимаю, что ты хочешь. Напиши на знакомом тебе языке (если знаешь много, то на си), что ты хочешь получить, потому что для меня выглядит, что ты две разных вещи смешиваешь.
Аноним 03/09/21 Птн 01:02:09 2148526170
Screenshot 2021[...].png 558Кб, 1192x1294
1192x1294
Screenshot 2021[...].png 229Кб, 1872x1276
1872x1276
>>2148506
Ну вот например, псевдокод. В прототипе логика свалена в одну функцию, как на пике, где разные действия требуют разной реакции на ошибку, но даже если разбить точку входа на функции с single responsibility, обработчик каждой конкретной ошибки не поменяется и имо удобнее делать это на месте
Аноним 03/09/21 Птн 02:12:01 2148553171
>>2148526
Ты снова описал своими словами в комментария, только потратил время на придумывание названий. Напиши на каком-нибудь языке, который ты знаешь, что ты хочешь.

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

Можешь возвращать что угодно из функции с ?, надо только обернуть в результат. То есть либо Ok(()), либо Err(()). И обновить сигнатуру функции, добавив -> Result<_,_>
Аноним 03/09/21 Птн 03:08:51 2148570172
>>2148342
> Это не говоря о том, что всякие стеки не анвиндит
Может анвиндить, правда не изкаробки. Но есть библиотеки, которые автоматом записывают в нужные типы ошибок стек при их возникновении.
>>2148242
> мб либка?
Я выше давал две либы: >>2147615
anyhow - по сути представляет собой парадигму строка - это ошибка. Можно ошибки комбинировать, добавляя к ним новые строки.
thiserror - уже позволяет удобно создавать свои типы ошибок.

Если нужно просто вывести ошибку и пофигу не её тип, то используй anyhow, если нужно различать разные типы ошибок и в зависимости от разновидности ошибки меняется логика программы, то тут нужен thiserror.
Аноним 03/09/21 Птн 04:01:34 2148582173
>>2148526
так блядь goвнарь ссаный я ща тебя выибу а потом выибу

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

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

в-тетьих - ещё раз нахуй ой то есть гуглить нормальную блядь растованную обработку ошибок типа
if let Err(e) = maybe_error() {
println!("пошёл нахуй по причине {}", e);
}
Аноним 03/09/21 Птн 04:02:32 2148583174
>>2148582
БЛЯДЬ ТАБЫ ЕБАБЫ
ты понял кроч
Аноним 03/09/21 Птн 04:32:49 2148585175
>>2148582
> типа
Ну это не очень нормальная обработка ошибок. Если ошибка фатальна и функция дальше работать не сможет, то обычно ошибка возвращается наверх при помощи оператора ? (предварительно либо засовывается в другую ошибку, либо отправляется как есть). Если ошибка не фатальна, то либо используется матч
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
});
Аноним 03/09/21 Птн 11:08:53 2148788176
Хочу написать небольшой ржавый сайт. В какую сторону смотреть?
Аноним 03/09/21 Птн 11:13:22 2148798177
>>2148788
В сторону какого крейта*
фикс
Аноним 03/09/21 Птн 11:52:38 2148869178
>>2148553
>Ты снова описал своими словами в комментария
мне стыдно писать жс...... на пике буквально упрощенный листинг того что я делаю на расте

>>2148582
>>2148570
>anyhow
похоже на правду, особенно bail!
Аноним 03/09/21 Птн 11:54:50 2148872179
Аноним 03/09/21 Птн 11:56:24 2148875180
Аноним 04/09/21 Суб 22:01:44 2150303181
Всем привет, я писал немного кода на c#
Хотел был научиться писать на Расте. Есть ли какие-нибудь материалы на русском чё да как там для нубов?
Аноним 04/09/21 Суб 22:25:10 2150309182
>>2150303
Конечно есть, растбук называется
В шапке ссылка
Аноним 05/09/21 Вск 00:35:28 2150374183
Аноним 05/09/21 Вск 04:58:52 2150442184
>>2150374
Кринжовый дед лаборант

От нехуй делать начал сам себе жизнь усложнять, сам и побухтел на себя
Аноним 05/09/21 Вск 11:34:39 2150521185
>>2150374
>Хабр
Он во всем прав, иди к нему и не возвращайся.
Аноним 05/09/21 Вск 12:56:51 2150598186
Заебало писать костыли на powershell, хотел укатить куда-нибудь. Приглянулся раст. Но гугл по запросу "работа со строками" выдает дичь, так и есть? В чем цимус — периодически пишу прикладные скрипты, которые забирают некоторые данные из SQL и по всякому их вертят. С первым проблем нет у раст вроде, а вот дальнейшая обработка данных вызывает вопросы. Много геммороя там с выделением подстрок и прочим конкатом текста, получением текста из файлов? Или ну его нахуй и лучше какой-нибудь GO
Аноним 05/09/21 Вск 13:01:31 2150601187
>>2150598
Ты с ума сошел, скрипты на системщине писать? Питон же есть.
Аноним 05/09/21 Вск 13:06:54 2150606188
>>2150601
Питон не компилируемый, а надо очень чтобы было. Ну и скрипты, они пока скрипты, это тоже одна из причин ухода с ПШ, дабы полновесные приложения писать с миллиардом свистелок набором применений, а не как в философии Unix.
Аноним 05/09/21 Вск 13:44:05 2150624189
>>2150598
Вся сложность строк в расте - это наличие кучи типов у каждого из которых своя изюминка:
1) str - массив байтов неизвестного размера, которые обязательно представляют из себя валидный utf-8. Сам по себе тип почти не используется (во многом из-за того что раст не имеет стабильного способа работы с типами неизвестного размера на стеке или внутри структур) и вместо него используются умные указатели с ним. Чаще всего это толстый указатель (fat pointer) на него - &str, который притворяется обычной ссылкой но на самом деле помимо обычной ссылки на массив вмещает ещё внутри количество символов в строке, а потому размер у него больше чем у обычной ссылки. Так же используются и другие умные указатели - Cow<'_, str>, Box<str> и прочее (остальное совсем редко).
2) String - по сути Vec с гарантиями, что содержимое является валидным utf-8.

Мой совет - используй везде где возможно String (потому что в отличии от &str для него не нужно пердолить борроу чекер, да и в целом проще и понятней работать), а другие типы уже используй для оптимизации кода.
Аноним 05/09/21 Вск 13:48:18 2150626190
>>2150624
> Cow<'_, str>
Хотя это не совсем умный указатель, а скорее гибрид ужа с ежом - String и &str в одном типе. Нужен для всяких оптимизаций, чтобы в функцию передавать оба типа без использования генериков.
Аноним 05/09/21 Вск 22:13:08 2151070191
Каким хуем можно прочитать ёбаный файл в wasm?
Аноним 05/09/21 Вск 22:14:27 2151072192
>>2151070
Никаким? wasm не делает своего io
Аноним 05/09/21 Вск 22:37:57 2151093193
>>2151072
Хорошо, видимо, я выразился косноязычно. Попробую объяснить, что имел в виду.
Я пишу небольшой сайт на расте и мне нужно во время его работы прочитать в строку один файл. Как я могу это сделать? Файл расположен на сервере
Аноним 05/09/21 Вск 22:40:12 2151096194
>>2151093
Читаешь в js, отдаёшь в wasm строку.
Аноним 06/09/21 Пнд 15:01:21 2151545195
А есть невсратый крейт для работы с датами? В chrono нельзя даже кварталы достать изкоробки. Или добавить произвольное количество месяцев к дате лол
Аноним 06/09/21 Пнд 17:21:33 2151698196
>>2151545
> Или добавить произвольное количество месяцев к дате лол
К юникстайму прибавь
Аноним 06/09/21 Пнд 17:26:50 2151706197
>>2151545
>В chrono нельзя даже кварталы достать изкоробки.
Я, конечно, не доктор датных наук, но это разве не месяц/4?
Аноним 06/09/21 Пнд 17:32:47 2151714198
>>2151698
Так он же про дату, а не дату+время. С датой+временем там пиздец полный будет, особенно если идёт учёт часовых поясов и летнего/зимнего времени.
Аноним 06/09/21 Пнд 18:03:22 2151751199
>>2151706
я так-то хуй простой но у автора хроно руки не отсохнут добавить еще один геттер который бы возвращал 1.5 для июня

>>2151698
>>2151714
ага там даты а не таймстампы
Аноним 06/09/21 Пнд 18:11:49 2151762200
>>2151545
> добавить произвольное количество месяцев к дате
А как ты планируешь это делать? Вот 31 декабря + 2 месяца, это что?
Аноним 06/09/21 Пнд 18:14:37 2151766201
.jpg 50Кб, 859x960
859x960
Аноним 06/09/21 Пнд 18:24:30 2151770202
>>2151762
последний день февраля, очевидно всем, кроме байтоебов
Аноним 06/09/21 Пнд 18:27:54 2151772203
>>2151770
Раз это
>очевидно всем
то тогда ты с такой же очевидностью, наверное, скажешь, что будет, если к 28 февраля прибавить ещё один месяц?
Аноним 06/09/21 Пнд 18:41:04 2151782204
>>2151772
30 или 31 марта ебать, я не помню сколько в марте дней
Аноним 06/09/21 Пнд 18:43:04 2151786205
Аноним 06/09/21 Пнд 18:43:06 2151787206
>>2151782
А почему не 28 марта?
Аноним 06/09/21 Пнд 18:43:52 2151788207
Аноним 06/09/21 Пнд 18:49:03 2151797208
>>2151782
На самом деле, объясни зачем тебе нужно добавлять месяцы? В теории можно добавить какой нибудь add_month_saturating_days, который добавит n месяцев и попытается сохранить день каким он и был, но в случае если номер дня больше максимальных дней в месяце, то ставится максимальный.
Аноним 06/09/21 Пнд 21:56:30 2151899209
>>2151787 >>2151786
а че, месяц теперь определяется как 30 дней?

>>2151797
бизнес логика, я дайджестю записи с датами, зачастую известны только год и месяц/квартал, иногда нахожу от этих дат производные в будущем, и группирую с точностью до месяца/квартала и как всем очевидно, в таком случае меня не интересует результирующее число месяца или упаси господи таймстамп. В итоге и пришлось пердолить утилиту чтобы корректно переносить и не падать в 14 месяц, просто странно что такой простой хуйни нет в пекедже
Аноним 06/09/21 Пнд 22:29:08 2151924210
>>2151788
Даже в ноубрейновом пистоне ты можешь прибавлять к дате максимум недели, потому что дальше ты уже не можешь сказать сколько секунд содержит величина.
Аноним 06/09/21 Пнд 22:40:23 2151927211
>>2151899
>а че, месяц теперь определяется как 30 дней?
Где ты 30 насчитал, аналитик? Было 28 февраля, прибавили 1 месяц, получили 28 марта.
Аноним 06/09/21 Пнд 22:53:31 2151933212
>>2151927
так ты напиздел, стало последнее марта
Аноним 06/09/21 Пнд 22:55:36 2151936213
>>2151933
Почему последнее, а не 28?
Если к 27 февраля месяц прибавить, то какое число будет?
Аноним 06/09/21 Пнд 23:01:50 2151939214
>>2151936
>Почему последнее, а не 28?
пушто утилита посмотрела что находится в феврале и что год обычный, следовательно надо пойти в ласт день марта
>Если к 27 февраля месяц прибавить, то какое число будет?
27 февраля, всем очевидно
Аноним 06/09/21 Пнд 23:05:36 2151942215
>>2151939
>следовательно надо пойти в ласт день марта
Почему в последний, а не в 28й?

>27 февраля, всем очевидно
Предположу, что ты оговорился и имел в виду 27 марта.
Почему 27, а не предпоследний?
Аноним 06/09/21 Пнд 23:10:08 2151944216
Аноним 07/09/21 Втр 10:54:07 2152079217
>>2151899
> только год и месяц/квартал, иногда нахожу от этих дат производные в будущем, и группирую с точностью до месяца/квартала и как всем очевидно, в таком случае меня не интересует результирующее число месяца
Раз дни хранить не нужно, мне кажется тут свой велосипед в виде отдельной структуры будет подходить лучше всего.
Аноним 07/09/21 Втр 10:56:31 2152082218
>>2151899
Так если тебе день не нужен, берёшь
https://docs.rs/chrono/0.4.19/chrono/enum.Month.html
и хуяришь вычисления прямо на месяце.

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

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

А если тебе нужна нольмальная точность, то ты хуй прибавишь произвольное количество месяцев.
Аноним 08/09/21 Срд 19:57:45 2153272219
image.png 4Кб, 370x108
370x108
Объясните, пожалуйста, почему этот код не работает?
Аноним 08/09/21 Срд 19:58:59 2153273220
>>2153272
А что компилятор пишет?
Аноним 08/09/21 Срд 20:00:13 2153274221
image.png 27Кб, 686x348
686x348
>>2153273
Это пример из книги, если что. Но я так и не понял, что к чему
Аноним 08/09/21 Срд 20:03:35 2153275222
>>2153274
unused `Map` that must be used
означает, что в какой-то момент появляется некая `Map` с которой ты должен что-то сделать. Присвоить в переменную, передать в функцию, распечатать. А ты не делаешь с ней ничего, поэтому она просто дропается.
Аноним 08/09/21 Срд 20:05:17 2153277223
>>2153274
Это не ошибка, а варнинг
Аноним 08/09/21 Срд 20:06:39 2153278224
>>2153277
Никто ничего про ошибку и не писал?
Аноним 08/09/21 Срд 20:07:09 2153280225
>>2153272
Чел... итераторы ленивые, они не вычисляются без надобности. А так код корректен. Нельзя изучать раст без знаний c/c++ и ml/haskell.
Аноним 08/09/21 Срд 20:10:30 2153282226
>>2153278
При варнингах код работает
Аноним 08/09/21 Срд 20:11:45 2153285227
>>2153282
Смотря что ты имеешь в виду под "работает". У него код ничего не делает. Это "работает" в твоём понимании?
Аноним 08/09/21 Срд 20:34:48 2153296228
>>2153285
Может ему на работе за количество строк платят. В таком случае подобные варнинги действительно вредны, потому что уменьшают продуктивность. Слава богу их можно глобально отключить. Просто добавь
#![allow(unused_must_use)]
в самый верх с файл с мейном.
Аноним 09/09/21 Чтв 11:45:24 2153568229
>>2148875
Чем лучше актикса? Поверхностно глянул, вроде зависимостей чуть меньше и все?
Мимо заебавшийся от количества зависимостей и времени их компиляции в актиксе
Аноним 09/09/21 Чтв 11:58:21 2153578230
Объясните мне какой смысл писать на этой хуйне со странным синтаксисом, если в С++ уже давно можно писать так же безопасно как в расте с помощья умных указателей?
Аноним 09/09/21 Чтв 12:00:36 2153582231
>>2153578
>в С++
И что там есть такого, чего нет в расте?
Аноним 09/09/21 Чтв 12:04:28 2153585232
>>2153582
Нет, твой вопрос поставлен не верно, С++ дефакто стандарт, на нем написана куча библиотек и куча софта, к тому же С++ постоянно развивается, добавляя новые пиздатые фитчи и вот скажи мне, что такого есть в расте, чтобы разработчики которые пишут по 10-15 лет на плюсах и все компании которые пишут свой софт на с++ стали переходить на раст?
Аноним 09/09/21 Чтв 12:05:58 2153586233
>>2153585
>дефакто стандарт
Это С, а не эти ваши наросты.
Аноним 09/09/21 Чтв 12:17:40 2153591234
>>2153586
C - да, особенно у некоторых разработчиков библиотек. Но си, согласен небезопасное, говно на котором заебешься прогать что-то сложное, но оно и не надо. Нормальные люди даже библиотеки уже давно пишут на С++.
Но речь именно про Rust vs C++. Так вот давай переубеди меня человека который 13 лет пишет на С++ перейти на твой пориджеский раст.
Аноним 09/09/21 Чтв 12:19:26 2153594235
>>2153591
>Так вот давай переубеди меня человека который 13 лет пишет на С++ перейти
А кто ты такой, чтобы тебя переубеждать перейти? Что-то полезное хоть написал за 13 лет?
Аноним 09/09/21 Чтв 12:20:25 2153596236
>>2153591
> Нормальные люди даже библиотеки уже давно пишут на С++
Невозможно на этой хуйне писать библиотеки нормально.
Аноним 09/09/21 Чтв 12:21:08 2153597237
>>2153594
Ну ты же адепт раста, ты должен зазывать меня перейти на твою сторону.

> Что-то полезное хоть написал за 13 лет?
Дохуя чего. Я, в отличии от тебя, пишу реальные приложения.
Аноним 09/09/21 Чтв 12:21:38 2153598238
>>2153596
Лал, это еще почему?
Аноним 09/09/21 Чтв 12:22:19 2153599239
>>2153597
>Дохуя чего. Я, в отличии от тебя, пишу реальные приложения.
Показывай гит свой.
Аноним 09/09/21 Чтв 12:22:48 2153600240
>>2153598
Манглинга унифицированного нет.
Аноним 09/09/21 Чтв 12:32:56 2153613241
>>2153599
С хуяли я тебе показывать свой гит должен?
Тем более я работаю на реальной работе и пишу закрытые коммерческие приложения.
Ладно, я уже раскусил тебя по твоим высерам, ты вряд ли вообще когда-то работал в ИТ, твой максимум - хелоуворлды выкладывать на гитхаб.

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

Короче бля ясно, первый адепт раста жидко пернув, умер, несите следующего.
Аноним 09/09/21 Чтв 12:36:59 2153616242
>>2153613
>С хуяли я тебе показывать свой гит должен?
Так ты же пришёл рассказывать, какой ты невероятный разработчик, и как тебя должны переубеждать. А оказалось, что ты ничего и не сделал за 13 лет.

>Тем более я работаю на реальной работе и пишу закрытые коммерческие приложения.
И зачем тогда тебя переубеждать, если ты на кабанчике скачешь? На чём тебе скажут, на том писать и будешь.
Даже жабаскриптеры полезнее тебя.
Аноним 09/09/21 Чтв 12:40:18 2153621243
>>2153613
> И что? И это плюс. Есть ABI, и они должны иметь несовместимость версий.
Для библиотек это недопустимо.

> Короче бля ясно, первый адепт раста жидко пернув, умер, несите следующего.
Причем здесь раст, я Си защищаю.
Аноним 09/09/21 Чтв 12:41:01 2153623244
>>2153616
Если бы ты просто ничего не ответил на мой пост, то это бы выглядело намного менее жалко и позорно, чем то, что ты сейчас высрал от обиды, выдавая желаемое за действительное.

Слабо, слабо... даже адепты питона были намного более убедительны во вчерашней полемике со мной, чем "это".
Аноним 09/09/21 Чтв 12:42:09 2153625245
>>2153623
Как ты жопкой-то вертеть начал, как только у тебя гитхаб спросили.
Аноним 09/09/21 Чтв 12:42:37 2153627246
>>2153621
>Для библиотек это недопустимо.
Это еще почему? А для чего допустимо тогда?

>Причем здесь раст, я Си защищаю.
При чем здесь Си если я про С++ vs rust говорю?
Аноним 09/09/21 Чтв 12:48:08 2153630247
>>2153625
Ты троллишь тупостью или как?
Во-первых, ты пытаешься перевести изначальную тему беседы, прося у меня гитхаб и т.д. то, что к делу никакого отношения не имеет.
Во-вторых, ты кто такой чтобы требовать у меня гитхаб? Мент что ли? А если я на улице подойду к тебе и скажу давай сука сюда свой телефон, мне позвонить надо, как гопники из нулевых ты мне отдашь?
В-третьих, жопой вертишь тут только ты, макака безмозглая, воды дохуя сути нихуя в твоих высказываниях.
Аноним 09/09/21 Чтв 12:49:35 2153632248
>>2153630
Какой же ты жалкий с этими оправданиями.
Аноним 09/09/21 Чтв 12:55:43 2153640249
>>2153632
>оправданиями
Лол, это даже не похоже на оправдания.

И это все, что ты смог высрать? Жалкий тут только ты. Тебя наверное унижали в школе и макали головой в унитаз, давно не встречал более жалкого, мягкотелого, амебного, омежъего упыря на двачах. Ты там еще не заплакал? Ну иди чулочки надень, вставь пробку и садить писать очередной хелоу вордик на своем любимом расте.
Аноним 09/09/21 Чтв 12:56:05 2153642250
>>2153627
> Это еще почему
Потому что если библиотека будет собрана одной версией компилятора, а программа, её использующая - другой, то она может тупо не работать. А может и работать. Даже тут ебучее UB, везде сопровождающее этот ублюдский язык.

> При чем здесь Си если я про С++ vs rust говорю?
> C - да, особенно у некоторых разработчиков библиотек. Но си, согласен небезопасное, говно на котором заебешься прогать что-то сложное, но оно и не надо. Нормальные люди даже библиотеки уже давно пишут на С++.
Аноним 09/09/21 Чтв 12:59:37 2153644251
>>2153640
>убеждайте меня переходить на раст
>зачем?
>я программист 13 лет!
>показывай, что ты за 13 лет напрограммировал?
>рииииииии, ничего не должен вам показывать! зато почитайте мои гомофантазии!
Лол.
Аноним 09/09/21 Чтв 13:14:19 2153652252
>>2153642
>П-п-п-отому что если б-б-б-иблиотека будет собрана одной версией компи-и-и-и-лятора, а программа, её использующая - д-д-д-ругой, то она может т-т-т-упо не ра-а-а-а-ботать. А м-м-м-ожет и раб-б-б-отать. Даже тут ебучее UB, везде сопровождающее этот уб-б-б-блюдский яз-з-ык.
Лол, какое-то школьное оправдание заикающегося девственника.

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

>>2153644
Школьник ебучий, не позорься.
Аноним 09/09/21 Чтв 13:19:23 2153659253
>>2153652
> школьное
> Школьник
Это видимо последний оставшийся аргумент нашего погромиста на С++ с 13 летним стажем без единой строчки написанного кода.
Аноним 09/09/21 Чтв 13:19:55 2153661254
>>2153652
Ты либо жирный, либо дебил. В любом случае, тебе тут не рады.
Аноним 09/09/21 Чтв 13:21:48 2153662255
>>2153659
>>2153661
Школьники порвались. Вы все просто заикающиеся девственники, а я альфа-самец, программирую на самом лучшем языке мира - С++. Найдите себе баб лучше, неудачники.
Аноним 09/09/21 Чтв 13:32:31 2153671256
>>2153659
>РЯЯЯ Я НЕ ДЕБИЛ МАМ СКАЖИ ИМ
Так я то сотни аргументов привёл, это ты как выебанная в жопу шлюха начала истерить. А начал ты истерить потому что не способен на мои аргументы привести свои какие-либо контраргументы. Типичная реакция животного, я даже тебя не виню, в том, что ты такой. Это все природа и защитные реакции, лол
Аноним 09/09/21 Чтв 13:35:49 2153674257
>>2153671
> Так я то сотни аргументов привёл
"Ты девственник/школьник/шлюха" - это не аргумент. Ты просто засираешь тред своими визгами. Если твоя задача всех победить в "жаркой полемике" как каких-то там питоновцев (видимо предыдущих жертв твоих доводов), то можешь считать себя победителем и уёбывать отсюда с высоко поднятой головой.
Аноним 09/09/21 Чтв 13:44:29 2153686258
>>2153674
Так ты перевёл этот разговор в такое русло, я начал нормально спрашивать чем раст лучше с++ и зачем мне и другим крестовикам переходить на него, если в крестах все отлично. Ты начал давай сюда свой гитхаб щас заценим, начал вопить ВРЕЕТИ и т.д. А теперь ты меня обвиняешь в том, что я тебя оскорбляю, когда сам же и вынудил обращаться к тебе в таком ключе. Ебать ты даже причинно-следственную связь не можешь отследить в разговоре, куда тебе говорить о более сложных вещах
Аноним 09/09/21 Чтв 13:45:49 2153689259
>>2153686
Успокойся, победитель. Можешь записывать "растовчан" в свой список побеждённых шлюх/девственников/школьников рядом с питонистами и уёбывать отсюда. Твой высер даже читать не буду.
Аноним 09/09/21 Чтв 13:52:34 2153697260
>>2153568
> Чем лучше актикса?
Наличием "стабильной" (насколько версию 0.X можно назвать стабильной лол) версии с токио 1. Актикс 4 (в котором тоже токио 1) уже дохуя времени в разработке, а релиза всё не видать. Плюс ублюдское разбитие самого проекта актикса на отдельные пакеты со собственным версионированием, что при обновлении бета-версии с вероятностью 90% что-то сломается.
Аноним 09/09/21 Чтв 13:55:54 2153703261
Дежурно напоминаю, что плюсомакаки заменяются на раз и получают гроши, просто никто не хочет связываться с этим говном в реальных приложениях. Вы сейчас имеете дело с Computer Vision макакой, которая другого ничего не писала и не имеет представления о том, как все работает в других отраслях.
Аноним 09/09/21 Чтв 13:55:55 2153704262
>>2153689
Пассивная шлюха сдалась, ок.

Есть тут нормальные растовчане уровень которых хотя бы использование раста в проде, а не написание хелоу ворлдов для гитхаба?
Аноним 09/09/21 Чтв 14:05:18 2153717263
>>2153703
Лол я полагаю ты про меня? На самом деле нормальные плюсобояре получают намного больше всех остальных, а то что показывают ваши графики зарплат по языку - бред собачий. Ясен хуй поридж не осилит плюсы на нормальном уровне чтобы получать хорошую зп, вот от сюда и эти графики.
На счёт того что я работал только в CV это опять выдаивание желаемого да действительное, я писал и сервера и hft и близкие к железу вещи, и в 3д работал, и вот щас в cv. Но судя по ощущениям на этой борде таких как в 1-3 человека максимум, остальные - это макаки на галерах максимум, либо хелоу вордщики студенты/вкатыши.
Аноним 09/09/21 Чтв 14:11:44 2153722264
image.png 86Кб, 1298x639
1298x639
image.png 94Кб, 1293x687
1293x687
>>2153717
>а то что показывают ваши графики зарплат по языку - бред собачий.
ВРЕТИИИИИИИИИИИ ВАШИ ВАКАНСИИ НЕ ВАКАНСИИИИИ ЗАРПЛАТА ЭТО ТО ЧТО Я СКОЗАЛ!11!1111!111
Аноним 09/09/21 Чтв 14:12:09 2153723265
image.png 80Кб, 1341x682
1341x682
Аноним 09/09/21 Чтв 14:46:10 2153776266
>>2153723
>РРРЯЯЯЯЯ, НИМОЖЕТ БЫТЬ, ТЫ HTML ПОПРАВИЛ, МЫ ПОЛУЧАЕМ 200 БАКСОВ ЗА ЧАС
Я подготовил ожидаемый ответ за нашего порванного с++ специалиста
Аноним 09/09/21 Чтв 15:56:20 2153829267
>>2153722
>Average
Ты ведь вкурсе как считается average?
Получается так из-за того, что порог входа в С++ очень высокий, чтобы получить хотя бы звание среднего разработчика. Поэтому график зарплат/skills выглядит не как линейная функция, а как экспоненциальная. И соответственно, нормальные ребята ( коих намного меньше чем всех остальных вкатышей ), а под нормальными я имею ввиду людей имеющих хороший бекграунд в CS, получаются хорошие зарплаты.
А обезьяны которые на гикбреинс купили двухнедельный курс по с++, получают низкооплачиваемую работу по поддержке легасиговнища, где их творческий максимум будет равняться работе по исправлению багов от наследия си подобных говнопрограмм которые могут дереференсить нуль поинтеры и обращаться к неинициализированной памяти.
Так что если твоя цель это быть average разработчиком, то я тебя поздравляю, ты ни на каком языке не будешь получать хорошую зарплату, а разница в колебании средних зарплат между различными языками это всего лишь шум, это копейки на которые вообще не стоит обращаться внимания, потому что хорошие разрабы уровня сеньор+ получают намного больше средних зарплат.
Аноним 09/09/21 Чтв 16:35:42 2153844268
image.png 59Кб, 867x648
867x648
image.png 29Кб, 624x494
624x494
>>2153829
Уважаемый плюсопетух, вакансии находятся в открытом доступе, зарплата прекрасно считается по перцентилям. Ваши диванные размышления о экспоненциальных зарплатах разбиваются о суровую реальность. Причем речь идет о ссаном питоне, а не о расте. Вы можете сколько угодно заниматься коупингом, но от этого плюсомакаки не перестанут быть плюсомакаками, где даже топ 25% зарплат меньше чем у динамикодрисни.
Аноним 09/09/21 Чтв 16:36:29 2153845269
image.png 58Кб, 891x647
891x647
Аноним 09/09/21 Чтв 16:51:24 2153849270
>>2153844
Погоди, а при чем тут питон? Мы находимся в треде по системным языкам программирования.

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

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

Ты пойми, что чтобы стать хорошим вебмакакеном, чтобы тебя взяли на галеру, не нужно получать ученые степени в CS и не нужно быть никаким гением, просто нужно выучить нужный фреймворк и запомнить последовательность копипаста кода.
А вот чтоб стать хорошим инженером умеющим создавать, сложные системы, тут уже так просто не получится, тут и бекграунд в CS и опыт и много чего еще нужно, поэтому таких людей очень мало, в сравнение с океаном безмозглых обезьян выбирающих язык исходя из уровня средней зарплаты на нем.
Аноним 09/09/21 Чтв 17:04:42 2153856271
>Мы находимся в треде по
Расту. Поэтому странно тут видеть вскукареки очередного залетыша сипипимакакена, пытающегося доказать что он тру
Аноним 09/09/21 Чтв 17:06:35 2153857272
image.png 30Кб, 622x507
622x507
image.png 18Кб, 455x299
455x299
>>2153849
>Так на питоне работает много уважаемых дата саенс господ, многие из которых PhD и Dr
Только 2% питоноразработчиков имеют PhD, а на нем 25% зарплат все так же больше чем у плюсомакак, при том, что это явный бекенд девелопер.

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

>Ты пойми, что чтобы стать хорошим вебмакакеном, чтобы тебя взяли на галеру, не нужно получать ученые степени в CS и не нужно быть никаким гением, просто нужно выучить нужный фреймворк и запомнить последовательность копипаста кода.
Плюсомакака зачем-то начала все мерять СНГ рынком и не в курсе, что у швятых до недавнего времени практически обязательно было иметь вышку и с помоечными курсами особо не брали и в посту выше видно, что нищие плюсомакаки вовсе не вкатывальщики, а имеют минимум бакалавра при этом оставаясь низшим звеном пищевой цепочки.
Аноним 09/09/21 Чтв 17:55:43 2153885273
>>2153857
Ты нахуя опять мне этими апроксимирующими графиками срешь?
Я даже твои посты читаю через строку, ибо твои маня-прогнозы на основе маняпроксимаций меня мало волнуют.

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

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

Вот я же не хейчу раст, ок раст, как технология с виду кажется интересным, но как замена с++, вряд ли пока что может заинтересовать тех кто уже пишет на с++ и эти люди могу сопоставить все за и против, детально разбирая каждый аспект сравнения двух языков, а местные фанбои окончившие пту вчера работавшие кассирами в пятерочке, начинают с пеной у рта срать на весь тред хуйней абсолютно не по теме. Даже твои наивные рассуждения о зарплатах уже многое говорит о тебе, ты безмозглый фанбой, ты флюгер который показывает туда куда дует ветер, у тебя нет никаких знаний в CS, ты просто пустозвон, ты никогда не будешь нормальным программистом получающим нормальную зп ( я даже не говорю о хорошей ). Так что самое лучше что ты можешь сделать сейчас, это согласиться со мной, очистить историю посещений, и навсегда забыть об этом разделе, а потом вернуться в реальную жизнь, где ты пойдешь работать на стройку за 20к рублей, а не будешь тут фантазировать об огромных зарплатах питономакак.
По существу изначальной темы не было ни одного вразумительного аргумента в пользу того или иного языка. И не будет, потому что 98% тех кто тут сидит такие же безмозглые вкатыши, с нулевым опытом в айти как и ты
Аноним 09/09/21 Чтв 18:02:51 2153888274
image.png 651Кб, 700x655
700x655
>>2153885
>Суть в том, что ты наивный манятеоретик жизни не нюхавший, иди выучи питон или раст и попробуй найти работу где тебе будут столько платить. Можешь не пытаться, у тебя не получится, ибо ты живешь в мире иллюзий и все твои доводы строятся на очень неточной статистике.

СПИСОК ВАКАНСИЙ НЕ ЗАКОН - Я ЗАКОН
Аноним 09/09/21 Чтв 18:17:33 2153896275
15638103624700.png 558Кб, 618x480
618x480
>>2153885
Сениор сипипи, не останавливайся, прошу продолжай
Аноним 09/09/21 Чтв 18:24:37 2153899276
изображение.png 111Кб, 320x240
320x240
>>2153885
Я даже не читал, как увидел эту простыню, сразу представил
>АААРРРЯЯЯЯЯЯЯ
Аноним 09/09/21 Чтв 20:29:23 2154035277
>>2153578
> странный синтаксис
Дед, ты бы хотя бы попробовал
Си стайл полный калл неудобный
Аноним 10/09/21 Птн 14:23:00 2154411278
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.

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


Аноним 10/09/21 Птн 16:05:27 2154477279
>>2154411
>Пруф ми вронг.
Делаешь предположение - доказывай. Иначе твое предположение просто
>пук
Аноним 10/09/21 Птн 17:19:30 2154541280
а че вы холиварите если любая системная хуйня ненужное говно тридцать лет назад компы делали все то же на в тысячи раз меньших ресурсах
Аноним 10/09/21 Птн 21:09:14 2154704281
>>2154411
>невозможным
Я смогу
Аноним 10/09/21 Птн 22:29:23 2154763282
>>2154704
хорош, респектирую
Аноним 11/09/21 Суб 04:42:24 2154852283
>>2154411
Да, написание прошивок на расте невозможно, нет прошивок - нет ошибок.
Аноним 12/09/21 Вск 15:58:47 2155907284
а почему на насте нельзя написать прошивку? на метале работать умеет, в говно компилироваться умеет............
Аноним 12/09/21 Вск 16:02:04 2155909285
Аноним 12/09/21 Вск 20:04:01 2156073286
image.png 125Кб, 637x358
637x358
>>2153885
Молодец, анон. Все правильно написал.
Аноним 13/09/21 Пнд 00:40:35 2156240287
>>2155907
Потому-что он дурак не знает что несёт.
Аноним 13/09/21 Пнд 15:09:19 2156516288
че такое b""?
Аноним 13/09/21 Пнд 15:10:13 2156518289
Можно ли у вас байтоебить?
Аноним 13/09/21 Пнд 15:27:22 2156541290
Аноним 13/09/21 Пнд 15:33:08 2156547291
Парни, какой язык лучше выучить C++ или Rust?
Мне не для работы, я и так веб макака, вот душа лежит выучить что-нибудь из этих двух, но не могу выбрать. В перспективе хочу чисто ради фана программирование - это же пиздец весело пописать 2Д игрушки какие, не используя какие-нибудь мега энжины типа unreal.
Аноним 13/09/21 Пнд 15:50:34 2156575292
бинарник проги запускается из консольки, как можно замерить скок он потребляет рам хуям и какая нагрузка на проц пока он работает
Аноним 13/09/21 Пнд 16:00:11 2156584293
>>2156547
А чего тебе на JS 2д игрушки не пишется?
Аноним 13/09/21 Пнд 16:02:40 2156588294
>>2156584
я собираюсь писать игрушки не ради игрушек, а ради попрогать либо на расте либо на плюсах. и пофаниться. мб если попрет и 3Д поделаю
Аноним 13/09/21 Пнд 16:06:52 2156591295
Аноним 13/09/21 Пнд 16:18:29 2156600296
>>2156588
Твой вопрос какой-то нелогичный. Ты говоришь, я собираюсь учить один из этих языков, чтобы писать игрушки, но писать игрушки буду не ради игрушек, а ради языка. Зачем ты тогда вообще игрушки упоминаешь, если этот факт по сути на выбор не влияет. Да еще и приходишь в растотред и спрашиваешь, что выбрать, раст или другой язык. И какой ответ ты хочешь? Конечно же не раст.
Аноним 13/09/21 Пнд 16:57:11 2156635297
>>2156516
Массив байт
Или аски строка
Аноним 13/09/21 Пнд 16:58:03 2156637298
>>2156547
С графикой наверное лучше все таки в плюсы
хотя в обоих случаях будет больно
Аноним 13/09/21 Пнд 17:42:55 2156686299
>>2156600
я хочу учить один из этих языков, по ходу дела буду пилить игрушки по фану. Т е приоритет учить язык, второе писать игрушки, ясли я не выполняю первый пункт, мне и второй нахуй не нужен.
> Зачем ты тогда вообще игрушки упоминаешь
>Да еще и приходишь в растотред и спрашиваешь, что выбрать, раст или другой язык. И какой ответ ты хочешь? Конечно же не раст.
потому что на данном этапе мне похуй что учить из этих 2х, для меня что-то что это. упоминаю чтобы ты понял примерно для чего я буду язык использовать. Может ваш раст годен только там хз, для крипты, и еще какого-нибудь ультра безопасного ПО для банковмое стереотипное мнение. А игры на нем только ебланы будут делать.

>>2156637
спс, братик, так у меня тайловый графоний будет, без выебонов
Аноним 13/09/21 Пнд 18:50:52 2156770300
image.png 57Кб, 774x265
774x265
>>2156686
Так ты потом тридэ хочешь. Тридэ в расте твой рот выебет, всё равно на биндингах писать будешь.

Но для общего развития раст намного лучше крестов. Когда у тебя свой borrowck в голове появится, ты и в других языках начнёшь понимать, почему твои программы — дерьмо.
Аноним 13/09/21 Пнд 18:58:27 2156778301
>>2156770
> Тридэ в расте твой рот выебет
Триде на любом языке рот выебет, в одиночку писать движок такая себе затея. Да и компиляция раста в шейдеры пока что оффициально не поддерживается, так что там использоваться свой С/С++ подобный язык без вариантов.
Аноним 13/09/21 Пнд 19:08:53 2156789302
>>2156770
ну я вот пока тоже склоняюсь к плюсам.
то честно говоря я даже не очень понимаю насколько сильна проблема, которую решает раст, я про борроу чекер и про всякое описание жизни ссылок, на мой неопытный глаз проблема преувеличена, чтобы так надрачивать компилятору. Мб когда попишу на плюсах что-то сложнее универских лаб, тогда пойму зачем запилили раст.
Аноним 13/09/21 Пнд 19:20:00 2156792303
Аноним 13/09/21 Пнд 21:25:50 2156937304
Аноним 13/09/21 Пнд 23:34:51 2157114305
Аноним 13/09/21 Пнд 23:51:05 2157129306
>>2156778
> Да и компиляция раста в шейдеры пока что оффициально не поддерживается
А компиляция чего в шейдеры поддерживается?
Аноним 13/09/21 Пнд 23:53:53 2157131307
Аноним 13/09/21 Пнд 23:57:56 2157141308
>>2157131
Ты же понимаешь, что независимо от языка программирования шейдеры ты один хуй будешь писать на GLSL если мы говорим про OpenGL
Какая тогда разница?
Лучше бы сказал про то, что нет нормальной библиотеки, чтобы не писать свои велосипеды.
Аноним 13/09/21 Пнд 23:59:35 2157145309
>>2156547
>пописать 2Д игрушки какие
Математику учи, а не языки, говна кусок.
Аноним 13/09/21 Пнд 23:59:53 2157146310
>>2157141
Сори, я мимокрокодил. Просто люблю, что в шейдеры компилируются шейдеры, а в ассемблер — ассемблер.
Аноним 14/09/21 Втр 00:05:05 2157149311
>>2157145
Расскажи про известных математиков-авторов игр?
Аноним 14/09/21 Втр 00:06:05 2157151312
>>2157149
Только разработчик Dwarf Fortress в голову сразу приходит, дальше думать надо
Аноним 14/09/21 Втр 00:08:22 2157152313
>>2157151
И как там с графикой? Хорошо математика пригодилась?
Аноним 14/09/21 Втр 00:10:12 2157154314
>>2157152
Ты бы лучше про генерацию мира и общую продуманность игры спросил.
Аноним 14/09/21 Втр 00:13:00 2157156315
>>2157154
Но вся математика в графике сегодня. Генерация это здорово, но можно спокойно 2n алгоритмы применять, и никто этого не заметит, потому что делается это только один раз в самом начале.
Аноним 14/09/21 Втр 00:18:42 2157162316
>>2157149
>Расскажи про известных математиков-авторов игр?
Речь не про "известных математиков", речь про базовые знания, до которых тебе как до Луны. За языки он тут пришел трепаться, неуч сраный.
Аноним 14/09/21 Втр 00:30:08 2157170317
>>2157141
> GLSL
Вообще есть ещё SPIR-V, который работает в том числе и в опенгл (относительно новых версий) и позволяет использовать любой язык, который умеет в него компилироваться.
Аноним 14/09/21 Втр 01:31:54 2157186318
>>2157145
>>2157162
>>Расскажи про известных математиков-авторов игр?
>Речь не про "известных математиков", речь про базовые знания, до которых тебе как до Луны. За языки он тут пришел трепаться, неуч сраный.
эт другой анон спросил, не агрись плиз на него, спрашиваю за языки я.
кстати да, нахер мне математика чтобы написать пару-тройку паршивых 2д платформеров, которые увидят только я и мб твоя мама?
Аноним 14/09/21 Втр 10:18:27 2157267319
>>2157156
>никто не заметит
>генерация мира в Dwarf Fortress
Аноним 14/09/21 Втр 11:26:40 2157300320
>>2157267
То есть замечают? Это потому что там n! алгоритмы. Такие вот из математиков разработчики игр.
Аноним 14/09/21 Втр 15:37:38 2157494321
Джаваскрипт-господин посетил вас.

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

Что посоветуете, чем богаты?
Аноним 14/09/21 Втр 15:38:27 2157497322
>>2157494
ага нормально делай
Аноним 14/09/21 Втр 15:40:16 2157498323
Аноним 14/09/21 Втр 15:43:55 2157504324
>>2157498
ебани сервер на ноде, если на расте не делал нихуя то заебешься, нодой пиши формдату в файл и просовывай через spawn/exec в забилженный бинарник своей раст проги
Аноним 14/09/21 Втр 15:46:32 2157506325
Аноним 14/09/21 Втр 16:24:08 2157530326
>>2157300
> n! алгоритмы
Ты от балды сказал или реально исследовал тему?
Я сам в теме не разбирался, но мне очень не верится, что математик бы позволил себе использовать O(n!) алгоритм, если есть возможность использовать алгоритм быстрее.
Аноним 14/09/21 Втр 16:31:41 2157534327
Прочитал что копилефт лицензия C лучше чем пермиссив Раста. Это правда?
Аноним 14/09/21 Втр 16:46:06 2157542328
Аноним 14/09/21 Втр 16:58:46 2157557329
>>2157534
Как это - лицензия языка?
Аноним 14/09/21 Втр 17:08:13 2157568330
Аноним 14/09/21 Втр 20:01:15 2157765331
2021-09-14T13:0[...].png 724Кб, 2880x1024
2880x1024
начинаю вкат в вашу хуйню, какие подводные?
Аноним 14/09/21 Втр 20:04:00 2157770332
>>2157765
Придется стать девочкой
Аноним 14/09/21 Втр 20:05:23 2157774333
yande.re 829706[...].jpg 5130Кб, 1505x2666
1505x2666
>>2157770
Так я уже, по линуксы не видно что ли?
Аноним 14/09/21 Втр 20:11:26 2157786334
>>2157765
Ты и сюда пришёл...
Шарпы не осилил что-ли?
Аноним 14/09/21 Втр 20:14:26 2157789335
>>2157786
Шарпы сложные, ничего удивительного.
Аноним 14/09/21 Втр 20:15:51 2157794336
>>2157789
Не сложнее раста. С ума сошёл? Там синтаксический сахар вместо программирования, за тебя практически всё делает IDE.
Аноним 14/09/21 Втр 20:20:23 2157802337
>>2157794
Ну а он, как видишь, не справился.
Аноним 14/09/21 Втр 20:22:06 2157804338
>>2157786
Шарпы заебюатый язык, до сих пор пишу на нём всякую консольную хуету, уровня реализаций логики кубика рубика и алгоротмив сортировки ,многопоточность, написал недавно свой неофетч на шарпе, заебатый язык на самом деле, ещё синтаксис очень просто, особых знаний не нужно что бы его понимать, они ещё сильнее упростили язык в sdk6 и десятой версий шарпа

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

а раст, раст для школьничков смузихлёбов - мне на опеннет так сказали, ну я решил попробувать, и пока он мне не особо нравиться в сравнений с шарпом, ещё этот ебанный компилер сука, пока только сегодня чить начал, думаю написать калькулятор, сделать много скриншготов и выложить в r/unixporn свою хуйню, и можно будет возращаться к шарпам
Аноним 14/09/21 Втр 20:23:58 2157805339
>>2157804
Ну иного от цыгана вниманиеблядского не ожидалось.
Аноним 14/09/21 Втр 20:24:59 2157809340
1624404845529.jpg 72Кб, 948x1168
948x1168
>>2157805
Уроки сделал? порфтель собрал?
Аноним 14/09/21 Втр 20:25:26 2157811341
>>2157804
> ещё этот ебанный компилер сука
Уебанский компилер! Надо всего лишь написать cargo run/cargo build и всё будет работать!!! НУ И ХУЙНЯ!
Аноним 14/09/21 Втр 20:26:46 2157814342
222.jpg 91Кб, 1280x720
1280x720
>>2157811
проиграл, но ваще с шарпами и моно так же
csc test.cs
mono run.exe

Ваще, я имел ввиду что компилер высирает какието ошибки по мелким причинам, А шарпы к примеру вообще всё сжирают
Аноним 14/09/21 Втр 20:27:13 2157816343
>>2157809
> думаю написать калькулятор, сделать много скриншготов и выложить в r/unixporn свою хуйню, и можно будет возращаться к шарпам
> Уроки сделал? порфтель собрал?
Ну не позорься, чел
Аноним 14/09/21 Втр 20:28:01 2157817344
>>2157814
> А шарпы к примеру вообще всё сжирают
Шарпы потом на каждом пропуке в рантайме высираются ошибками, которые к тому же разобрать невозможно.
Аноним 14/09/21 Втр 20:29:23 2157819345
2021-09-14T13:2[...].png 141Кб, 692x292
692x292
Вот что это блять значит и как решить вообще?
Аноним 14/09/21 Втр 20:31:00 2157822346
>>2157816
похоже ты не слыхал про арчешкольников-смузишлёбов? жаль, возможно бы ты понял что я имею ввиду, но похуй уже, последуй нахуй, в свой загон /s


>>2157817
маняфатназий и хуйня какаята, редко встречал в шарпах ошибки которую нельзя разобраться, да и где там ошибки делать? синтаксис в языке просто1
Аноним 14/09/21 Втр 20:31:19 2157823347
>>2157819
Тебе же английским языком написано function is never used. Догадайся, что сделать надо?
Тем более это не error, а warning, тебе даже в конце написало, что сборка завершена успешно.
Возвращайся на шарп лучше сразу.
Аноним 14/09/21 Втр 20:32:32 2157825348
>>2157822
> да и где там ошибки делать? синтаксис в языке просто1
Ты же троллишь, да?
Аноним 14/09/21 Втр 20:34:05 2157828349
>>2157823
я про это знаю бля, но почему тогда не вывело что мне нужно? да и где использовать функцыю если она выполняет определённый код? иле компилер хочет что бы я записах another_funtion в main()?
Аноним 14/09/21 Втр 20:34:21 2157829350
>>2157823
Шарп слишком убогий язык, чтобы на него возвращаться даже с перла.
Аноним 14/09/21 Втр 20:36:04 2157834351
>>2157828
> иле компилер хочет что бы я записах another_funtion в main()?
Как ты умудрился заставить функцию выполнять определённый код, не засунув её в main()?
Аноним 14/09/21 Втр 20:37:40 2157838352
2021-09-13T10:1[...].png 134Кб, 328x389
328x389
Аноним 14/09/21 Втр 21:02:22 2157865353
2021-09-14T14:0[...].png 113Кб, 689x209
689x209
блять, как вообще отключить всякую подлобную хуйню? что в код вписать надо?

помню читал главы две три назад но уже забыл
Аноним 14/09/21 Втр 21:41:28 2157888354
>>2157865
Гугл ком
Раст хау ту торн офф ворнингс

сам не знаю, каждый раз гуглю
Аноним 14/09/21 Втр 21:45:40 2157892355
>>2157865
А вобще не будь мразью и слушай что тебе ворнинги говорят
Аноним 14/09/21 Втр 21:47:30 2157894356
Аноним 14/09/21 Втр 22:05:54 2157915357
Вы нахуя ему что-то объясняете? Он пару дней посидит, потом перекатится на какой-нибудь питон или плюсы и будет в их тредах срать
Аноним 14/09/21 Втр 22:29:50 2157938358
>>2157915
Потому что смешнее будет если он дропнет раст из-за строк (и количества их разновидностей) и борроу-чекера, чем от невозможности заглушить варнинги.
Аноним 14/09/21 Втр 23:52:56 2157986359
>>2157938
Нет, не смешнее.
Ты прикинь, чел дропнул яп из-за варнинга по поводу наименования функции, это же ухахатбл
Аноним 15/09/21 Срд 14:10:31 2158310360
>>2157986
А прикинь, он не дропнет раст, найдёт работу, а там CI на ворнинги и клиппи.
Аноним 15/09/21 Срд 17:31:38 2158507361
use gentoo 46Кб, 720x480
720x480
>>2158310
>найти работу
>на расте

пчел, нах мне работать на этом языке, я же не школьничег смузихлёб, лол, для работы есть пыха и прочея вебпараша, раст, кресы, пёрл и прочие подобные языки это для школьников которым нехуй делать на каникулах энтузиастов, понимаешь? так же как и линукс
Аноним 15/09/21 Срд 17:34:13 2158509362
>>2158507
Пыха разве не мёртвый язык, за код на котором даже едой не платят?
Аноним 15/09/21 Срд 17:40:22 2158517363
>>2158509
> даже едой не платят?

маняфатазий местынх школьников, сам делал заказы на пыхе на фрилансе, и да сука, платили копейки, зато за месяц работы обновил пеку и купил сиси ди на 480 с алика, балею щас, но не суть, у меня друг работает на пыхе+лара и получает свой 1500 баксов поживая в хохляндий, пыха хароша тем что можно легко вкатиться, и заказов много, работы много, вообще never die
Аноним 15/09/21 Срд 17:45:27 2158523364
2021-09-15T10:4[...].png 35Кб, 753x198
753x198
О, я уже дошёл до этой очень важной темы
Аноним 15/09/21 Срд 17:51:24 2158530365
>>2158523
Её надо было первой читать, ты вообще из первых трёх глав понял что-нибудь?
Аноним 15/09/21 Срд 17:58:18 2158537366
>>2158530
Офк, это же элементарно, там же почти читать не надо, алсо я читал оф доки и метанит, да и там всю базово и элементарно
Аноним 15/09/21 Срд 18:57:40 2158572367
Появилась идея создать торрент трекер, где игры можно играть прямо из браузера на webassembly. Просто заходишь в аккаунт на рутрекере допустим, и можешь прямо оттуда играть в игры. Только осталось реализовать. Можно ли такое сделать одному?
Аноним 15/09/21 Срд 19:30:16 2158594368
>>2158572
Если задаешь такие вопросы, то нет, нельзя. Да и без тебя уже справились: новые игры перевести в вебассембли без шансов, а для ретро (дос, консоли) архив.орг.
Аноним 15/09/21 Срд 19:42:06 2158600369
>>2158594
То есть я не могу крузиз заставить работать в браузере в одиночку?
Аноним 15/09/21 Срд 20:55:49 2158640370
1608635604267.jpg 1246Кб, 2048x2048
2048x2048
Аноним 16/09/21 Чтв 10:18:05 2158897371
2021-09-16T03:1[...].png 133Кб, 1361x254
1361x254
блять, а тут уже в чём проблема? вроде же я использую ресулт в принтлн, почему так?
Аноним 16/09/21 Чтв 10:20:46 2158899372
2021-09-16T03:1[...].png 225Кб, 1367x421
1367x421
блядь, чё это за петухон ебанный, как будто за лишьние пробелы ебут сука
Аноним 16/09/21 Чтв 10:22:50 2158901373
>>2158897
>Аргумент невер юзед
>Аргумент
>невер юзед

У тебя место только под один аргумент в принтовой строке, компилятор не знает куда второй аргумент вставить.
Аноним 16/09/21 Чтв 10:24:30 2158904374
>>2158899
А, понятно, ты просто троллишь. Файл не сохранил, и спамишь на двач своими ошибками.
Аноним 16/09/21 Чтв 10:26:07 2158906375
И нахуя ты используешь rustc вместо карго?
У тебя там хардкорная статическая линковка с сишными либами? Или ты просто долбоёб?
Аноним 16/09/21 Чтв 10:31:02 2158910376
>>2158906
а нахуя мне под каждый пук отельный проект с папками создовать? когда я могу свою маленькую хуйню компилить из файла?
Аноним 16/09/21 Чтв 10:32:04 2158911377
>>2158901
Да я уже понял, посмотрел примеры кода


>>2158904
долбоёбина, почитай что консоль пишет
Аноним 16/09/21 Чтв 11:09:54 2158929378
>>2157829
>даже с перла
Не надо про перл. Вполне хороший язык, только его пик популярности давно прошел горизонт.
Аноним 16/09/21 Чтв 11:30:45 2158944379
>>2158929
прошел горизонт событий в черной дыре? Непонятно
Аноним 16/09/21 Чтв 12:04:34 2158973380
>>2158944
Ах, этот шитпостинг тупизной.
Поразительно, по множеству тематик наплыв таких долбаебов буквально неделю или две назад начался.
Аноним 16/09/21 Чтв 12:08:52 2158976381
>>2158973
Вахтер, спок. Если хочешь раст иди читай доки, общайся в issues
Аноним 16/09/21 Чтв 12:14:27 2158983382
>>2158973
фантазёр спок, иди уроки делай, может перестань путать мимоАнонов со свойми протыками
Аноним 16/09/21 Чтв 12:30:26 2158993383
>>2158983
>протыками
Какое-то новое зумерское слово?
Аноним 16/09/21 Чтв 12:32:05 2158994384
old.jpg 4Кб, 179x220
179x220
Аноним 16/09/21 Чтв 13:49:04 2159074385
>>2158983
Протыкл артём семёнович, это имя твоего гулаговского деда. Которого воры попротыкали туберкулёзными хуями за отказ брать на себя норму паханов.
Аноним 16/09/21 Чтв 16:37:58 2159253386
2021-09-16T09:3[...].png 228Кб, 1596x352
1596x352
Ну а здесь в чём проблема? почему компилер не хочет выводить булеан значение?
Аноним 16/09/21 Чтв 16:47:00 2159268387
>>2159253
Ты английского языка не знаешь? Он же тебе объясняет, что функция ничего не возвращает. И подсказывает ; убрать.
Аноним 16/09/21 Чтв 17:03:40 2159280388
Аноним 16/09/21 Чтв 17:08:23 2159282389
>>2159268
Он тебя троллит, а ты ведёшься.
Аноним 16/09/21 Чтв 18:00:22 2159315390
2021-09-16T10:5[...].png 522Кб, 1597x900
1597x900
Гайсы, начинаю писать калькулятор, вроде более менее в базе освойлся, думаю за пол часа смогу настрепать, пожелайте удачи блять, очень уж надо, с учётом что язык начал учить три дня назад
Аноним 16/09/21 Чтв 18:45:01 2159342391
Так блять, Я вроде близко, а как решить пик? больше всего пришлось гуглить 18-20 строки
Аноним 16/09/21 Чтв 18:45:21 2159345392
2021-09-16T11:4[...].png 485Кб, 1599x733
1599x733
Аноним 16/09/21 Чтв 18:47:30 2159347393
IMG202109161846[...].jpg 43Кб, 1080x437
1080x437
>>2159345
Что вот это твоё match{} означает?
Аноним 16/09/21 Чтв 18:52:56 2159348394
>>2159345
Как ты вообще линукс умудрился поставить со своим знанием английского?
Аноним 16/09/21 Чтв 18:53:34 2159349395
2021-09-16T11:5[...].png 18Кб, 592x177
592x177
2021-09-16T11:5[...].png 133Кб, 794x245
794x245
>>2159347
Да, я это уже и решил, там нужно было передать значение, теперь вроде очевидная проблема
Аноним 16/09/21 Чтв 18:56:57 2159351396
2021-09-16T11:5[...].png 533Кб, 1598x900
1598x900
>>2159348

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

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

Алсо, проблему я уже решил, и калькулятор почти работает как надо
Аноним 16/09/21 Чтв 20:04:08 2159409397
>>2159268
Нахуй ты отвечаешь ему? Это толсто нереальных масштабов, а ты ведешься, даже стыдно за тебя.
16/09/21 Чтв 21:12:01 2159440398
>2159253 (You)
>2159268 (You)
>2159280 (You)
>2159282 (You)
>2159409 (You)
Таблетки.
Аноним 16/09/21 Чтв 21:16:14 2159444399
>>2158640
почиму? я очень хочу
Аноним 16/09/21 Чтв 21:38:46 2159457400
>>2138871
хэй! мимокрокодил, почитал немного тред, но невнимательно и нифига не понял, какие интересные фичи у языка есть. знаю плюсы, учу хаскель, что раст их них позаимствовал, чего не хватает?
Аноним 16/09/21 Чтв 21:43:04 2159460401
Мне сказали шарписты что язык Раст фигня. Ето правда?
Аноним 16/09/21 Чтв 21:45:26 2159464402
Аноним 17/09/21 Птн 02:23:22 2159595403
Учу раст по растбуку и "Программирование на языке Rust" Дж Бленди Дж Орендорф. Пытался смотреть курс Computer Science Center А. А. Кладова, но 80% не понимаю. Вообще ощущение, что непонятно абсолютно всё. Как будто я вне какого-то контекста, будто есть база знаний, необходимая для того, чтобы просто начать изучать программирование, а у меня этой базы нет. Чуда ведь не произойдёт и я так и продолжу заучивать примеры и определения без видимого результата?
Аноним 17/09/21 Птн 05:52:25 2159627404
>>2159595
ты не поймешь те лекции ибо те лекции на людей которые пришли с плюсов и которые знают что делают и как это работает.

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

сайт - stolyarov.info
Аноним 17/09/21 Птн 10:05:25 2159696405
cache.png 282Кб, 1230x1878
1230x1878
Сап, крабач, хочу сделать программу, суть токова...

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

Я все никак не могу взять в толк, как же правильно это сделать. Набросал пока пикрелейтед, но здесь не выполняется пункт 4 (да и по остальным пунктам вопросы, например стр. 32). Пока единственная идея - завести HashMap<String, Mutex<bool>>, где String будет неким идентификатором данных, а флаг будет говорить о состоянии запроса (идет запрос в данный момент или нет). Проблема в том, что (на мой взгляд) тут проще простого словить PoisonError и наебнуть весь сервер целиком. Подскажите, в каком направлении копать?
Аноним 17/09/21 Птн 10:57:54 2159719406
>>2159444
Если соло разрабатывать, то ты закончишь в тот момент, когда это перестанет быть кому-нибудь нужно, все в облаке будут играться.

Проще заработать денег и купить фирму с прогерами, чтобы тебе это сделали.
Аноним 17/09/21 Птн 13:11:50 2159791407
>>2159444
Делай, в чем вопрос?
Аноним 17/09/21 Птн 13:37:23 2159798408
Дарова, пацаны ебашу музыкального дискорд бота на расте. Хотел спросить если нормальные либы апи дискорда для раста?
Аноним 17/09/21 Птн 13:44:23 2159802409
>>2159798
Такой хуйней вряд-ли бы стал кто-то заниматься
Аноним 17/09/21 Птн 13:53:29 2159807410
Аноним 17/09/21 Птн 14:56:54 2159845411
>>2159791
Ты будешь отличным психологом.
Аноним 17/09/21 Птн 19:43:54 2160123412
2021-09-17T12:4[...].png 272Кб, 617x710
617x710
Блять, почему так? что я делаю не так? чего он сука хочет, из ошибки через rustc нихуя не понял, хелп плез

алсо, почему то кажеться что тред одновременно и жив и мёртв
Аноним 17/09/21 Птн 19:53:43 2160135413
>>2160123
Ты если английский не знаешь, то хотя бы переводчиком пользуйся
Ты два раза берешь мутабельную ссылку на переменную, в расте так нельзя
Можно много иммутабельных и лишь один мутабельный референс на переменную
Аноним 17/09/21 Птн 19:56:18 2160137414
>>2160135
Я в анлюсике нормально освоислся, как монимум видосы на ютубе с сабами могу смотреть и балдеть, но беда в новых языках сложна, ибо новые слова и приходиться много гуглить, но думаю это времиенно, пока только вкатываюсь, у меня же меньше недели с начала вкатывания, потому думаю со временем привыкну, да и я уже далеко не с каждой самой мелкой проблемой сюда бегу, только если что то долго не получаеться решить
Аноним 17/09/21 Птн 19:59:23 2160139415
image 20Кб, 551x36
551x36
Аноним 17/09/21 Птн 20:00:17 2160141416
image 40Кб, 1112x631
1112x631
Всё очень удобно описано как раз
Аноним 17/09/21 Птн 20:00:27 2160142417
2021-09-17T12:5[...].png 126Кб, 846x269
846x269
Бля, всего лишь убрать нужно было, мда


>>2160139
>Вот это пробовал?
>>2160123
> из ошибки через rustc нихуя не понял
Аноним 17/09/21 Птн 20:01:57 2160143418
1631898116536.png 68Кб, 185x235
185x235
Это тролинг какой-то?
Аноним 17/09/21 Птн 20:02:02 2160144419
>>2160141
>шиндовс
>руст


Да кстати, но я подумал что много читать нужно ради такой мелкой ошибкой
Аноним 17/09/21 Птн 20:03:10 2160147420
>>2160144
Малой, срачи то хоть не разводи
Аноним 17/09/21 Птн 20:03:40 2160148421
tfw hello world.jpg 81Кб, 640x644
640x644
>>2160143
Я только несколько дней вкатываюсь в язык, по метаниту и докам, раньше писал жиес и шарпе, потому не привык к синтаксису и логике работы подобных языков,но это временно, я быстро обучаюсь, через неделю две уже такой хуйни скорее всего не будет
Аноним 17/09/21 Птн 20:04:40 2160149422
>>2160143
Он уже сам с собой разговаривает, просто пройди мимо.
Аноним 17/09/21 Птн 20:05:07 2160150423
>>2160147
>
>
но ведь это так, на линуксах и маке куда удобней писать на расте, ещё с учётом вима, и ладно бы похуй на вим, не ради вима на линухе идут, но это же охуенно быстрая и удобноая система, а писать на расте из под винды какой то крайне костыльный метод, проще на линуксах
Аноним 17/09/21 Птн 20:08:30 2160154424
Карикатурный персонаж
Аноним 18/09/21 Суб 14:09:37 2160605425
EdUAtBDXYAAk-h8.jpg 145Кб, 933x1200
933x1200
Сап, подскажите тему для диплома ну русте.
Аноним 18/09/21 Суб 14:19:47 2160614426
>>2153885
>Я работаю в реальной сфере и знаю какие зарплаты кто получает.
>Суть в том, что ты наивный манятеоретик жизни не нюхавший
Смотрю ты нанюхался нафталина и смотришь на мир через свою призму. Может еще и на оборонном заводе работаешь, производя ненужные штуки за 25 в месяц

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

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

>вряд ли даже отличит баблсорт от квиксорта
Это не нужно знать в вебе, вот прям совсем, если дело дошло до того что нужно оптимизировать сортировку и погружаться в алгоритмы, то это либо хайлоад типа яндекса, либо ты что-то делаешь не так. Даже не знаю почему этими алгоритмами некоторые дрочат на собесах.
Вообще этот твой высер выглядит как-будто автослесарь доебывает дальнобойщика что тот не может отличить разные типы топливных форсунок. Писать код на плюсах под железки и писать для вэба на питоне это разные сферы как стоматолог и гинеколог. Любой вкатун бэкендер будет знать лучше тебя что происходит с момента нажатия кнопки "отправить" на дваче до появления на мониторе отправленного поста.
Аноним 18/09/21 Суб 14:44:37 2160633427
>>2160605
друг писал простенький си-компилятор на расте. Дерзай хули
Аноним 18/09/21 Суб 15:09:27 2160646428
>>2160614
>тот же питон уже давно не новомодный
Питон старше жабы и жса, так-то.

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

Аноним 18/09/21 Суб 15:16:51 2160651429
>>2160646
>агрессивные пиарщики ГОвна
Не дотягивают до пиарщиков сисярпа
Аноним 18/09/21 Суб 16:01:55 2160674430
>>2160605
Ну как вариант напиши типобезопасный MapReduce поверх Tokio. В качестве кандидатской пойдет оптимизатор его DAG с выносом маленьких ступеней (что влезают в RAM квоты) в локальные очаги вычислений. В качестве докторской подтянешь на машобчике более эффективный shuffle, оценку skew данных при join и размазывание ступеней по нодам исходя из предсказанных IOPS. А потом продашься с потрохами за пару миллионов какому-нибудь стартапу-переростку в долину. Если не нравится идея, спрашивай еще, у меня таких миллион.
Аноним 18/09/21 Суб 16:45:50 2160692431
>>2160646
>Есть какие-то места вроде озона и вайлдбериса, где есть агрессивные пиарщики ГОвна, но дальше он так никуда и не проник.

>мерить популярность языка по СНГ
Аноним 18/09/21 Суб 18:44:42 2160752432
>>2160646
>Да толком ничего и не пишут.
Микросервисы и много где, особенно в банках и финтехе полюбили его даже в некоторых случаях монолиты с жабы на микросервисы на го переписывают У нас на работе даже прошивки для кое-каких коробочек пишут и плюс работат на бэкенде где потоки с видео/аудио. Остальное все на рельсах.

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

>ruby по популярности и тенденциям в развитии.
Да, да умирает и не развивается поинтересовался бы для приличия прежде чем что-то писать
Аноним 18/09/21 Суб 21:27:08 2160790433
EdUAtBDXYAAk-h8.jpg 145Кб, 933x1200
933x1200
Аноним 18/09/21 Суб 23:56:00 2160910434
Аноним 19/09/21 Вск 00:07:33 2160914435
>>2159696
>хочу сделать программу
Делай, в чем вопрос?
Аноним 19/09/21 Вск 10:44:23 2161024436
Аноним 19/09/21 Вск 14:09:43 2161183437
>>2159696
Какой блядь пойсон эррор, просто возьми AtomicBool. А если у тебя будет тип, который не влезает в атомик, то берёшь parking_lot::Mutex, там пойсонов нет (потому что они не нужны, если ты не пишешь ансейф).
А если ты таки хочешь стандартный мутекс, то просто берёшь и не паникуешь на пойсоне, разворачивая ошибку в данные, там специальная функция into_inner() есть как раз для этого.
Аноним 19/09/21 Вск 14:11:45 2161185438
Чет себя таким тупым ощущаю. Читаю растбук, дошел до пакетов и вот что-то прям хуево понимается, уже раз 6 перечитываю. До этого все было просто, и владения и перечисления, хотя немного на перечислениях потупил, когда в них значения передавать можно было и как их извлекать.
19/09/21 Вск 16:13:33 2161251439
>>2161185
>перечисления
Поэтому надо начинать с ml и его диалектов. Rust = ML + C
Аноним 20/09/21 Пнд 17:16:16 2162099440
Аноним 20/09/21 Пнд 17:21:22 2162109441
>>2162099
Тоже слабо понял. Какой-то адский вброс.
Аноним 20/09/21 Пнд 18:14:05 2162152442
>>2162099
>>2162109
Растовский enum это datatype из ml, т.е. конструктор ADT
ML: datatype 'a option = None | Some of 'a
Rust: enum Option<T> { None, Some(T) }
Аноним 20/09/21 Пнд 18:18:00 2162155443
>>2162152
>хотя НЕМНОГО на перечислениях потупил
>дошел до пакетов и вот что-то прям хуево понимается

мл нужно учить.
Аноним 20/09/21 Пнд 20:00:14 2162214444
>>2162155
И сишку. Т.е. с сишкой и млем не будет проблем ни с перечислениями, ни с пакетами. Алсо, в растбуке предпологается, что ты не зелёный в программировании, т.е. теорию о типах, архитектуре, сетях и т.д. знаешь.
Аноним 21/09/21 Втр 11:13:25 2162684445
>>2133349 (OP)
На одном расте можно работать? Чтобы без всяких плюсов.

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

И как вообще дела с вакансиями?
Аноним 21/09/21 Втр 18:34:52 2163147446
>>2162684
Вакансия пока что самая грустная сторона раста, кратко говоря работы нет

> приятно вам на нем писать
Всем сердцем ненавижу компилятор и бороу чекер, но Бэк на нем писать достаточно приятно
Аноним 22/09/21 Срд 11:06:49 2163673447
>>2159457
ну, шо там по фичам-то?
Аноним 22/09/21 Срд 11:33:34 2163704448
Аноним 22/09/21 Срд 11:35:47 2163705449
>>2163704
Это из хаскеля. Из плюсов raii наверное.
Аноним 22/09/21 Срд 16:47:39 2164028450
>>2163705
мув сементика
но в расте она не из жопы, а из системы типов.
Аноним 22/09/21 Срд 17:32:41 2164055451
>>2163147
> Всем сердцем ненавижу компилятор и бороу чекер
Так он же помогает делать так, чтобы программа потом в рантайме не развалилась.
Аноним 22/09/21 Срд 20:35:32 2164358452
>>2164055
Обычно да, а иногда только мешает писать так как хочется
Аноним 22/09/21 Срд 22:14:07 2164462453
>>2163147
А чего ненавидеть-то, ну оберни что надо в Rc, да и все.
Аноним 22/09/21 Срд 22:32:57 2164476454
E7TXLASVkAELIkl.jpeg 540Кб, 2500x2507
2500x2507
main-walpaper.jpg 170Кб, 1280x960
1280x960
Гейзы, я как погляжу дела у вас тут прямто таки хуёво, не изменилось нихуя за это время, а я в это время на генту перешёл, хотя на втором диске всё ровно устоновил федору, ибо раст будет компилиться часов 4-5
Аноним 22/09/21 Срд 23:06:11 2164494455
>>2164476
> ставить генту
> бояться компиляции
Нахуя ставил-то?
Аноним 22/09/21 Срд 23:32:49 2164519456
>>2164476
>фотография экрана
Аноним 23/09/21 Чтв 00:36:31 2164539457
SmartSelect2021[...].jpg 630Кб, 1619x1005
1619x1005
>>2164494
Да это допизды просто , я раза с 4 только осилил устоновку, и то пиздец, у меня скринфетч компилиться 1 час с лишним, ну его нахуй, ещё драва и граб в прршлые разы сломал, пиздец,я в линуксах на самом деле не долго, месяца 4 назад начал вкат, но генту для меня это всё же лишним времязатрано и долго, я и так три дня компилил и пересобирал систему, ибо пизбей сколько ошибок, потому ну нахуй, пидора/рач остаються мейн-дистрами для разработки



>>2164519
Иначе никак
Аноним 23/09/21 Чтв 01:59:36 2164562458
>>2164539
Ты тот самый чушка, который каждую ошибку постил сюда и засирал треды своими скринами пидорача с анимешными картинками?
Аноним 23/09/21 Чтв 08:18:00 2164603459
16322246785290.jpg 78Кб, 588x766
588x766
>>2164562
Да, ето я
(Автор этого поста был забанен. Помянем.)
Аноним 23/09/21 Чтв 08:37:51 2164612460
>>2164539
>я в линуксах на самом деле не долго, месяца 4 назад начал вкат
>генту
Ты долбоеб? Ставь убунту, ну или федору для начала. Генту совсем для красноглазых и бородатых
Аноним 23/09/21 Чтв 09:08:36 2164629461
>>2164612
Не пизди. Я первые пару месяцев линукса дистрохопился между колясками типа убунты, федоры и дебиана, потом резко полез на арч, а потом сразу на генту. Ничего сложного для красноглазобородатых там нет, достаточно уметь читать хотя бы по русски.
Проблемы могут возникнуть разве что на каком-нибудь экзотическом железе, но они возникнут вообще на любом линуксе.
Аноним 23/09/21 Чтв 10:57:37 2164717462
>>2164629
всё так, разве что заебёшься компилить на каждый пук по 20 минут, а так заебись, ещё рач и пидора норм, но что бы пидора была вполне юзабельно нужно много её напердолить


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

неосилятор плез, я до этого сидел на раче, а щас на пидоре, нахуя мне эти вечноломающийся сами себя коляски?
Аноним 23/09/21 Чтв 12:08:35 2164802463
>>2164476
я тебе так скажу, анон.
Тебе от силы 16-20 лет. И ты не работаешь.

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

Больше мне нечего сказать. Пока.
Аноним 23/09/21 Чтв 12:23:45 2164826464
ZKo0Y1ev400x400.jpg 20Кб, 400x400
400x400
>>2164802
>Тебе 17 лет
> И ты не работаешь.

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


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

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


(Автор этого поста был забанен. Помянем.)
Аноним 23/09/21 Чтв 12:36:17 2164841465
>>2164802
>Пока ты ебешься с этим, нормальные люди делают деньги.
Представил с каким ЕБАЛОМ и ПРИДЫХАНИЕМ ты сказал "деньги" и проиграл.
Деньги как смысл жизни так себе затея.
Но зато ты НОРМАЛЬНЫЙ, так что не бери в голову. Ты молодец! Удачи!
Аноним 24/09/21 Птн 12:27:05 2165608466
qzhtipeAypI.jpg 196Кб, 831x1080
831x1080
>>2164826
>(Автор этого поста был забанен. Помянем.)
Это за 17 лет его так?
Аноним 24/09/21 Птн 21:20:40 2166098467
Дарова, пацаны. Кароче есть либа clap я хочу перевести либу со второй версии на третью, и прекол в том что у меня всё к хуям ломается. Даже после моих блядь исправлений, не хуй соси. Поэтому прошу помощи у двача, пожалуйста, помогите перевести это на clap v3. Вот код с опциями. https://pastebin.com/Q2cuUKZ5
https://github.com/clap-rs/clap
Аноним 24/09/21 Птн 21:52:13 2166117468
>>2161183
Нет, ты не понял, зачем мне атомик? Мне нужно, чтобы остальные треды засыпали, пока первый не закончит работу. Впрочем я уже понял, что мне нужен Condvar (которому один хуй требуется Mutex).
Аноним 24/09/21 Птн 23:37:23 2166237469
>>2165608
За вниманиеблядство.
Аноним 25/09/21 Суб 22:27:34 2167127470
>>2160123
>>2159345
>>2159315
> И прочие посты этого долбоеба
Какой же охуенный компилятор, прям мордой ткнет.
Тыкаюсь в Rust пару дней, вроде ничего так, хочу бэкенд попробовать поскольку сам рельсовик, апишки на чем обычно пишут? По ссылкам в шапке нашел actix и rocket, что из них лучше потыкать?
Аноним 26/09/21 Вск 19:30:00 2167782471
>>2167127
школьничек спокизи, я уже осовйлся и с компилятором и продолжаю изучать и писать конкретные проекты
Аноним 29/09/21 Срд 17:13:14 2170118472
прив мертвый тред!
как напердолить итератор для двух разных структур, если они обе поддерживают итератор?
я пытался сделать свою кастомную, которая держит оригинальную и имплементнуть для нее итератор, тобишь функцию next в которой я метчился по оригинальному типу и возвращал next или одного итератора или другого, но там какие-то разные имплементации, и я чет пососал....
Аноним 29/09/21 Срд 23:05:17 2170374473
image.png 48Кб, 1168x66
1168x66
как убрать из текста паника этот кусок?
Аноним 29/09/21 Срд 23:24:35 2170388474
Аноним 29/09/21 Срд 23:26:34 2170391475
>>2170388
о бля во первых спасимбо, во вторых я б никогда не подумал гуглить такую тему на русике а на англ не выдавало
Аноним 02/10/21 Суб 21:20:34 2172471476
Аноним 03/10/21 Вск 22:00:43 2173128477
Есть идея создать просмоторщик картинок. Вообще есть ли на расте какой-нибудь всеядный дестктоп image viewer, способный обрабатывать и фотошоп форматы и svg по типу picasa? Мб кто-нибудь уде пробовал
Аноним 04/10/21 Пнд 17:16:50 2173744478
Аноны, зацените новый линкер https://github.com/rui314/mold

собирает многопоточно, перелинковка (тупо добавил пробел и собрал) заняла 10 сек на моём 2665 (8/16@2.8)
До этого было что-то в районе 1.5 минут
по зависимостям у меня так
cargo tree|wc -l
985
Аноним 05/10/21 Втр 11:43:10 2174385479
>>2173744
Ау, растаны, чего заглохли?
ОП, добавь mold в шапейку нексттреда, для тех, кто заебался ждать переконпеляции (на самом деле перелинковки) после правки пары строк.
Аноним 05/10/21 Втр 15:06:24 2174536480
>>2174385
хуй знает, какая-то слишком сложная хуйня для мя...
но попутно вопрос, за то время что я писал на расте я видел дохуя инструментов заявляющих что они "самые быстрые в классе" и бля, они действительно самые быстрые если ты осилил непонятный синтаксис. В чем подводные, как достигается ебовейшая скорость?
Аноним 05/10/21 Втр 15:38:54 2174577481
>>2174536
>какая-то слишком сложная хуйня для мя...
Ебать, а я-то думал, что я на расте самый тру-смузи-хипстер.
Там всё тупо: по инструкции собираешь, потом /path/to/mold -run cargo build.

Что касается скорости софта на расте, то на нём легко и приятно писать многопоточные приложения, также есть удобные обёртки над SIMD.
Что каcается mold, то он не на расте написал, просто оче быстрый линкер. Ещё lld можно попробовать.
Аноним 05/10/21 Втр 16:04:46 2174603482
>>2174385
>ОП, добавь
Старый ОП пропал, а я только последные 2 треда перекатывал. Н и вам придется нового ОПа найти, потому что я с двачей ухожу.
Аноним 07/10/21 Чтв 10:18:41 2176481483
>>2174603
Нашёл работу на ржавом?
Аноним 07/10/21 Чтв 12:30:08 2176608484
>>2174603
Нашел тяночку на кукан?
Аноним 09/10/21 Суб 03:08:10 2177927485
Аноним 09/10/21 Суб 11:11:13 2178060486
>>2176608
Почему сразу тяночку-то? Может, трапика нашёл, и теперь вместе няшатся, пушат друг другу коммиты.
Аноним 10/10/21 Вск 11:07:01 2179118487
Аноним 10/10/21 Вск 20:35:27 2179690488
2021-10-10T20:3[...].png 314Кб, 978x880
978x880
блять я чёт аж проиграл с ошибок компиляций
Аноним 10/10/21 Вск 22:57:24 2179826489
>>2164629
> Ничего сложного
И ничего полезного.
Аноним 11/10/21 Пнд 03:50:35 2179921490
>>2134880
А как так выходит, что сраст быстрее си, но медленее плюсов? Растодебил на админе так и не пофиксил данный конфуз?
Аноним 11/10/21 Пнд 10:58:12 2180047491
>>2179921
На сишке писать неудобно. А кресты быстрее потому что там unsound на unsound и UB на UB.
Аноним 17/10/21 Вск 16:00:25 2185924492
Screenshot 2021[...].png 207Кб, 1360x262
1360x262
каждый раз ору с пердоликсов и маняаргументов почему отсутствие в стд (и крейтах, лол) самого очевидного функционала это хорошо
Аноним 17/10/21 Вск 19:34:18 2186075493
>>2185924
ну так раст не плюсы, зависимости в 2 клика добавляются
так что не вижу проблем, тем более если разрабам легче
Аноним 20/10/21 Срд 21:26:01 2189023494
Сап, растаманы. Ищу microORM для домашнего проекта. Требования следующие:

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

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

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

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

Когда-то давно на сишарпах использовал https://github.com/FransBouma/Massive - вот что-то подобное было бы очень кстати.
Аноним 21/10/21 Чтв 00:02:11 2189120495
>>2189023
Охуеть ты комбайн себе хочешь, конечно. Смирись с тем, что все комбайны давно пересели на асинк и научись вызывать его из синхронного кода с помощью block_on.
Аноним 21/10/21 Чтв 01:02:47 2189150496
>>2189120
Мне как раз комбайн не нужен, мне нужна маленькая и простенькая библиотека, которая умела бы в прозрачный CRUD над POD, только и всего. И чтобы она до кучи была синхронной. Все.

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

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

Это дикие и корявые костыли, которые придется по всему коду расставлять или писать макрос, втыкающий эти костыли за меня... Хуевый вариант
Аноним 21/10/21 Чтв 12:31:20 2189318497
>>2189023
Ты хочешь слишком много для бедного раста.

С учётом того, каким говном являются макросы в расте, если ты хочешь не писать SQL руками, то тебе остаются только пляски а-ля дизель с отдельными файлами описания схемы и т.п.
Аноним 21/10/21 Чтв 12:42:22 2189324498
>>2189318
> С учётом того, каким говном являются макросы в расте
А что с ними не так?
Аноним 21/10/21 Чтв 13:09:13 2189345499
>>2189324
Нет никакой возможности получить информации о типах в рамках всей программы.

Соответственно, макросы очень ограничены в плане того, что они могут делать на дерайвах, аннотациях и т.п.
Аноним 21/10/21 Чтв 14:40:10 2189414500
>>2189318
>>2189345
Да я уже вообще чувствую, что придется самому писать что-то...
Аноним 21/10/21 Чтв 15:34:27 2189470501
>>2189414
Ну с твоими хотелками можно в дизель попробовать, он не сильно и страшен, на самом деле.

Потому что все альтернативы проще заставят писать sql руками
Аноним 21/10/21 Чтв 17:25:07 2189566502
>>2189470
Просто у них даже хелловорлд начинается с какой-то энтерпрайзной херни с миграциями + установкой своего консольного инструментария. У меня три таблицы с четырьмя колонками каждая, зачем мне все это?
Аноним 21/10/21 Чтв 22:01:44 2189858503
В общем, это снова я >>2189023. В итоге остановился на 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 был такой вызов, но потом его зачем-то выпилили - видимо, чтобы люди безальтернативно страдали с асинками...
Аноним 22/10/21 Птн 05:34:49 2190062504
>>2189566
> энтерпрайзной херни с миграциями + установкой своего консольного инструментария
Скипаешь, сразу делаешь свои структы и пользуешься только орм.
Аноним 23/10/21 Суб 16:39:38 2191526505
изображение.png 129Кб, 220x220
220x220
Настройки X
Ответить в тред X
15000
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов