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


Ответить в тред Ответить в тред

<<
Назад | Вниз | Каталог | Обновить тред | Автообновление
394 47 80

Rust #6 /rust/ Аноним 15/01/19 Втр 13:05:05 13270891
2019-01-15-1057[...].png (40Кб, 1034x583)
1034x583
15464700540220.webm (2422Кб, 1920x1056, 00:00:12)
1920x1056
2019-01-15-1105[...].png (250Кб, 1669x1327)
1669x1327
mozilla-rust-gr[...].jpg (99Кб, 3261x1260)
3261x1260
Rust — невероятно быстрый язык для системного программирования без segfault'ов и с гарантиями потокобезопасности.

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

https://www.rust-lang.org

> Пачиму helloworld весит как моя мамка?!1й
https://lifthrasiir.github.io/rustlog/why-is-a-rust-executable-large.html

Читать
Оф. книга, она же растбук
https://doc.rust-lang.org/book/
https://rustbyexample.com/
Очень хорошая книга, отлично зайдет после растбука:
http://shop.oreilly.com/product/0636920040385.do

Упражнения
https://exercism.io/tracks/rust
https://github.com/crazymykl/rust-koans

Писать
IDE
https://areweideyet.com/
Вебня
http://www.arewewebyet.org/
Игры
http://arewegameyet.com/
Etc
https://wiki.mozilla.org/Areweyet

Список интересных проектов
https://github.com/rust-unofficial/awesome-rust

Новости
Компиляция всего, что произошло за неделю
Иногда постят вакансии
https://this-week-in-rust.org/
Сколько вешать в лайках
https://github.com/trending/rust

Оп рекомендует:
https://www.amethyst.rs/
https://github.com/TatriX/dvach
Аноним 15/01/19 Втр 16:03:35 13272322
Какую смазку брать для моего парня брать?
Аноним 15/01/19 Втр 16:09:34 13272393
Аноним 15/01/19 Втр 16:19:39 13272464
>>1327089 (OP)
Взял вашу книжку полистать. Первая же угадайка поломалась:

io::stdin().read_line(&mut guess)
.expect("Feiled to readlineliiil)");

Даёт ошибку "type `core::result::Result<usize, std::io::error::Error>` does not implement any method in scope named `expect`"

А вот это робит:

io::stdin().read_line(&mut guess);

Да, жалуется, но поведение хотя бы запускается и делает что надо.


Что за хуйня?
Аноним 15/01/19 Втр 16:23:36 13272495
2019-01-15-1424[...].png (114Кб, 1458x698)
1458x698
>>1327246
Незнаю, нужно больше инфы.
Аноним 15/01/19 Втр 16:28:44 13272506
Аноним 15/01/19 Втр 16:43:08 13272577
123334.jpg (496Кб, 1099x778)
1099x778
>>1327249
>>1327250
Обнаружил в чём проблема:
rustc 1.0.0-beta (9854143cb 2015-04-02) (built 2015-04-02)
cargo 0.0.1-pre-nightly (84d6d2c 2015-03-31) (built 2015-04-01)

И это на офсайте ж нашёл. rustup-init, кстати, не сработал почему-то.
Сейчас бету снёт, накатил 1.31.1 - всё хорошо.
Внезапно и cargo стало прям как по примерам генерировать всё.



Аноним 15/01/19 Втр 16:58:11 13272618
Объясняю почему Rust говно.
1) Как системный ЯП, Rust медленнее, чем C. Причем, в одном случае вы будете ебаться со сложной системой управления памятью (аки защита от макак) , а в другом - с собственным говнокодом. Подразумевается, что системеный программист не макака и способен нормально организовать работу с памятью, без искусственных ограничений встроенных в ЯП.
2) Как прикладной ЯП неудобен (см. пункт 1). Невасянский GC не завезли.
Аноним 15/01/19 Втр 17:00:20 13272629
>>1327261
Количество уязвимостей в коде твоего сферического системного программиста показывает что можно пожертвовать скоростью в пользу безопасности в общем случае. Впрочем, утверждение что одно медленней другого так же ничем не подкреплено.
Аноним 15/01/19 Втр 17:04:17 132726410
>>1327261
Но ведь системное программирование не ставит своей целью сверхскорости. Это скорее побочный эффект с того, что С фактически является обёрткой над Ассемблером.
Аноним 15/01/19 Втр 17:06:50 132726711
Если раст не быстр, значит и не нужен.
Аноним 15/01/19 Втр 17:30:17 132727612
>>1327261
Ты ни на си, ни на расте не писал нихуя.
Аноним 15/01/19 Втр 19:06:52 132733013
>>1327261
Дак ты, это, не с Цэ сравнивай, а с Цэ++. Быстрее сей бывает только ёбля голого ассемблера и фортрана.

Аноны, я и сам хуй простой, только вкатываюсь. Такой вопрос, как бы сделать
(a as i16 - b as i16).abs() as u8
но поизящнее? Нужно вычесть из одного беззнакового другое, получается только вот так топорно.
Аноним 15/01/19 Втр 19:11:17 132733514
Раст по скорости на уровне питона.
Аноним 15/01/19 Втр 19:42:34 132736415
>>1327335
Хихикающая девочка-фротнендер? Заёбанный дядя-плюсист с пятью детьми? Школьник-максималист с комплексом великого провокатора?
Кто же ты, о чудо?
Аноним 15/01/19 Втр 19:55:02 132737616
Аноним 15/01/19 Втр 19:57:50 132738117
Аноним 15/01/19 Втр 20:07:34 132739018
>>1327376
едрить, ну и костыль. Хотя, сам пример интересный, спасибки.
Аноним 15/01/19 Втр 20:13:05 132739319
>>1327390
Раст это костыль на костыле с убогим синтаксисом. Даже для мк не попрогать на нем.
Аноним 15/01/19 Втр 21:19:17 132742720
>>1327393
Ну а как бы ты вычел на ассемблере? Тут или распаковывать в знаковое, или вычитать из большего меньшее. Вот системность раста, как языка, она об этом. Вот тут даже хз, что будет шустрее, вроде бы на simd есть команды для сравнения и сортировки, так что и там, и там вариант со сравнением, скорее всего.
Аноним 15/01/19 Втр 23:05:25 132748621
Аноним 15/01/19 Втр 23:07:01 132748722
Аноним 15/01/19 Втр 23:17:12 132749523
>>1327276
lab1.c lab2.c lab3.с LAB4.c
не хотел?
Аноним 15/01/19 Втр 23:34:38 132750924
Чем плохо переписывание существующего кода на раст? Почему это так не любят?
Аноним 15/01/19 Втр 23:52:33 132752125
>>1327509
Ничего плохого если ты сам этим занимаешься. Не любят из-за товарищей которые в иссуях на гитхабе капают на мозги мол давай переписывай свою хуйню на раст, раст ебать топчик.
Аноним 15/01/19 Втр 23:54:45 132752526
Аноним 16/01/19 Срд 00:08:35 132753927
Аноним 16/01/19 Срд 03:08:03 132760028
>>1327539
Почему ты пишешь имя Иисуса на английском языке?
Аноним 16/01/19 Срд 07:29:53 132762529
Вопрос к прошаренным. Не сочтите за наезд или троллинг.
Раст вообще развивается? Что там нового?
Просто часто слышу в разговорах, что раст застопорился. Расскажите кому не лень и кто шарит. Только подробно.
Аноним 16/01/19 Срд 07:35:49 132762730
>>1327625
Хуясе застопорился. Недавно выкатили 2018 версию с кучей новых фич. В этом году ожидаются две большие фичи: корутины и константы в генериках. А так сами разработчики не хотят торопить события и сосредоточится на стабилизации и допиливании существующих фич, а не придумывании новых.
Аноним 16/01/19 Срд 07:49:49 132763031
>>1327627
Ясно. Смотрел давно видос, что лысый из яндекса нахваливал язык. Сейчас где юзают его, в каких проектах/конторах?
Аноним 16/01/19 Срд 10:11:48 132766532
Аноним 17/01/19 Чтв 13:36:59 132848733
Что-то я читаю всякие реддиты-медиумы-хакерньюсы в последнее время и замечаю , что люди прям срут на раст. И собсна вопрос, а чего нас так вдруг невзлюбили? Язык не особо чем выделяется, чтоб говном поливать. Растаманы не индусы, и не фронтендеры. Оглядел тред, тут тоже какие-то буйственные настроения. В чем хейт то пошел ? Я что-то пропустил ?
Аноним 17/01/19 Чтв 13:56:29 132849934
>>1328487
Сперва был хайп, переоценка, теперь идёт откат. Таким маятником и устаканится отношение к нему.
Не срут же на джулию, с которой я на него вкатился, а она то ещё говнецо.
Аноним 17/01/19 Чтв 14:00:51 132850835
>>1328487
> Что-то я читаю всякие реддиты-медиумы-хакерньюсы в последнее время и замечаю , что люди прям срут на раст. И собсна вопрос, а чего нас так вдруг невзлюбили? Язык не особо чем выделяется, чтоб говном поливать. Растаманы не индусы, и не фронтендеры. Оглядел тред, тут тоже какие-то буйственные настроения. В чем хейт то пошел ? Я что-то пропустил ?

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

Ну и в первую очередь потому что хотелки нипалучились и устраивающей всех по фичам стабильной спеки ещё так и не вышло.
Аноним 17/01/19 Чтв 15:22:43 132857136
>>1327089 (OP)
>Rust — невероятно быстрый язык
Такой быстрый, что в некоторых тестах даже медленнее C#

>regex-redux
>C# .NET Core 2.22
>Rust 2.44
Аноним 17/01/19 Чтв 15:32:36 132859237
6Mfy5mrd.jpg (21Кб, 640x554)
640x554
>>1328571
Лол, я даже не глядя уже понял , с какого сайта бенчмарки такие идут. Интересно , сколько ещё клованов найдется , которые все его цитировать будут. В каждом ебаном треде о каждом ебаном языке, блять.
Аноним 17/01/19 Чтв 16:12:51 132863138
1400564103420.png (116Кб, 462x754)
462x754
Аноним 17/01/19 Чтв 16:19:12 132863939
horriblesubs-ni[...].jpg (34Кб, 736x414)
736x414
Аноним 17/01/19 Чтв 16:26:20 132864340
>>1328571
>[DllImport("pcre2-8", EntryPoint = "pcre2_compile_8", CharSet = CharSet.Ansi)]
Эх, щас бы сравнить встроенную библиотеку раста с сишной библиотекой регулярок от гугла и назвать это тестом перформанса раста вс шарпа ¯\_(ツ)_/¯
Аноним 17/01/19 Чтв 16:31:04 132864941
>>1328487
Дизайн языка плохой, рестриктивный.
Он не делает решение никаких задач проще. Запретили одну дырявую абстракцию, в итоге на расте пишут другие точно такие-же дырявую абстракции адресации памяти с точно такими-же багами.
Аноним 17/01/19 Чтв 16:38:59 132865542
>>1328643
А тебе кто-то запрещает использовать интероп в шарпе?
Наоборот, это преимущество языка. 90% кода пишутся на простом, высокоуровневом языке, а там, где нужна производительность, вынести в быстрые библиотеки.
Аноним 17/01/19 Чтв 16:43:24 132865943
>>1328655
Это всё очень хорошо, но это не будет показателем производительности C#, так что такие бенчмарки идут нахуй.
Аноним 17/01/19 Чтв 16:45:51 132866144
>>1328649
>Он не делает решение никаких задач проще.

Он делает проще задачу поиска проблем из категории buffer overrun, use-after-free и aliasing. Ничего кроме этого он не заявлял.
Аноним 17/01/19 Чтв 16:50:30 132866445
>Rust is fast
Not with the number of defensive copies or arbitrary synchronizations you need to make to satisfy the BC.
>Rust can easily integrate with other languages
No stable ABI
>Rich type system
No HKTs
No pi types
>guarantee memory-safety
Still trivial to leak memory with a reference cycle
>productivity
Enjoy fighting the BC more than doing actual work
Аноним 17/01/19 Чтв 16:54:16 132867046
>>1328664
> Enjoy fighting the BC more than doing actual work
С таким настроением только в языки с gc.
Аноним 17/01/19 Чтв 16:55:33 132867247
>>1328487
На всё чем хоть кто-то пользуется срут все кому не лень, см. цитату Страуструпа.

Алсо, так же можешь посмотреть на коменты под новостями о новых версиях какого нибудь окамла (которых нет). Так что, наличие критики = используемость.
Аноним 17/01/19 Чтв 17:09:43 132869048
363602.jpg (69Кб, 725x465)
725x465
>>1328672
>см. цитату Страуструпа.
Аноним 17/01/19 Чтв 17:11:32 132869449
>>1328670
Че, неприятно? Язык не оправдывает своих ожиданий и разработчики нагло врут о якобы быстром языке.
Аноним 17/01/19 Чтв 17:14:37 132869750
>>1328694
> нагло врут о якобы быстром языке
Это ты про сишарп вкинул что ли?
Аноним 17/01/19 Чтв 18:07:14 132875051
>>1328664
Ловите борщехлеба.
17/01/19 Чтв 18:25:40 132876152
>>1328750
К чему ты это пропердел?
Аноним 17/01/19 Чтв 18:45:07 132876953
>>1327625
Если все такие умные может ответите?
Аноним 17/01/19 Чтв 19:45:51 132880954
Аноним 17/01/19 Чтв 19:58:18 132881255
>>1328809
А это правда, что Rustовитяне все CoCолды?
Аноним 17/01/19 Чтв 20:05:16 132881556
>>1327232
по поводу гомофобии, которая постоянно всплывает в растотредах
вы хоть понимаете, что это не только раста касается, а вообще всех новых технологий разрабатываемых в бездуховных геймерике и гейропе? где они преобладают, там и кок/сжв/лгбт будут как правило! и в таком случае вы предлагаете из-за этого тупо гасить всё новое оттуда или есть варианты получше?
Аноним 17/01/19 Чтв 20:09:50 132881857
>>1328815
Когда по существо нечего сказать, включают петросяна.
Аноним 17/01/19 Чтв 20:16:44 132882158
>>1328815
Программировать на C++, разве там много LGBT?

>>1328818
>по существу нечего сказать
Почитай это >>1328664
Аноним 17/01/19 Чтв 20:19:14 132882359
>>1328821
Нечего там читать. "Я не осилил борроу-чекер, я хочу систему типов как в языках с гц, но с перформансом сишечки". Хотеть не вредно.
Аноним 17/01/19 Чтв 20:23:37 132882860
>>1328823
Борроу-чекер просто НЕ позволяет тебе писать быстрый код
Какой сейфти, если утечку памяти можно сделать через обычный референс цикл?
Какое компатибилити, если хуево поддерживается двоичный интерфейс приложений?
Ну и видимо, кроме hello world'ов ты сложнее ничего не писал, да и понятно почему, ты не смог заставить код работать из-за BC
Аноним 17/01/19 Чтв 20:27:10 132883161
>>1328828
Мань, ну вычитал ты где-то кукареки того, кто не разбирается в том о чем говорит, ну молодец.

Пруфа про связь борроу-чекера и скорости?
Мемори-сейфити != нет утечек памяти
Какая связь между гаратниями совместимости между версиями раста и ABI?
Аноним 17/01/19 Чтв 20:37:37 132884162
>>1328821
>Программировать на C++, разве там много LGBT?
сразу вспомнилась картинка двух программистов в леопардовой раскраске
не знаю как сейчас, но если для с++ предполагается приток новых программистов, то там будет также, ибо новые поколения молодых людей уже воспитываются в том духе, который неприятен гомофобам
что тогда будете делать?
Аноним 17/01/19 Чтв 20:41:18 132884463
>>1328841
Создадут нормальный язык. И в этом случае производительность программистов будет намного больше, чем на других, лгбтшных, потому что им не нужно бороться с самоидентификацией и харассментом
Аноним 17/01/19 Чтв 20:42:26 132884564
>>1328844
Очень надеюсь что ты либо тупой троль, либо глупый ребенок. Потому что иначе, у меня для тебя плохие новости.
Аноним 17/01/19 Чтв 20:45:43 132885065
Аноним 17/01/19 Чтв 20:49:49 132885366
>>1328845
Во-первых, вы тысячу лет ебетесь с BC. Осилить BC значит потратить дохуя драгоценного времени, вместо работы
Во-вторых, это гендерно-небинарные животные. Любой откровенно плохой код будет котироваться, т.к. "плохой код" - это термин цисгендерных угнетателей.
В-третьих, а впрочем, уже достаточно.
Аноним 17/01/19 Чтв 21:01:14 132886567
>>1328853
> Осилить BC значит потратить дохуя драгоценного времени, вместо работы
Не осилить бц значит потратить больше времени на последующую отладку. Или ты тот самый гениальный программист который пишет сразу без ошибок? Тогда непонятно с чего вдруг у тебя проблемы на такой мелочи как бц.
Аноним 17/01/19 Чтв 21:04:10 132886968
>>1328844
>Создадут нормальный язык.
а с железом и всеми остальными технологиями как быть? приходите за техподдержкой, а там ОНИ
Аноним 17/01/19 Чтв 21:17:45 132887969
>>1328869
Приходится сейчас на Путина только и надеятся, что не даст пидорам захватить рынок
Аноним 17/01/19 Чтв 21:25:51 132888870
>>1328831
>Мемори-сейфити
Не было и никогда не будет. Анально огораживаешь одну модель памяти, а потом прописывает не тот индекс массива и ловишь panic
Аноним 17/01/19 Чтв 21:35:41 132889471
>>1328888
во-первых, никто не запрещает тебе пользоваться итераторами и прочую функциональщину.
во-вторых, сейфти там скорее о том, что у тебя не возникнет ситуаций, когда 2 потока меняют значения по одному адресу, либо один поток удалил массив, а второй об этом не в курсе (на сях такая поебень даже в однопоточном коде встречается).
в-третьих, у раста хотя бы паники адекватные. Я бы даже сказал, приятные.
Аноним 17/01/19 Чтв 22:31:52 132893272
>>1328888
Ну дык обращение по индексу делается если ты точно стопроцентно уверен что нужное значение там есть. Если не уверен, делаешь get(i) и получаешь свой Option<T>
Аноним 17/01/19 Чтв 22:34:26 132893373
1547753527806.png (83Кб, 500x700)
500x700
Аноним 18/01/19 Птн 00:20:04 132900574
2019-01-17-2223[...].png (58Кб, 1646x843)
1646x843
18/01/19 Птн 00:25:16 132900975
>>1329005
>jemalloc is removed by default
дальше не читал.
Аноним 18/01/19 Птн 03:32:13 132908176
Моя драм-машина.webm (14415Кб, 616x420, 00:05:01)
616x420
Non-lexical lifetimes можно как-то отключить?
Знаю что можно выставить edition = "2015", но это все 2018-edition-фичи отключит, а можно ли вырубить отдельно nnl?
Аноним 18/01/19 Птн 04:54:03 132909277
>>1328809
Мне интересно НОРМАЛЬНОЕ и объективное мнение по языку. Я зашел не тролить, мне реально интересно, потому что нравится С++(На работе java). Просто я не хочу пока что в него погружаться, чтобы разбираться в нём.
Своё мнение напиши. Как язык, что нравится а что нет.
Аноним 18/01/19 Птн 04:57:14 132909378
855702.png (253Кб, 460x460)
460x460
>>1328812
Конечно нет. Взгляни на этого парня. Он ебёт шведских цыпок по две штуки в день пикапя их рассказами про хаскель.
Аноним 18/01/19 Птн 08:29:52 132911979
>>1329092
Ну, мне пока всё нра. Не хватает https://github.com/rust-lang/rfcs/issues/2092 разве что.
Если сравнивать с плюсами, то у раста
- меньше паник
- паники читабельны и понятны (сегфолты в плюсовом ооп коде та ещё мерзость)
- есть cargo
опять же, у плюсов есть хорошие фичи, типа умных указателей (не бц, но типа похоже), но это опционально - можешь юзать, а можешь и не юзать. Или ты будешь юзать, а кто-то нет - в какую-нибудь стороннюю функцию, которая юзает обычные указатели, умный уже не передашь.
А вообще я novichok, неделю на расте
Аноним 18/01/19 Птн 09:48:19 132914880
>>1329092
нормальное и объективное мнение: язык говно. тупо добавили read write lock для всех переменных на этапе компиляции.

говорят, что многопоточное программирование сложное из-за ебли с синхронизацией и mutex'ами, т.к. сложно этот весь зоопарк контроллировать и уследить, нужно постоянно строить ментальную модель в голове что где откуда читается, где блокируется и т.д.
а теперь представь, что ВЕСЬ код на расте нужно писать как многопоточный код с mutex'ами.
Аноним 18/01/19 Птн 09:55:02 132915381
>>1329148
А чего там сложно с мютексами-то? Вот с атомиками, да. Заебёшься придумывать как так сделать чтобы оно работало и было быстрее старого доброго лока.
Аноним 18/01/19 Птн 11:55:04 132922282
>>1328888
>анально огораживаешь одну модель памяти, а потом прописывает не тот индекс массива и ловишь panic

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

>>1329148
>говорят, что многопоточное программирование сложное из-за ебли с синхронизацией и mutex'ами,

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

>а теперь представь, что ВЕСЬ код на расте нужно писать как многопоточный код с mutex'ами.

Если ты не макака, ты ХОЧЕШЬ писать в таком стиле что на плюсах, что на Питоне, потому что огребешь проблем, если вызов функции поменял состояние , а ты не уследил.
Аноним 18/01/19 Птн 20:02:32 132954083
>>1329081
Просто ради интереса: а зачем? То есть оно же никак не мешает.
Аноним 18/01/19 Птн 20:11:45 132955384
>>1329148
>ВЕСЬ код на расте нужно писать как многопоточный код с mutex'ами

ЧИВО БЛЯТЬ? То есть я абсолютно не понимаю что ты спизданул. Какой весь код с мьютексами? Код пишется абсолютно нормально. Да, иногда приходится думать, почему ругается BC, но как бы тут на тебя ругается компилятор, а в C(++) это будет или сегфолт, или какая-нибудь забавная гонка данных, которую хуй отладишь. Или оверхед на смарт-поинтеры, да.

А сейчас еще NLL в раст добавили, теперь можно потихоньку и отвыкать от старых правил.

Да, бывает, что BC на нормальный код ругается и приходится подсказывать ему с помощью лафйтаймов, но это крайне редкий случай, и лучше уж так, чем потом сидет в дебагере, разбирая, а где же там все разъебалось.
Аноним 18/01/19 Птн 23:21:41 132972685
>>1329553
>NLL в раст добавили
Замечательно. Пока не скомпилируешь, не поймёшь есть ошибки или нет.
Аноним 18/01/19 Птн 23:26:39 132973686
>>1329726
> Пока не скомпилируешь, не поймёшь есть ошибки или нет.
Есть RLS, он компилирует в бекграунде и показывает ошибки сразу. А вообще двачую. Лучше бы сделали как в C++: пока не запустишь, не поймёшь есть ошибки или нет.
Аноним 19/01/19 Суб 00:36:13 132978387
>>1329726
В любом языке так делаю, чтобы не отвлекаться от алгоритма, который пишу, зависимости нет.
Аноним 19/01/19 Суб 01:08:27 132979688
>>1329726
Так падажжи ебана, а что не так? Конечно можно как в джаваскрипте ловить "undefined is not defined", но я как-то предпочту отловить ошибку ДО ТОГО, как программа запуститься. Странное желание, конечно.
Аноним 19/01/19 Суб 12:15:43 132996689
Теперь ты подчи[...].webm (10269Кб, 747x420, 00:04:35)
747x420
>>1329796
Думаю он имел ввиду что раньше ошибки лайфтамов он мог найти даже без компиляции - статическим анализом, посчитав скоупы.
Вообще я не знаю нужна ли компиляция теперь, но проверять "в голове" определённо сложнее стало.
>>1329540
Вот собственно затем.
Я раст только изучаю, а nnl усложняет понимание и так сложной системы лайфтаймов.
Аноним 19/01/19 Суб 15:24:55 133009990
>>1329966
Нужно всего лишь этот статический анализатор сделать и будет работать ровно так (или таки воспользоваться RLS/Racer).ТО есть в такой формулировке проблема только в том что еще нет такого инструмента. В C++ вряд ли IDE волшебным образом находила сама ошибки, да.
Аноним 19/01/19 Суб 20:52:23 133036891
20190120-b0b88.png (141Кб, 587x543)
587x543
>>1329966
>я не знаю нужна ли компиляция теперь
У меня в виме плагинчик, которых высвечивает мои косяки при каждом сохранении файла - вы об этом? Если да, то хз, как вы без этого живёте.
алсо, поясните за лайфтаймы и вообще структуру - не наворотил ли я пиздеца
Аноним 19/01/19 Суб 23:23:33 133048092
Аноним 19/01/19 Суб 23:33:50 133048993
>>1330480
> My main reason is that I have chosen to pursue a career in mathematics research.
Ну понял чел что писать код это не его. Что с того?
Аноним 19/01/19 Суб 23:33:51 133049094
Аноним 20/01/19 Вск 01:02:39 133052895
>>1330480
The proposals were not aligned with the language goals. I was, as is recurring, too ambitious, thinking that I could reform the whole type system with all these new nice theoretical properties, many of which are more complicated than useful.

Вся суть
Аноним 20/01/19 Вск 11:19:06 133066696
А что это за браузер на вебмке, где по тредам маршрутизируют, словно по миднайт коммандеру?
Аноним 20/01/19 Вск 12:18:18 133071497
Аноним 20/01/19 Вск 19:09:12 133097398
>>1330368
Вложенные слайсы? Почему не просто Vec<Vec<T>> ?
Аноним 20/01/19 Вск 22:00:12 133117799
>>1330973
Хотелось построжее. Однако, эти лайфтаймы, энто что-то, а вот вектор, ну совсем распиздяйский тип. Но я нашёл сторонний костыль - ArrayVec.
Аноним 20/01/19 Вск 23:43:51 1331292100
>>1331177
Построже с чем? Единственное прямо преимущество, которое я вижу, это потенциально более эффективная работа слайсов, по сравнению с веторами.

А так вообще непонятно какую задачу ты пытаешься решить. Судя по ArrayVec ты знаешь уже конечный размер своей "матрицы". Тогда почему не просто массив массивов?
Аноним 21/01/19 Пнд 01:23:48 1331329101
Кто то использует связку Rust + Vulkan api?
Аноним 21/01/19 Пнд 15:57:47 1331773102
Начинаю только изучать Rust
Подскажите, пожалуйста, что означает символ "?" в конце некоторых функций/методов? И как он называется, чтобы пойти в доках почитать подробнее
Аноним 21/01/19 Пнд 16:07:11 1331779103
Аноним 21/01/19 Пнд 16:45:38 1331806104
>>1331773
исключения для бедных
Аноним 21/01/19 Пнд 18:21:00 1331913105
Аноним 21/01/19 Пнд 18:30:11 1331922106
>>1331292
>почему не просто массив массивов
мне нужен массив массивов с конечным типом ImageBuffer. Допустим, у меня 40 на 40 - как мне проинициализировать такую-то еблолу?
1. С ссылками я мог бы сделать [[&someImage; 40]; 40];
но ссылки в структуре, это пока неподвластное мне ниндзютсу
2. Если использовать [[someImage; 40]; 40], то это даёт ебический оверхед при создании - сперва скопируй 40х40 раз одну хуйню, потом заполни другой.
3. Можно обернуть ImageBuffer в п.2 в Option и заполнить нонами вместо someImage, но на хрен такое только ради создания - потом-то у меня однозначно всё на месте будет.
4. Остаётся юзать вектор, как и остальным слабакам
Аноним 21/01/19 Пнд 18:53:22 1331953107
>>1331922
А зачем нужна одна и та же хуйня 1600 раз?
Аноним 21/01/19 Пнд 19:19:57 1331979108
>>1331922
То есть я правильно понял, что тебе нужен 40x40 массив со ссылками на уже существующие объекты? Или что?

Вот ты пишешь:
> мне нужен массив массивов с конечным типом ImageBuffer
Тогда зачем тебе массив со ссылками на этот тип? Почему не сразу массив массивов из этого типа? (про оверхед вообще не вдуплил, что ты там и куда копируешь, сори).

Если проблема в том чтобы проинициализировать, то тут или вектором, или намути макрос, который за тебя заебашит инициализацию такого массива (я даже уверен что уже подобные хелперы существуют).
Аноним 21/01/19 Пнд 19:31:14 1331987109
>>1331979
Может я тупой, но.. проблема в том, чтобы создать пустой массив типа ImageBuffer и потом заполнить значениями. Нужно или сразу создать заполненный - а это лишнее копирование, или сразу инициировать - а это 1600+ строк кода инициализации. Хотя, на счёт макроса я погуглю, сам такое писать пока не осилю.
>>1331953
>одна и та же хуйня 1600 раз
вот так в расте инициализируются массивы. Сперва одна хуйня 1600 раз, а уж потом фигачишь туда 1600 разных хуйней вместо неё.
Аноним 21/01/19 Пнд 20:05:43 1332011110
>>1331987
Все, понял. Ну да, создать "пустой массив" нельзя (как через malloc в C), ибо получится кусок памяти, который заполнен мусором (очевидно). Проще всего тогда через векторы, наверно:

let x: Vec<Vec<ImageBuffer>> = vec![Vec::with_capacity(40); 40];

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

Есть еще ОЧЕНЬ НЕКРАСИВЫЙ вариант: https://doc.rust-lang.org/nomicon/unchecked-uninit.html , но я бы без веской необходимости им не пользовался.

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

Ну так ты сразу пихай туда нужную хуйню.

21/01/19 Пнд 20:08:16 1332012111
То есть в расте нет адекватного решения на это?
Аноним 21/01/19 Пнд 20:10:52 1332014112
>>1332012
А что в твоем понимании адекватный вариант?
Аноним 21/01/19 Пнд 20:51:42 1332034113
Аноним 22/01/19 Втр 20:41:25 1332795114
Лол, я этого автора уже по заголовкам определяю, очень у него статьи своеобразные.
https://habr.com/ru/post/437128/
Аноним 23/01/19 Срд 17:40:01 1333481115
Аноним 23/01/19 Срд 18:56:25 1333503116
>>1333481
Да. Никто же на языке не пишет.
Аноним 23/01/19 Срд 20:34:13 1333536117
>>1333481
Линкани сюда, посмотрим.
Аноним 24/01/19 Чтв 22:18:40 1334327118
Посоны, а если я открытый гейсо всеми атрибутами типа полосатого хедера в свиттере, радужного бэкграунда на аватарках и тд, это будет считаться преимуществом при отборе на вакансию?
Аноним 25/01/19 Птн 09:15:22 1334476119
>>1334315
>>1334327
ГЫЫЫЫЫЫ мам смотри там педики в разработке конпелятора участвуют ГЫЫЫЫЫ на работу на расте берут только педиков ГЫЫЫЫ мам я затролел их

пожалуйста, съеби назад в свой пщ-тред, ребенок
Аноним 25/01/19 Птн 12:54:49 1334547120
>>1334476
>яростный кукарек обиженного СоСолда
думаю, теперь всем окончательно стал понятен общий уровень завсегдатаев этого треда
Аноним 25/01/19 Птн 12:56:29 1334549121
>>1334548
Было бы смешно, он бы не агрился. Мне вот тоже не смешно. Нахуй вы несмешно тралите?
Аноним 25/01/19 Птн 13:45:00 1334559122
Аноним 25/01/19 Птн 13:47:24 1334561123
>>1334548
> бля ахаха смотрите там педики а если я педик меня возьмут к ним гыгыгы
Очень смешно, да. Может тебе еще и русские комедии нравятся?
Аноним 25/01/19 Птн 13:52:32 1334562124
Ес
Аноним 25/01/19 Птн 20:50:27 1334770125
20190126-41865.png (53Кб, 1185x124)
1185x124
Аноны, поздравьте меня с первым unsafe: мучу каст из Vec[u8] в Vec<Rgb<u8>>

вообще, сразу вопрос:
ImageBuffer<Rgb<u8>, Vec[u8]> => (через .into_raw()) => Vec[u8] => (через unsafe mem::transmute::) => Vec<Rgb<u8>>
я ничего по пути не проебу?
картинка на случай проёба разметки
Аноним 25/01/19 Птн 21:20:23 1334791126
>>1334770
А ты уверен, что у Rbg<u8> паддинга нету?
Лучше реализуй для Vec<u8> что-то типа GetPoint() -> Rgb<u8>. Или вообще сделай свой ImageBuffer массивом векторов, так и векторизация лучше работать будет.
Аноним 25/01/19 Птн 21:21:25 1334792127
>>1334791
>массивом векторов
В смысле, вектор под каждый канал.
Аноним 25/01/19 Птн 21:28:04 1334799128
>>1334770
Покажи лучше код. Из твоего описания тяжело сказать, не проебешь ли ты чего. Но кажется что не должен, Rgb устроен максимально примитивно (это же из image, да?), там вряд ли что может помешать (разве что на вход получишь таки не Rgb картинку, а что либо другое).
Аноним 25/01/19 Птн 21:29:14 1334800129
>>1334791
Нет, оно repr(C). Я недавно оттуда напрямую гонял байты в opengl, все нормально.
Аноним 25/01/19 Птн 21:37:54 1334810130
>>1334799
>image
да оно самое. Кода много, я там типы привожу, макросы хуячу - чтобы безболезненно можно было на Rgba или grayscale перекатиться.
>>1334791
>у Rbg<u8> паддинга нету
А вот как понять? Вроде простая структура https://docs.rs/image/0.21.0/image/struct.Rgb.html

Лан, сча тестом покрою через обратную конвертацию и сравнение, и заебок. Как же охуенно, что в расте так элементарно пишутся тесты.
Аноним 25/01/19 Птн 22:16:24 1334841131
Я раст не знаю, но мне очень интересует наверное единственный существующий язык-альтернатива си. И меня интересует, каким именно образом в расте осуществляется в ней защита от утечек памяти и потокобезопасность?
Аноним 25/01/19 Птн 22:24:45 1334850132
>>1334841
> И меня интересует, каким именно образом в расте осуществляется в ней защита от утечек памяти и потокобезопасность?

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

Утечки, если постараться, можно получить, от дедлоков, если действовать неаккуратно, тоже никуда не денешься..
Аноним 25/01/19 Птн 23:57:23 1334926133
>>1334850
>Утечки, если постараться, можно получить
А если стараться не получать утечки, то легче ли их будет предотвратить чем в С?
Я хоть на С и писал только одни лабы, но даже в них всё равно сталкивался с утечками памяти, даже когда старался их предотвратить. В расте с этим всё как я понимаю намного проще и компилятор не даст скомпилировать откровенную лажу?
Аноним 26/01/19 Суб 00:06:32 1334933134
>>1334926
В си ты скорее всего просто забывал освободить память, оттуда и утечки.
Чтобы получить утечки в расте, нужно сделать хитровыебанный цикл между Rc.
Аноним 26/01/19 Суб 00:18:23 1334936135
>>1334933
>В си ты скорее всего просто забывал освободить память, оттуда и утечки
Именно так и есть. Поэтому для обнаружения и предотвращения утечек мне приходилось использовать следующий метод: я запускал проверяемый кусок в бесконечном цикле и смотрел в менеджере процессов на потребляемую процессом память. Если она оставалась константной, то значит всё в порядке, а если нет, то значит в освобождении памяти есть ошибка. И как не странно, выяснялось, что утечки встречались намного чаще, чем этого хотелось.
Аноним 26/01/19 Суб 00:20:20 1334937136
>>1334936
Открой для себя valgrind.
А лучше пиши на расте и не парься. Вероятность обосраться в нём на столько меньше, что до своего первого дедлока/утечки ты успеешь обписаться.
Аноним 26/01/19 Суб 00:38:41 1334941137
>>1334937
>Открой для себя valgrind.
Я вообще не сторонник дебагеров. И весь дебаг обычно провожу прямо в голове. Ну или пишу вспомогательные куски кода для тестирования.
Аноним 26/01/19 Суб 00:42:29 1334942138
>>1334941
> laba2.cpp
Ты держись там.
Аноним 26/01/19 Суб 00:48:54 1334944139
>>1334942
Лаба лабе рознь. И бывали у меня и такие лабы, которые две недели нужно было писать по несколько часов каждый день.
Аноним 26/01/19 Суб 00:50:59 1334945140
>>1334944
Нихуя ты! Не перетрудился?
На дебаггер надейся, но и сам не плошай!
Аноним 26/01/19 Суб 03:49:51 1334963141
>>1334476
>в свой пщ-тред

не, он не из пщ-треда, ибо всё, что появилось за последние 10 лет, уже опидорено, и так будет и дальше продолжаться и усиливаться пока мы паразитируем на технологиях бездуховных геймерики и гейропы
Аноним 26/01/19 Суб 11:23:16 1335037142
>>1334963
А у меня вот друг гей. Мне норм.
Аноним 26/01/19 Суб 11:44:53 1335049143
>>1334936
>Именно так и есть. Поэтому для обнаружения и предотвращения утечек мне приходилось использовать следующий метод: я запускал проверяемый кусок в бесконечном цикле и смотрел в менеджере процессов на потребляемую процессом память.

Конкретно эту проблему решили еще в С++ (до 11-го стандарте на уровне "можно сделать"), просто из-за кучи слоёв абстракции это породило ряд иных дырок.
Аноним 26/01/19 Суб 11:48:23 1335050144
>>1335049
Это каким же образом? Положив в стандартную либу пару смартпоинтеров?
Аноним 26/01/19 Суб 11:58:52 1335056145
>>1335050
Я про весь подход с RAII в целом. Благодаря смартпоинтерам стало приятнее писать деструкторы, но в любом случае, если в Си на каждый malloc приходилось писать free, то в плюсах нужно было описать одну функцию, которая вызывается сама.
Аноним 26/01/19 Суб 12:02:31 1335058146
>>1335056
Вот только ты можешь этого и не делать.
И люди уровня label3.cpp в рот ебали эти ваши смартпоинтеры.
Аноним 26/01/19 Суб 12:05:25 1335060147
>>1335058
А у людей уровня laba3.rs тупо нет выбора. И это здорово.
Аноним 26/01/19 Суб 12:05:33 1335061148
>>1328659
>программа на языке не показатель производительности языка
))
В манямирке шизиков только, а в реальном мире, что язык может - то и производительность. Производительность может быть только у реальных написанных программ, а не у маняязыка в избирательном шизиками вакууме.
Аноним 26/01/19 Суб 12:09:20 1335066149
>>1335056
> если в Си на каждый malloc приходилось писать free
Не-а. Самая большая проблема в том, что у функции может быть несколько точек выхода. Типа
void yoba() {
x = malloc(...);
if (!peka()) {
free(x);
return;
}
if (!psshh()) {
free(x);
return;
}
}

Поэтому тебе не на каждый malloc нужно писать free, а намного больше, на каждый выход x из области видимости. А чтобы не было бойлерплейта использовать goto.

void yoba() {
x = malloc(...);
if (!peka()) {
goto cleanup;
}
if (!psshh()) {
goto cleanup;
}
cleanup:
free(x);
}
при чем этих cleanup'ов может быть несколько, в зависимости от логики.

И вот это уже пиздец.
>>1335060
А люди уровнем повыше ебутся.
Аноним 26/01/19 Суб 12:13:48 1335070150
>>1335066
Не ебемься. Убери свой готу от греха.
Аноним 26/01/19 Суб 14:01:42 1335177151
>>1335061
> программа на языке
Так в том и дело что часть программы на другом языке.
Аноним 26/01/19 Суб 14:49:40 1335241152
>>1335177
В том то и дело что нет. Язык это то на чем ты пишешь программы. Ты не пишешь библиотеки на других языках, а только их подключаешь.
Аноним 26/01/19 Суб 14:51:33 1335242153
>>1335241
Это тест скорости библиотеки.
Аноним 26/01/19 Суб 16:24:36 1335364154
>>1335241
Получается, если подключить ту же либу к Расту, то Раст окажется быстрее Раста?
Аноним 26/01/19 Суб 19:12:31 1335467155
>>1335364
>Получается, если подключить ту же либу к Расту, то Раст окажется быстрее Раста?
Вот ты ебодятел-то, а. Эта либа написана на С, 99% времени работает она, соответственно, ты измеряешь скорость работы алгоритма в его реализации на С. Эту же либу можно и к бидону подключить - внезапно, какой охуенно быстрый язык получится.
26/01/19 Суб 19:42:51 1335487156
>>1335467
Игорь, ты? Помнишь меня? Я твой одноклассник. Я узнал тебя по твоим шизоидным словам и высерам. А помнишь, как мы всем классом нассали тебе в кружку в третьем классе, на сладкоежке? Ты ещё выпил, облизнулся и попросил добавки. А потом тебя пришёл забирать твой отец, тот самый дворник, который на Вернадского изнасиловал собаку и получил условный срок за то, что украл плавленный сырок в магазине. Он зашёл в класс, все стали смеяться, а ты обосрался под себя от стыда, а потом сказал, что всю жизнь будешь ненавидеть дворником, но в 9м классе, когда ты пошёл на рейд, чтобы их отпиздить, то они пустили тебя по кругу, после чего тебе наложили на анус восемь швов. Как поживаешь, Игорян?
Аноним 26/01/19 Суб 20:55:55 1335525157
>>1335487
Если бы ты использовал не настолько протухшую пасту, то мог бы блеснуть своей, экхм.., эрудированностью, что ли. А так и этим не смог. Сожалею, старайся лучше.
Аноним 27/01/19 Вск 20:22:08 1336303158
20190128-18f6b.png (189Кб, 775x400)
775x400
20190128-14ef5.png (147Кб, 1159x304)
1159x304
Ю-ху, анонии, насколько же легко писать тесты, охуеть. Я, конеш, понимаю, что есть gtest и для того же бидона куча либ. Но тут-то оно из коробки - а значит меньше велосипедов и больше взаимопонимания в растовом мирке.
Аноним 27/01/19 Вск 20:31:53 1336315159
>>1336303
Братишка, побереги глаза. Поменяй схему.
Аноним 27/01/19 Вск 21:08:31 1336343160
20190128-8fc86.png (148Кб, 722x320)
722x320
Аноним 27/01/19 Вск 21:16:13 1336347161
>>1336343
Немного. Уменьши контрастность всех остальных цветов. Или просто возьми monokai или любую другую готовую тему.
Аноним 28/01/19 Пнд 15:33:44 1336696162
>>1336303
Да, тесты вообще благословленные. Единственное немного раздражает то что в tests/ нельзя нормально сделать модуль, который сам тесты не содержит, а включается в другие модули с тестами. Приходится изворачиваться с tests/utils/mod.rs , чтобы оно не собирало этот модуль как отдельные тесты.
Аноним 28/01/19 Пнд 15:37:58 1336701163
А я правильно понимаю, что сейчас нет никакого способа делать динамические библиотеки (да и статические тоже), которые можно было бы распространять без постоянной пересборки всех зависимостей? Интересует не сборка в сишную библиотеку и потом unsafe extern "C", а именно возможность подключить динамическую библиотеку, написанную на расте, и использовать оттуда безопасный растовый код
Аноним 28/01/19 Пнд 17:04:14 1336724164
Аноним 28/01/19 Пнд 17:20:08 1336730165
Аноним 28/01/19 Пнд 18:44:46 1336769166
>>1336724
Я как раз явно сказал, что интересует не это.

>>1336730
Хм. То есть вообще нет возможности распространять крейт кроме как исходный код?
Аноним 28/01/19 Пнд 18:50:22 1336774167
>>1336730
Ломают ABI.
Что это значит? Я понимаю так. Скомпилил ты в исполняемый файл. Взял этот файл, отправил другу, у него стоит та же ос или выше, он его запустил, всё сделалось. Правильно?
Аноним 28/01/19 Пнд 18:53:18 1336776168
>>1336769
Да. Ну или сишная либа.
>>1336774
Скачал с сайта rayon.dll какую-нибудь, пытаешься её засунуть себе в проэкт, но сосешь хуй из-за того что ничего не собирается.
Если исполняемый файл, то всё ок, там все либы статически слинкованы и ничего больше не требуется.
Аноним 28/01/19 Пнд 18:59:57 1336781169
>>1336776
> статически слинкованы
То есть весь их код переведён в машинный язык и засунут в этот же бинарник (исполняемый файл)?
Аноним 28/01/19 Пнд 19:04:32 1336787170
>>1336781
Да. От этого и бугурты на хелло ворлд.
Аноним 28/01/19 Пнд 19:14:13 1336793171
>>1336776
Хуево. Это же еще очень мешает коммерческому использованию языка, ведь ты не можешь сделать что-то и распространять это в виде блобов.
Аноним 28/01/19 Пнд 19:24:31 1336803172
>>1336793
Ну ты сам прикинь, какова доля либ в коммерции (обычно продают готовый продукт) и помножь эту долю на долю раста - вот ты получишь %, где это даже не необходимо, а "было бы неплохо". К тому времени. когда раст захватит мир, это наверняка реализуют.
Что касается ускорения конпеляции, то для этого есть кэш и он неплохо работает.
Аноним 28/01/19 Пнд 21:33:30 1336935173
Аноним 28/01/19 Пнд 21:37:44 1336942174
>>1336935
Что такое главный модуль? main.rs?
Аноним 28/01/19 Пнд 21:43:35 1336951175
>>1336935
Да, он. Ни в условный lib.rs, ни в крейты пробросить не получается.
Аноним 28/01/19 Пнд 21:49:47 1336956176
>>1336951
Ясен хуй, это не имеет никакого смысла. Клади свою константу в lib.rs.
Аноним 28/01/19 Пнд 22:45:55 1337019177
Untitled.png (45Кб, 854x1008)
854x1008
Блеть, я просто хочу сматчить что инпут еть String да и только. Как это сделать подскажите?
Аноним 28/01/19 Пнд 22:50:40 1337027178
>>1337019
Он и так стринг. Проверку на ошибку (и вытаскивание из Result) ты уже сделал в виде .expect()
Аноним 28/01/19 Пнд 22:52:06 1337028179
>>1337027
Та то понятно. Я же хочу управляемую ошибку. В случае эррора там и Ок-а...
Аноним 28/01/19 Пнд 22:59:50 1337040180
Аноним 28/01/19 Пнд 23:40:43 1337076181
Untitled.png (45Кб, 674x965)
674x965
>>1337040
Проблема в том, что я не знаю вводит ли юзер инпутом число... Инпут то в String хранится и нет смысла матчить на тот же i32.
Аноним 28/01/19 Пнд 23:54:58 1337081182
Аноним 29/01/19 Втр 05:54:54 1337187183
>>1336956
Так оно, кстати, работает. Но, вишь какое дело, мне удобнее задать все константы в главном модуле, чтобы либы подхватывали их оттуда. Иначе мне придётся держать кучу констант для кучи либ (размеры массивов, пути, вот это всё) и при изменении каждый раз лазить в эти либы.

Ещё такое: как сделать тесты в отдельном крейте? Делаю по манулам, какая-то хуйня получается - или ошибка импорта, или 0 тестов пассед из 0. Если есть линк на гитхаб с рабочим вариантом, буду оч признателен.
Аноним 29/01/19 Втр 10:25:33 1337249184
>>1337187
Ёпты, нашёл решение. В кобылью сраку отдельные крейты и [lib], всё нужно делать через mod.
Аноним 29/01/19 Втр 11:19:43 1337279185
Есть ли в Расте дженерики?
Аноним 29/01/19 Втр 11:29:17 1337286186
>>1337279
Нет, обещают добавить в Rust 2
Аноним 29/01/19 Втр 11:36:13 1337288187
>>1337286
А модули тоже отложили до Rust 20? :/
Аноним 29/01/19 Втр 14:01:57 1337352188
Аноним 29/01/19 Втр 14:40:04 1337377189
>>1337352
почему кое где есть ; в конце строки а кое где нету?
Аноним 29/01/19 Втр 14:41:14 1337378190
>>1337377
; превращает выражение в ()
fn foo() -> () { 42; }
fn bar() -> i32 { 42 }
Аноним 29/01/19 Втр 14:41:30 1337379191
Бля а чего классы вообще выпилили?
Аноним 29/01/19 Втр 14:43:53 1337380192
>>1337379
Да, потому что они создают гораздо больше проблем, чем решают.
Аноним 29/01/19 Втр 14:45:39 1337382193
Аноним 29/01/19 Втр 14:46:42 1337384194
>>1337382
Парадигма которую используют через жопу.
Используй Трейты и будет тебе норм.
Аноним 29/01/19 Втр 14:47:33 1337385195
Аноним 29/01/19 Втр 15:13:23 1337398196
>>1337384
>Парадигма которую используют через жопу.
Это кто такое сказал?
Аноним 29/01/19 Втр 15:14:41 1337399197
Аноним 29/01/19 Втр 15:26:42 1337404198
А что вообще с багами? Реально то игру вообще написать и не наткнуться на какую нибудь мистическую хуйню?
Аноним 29/01/19 Втр 15:27:40 1337405199
>>1337404
Реально. Правда приличных законченных движков еще нет.
Аноним 29/01/19 Втр 15:36:43 1337414200
>>1337405
Аметист и пистон не считаются?
Аноним 29/01/19 Втр 15:42:58 1337416201
>>1337414
Аметист активно пилят и вроде как частенько ломают АПИ.
Пистон кажется перестали развивать.
Еще есть ggez, но там тоже часто ломают апи.
Аноним 29/01/19 Втр 16:07:52 1337429202
А есть ли в этих движках физическая модель? Я так понимаю главная их цель конектится к какому нибудь OpenGL по сишному интерфейсу и отдавать юзеру Растовый интерфейс для рисования?
Аноним 29/01/19 Втр 16:13:00 1337431203
>>1337429
По дефолту вроде нет. Кажется в аметист планировали добавить.
Есть https://nphysics.org/
Аноним 29/01/19 Втр 16:16:11 1337432204
>>1337431
Бля нах он нужен тогда? Самому ебаться с сишными запросами? Как у раста с C вообще?
Аноним 29/01/19 Втр 16:23:57 1337433205
>>1337432
Как у тебя C тут всплыл?

> Как у раста с C вообще?
Как и у всех, всё хорошо. Это же C.
Аноним 29/01/19 Втр 16:27:40 1337436206
>>1337432
Кто "он" и, действительно, при чем тут "ебаться с си"?
Аноним 29/01/19 Втр 16:31:21 1337439207
>>1337436
Имеется ввиду игровой движок на расте. При том что движок должен уметь рисовать, вот я и говорю нах движок нужен если самому придётся брать то что этот чудодвижок нагородит делать из всего этого чуда вертексы и к openGL обращаться
Аноним 29/01/19 Втр 16:34:39 1337440208
>>1337439
Что ты вообще несешь? Ты спрашивал про физ. движок. Физ движка из коробки нету.
Рендерит движок сам.
Аноним 29/01/19 Втр 16:37:51 1337442209
А вообще демки поглядел—пиздато. А как он так в браузере рисует?
Аноним 29/01/19 Втр 16:38:44 1337443210
>>1337440
Ты прикалываешься? Вверху была ссылка, там физический движок! Но он не умеет рендерить да?
Аноним 29/01/19 Втр 16:42:34 1337446211
>>1337443
Анончик.
У тебя есть игровой движок, скажем Аметист. Его задача дать тебе ECS и рендерить твою хуйню, что он с успехом и делает. Т.к. очевидно, ему нужна либа для работы с матаном, он юзает https://www.nalgebra.org
Отдельно от всего этого, есть еще физ. движок который используетт же либу для математики: nphysics.
Да, физ. движок ничего не рисует.
Аноним 29/01/19 Втр 16:44:07 1337447212
>>1337443
Возьми графический движок и физический движок. И делай своих игорей.
Аноним 29/01/19 Втр 16:48:46 1337448213
>>1337446
А блять, я думал np и есть Аметист
Аноним 29/01/19 Втр 16:49:40 1337449214
Аноним 29/01/19 Втр 19:57:31 1337520215
Аноним 29/01/19 Втр 21:20:50 1337576216
15487835664250.jpg (36Кб, 472x698)
472x698
>>1337520
Внутренности раста
Аноним 30/01/19 Срд 08:10:21 1337727217
1322152087635.jpg (47Кб, 373x500)
373x500
>>1337187
>задать все константы в главном модуле
По-моему ты неправильно воспринимаешь main.rs.
lib.rs - как раз "главный" модуль крейта-библиотеки.
main.rs - это отдельный крейт, который собирается в бинарник (bin-крейт), он вообще не часть библиотеки порождённой lib.rs.
Аноним 30/01/19 Срд 08:13:23 1337728218
JonathanBlow-GD[...].jpg (70Кб, 880x552)
880x552
Аноним 30/01/19 Срд 12:51:20 1337815219
>>1337728
Тиресно, хотя я раст нихуя не знаю
Аноним 30/01/19 Срд 22:02:31 1338243220
Untitled.png (27Кб, 750x756)
750x756
Да как его с элементом вектора сматчить то...
Аноним 30/01/19 Срд 22:25:10 1338261221
Untitled.png (41Кб, 719x782)
719x782
Вот непонятно совсем че так.
Аноним 30/01/19 Срд 22:55:26 1338300222
Untitled.png (54Кб, 803x946)
803x946
Пиздец как сложно. А впереди еще всунуть это все в заloopу
Аноним 31/01/19 Чтв 00:10:46 1338357223
>>1338243
Ну то что ты написал это херня. Паттерн должен быть, я даже не знаю как сказать, константным выражением что ли (я не уверен, как правильно обозвать термин). Твой код можно переписать в таком виде:

match input_department.as_str() {
x if x == &departments[0] => ... ,
x if x == &departments[1] => ... ,
_ => panic!("Unknown departments")
}

Я думаю, что это ограничение (невозможность указать результат вызова функции как паттерн) связано с тем что синтаксис x(y) в паттерне все таки означает "Тип x с полем y, где содержимое x.0 привязывается к y и может использоваться после =>". Если бы мы могли слева от => указывать вызов функции, была бы неопредленность.

Аноним 31/01/19 Чтв 08:41:19 1338443224
>>1338300
Братишка, это не ты случаем здесь летом руби изучал?
Аноним 31/01/19 Чтв 19:33:28 1338775225
>>1338243
Че ты вообще пытаешься сделать?
Аноним 31/01/19 Чтв 22:44:53 1338907226
>>1338775
Видимо пытается сматчить некий инпут с заранее заданными значениями и если такое есть, то где-то сохранить.

Я бы на его месте перестал изъебываться и написал что-то типа такого:

if departments.contains(&input_department) {
hm.insert(input_name, input_department)
} else {
panic!("ВСЕ ПИЗДЕЦ НАХУЙ!")
}
Аноним 01/02/19 Птн 00:18:32 1338987227
>>1338443
Не. Никогда таким не интересовался.
>>1338907
Та ифами как-то уныло. То-ли дело ёба match.
И до сих пор непонятно че оно ныло на вектор и нормально хавало перемнную на которую перед этим засаайнил тот же элемент вектора но это две лишних сточки кода.
Аноним 01/02/19 Птн 00:24:08 1338993228
>>1338357
Дружок-пирожок но тут же >>1338261 я указываю обычной переменной и всё работает. И причем про мач сказано что оно матчит с тем что слева от арма ака =>
Аноним 01/02/19 Птн 01:20:01 1339010229
>>1338993
Нихуя оно не работает у тебя. Ты не сравниваешь то что ты передал в match с ранее заданным xuy, ты просто взял и то что ты передал в match связал с именем xuy в рамках конкретного => . При этом у тебя ЛЮБОЙ вход будет удолетворять первой строчке match'а, и остальные компилятор должен пометить warning'ом как недостижимые.

Вот тебе пример, если нужно нагляднее: https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=906665de9ed8d1bd6a26e3bacd693070
Аноним 01/02/19 Птн 12:05:39 1339208230
Аноним 01/02/19 Птн 21:35:34 1339615231
я вот счетаю, что rust - язык для настоящих мужчин, которые не бояться анальных кар компилятора с его заимствованиями и лайфтаймами

так же я считаю, что все хейтеры этого языка - простые неосиляторы, которые своими вскукаречными потугами пытаются восстановить своё значение в этом мире, но мы то знаем (что они обычные кукаретики)
Аноним 01/02/19 Птн 22:05:22 1339654232
>>1339615
Поддвачну. Я, вот, когда на других языках пишу, то такую хуйню горожу, аж самому противно, но не могу остановиться - конпеляется же. А тут как-то само получается стройно и почти красиво, я аж загордился чутка и блинов поел.
Аноним 01/02/19 Птн 22:29:38 1339683233
Аноним 01/02/19 Птн 22:30:20 1339684234
VJbL1fq - Copy.png (138Кб, 570x585)
570x585
>>1339615
>rust - язык для настоящих мужчин
Но я девочка_внутри и я люблю раст.
Аноним 01/02/19 Птн 22:31:49 1339685235
>>1339684
для сексуальных меньшинств тоже найдется место в необъятных чертогах ржавчины. так что раздевайтесь и смажьте жёпу для компилятора
Аноним 01/02/19 Птн 22:38:42 1339696236
>>1339615
>язык для настоящих мужчин, которые не бояться анальных кар компилятора
...Сплетаемся в объятьях братских. Крепкие руки крепкие тела обхватывают. Целуем друг друга в уста. Молча целуем, по-мужски, без бабских нежностей. Целованием друг друга распаляем и приветствуем. Банщики между нами суетятся с горшками глиняными, мазью гатайской полными.Зачерпываем мази густой, ароматной, мажем себе уды. Снуют бессловесные банщики аки тени, ибо не светится у них ничего.

— Гойда! — восклицает Батя.
— Гойда-гойда! — восклицаем мы.

Встает Батя первым. Приближает к себе Воска. Вставляет Воск в батину верзоху уд свой. Кряхтит Батя от удовольствия, скалит в темноте зубы белые. Обнимает Воска Шелет, вставляет ему смазанный рог свой. Ухает Воск утробно. Шелету Серый заправляет, Серому — Самося, Самосе — Балдохай, Балдохаю — Мокрый, Мокрому — Нечай, а уж Нечаю липкую сваю забить и мой черед настал. Обхватываю брата левокрылого левою рукою, а правой направляю уд свой ему в верзоху. Широка верзоха у Нечая. Вгоняю уд ему по самые ядра багровые. Нечай даже не крякает: привык, опричник коренной. Обхватываю его покрепче, прижимаю к себе, щекочу бородою. А уж ко мне Бубен пристраивается. Чую верзохой дрожащую булаву его. Увесиста она — без толчка не влезет. Торкается Бубен, вгоняет в меня толстоголовый уд свой. До самых кишок достает махина его, стон нутряной из меня выжимая. Стону в ухо Нечая. Бубен кряхтит в мое, руками молодецкими меня обхватывает. Не вижу того, кто вставляет ему, но по кряхтению разумею — уд достойный. Ну, да и нет среди нас недостойных — всем китайцы уды обновили, укрепили, обустроили. Есть чем и друг друга усладить, и врагов России наказать. Собирается, сопрягается гусеница опричная. Ухают и кряхтят позади меня. По закону братства левокрылые с правокрылыми чередуются, а уж потом молодежь пристраивается. Так у Бати заведено. И слава Богу…
Аноним 01/02/19 Птн 22:45:54 1339700237
>>1339696
и всё же воистину славный язык
Аноним 01/02/19 Птн 23:16:06 1339716238
>>1339208
>#![feature(slice_patterns)]
Вон оно че, Михалыч.
Аноним 01/02/19 Птн 23:16:45 1339718239
Аноним 01/02/19 Птн 23:32:50 1339729240
>>1339696
Блин, начал читать и думал мож как переделал забавно, а там просто цитата (хотя автор великий, конечно, как и повесть).
Аноним 02/02/19 Суб 08:15:52 1339917241
>>1339683
Со сметаной и творогом - заебок. Ещё чай зелёный покрепче, с вареньем кислым.
Аноны, у кого-нить есть пример кода/крейта для многопоточного заполнения вектора строго по индексам? Сам примерно знаю, как сделать, но боюсь подводных граблей, да и велосипедить не охота.
Аноним 02/02/19 Суб 11:44:44 1340003242
>>1339917
Заверни в Arc<Mutex<Vec<T>>>
Аноним 02/02/19 Суб 15:33:56 1340117243
Аноним 02/02/19 Суб 20:40:51 1340303244
>>1340003
Мьютексы в моей задаче оказались только помехой, зря время потратил. Потом вообще непонятно, как из них данные раззалупливать - оригинал под обёрткой остаётся мувед, дроп не спасает. Если кто знает, поясните, плз, вдруг таки буду их юзать.
Сделал проще: в тредах возвращаю тупл с индексом и данными, а потом получаю в главном через джойн и впендюриваю по индексу. Впендюриваю тоже как-то чрезжопно, приходится сперва забивать result_vec "пустыми" значениями, если кто знает лучший путь, буду рад.
for t in threads {
let (idx, res) = t.join().unwrap();
result_vec.swap_remove(idx);
result_vec.insert(idx, res);
}
Аноним 02/02/19 Суб 20:42:24 1340305245
...а если так
for t in threads {
let (idx, res) = t.join().unwrap();
result_vec.swap_remove(idx);
result_vec.insert(idx, res);
}
Аноним 02/02/19 Суб 20:43:08 1340308246
...ну а так
for t in threads {
____let (idx, res) = t.join().unwrap();
____result_vec.swap_remove(idx);
____result_vec.insert(idx, res);
}
Аноним 03/02/19 Вск 01:11:33 1340497247
>>1340308
Было бы неплохо, если ты таки объяснил, что ты пытаешься сделать.
Аноним 03/02/19 Вск 04:06:14 1340584248
>>1339917
>Аноны, у кого-нить есть пример кода/крейта для многопоточного заполнения вектора строго по индексам? Сам примерно знаю, как сделать, но боюсь подводных граблей, да и велосипедить не охота.

Но нахуя? Многопоточность - это когда у потоков изолированные данные и взаимодействие онли через ридонли-сообщения. Привыкай, сейчас на десктопы уже НУМА в лице тредрипера от амуде поперла и дальше будет только хуже, техпроцессы закончились и старая добрая SMP архитектура с одним пулом и контроллером оперативы уходит в прошлое.
Аноним 03/02/19 Вск 06:59:36 1340600249
Pokak 2.jpg (36Кб, 736x699)
736x699
>>1339716
Это линк на старые доки.
В 2018-edition слайс патерны включены.
Аноним 03/02/19 Вск 08:48:54 1340620250
>>1340497
Нужно перемолотить некоторое количество наборов данных и сложить в массив в строго определённом порядке. Однопоточно проблем нет - делай push и все дела.
Аноним 03/02/19 Вск 12:41:38 1340691251
Аноним 03/02/19 Вск 13:19:24 1340704252
>>1340691
>answer = result;
век живи - век учись. Сколько примеров не смотрел, видел заполнение векторов только через push. В остальном я практически так и сделал, только через return. Ещё такое - ты про join просто забыл или там какой-то фокус, что он и не нужен?
Аноним 03/02/19 Вск 13:20:38 1340705253
Макак, заебал, сделай отключение разметки в программаче.
Аноним 03/02/19 Вск 13:37:26 1340715254
>>1340704
Джойн нужен если ты хочешь дождаться завершения выполнения треда. В моем случае мне это не нужно, т.к. мне важно получить значения, что происходит через канал.
Аноним 03/02/19 Вск 14:09:40 1340741255
>>1340715
т.е. rx.recv() ждёт завершения? Тогда это тот же джойн. Пока я вижу смысл rx/tx в построении каналов между дочерними тредами, использовать это в главном выглядит излишеством.
Аноним 03/02/19 Вск 14:10:46 1340742256
Ну сделай на джойнах, какая разница. Если тебе важно чтобы порядок получения был последовательным.
Аноним 03/02/19 Вск 17:08:41 1340832257
>>1340620
А почему бы не использовать rayon? Он же специально для такой хуйни заточен. https://github.com/rayon-rs/rayon
>>1340691
В rayon'е можно сделать в одну сроку:
let answer: Vec<usize> = (0..(num_threads as usize)).into_par_iter().map(|i| do_some_stuff(i)).collect()
Аноним 03/02/19 Вск 17:24:13 1340843258
13246510780319.jpg (72Кб, 743x957)
743x957
Чё там с доступом к DOM API (и вообще WEB API) из wasm'а кто-нибудь знает?
Я в курсе что его пока нет, но работа-то ведётся, черновики стандарта какие-нибудь есть?
Аноним 03/02/19 Вск 17:29:46 1340852259
>>1340843
> Чё там с доступом к DOM API (и вообще WEB API) из wasm'а кто-нибудь знает?
Называется оно WebAssembly Host Bindings.
> Я в курсе что его пока нет, но работа-то ведётся, черновики стандарта какие-нибудь есть?
https://github.com/WebAssembly/host-bindings
Аноним 03/02/19 Вск 18:38:53 1340905260
>>1340832
>rayon
Едрить, оверкилл. Я тут >>1340303 сильно протупил - у меня же есть вектор с тредами, которые уже отсортированы, поэтому push в вектор с результатами будет идти в заведомо верной последовательности. А я, чёт, продолжал действовать так, как будто последовательность произвольна (как было бы при заполнении данных изнутри треда).
Аноним 03/02/19 Вск 18:40:01 1340907261
>>1340905
> Едрить, оверкилл.
Почему оверкилл? Очень удобная штуковина, на самом деле.
Аноним 03/02/19 Вск 19:00:01 1340918262
>>1340907
Потому что оно сильно увеличит время компиляции, хотя вместо этого можно просто написать 3 лишних строчки кода. Вот если ему надо много таких штук делать, тогда есть смысл взять либу.
Аноним 03/02/19 Вск 19:03:26 1340921263
>>1340918
> Потому что оно сильно увеличит время компиляции
Нет, не сильно. Это ж тебе не C++ с шаблонами. Вот у меня в небольшой программе с rayon'ом:
Finished release [optimized] target(s) in 11.57s
Аноним 03/02/19 Вск 19:11:15 1340928264
>>1340921
> Compiling no-rayon v0.1.0 (/tmp/no-rayon)
> Finished dev [unoptimized + debuginfo] target(s) in 0.48s
vs
> ... rayon ...
> Finished dev [unoptimized + debuginfo] target(s) in 4.11s

Впрочем это холодная сборка после cargo clean.
После первой компиляции оно одинаково быстрое. Разве что CI бесить со временем будет, что вряд ли значимо в данном случае.
Аноним 03/02/19 Вск 19:26:58 1340942265
51gtUcYaPrL.SX4[...].jpg (40Кб, 406x500)
406x500
Аноним 03/02/19 Вск 19:53:23 1340981266
Screenshot2019-[...].png (21Кб, 850x92)
850x92
Аноним 03/02/19 Вск 20:21:20 1341021267
>>1340907
Мне больше нравится писать ванильно. Это, конечно, збс, что карго вот так легко позволяет подключать крейты, но если использовать эту фичу слишком интенсивно, проект станет похож на нодовый с крейтами уровня left-pad и isarray.
Кстати, даже логика rayon примерно та же, что у многих нодовых модулей - добавляет новые функции (into_par_iter, par_iter) для существующих структур. Я так погляжу, разрабы раста многое подсмотрели у жс и у ноды.
Аноним 03/02/19 Вск 20:23:19 1341024268
>>1341021
Кек. Нет, братишка, манки-патчинг из жс-дристни ничего общего не имеет с тем, что делает rayon.
Аноним 03/02/19 Вск 20:24:29 1341027269
>>1341021
> Кстати, даже логика rayon примерно та же, что у многих нодовых модулей
Ты наверное кроме C++ ни на чём не кодил. В C++ действительно другая крайность, что подключение любой библиотеки, кроме header-only превращается в ад. А так подобное есть в любом современном (и не только) языке. В той же жаве очень удобная система пакетов. У C# тоже.
Аноним 03/02/19 Вск 21:05:28 1341080270
>>1341024
Их убогое vs наше великое. А суть та же - куча зависимостей тянет кучу зависимостей, каждая из которых экономит в среднем 7 строк кода на проект.
Аноним 03/02/19 Вск 21:11:33 1341089271
>>1341080
Ты же даже не понимаешь о чем речь, правда?
Я говорил о разъебывание прототипов которое глобально видно всем, а не о количестве зависимостей.
Аноним 03/02/19 Вск 21:17:16 1341096272
>>1341089
А я вообще не об этом, а о том, что порочна сама идея подключения внешнего модуля ради экономии пары строк. Что где-то оно хуёво реализовано с технической стороны, это уже частности.
Аноним 03/02/19 Вск 21:30:06 1341108273
>>1341096
Если впадать в крайности в стиле нпм, то конечно порочна. Впрочем подход goвна, где в каждом проекте копипаста min/max и прочих вещей не намного лучше.
Аноним 04/02/19 Пнд 19:49:25 1341807274
20190205-72b5f.png (45Кб, 586x158)
586x158
20190205-13251.png (50Кб, 643x152)
643x152
Анон, зацени, как можно сделать. Умный конпелятор сам понял, что итерировать нужно до окончания конечного итератора (cycle() делает бесконечный) - охуеть.
Например, такое нужно для суммирования сигналов со сдвигом по фазе.
Аноним 04/02/19 Пнд 22:15:57 1341926275
hqdefault.jpg (12Кб, 480x360)
480x360
Блецкий педоRust не дает засунуть мутабл борроу и ссылку в одну область видимости поэтому в loop input из консольки и insert в хэшмапу не получается.
Аноним 05/02/19 Втр 00:24:29 1342017276
Аноним 05/02/19 Втр 09:17:57 1342116277
>>1342017
я не он, но проблемс в том, что если нужно как-то модифицировать ввод, а не напрямую кидать в хэшсет, канпелятор шлет нахуй
Аноним 05/02/19 Втр 09:37:45 1342120278
Аноним 05/02/19 Втр 16:33:29 1342324279
Аноним 05/02/19 Втр 16:46:31 1342331280
>>1342116
https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=093cfdd97d4c7697f767b34c1aa2b24c
"Ввод с консольки" и "Модицифированный ввод" - это разные сущности по семантике. Значит, имеет смысл положить их в разные переменные. Если будет что-то парсить in-place, ты заколебешься абсолютно в первом же нетривиальном случае. Проще сделать новый объект FP-параша стайл.
Аноним 05/02/19 Втр 21:25:44 1342492281
Untitled.png (82Кб, 1089x960)
1089x960
Аноним 05/02/19 Втр 21:26:08 1342493282
>>1342324
>>1342331
он не я, но я пытался рассказать про ошибку, которая случается из-за несколько других вещей
вкатываясь из .NET, сложновато держать в голове все это borrowing/owning, а потом еще пытаться доказать компилятору, что все это должно работать по идее
Аноним 05/02/19 Втр 21:26:52 1342494283
>>1342492
sooqa, ты тоже утонул на этом задании из растбука
(
Аноним 05/02/19 Втр 21:26:58 1342495284
Аноним 05/02/19 Втр 22:00:22 1342507285
>>1342495
> ведь можно модифицировать input

Чтобы сделать длинную строку, нужно выделить под неё память и скопировать данные из маленькой строки. Когда ты в плюсах пишешь что-то типа
string a = "qqqq";
a += a;
Ты по сути делаешь то же, что и в случае
string b = a + a;
Только деструктор a вызывается раньше. Никакой "модификации" не происходит, нужно ровно такое же число операций.

>>1342492
Тебе, по идее, нужно определить input_name и input_department в теле loop. Сейчас они "поглощаются" на первой итерации при добавлении в словарь и становятся невалидными, поэтому компилятор и ругается.
Аноним 05/02/19 Втр 22:36:03 1342528286
Untitled.png (92Кб, 1096x975)
1096x975
>>1342494
На самом деле нет. Там не сказано лезть в заloopу. Если убрать loop то задание решено.
>>1342507
Не прокатило.
Аноним 05/02/19 Втр 22:45:31 1342536287
E9DNk2LX400x400.jpg (24Кб, 351x351)
351x351
>>1342507
С++ практически не знаю, но из моих представлений при добавлении строки к строке происходит примерно следующее:
1. Проверяется capacity строки и если памяти уже выделено достаточно то строка-аргумент сразу копируется туда. (Т.к. пямять под строку при первоначальной аллокации/реалокациях, насколько я понимаю, выделяется с запасом.)
2. Если недостаточно - по происходит реаллокация памяти, причём, вроде как, перенос строки в другое место при этом не обязательно происходит, т.к. может оказаться что свободное место есть и рядом.
Так что эквивалентно это созданию новой строки только в худшем случае - и то наверняка в расте при полноценном создании новой строки больше действий выполняется.
Аноним 05/02/19 Втр 23:13:38 1342551288
2019-02-05-2117[...].png (57Кб, 905x513)
905x513
Аноним 06/02/19 Срд 00:24:22 1342566289
>>1342528
Блять. trim возвращает слайс на строку, которая всё также умирает на следующей итерации. Нужно вставлять &input_name.trim().to_string();

Но это говнокод, вынеси тримнутые строки до match, а в самом match используй их без взятия ссылок.
let input_name = &input_name.trim().to_string();
...
hm.insert(input_name, &department[0]);
Аноним 06/02/19 Срд 09:37:34 1342704290
>>1342551
я, конечно, понимаю, что это не самое сложное задание, но по книге такая хуйня как
fn parse<'a>(mut words: impl Iterator<Item=&'a str>)
еще неизвестна
Аноним 06/02/19 Срд 12:38:39 1342785291
>>1342704
Мне просто было жалко аллоцировать память.
Можно было бы сделать split_whitespace().collect::<Vec<_>>()
и дальше работать уже с вектором вместо итератора.
Аноним 06/02/19 Срд 18:05:19 1342942292
https://pastebin.com/SRS5P0yK
.clone(), .clone(), .clone()
по большому счету, не считая логгирования, я использую dept и empl только по разу. как заставить компилер понять это и не рассказывать мне про borrowing?
(или ЧЯДНТ)
с другой стороны, насколько такой клонинг убивает перфоманс? (inb4 я из управляемых языков, там вообще похуй на такую парашу)
Аноним 06/02/19 Срд 19:27:13 1342973293
>>1342942
.to_owned() попробуй, если и правда по разу.
Аноним 06/02/19 Срд 21:26:09 1343046294
1488066200298.jpg (45Кб, 288x358)
288x358
Untitled.png (112Кб, 974x1093)
974x1093
Аноним 06/02/19 Срд 21:59:26 1343065295
1.png (54Кб, 1039x744)
1039x744
>>1343046
У тебя странная ошибка, но этот совет не отменял совет >>1342507 , кек.
Аноним 06/02/19 Срд 22:03:20 1343073296
>>1343065
И че, ранит?
У мя nightly сборка.
Аноним 06/02/19 Срд 22:11:07 1343077297
1.png (18Кб, 557x457)
557x457
>>1343073
Да.
>rustc 1.32.0 (9fda7c223 2019-01-16)
Аноним 06/02/19 Срд 22:11:09 1343078298
>>1343073
>>1343065
А, понел. У мя же мап указан что только ссылки берёт. ака
let mut hm: HashMap<&str, &str> = HashMap::new();
Аноним 06/02/19 Срд 22:28:23 1343085299
>>1343077
Спасибо .Понятен даже стал весь код.
С твоей выдержкой можно медбратом в дурке работать или учителем в спец. интернате для отсталых.
Аноним 06/02/19 Срд 22:37:29 1343092300
>>1343085
>Двачи
>в спец. интернате для отсталых.

Факты сходятся.
Аноним 06/02/19 Срд 22:38:50 1343094301
Едота2.jpg (69Кб, 675x675)
675x675
>>1343092
>Двачи Rust
>в спец. интернате для отсталых.

Факты сходятся.
Аноним 06/02/19 Срд 22:46:01 1343101302
Можно ли делать на ржавом делать биндинги для пистона так же как на плюсах? Думаю какой второй язык взять
Аноним 06/02/19 Срд 22:56:41 1343108303
Аноним 07/02/19 Чтв 08:55:23 1343193304
>>1343046
тебе ж компилятор подсказывает что делать
как вариант, передавать input_name[..], что создаст &str по значению равный оригинальному String
Аноним 07/02/19 Чтв 08:56:50 1343194305
>>1343193
сука, тред не обновился, думал, что ответа нет
Аноним 07/02/19 Чтв 12:22:43 1343288306
Аноним 07/02/19 Чтв 18:01:09 1343485307
>>1342942

> как заставить компилер понять это и не рассказывать мне про borrowing?
Ну так ты если сначала переместишь dept и empl внутри своих and_modify, то все, нет больше твоих переменных. Все правильно.

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

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

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

Ну и вообще у тебя как-то странно сделаны твои .entry, .and_modify, .or_insert.
Аноним 07/02/19 Чтв 18:05:30 1343487308
Аноним 08/02/19 Птн 01:09:41 1343739309
mem-900x450.jpg (38Кб, 900x450)
900x450
>Язык не поддерживает утечки памяти и с полностью безопасной работой с памятью.
>Пытаешься линкануть сишную либо, так как писать функционал готовой либы дольше самого клиентского приложения.
>Получаешь утечки памяти и сегфолты из-за скрещивания ежа с ужом.

Аноним 08/02/19 Птн 10:45:29 1343814310
>>1343739
>>Получаешь утечки памяти и сегфолты из-за скрещивания ежа с ужом.
>
Не используй сишные либы с утечками памяти и сегфолтами. Проблема решена!
Аноним 08/02/19 Птн 10:53:53 1343821311
>>1343485
> Все правильно
ну, я понимаю, что всё правильно, мне еще это компилятор рассказывает к тому же.
но вот как я вижу работу кода с .entry().and_modify().or_insert(): я получаю значение empl из хэша по ключу dept, потом либо изменяю его в and_modify или помещаю новое в or_insert, т.е. тут однозначная вилка в логике. но при том, что эти два вызова находятся в одном скоупе, компилер видит захват в and_modify, и потом переиспользование в методе выше его не устраивает по вполне разумным причинам.
в моем случае все эти значения - строки. конечно, неприятно копировать/клонировать все по паре раз,но как-то жить можно. а если бы это были чуть более сложные структуры данных (или не поддерживающие клонирование), то чтобы использовать одно поле для двух разных методов в логике, мне приходится приседать и выдумывать какую-то дичь (или мне так кажется с моим опытом уровня laba2.rs)

> не влезает в гигабайт памяти
предпоследний кастомер очень сильно удивился моим импрувментам дабы сервис не сожрал чуть больше имеющегося памяти, в коде, говоря: ну, пару гигов свурху можно и потребить, мы-то не сильно паримся по этому поводу
так, что да, лул, такое нынче пишется говно
Аноним 08/02/19 Птн 11:13:57 1343829312
>>1343821
> то чтобы использовать одно поле для двух разных методов в логике, мне приходится приседать и выдумывать какую-то дичь

if let entry = hm.get_mut(){
entry.push(string)
} else {
...
hm.insert(...);
}

Интерфейс and_modify добавили ради какой-то монадической НЁХ, но никто не запрещает пользоваться классическим интерфейсом, если он тупо удобнее.
Аноним 08/02/19 Птн 11:42:19 1343838313
>>1343821
А, блин, это Entry API, вообще забыл про него. Ну тогда короче, замени or_insert на or_insert_with (чтобы дефолтное значение генерировалось только если реально надо). Тогда пофигу, что везде clone, ибо оно будет реально выполняться только если будет вызвана соответствующее замыкание. Или можешь сделать так:

*(workplaces.entry(dept.clone()).or_insert_with(|| Vec::new())).push(empl.clone)

Ну и все еще если хочешь избавиться от clone, перетащи println! выше.
Аноним 09/02/19 Суб 10:22:47 1344395314
Аноним 09/02/19 Суб 16:11:06 1344559315
сап двач. Пишет школьник почти 16 лвл. Решил вайти пару месяцев назад, все это время теребил книгу по плюсам (даже прошел половину). Пару дней назад голову ударила моча и понял, что плюсы к тому моменту когда я попиздую работать (это лет через 5-6) плюсы вымрут и везде где можно будет раст. Решил сейчас задрачивать матан и вкатываться в хасскель в целях апа инты. Через год буду выбирать что задрачивать. Ваше мнение по поводу того выстрелит ли раст, аноны?
Аноним 09/02/19 Суб 16:13:42 1344561316
>>1344559
Он уже выстрелил. Даже на hh.ru уже есть вакансии не про крипту. Так что к тому моменту как ты попиздуешь работать предложений будет с головой.
Аноним 09/02/19 Суб 16:19:24 1344572317
>>1344561
В гейропе аналогично будет? Собираюсь в чехии учиться, а это, вроде, голубая карта и нахуй возвращаться. И еще, ты уже работаешь на расте или у вас его юзают (чисто для справки)?
Аноним 09/02/19 Суб 16:25:19 1344580318
>>1344572
Я работаю на расте, да. Как раз гейропе.
Аноним 09/02/19 Суб 17:15:16 1344620319
>>1344580
можешь рассказать подробнее?)
другой анон
Аноним 09/02/19 Суб 17:25:36 1344624320
>>1344620
Лабаем фин-тех штуки. Ничего особенного. По сути набор сервисов которые делаю всякие вычисления и набор апи для этого.
Аноним 09/02/19 Суб 21:08:42 1344767321
>>1344624
это пишется на любом, в общем-то, языке. почему у вас именно раст?
Аноним 09/02/19 Суб 21:27:50 1344785322
>>1344767
Я не он, но отвечу. Потому же, почему и жаба - из-за относительной строгости языка руководству проще быть уверенным, что армия макак-подчинённых не наговнякает.
Аноним 09/02/19 Суб 21:43:42 1344792323
>>1344785
ну чет основная масса софта, судя по такому ответу, как раз ожидает наговняканый продукт от индусов, вместо эффективно работающего приложения
Аноним 09/02/19 Суб 22:20:46 1344828324
>>1343814
>>Не используй POSIX и WinAPI, а еще >100 000 либ системного и прикладного уровня.
>> Когда предложил работодателю, меня уволили.
Аноним 09/02/19 Суб 22:57:42 1344849325
>>1344767
Потому что модно-молодежно.
Сложно на самом деле ответить почему решились, меня в тот момент не было. С технической точки зрения выбор очень удачный.
Аноним 10/02/19 Вск 08:01:34 1344935326
>>1344792
>наговняканый продукт от индусов
Дак индусы как раз и говнякают на жабе по этой самой причине, что в ней всё относительно (того же бидона или сей) строго и иерархично. Например, белые господа могут проектировать интерфейсы, оставляя грязным индусам реализацию.
>>1344828
Да лан тебе ёрничать, не всё так плохо. Раст изначально заточен быть в упряжке с Ц/Ц++ софтом, т.к. прямо сейчас, например, код на расте работает в таком виде в фуррифоксе.
Аноним 10/02/19 Вск 11:17:03 1344979327
>>1344828
Ни разу не сталкивался с сегфолтом внутри ни одной сторонней либы, не говоря уже про POSIX и WinAPI. Они этого добиваются обычно месяцами и годами ебли, но результатом остаётся просто пользоваться.
Аноним 10/02/19 Вск 12:29:40 1344993328
>>1344935
>Раст изначально заточен быть в упряжке с Ц/Ц++ софтом
Пока все либы не перепишут на раст, будут в упряжке, так?
Аноним 10/02/19 Вск 13:30:41 1345022329
>>1344993
>перепишут на раст
Зачем, если они уже есть и работают?
Аноним 10/02/19 Вск 15:18:22 1345087330
fgsfds.png (79Кб, 633x738)
633x738
Такой вопрос. Есть метод для структуры, который должен возвращать Option<&T>. Как из него вернуть ссылку на вот этот дженерик(он - поле другой структуры бтв), обёрнутый в Option<Rc<RefCell<Ещё_одна_структура_нейм<...>>>>? Что ни делаю, компилятор ругается либо на то, что возвращаю ссылку на локальную переменную, либо 'cannot move out of borrowed context'. Что делоть? Как это вообще должно выглядеть. Код на пикриле. Что он говно, я знаю.
Аноним 10/02/19 Вск 15:34:38 1345102331
Аноним 11/02/19 Пнд 17:30:46 1345729332
VSCode: по сейву в файле main.rs применяет автоформат документа, в lib.rs -- нет. шо за уродство
Аноним 11/02/19 Пнд 17:43:13 1345751333
>>1345729
Тормозной редактор на электроне, вот что это за уродство.
Аноним 11/02/19 Пнд 21:14:02 1345955334
>>1345751
как с IntelliJ живется? я привык в Visual Studio, но там, судя по вики, поддержка раста практически нулевая
Аноним 11/02/19 Пнд 21:30:07 1345970335
как работают аттрибуты в расте?
ну вот я добавил #[derive(debug)] и почему от меня больше ничего не требуется?
если это сахар для компилятора, который распарсит поля и вытянет все в строку, то, например, растбук предлагает написать такую еболу: #[derive(PartialEq, Debug)]. есть какая-то дефолтная имплементация PartialEq?
Аноним 11/02/19 Пнд 21:46:39 1345976336
15498078561900.png (111Кб, 512x512)
512x512
Аноним 11/02/19 Пнд 22:12:31 1345993337
>>1345955
Живу в емаксе, зависимость есть. rls конечно то еще дерьмо, но щито поделаешь.
Жабоподелие тоже кривое-косое. И не менее тормозное чем студия на проектах больше привет_мир.
Аноним 11/02/19 Пнд 22:15:09 1345996338
>>1345970
Работают через макросы. Если интересно как конкретно поищи в сорсах стандартной либы эти макросы.
Аноним 11/02/19 Пнд 22:15:43 1345998339
Аноним 11/02/19 Пнд 22:17:04 1345999340
>>1345970
Ну или почитай доку:
https://doc.rust-lang.org/std/cmp/trait.PartialEq.html
This trait can be used with #[derive]. When derived on structs, two instances are equal if all fields are equal, and not equal if any fields are not equal. When derived on enums, each variant is equal to itself and not equal to the other variants.

>>1345996-кун

Аноним 11/02/19 Пнд 22:23:39 1346003341
Аноним 11/02/19 Пнд 23:09:21 1346059342
04.gif (1077Кб, 1000x833)
1000x833
>>1345976
Ну а чего ты ожидал? Может у C++ есть такие рич-веб-фрейворки с темплейтами и прочей хуйнёй? Скажи спасибо что хотя бы уже
>If your service primarily provides an API to be consumed by other computers, requires little external services and you are happy with writing most SQL yourself, then Yes, You Can!
Кстати, а что с этим всем у goвноедов? У них есть аналог Джанго/Фласка?
Аноним 11/02/19 Пнд 23:11:02 1346063343
Аноним 11/02/19 Пнд 23:12:35 1346066344
Аноним 11/02/19 Пнд 23:15:11 1346069345
>>1346066
Я вот проверяю что я актуальные доки читаю - и ты проверяй.
Аноним 11/02/19 Пнд 23:19:58 1346073346
Аноним 11/02/19 Пнд 23:21:07 1346075347
>>1346073
Ссылка хорошая, одобряю, но тому анону не совсем подходит.
Аноним 12/02/19 Втр 16:29:45 1346368348
есть какая-нибудь практическая польза от возврата экземпляра типа Self? ну, не думаю, что это все ради "мне впадлу писать название типа, давайте засахарим"
Аноним 12/02/19 Втр 16:40:16 1346375349
fgsds.png (5Кб, 307x210)
307x210
Аноним 12/02/19 Втр 16:50:28 1346379350
>>1346375
ну замени -> Self на -> Mamkoo, нихуя не изменится

разве что в конструкциях типа impl<T: Govno> Pahom for T { }, но я не уверен, что там не будет подводных камней
Аноним 12/02/19 Втр 16:51:03 1346380351
>>1346375
>>1346379
я, падажи. я лупоглазый не увидел трэйт
Аноним 12/02/19 Втр 17:00:25 1346385352
Аноним 12/02/19 Втр 17:06:25 1346391353
После понятного пистона код на расте смотреть просто невозможно. Вы долго привыкали к нему после перехода с других динамических языков?
Аноним 12/02/19 Втр 17:27:14 1346400354
>>1346391
на любой другой неинтерпретируемый язык тебе переходить было бы также тяжело)
Аноним 12/02/19 Втр 17:54:20 1346414355
>>1345976
>>1346059
Зачем в вебе эти поделия когда есть суперразвитый зрелый с кучей либ Rails? Для кого важен перформенс - Elixir/Phoenix.
Зачем?
Аноним 12/02/19 Втр 21:26:59 1346506356
>>1346414
остается что-ли криптовалюты пилить на расте?
мимо
Аноним 12/02/19 Втр 23:07:32 1346550357
Я так понял из крестов больше перфоманса можно выжать, чем из раста.
Аноним 12/02/19 Втр 23:49:42 1346562358
>>1346550
>>1346550
Хуй поймёшь, зависит от конкретной задачи и читов. В целом по тем игрушечным бенчмаркам,что я видел разницы почти нет.
Аноним 12/02/19 Втр 23:56:25 1346565359
rgergaergafefew
Аноним 13/02/19 Срд 10:53:46 1346717360
>>1346506
Я тоже мимо. Просто хочу разобраться.
Аноним 13/02/19 Срд 11:16:47 1346736361
>>1346550
Чтобы "выжимать" перформанс, в любом случае нужен ассемблер. Но даже это 3% кода. Для всего остального единственные важные свойства - отсутствие рантайма и GC. На плюсах у тебя тупо не будет времени оптимизировать свой код, потому что ты будешь отлавливать баг UB. А USB не станет работать быстрее потому что ты экономишь 10 тактов на проверке границ, когда делаешь системный вызов.
Аноним 13/02/19 Срд 11:35:00 1346743362
>>1346414
Популярные веб-фреймворки спиздили кучу фич у рельс, настолько, что затраты на изучение нового языка перестает быть столь выгодным. А поскольку есть уже множество готовых погромистов на пыхе\пистоне, то легче выучить один фреймворк.
Ну и еще устоявшееся мнение, что рельсы уже все, а руби это фреймворк одного языка
Аноним 13/02/19 Срд 12:25:36 1346763363
0.jpeg (105Кб, 1200x900)
1200x900
>>1346743
Мне кажется что рельсы достигли такого уровня, что дальше развиваться особо некуда уже в рамках их предметной области (блогов за 15 минут кек). Поэтому и "всё".
Сам сейчас подумываю с рельсов на Элексир/Феникс попробовать перейти, т.к. другая парадигма, на порядки лучший перформанс - это открывает новую предметную область. Плюс эта платформа используется в продашкене какое-то время, уже проверена.
Но зачем кому-то еще один веб-фреймворк на Расте? Потому что ты фанбой Раста? Быть фанбоем одного языка в 2019 не вижу никакого смысла. Объясните, чего я не догоняю?
Аноним 13/02/19 Срд 12:35:55 1346767364
>>1346763
При этом Руби - реально классный язык, работа с которым приносит удовольствие.
Аноним 13/02/19 Срд 14:48:55 1346854365
>>1346763
Веб-фреймворки делают под все языки, даже под С. Хуле ты тут спрашиваешь? Иди спроси у авторов этих фреймворков.
Аноним 13/02/19 Срд 15:28:37 1346871366
>>1346854
Авторам фреймворков может быть тупо по-фану, или фанбои своих языков. Я хочу спросить у людей, которые делают выбор между фреймворками. Свой выбор я описал.
Аноним 13/02/19 Срд 15:41:19 1346880367
>>1346767
Два чаю, он офигенный. Просто пишу на нём на работе и радуюсь жизни. Единственное плохое только то, что эти ощущения приходится совмещать с кучей легаси на пхп и версткой.
Аноним 13/02/19 Срд 15:54:50 1346888368
>>1346880
Хуй знает что там офигенного. Интеллисенса из-за дигамикодрисневости нет, какие там методы у объекта - хуй поймет, лезь в документацию.
Аноним 13/02/19 Срд 16:06:05 1346898369
>>1346888
как и любойе языкговно без статических типов
Аноним 13/02/19 Срд 16:08:04 1346899370
>>1346888
Т.к. в хорошем коде (а в Руби мире культ хорошего кода) у объекта не бывает много открытых методов, то их можно все держать в голове, а лишь изредка залезать в доку меня напрягает.
С другой стороны, получаешь мощное метапрограммирование (отдельный лайк за простую реализацию DCI), отсутствие тонн бойлерплейта, красивый DSL для тестирования, консистентность, выразительность и изящность.
Я бы уже и рад перейти на что-то другое для смены обстановки, но Руби так хорош.
Аноним 13/02/19 Срд 16:17:51 1346908371
>>1346899
То есть апишку любой новой библиотеки нужно сначала выучить как стишок, чтобы держать в голове? Такое себе удовольствие.
Аноним 13/02/19 Срд 17:00:14 1346931372
>>1346908
Ну ты ж не будешь по интелисенсу изучать новую библиотеку. Если это библиотека API какого-то сервиса, ты изучешь раз, напишешь враппер с двумя-тремя публичными методами и больше не думаешь о деталях реализации.
Можешь привести свой контрпример, аж интересно.
Аноним 13/02/19 Срд 17:37:47 1346954373
Аноним 13/02/19 Срд 17:45:10 1346957374
>>1346931
Ну падажжи, каждый написанный тобой враппер ты должен в голове держать?
А интеллисенс очень облегчает использование новой библиотеки, с ним в доках ты читаешь о принципах и основных объектах, детали же тебе подсказывает интеллисенс прям во время написания кода.
Аноним 13/02/19 Срд 17:48:14 1346960375
>>1346767
Какие языки кроме Руби ты пробовал?
Аноним 13/02/19 Срд 17:51:47 1346964376
>>1346957
Почему каждый, только те с которыми работаешь вот сейчас.
Я не спорю что интелисенс удобен, но это разумная плата за метапрограммирование кмк.
Если работаешь с объектами, у которых 100500 методов, необходимость интелисенса повышается. Если в ходу single responsibility principle, и программирование - это по сути композиция, то понижается.
Аноним 13/02/19 Срд 17:56:58 1346966377
>>1346964
А какая разница, выучить 20 методов у одного класса или по 5 методов у 4 классов?
Аноним 13/02/19 Срд 18:15:20 1346981378
>>1346899
> в Руби мире культ хорошего кода
Как-то (в ~2009, охуеть) прикручивал к тикетовке (типа багрепортилка для дежурных админов на хостинге) жаббер-бота, чтобы на мессаги оперативно реагировать. Это был единственный мой опыт на руби и оно даже работало. Дак я там такого наговнякал, страшно вспомнить.
Хорошо, что в Руби мирке никто про это не узнал, а то вломили бы пизды - мама не горюй.
Аноним 13/02/19 Срд 18:18:23 1346982379
vscode-solargra[...].gif (661Кб, 600x400)
600x400
>>1346966
Я не говорю выучить, я говорю держать в голове. Не работая с конкретной кодовой базой, ты эти 20 методов забудешь через какое-то время. Когда я переключаюсь на задачу из другой области проекта, я стараюсь из своей памяти выгрузить инфу по прошлой задаче, которая сейчас мне не нужна.
Разница в том, что во втором случае информация структурирована, и воспринимается легче. Это одна из причин, по которой ООП > процедурного.
Кстати, для Руби есть IDE RubyMine с автокомплитом, не знаю насколько умным, и только что загуглил - экстеншен для VS Code, пикрелейтед.
Но Ruby это не PHP, где надо постоянно вспоминать в каком порядке аргументы в array_search, а в каком в strpos. В Ruby действует Principle of Least Surprise.
Аноним 13/02/19 Срд 18:29:50 1346995380
Хотел перекатиться на Раст, но думаю, ну нахуй. Вернусь ка я к Си и Си++.
Аноним 13/02/19 Срд 18:36:37 1346998381
>>1346995
Держи в курсе. не держи
Аноним 13/02/19 Срд 18:43:47 1347003382
>>1346998
Держу, а то тред мертв.
Аноним 13/02/19 Срд 19:38:00 1347050383
Раст отсасывает у джавы по перформансу во всех задачах.
Аноним 13/02/19 Срд 20:25:57 1347081384
14916626096380.jpg (46Кб, 390x470)
390x470
Аноним 14/02/19 Чтв 10:35:01 1347347385
>>1347050
особенно в задаче "выжри всю память на хелло ворлд"
Аноним 14/02/19 Чтв 22:26:38 1347733386
требования в растовакансии:
>Multithreading and Asynchronous concepts
в растбуке не нашел чего-то, отдаленно напоминающее асинхронность (в понятиях .NET, nodejs, etc.). это копипаста не очень умной хрюши писанины не очень умного челебоса, или какое-то приблизительное подобие асинхронности в rs все-таки есть?
Аноним 14/02/19 Чтв 22:31:49 1347737387
>>1347733
Корутины - это всего лишь приятный сахарок для асинхронности. В том же node.js (да и в js вообще) и .NET асинхронный код можно писать и на промисах (в .NET они имеются тасками) или коллбеках.
Аноним 15/02/19 Птн 02:10:21 1347815388
>>1347733
В растбуке есть про Send и Sync, про Arc<T>, мьютексы, треды и каналы, но в вакансии может имеется в виду в целом. Может там тебя на собесе про STM cпросят. Я чёт охуел с того, что треды не напоминают тебе об асинхронности и мультитрединге. Выросло, блять, поколение, не нюхавшее pthread.h.
Аноним 15/02/19 Птн 10:55:31 1347941389
>>1347815
в моем понимании асинхронность - это не держать тред ожидающим ответа от какого-то не очень быстрого источника информации (жосский диск, БД, сеть, etc.), а суметь сделегировать ему какой-то кусок другого многопоточного кода (или убить нахуй). ну, это идея в .NET такая, как минимум

Arc я не трогал, а про Send/Sync читал по-диагонали. я не говорю, что в буке нет такого, а то, что я - дуанне нашел. но есть повод потеребить главы заново
Аноним 15/02/19 Птн 14:08:28 1348092390
>>1347941
Есть либы, в этом году введут async/await как часть языка.
Аноним 16/02/19 Суб 08:41:46 1348640391
Аноним 19/02/19 Втр 19:18:03 1350974392
Аноны, а давайте посчитаемся, кого сколько раз отфутболили по растовакансиям. Меня вот пока 1 из 1.
Аноним 19/02/19 Втр 21:27:53 1351046393
>>1350974
все обозримые вакансии - криптохуй инженер
пробоваться на такое чисто ради получения представления о релевантных знаниях
Аноним 20/02/19 Срд 04:33:15 1351179394
>>1351046
Да не, меня тут с веб-хуйни отфутболили. Не хотелось бы раскрывать подробности, тк. наверняка в треде я не один такой. Ещё выясним, что ухлёстывали за одной сучкой, и подерёмся.
Аноним 20/02/19 Срд 13:10:21 1351291395
Настройки X
Ответить в тред X
15000 [S]
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Топ тредов
Избранное