М.Двач / Программирование

Двач.hk не отвечает.
Вы видите копию треда, сохраненную 30 августа 2018 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

Rust #2 /rust/ 12 мар, 15:06 1154517 В конец треда | Веб

1009 Кб, 1920x108047 Кб, 1200x800491 Кб, 2048x1870

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

https://www.rust-lang.org/ru-RU/
https://doc.rust-lang.org/book/
https://rustbyexample.com/
https://github.com/rust-unofficial/awesome-rust

Старый тред тонет тут >>1062380 (OP)

Ответы154550156761156842158973166153173446181352185973

116 Кб, 472x360
12 мар, 15:55 2 1154550

>>1154517 (OP)
Вкокотился :3

12 мар, 17:32 3 1154619

>>1153414
Japaric запилил rust embedded working group

Я пока светодиодами безопасно мигаю на stm32f3discovery с помощью его rtfm, но пробую завернуть lwip в раст и мигать диодами по http/ethernet на nucleo767zi

121 Кб, 991x900
13 мар, 11:39 4 1154942

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

57 Кб, 1024x683
13 мар, 11:55 5 1154947

Rust (англ. rust — ржавчина, произносится [rʌst] — раст) — мультипарадигмальный компилируемый язык программирования общего назначения, спонсируемый Mozilla Research, сочетающий парадигмы функционального и процедурного программирования с объектной системой, основанной на типажах, и с управлением памятью через понятие «владения» (систему аффинных типов[en][5], позволяющую обходиться без сборки мусора). Объектно-ориентированное программирование как таковое языком не поддерживается, но язык позволяет реализовать большинство понятий ООП при помощи других абстракций[6].

Ключевые особенности языка: безопасность, скорость и параллелизм. Rust пригоден для системного программирования, в частности — рассматривается как перспективный язык для разработки ядер операционных систем[5]. Rust сопоставим по скорости и возможностям с C++, однако даёт большую безопасность при работе с памятью, что обеспечивается механизмами ограничения. Rust также направлен на достижение «абстракции с нулевой стоимостью»[7].

После нескольких лет активной разработки первая стабильная версия (1.0) вышла 15 мая 2015 года, после чего новые версии выходят раз в 6 недель[8]. Для версий языка, вышедших после 1.0, заявлена обратная совместимость[9].

Язык отчасти берёт своё название от грибов семейства ржавчинные (англ. rust fungi)[10].

Ответы154949

561 Кб, 1195x1133
13 мар, 11:57 6 1154949

>>1154947

Ответы156307

7 Кб, 210x230
13 мар, 16:00 7 1155094

Новый маскот треда?

15 мар, 21:09 8 1156307

>>1154949
Напомнило прыщи у меня на лобке, после того как шлюху выебал

15 мар, 21:59 9 1156338

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

Ответы156343156346156359

15 мар, 22:03 10 1156343

>>1156338
Нет, я же не гомофоб и не расист.

15 мар, 22:07 11 1156346

>>1156338
Чем тебя это напрягает? А если у них в кор-тиме старый жирный мужлан который бухает и пиздит жену и детей, но при этом он охуенный кодер. Это тебя бы напрягло?

Ответы156539

15 мар, 22:22 12 1156359

>>1156338
то ли дело c++ комьюнити: на той же конференции cppcon НИ одной бабы, НИ одного негра, только белые полноватые очкарики и чутка азиатов
хе хе

Ответы156395156537

15 мар, 22:57 13 1156395

>>1156359
Скоро с++ запретят, я гарантирую это. Учите раст, глупцы! Спасайте свои полноватые белые задницы!

16 мар, 01:53 14 1156484

о у вас и тредик свой, спрошу и тут пожалуй

>writeln!()
как вы с этим живете анончики?

Ответы156686156805

16 мар, 08:03 15 1156537

>>1156359
Неправда, бабы там есть. Одын, два, может даже тры баба. Просто трудно в С++ бабам вкатиться. Зато и политкорректного дерьма пока ещё не наблюдается.

Ответы157022

16 мар, 08:16 16 1156539

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

Ответы156805177568

16 мар, 14:20 17 1156686

>>1156484
Отлично живём. Это лучше, чем макросы неотличимые от функций.

Ответы157022

29 Кб, 300x300
16 мар, 16:00 18 1156761

>>1154517 (OP)
Эй Растач. Есть телега по сабжу? И если нет, то какого хера ещё никто не запилил?

Ответы156805156827

16 мар, 17:34 19 1156805

>>1156484
В чем проблема-то?
>>1156539
Ой все. Жирный.
>>1156761
Тебе че мало irc/gitter?

Ответы157022

16 мар, 18:29 20 1156827

>>1156761
rustlang_ru

Ответы156836

16 мар, 18:58 21 1156836

>>1156827
нефти тебе

16 мар, 19:06 22 1156842

>>1154517 (OP)
https://news.ycombinator.com/item?id=16585120

tldr:
https://sqlite.org/whyc.html
>1. C Is Best
>C was and continues to be the best language for implementing a software library like SQLite.

https://sqlite.org/testing.html
>SQLite library consists of approximately 125.4 KSLOC of C code.
>the project has 730 times as much test code and test scripts - 91616.0 KSLOC.

Ответы157025157152

59 Кб, 1165x948
16 мар, 23:42 23 1157022

>>1156537
> Просто трудно в С++ бабам вкатиться
че несет

>>1156686
>writeln()
выглядит ужасно и неотличимо, да?

>>1156805
лол, этот даже не замечает

Ответы157031

16 мар, 23:56 24 1157025

>>1156842
И че?

Ответы157031

17 мар, 00:12 25 1157031

>>1157022
>выглядит ужасно и неотличимо, да?
Ээ, ты походу не понимаешь, что такое макросы. Иди растбук читай. writeln() действительно выглядит неотличимо от функции, твой КО. Я другой анон, если что.

>>1157025
Подумой :3

Ответы157040

17 мар, 00:33 26 1157040

>>1157031
>действительно выглядит неотличимо от функции
т.е writeln() не фукнция в расте?

Ответы157047

61 Кб, 720x951
17 мар, 00:52 27 1157047

>>1157040

17 мар, 10:36 28 1157152

>>1156842
> Since its inception on 2000-05-29,
В каком году написан артикл?

17 мар, 22:19 29 1157637

Что на счёт метапрограммирования и функциональщины в расте?

Ответы157640157650159106178379

17 мар, 22:21 30 1157640

>>1157637
Сьтё насёт митапрягряммилования и функсиональсины в ласте?

17 мар, 22:33 31 1157650

>>1157637
Их есть у меня. Че спросить то хотел?

18 мар, 12:36 32 1158092

Если вы в 20 лет хотели создать свой язык - у вас нет сердца, а если вы в 40 лет его создали - мозга.

Ответы158842

19 мар, 12:53 33 1158842

>>1158092
Красиво

19 мар, 16:39 34 1158973

>>1154517 (OP)
Хочу вкатиться в раст каким-нибудь петпроджектом (сам аутсорс-питон-макака).

Думал выбрать просто асинк веб-сервер для какого-нибудь мелкого сервиса.

Нагуглил http://www.arewewebyet.org/ но нихуя не могу определиться, готемы, рокеты, shio.

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

Ответы158976

19 мар, 16:39 35 1158976

>>1158973
Бля нетуда.

19 мар, 19:56 36 1159106

>>1157637
Что то, что другое - боль. Раст - императивный язык без метамагии, что, в общем-то, нормально, а если для тебя метапрограммирование - это с++, то слава богу, что сфинае ада нет.

19 мар, 22:15 37 1159209

РАСТоманы, что насчёт поддержки rust-avr? Никто не знает статус?

24 мар, 00:31 38 1161572

Глянул статейку сравнения с кусками когда, когда раст лучше плюсов. Половина примеров так себе, т.к. компиляция с правильными флажками так же пошлёт нахуй
Немного заинтересовало, есть интересные рюшечки в ваших растах:3
Теперь думаю, чего можно сделать, чтобы ощутить всю мощь?
И как дела с интеграцией сишных либ?

Ответы161658165455

24 мар, 10:17 39 1161658

>>1161572
Многопоточный рейтрейсинг

Ответы165455

30 мар, 23:10 40 1165455

>>1161658
>>1161572
Бля, не осилил.
Почитал гайды, нихера не втащил. Для начала решил развернуть односвязный список. Оказывается чуть ли не книга написана, как на расте сделать односвязный список. Я в шоке, чё так сложна? Зачем эта тонна новых БИЗОПАСНЫХ концепций и конструкций?
Я вообще потерял суть, какая область применения вашего раста? Для кровавого даже ООП нормального нет. Тонна конструкций, которые хрен знает как ложаться на реальное железо. Невнятный оверхед на рантайм, т.е. на контроллеры не влепить. Если в Си сразу понятно, как это машина исполняет, то раст это беттоная абстракция между кодом и железом. Добавить к этому отсутствие нормальной поддержки со стороны IDE и почему для винды из коробки не стоит gdb?!
Это просто дно, ребята. Я кончил.

Ответы165456165479

30 мар, 23:12 41 1165456

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

Ответы165479

31 мар, 00:01 42 1165479

>>1165456
Слышь, епт, это мамаша твоя тут рядом тонет, понел?

>>1165455
>Почитал гайды, нихера не втащил.
Это-норма.пнг
Не торопись, анон. Постарайся разобраться в линейных типах, овнершипе и борровинге. Просто ты привык к тому, что знаешь, и мозг сопротивляется новым концепциям. Это нормально, если ты уже не тинейджер.

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

Короче, попробуй все-таки еще раз почитать растбук, вдумчиво и не торопясь. Если ты не вундеркинд из гугл лабс, то ничего удивительного или ненормального в том, что "бля, не осилил" нет. Про списки куча примеров есть вот тут: http://cglab.ca/~abeinges/blah/too-many-lists/book/

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

Ответы165491

31 мар, 00:56 43 1165491

>>1165479
Спасибо, по делу и адекватно. Попробую подойти с другой стороны.

Я эту статью по спискам и имел ввиду.

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

Ответы165503

31 мар, 01:17 44 1165492

Аноны, есть ли из вас кто-то, кто на этом ржавом поносе что-то полезное пишет? Работает в компании какой может? Хочу кулсторию.

Ответы165591

43 Кб, 1220x1496
31 мар, 02:06 45 1165503

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

>для обучения
Ну, у них же вроде нормальная онлайновая идешка, доя обучения самое то, ну или repl.it из той же серии.

>как профилировать
https://gist.github.com/KodrAus/97c92c07a90b1fdd6853654357fd557a - линукс он и в африке линукс.

Дисклеймер, в продакшене я его не юзал я вообще тут мимо проходил на самом деле, лол, просто I know that feel сработало, так что по поводу изысканной ебли с перфомансом под разными платформами я тебе хуй чего подскажу. Но опять же, сомневаюсь, что тебе понадобится что-то в корне отличное от стандартных нативных тулзов.

31 мар, 09:57 46 1165591

>>1165492
У нас бэкенд на расте. Подробней расскажу через месяцок.

Ответы166138

1 апр, 10:28 47 1166138

>>1165591
Ну это конечно гуд, но это не угроза C++.

Мне просто интересно, правда ли что есть тенденция замены C++ на Rust или на что либо ещё?

Примерно такая же как замена Obj-C на Swift?

Ответы166140166345

1 апр, 10:38 48 1166140

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

Ответы166291

1 апр, 11:05 49 1166153

>>1154517 (OP)
Вопрос от нюфани:
Стоит ли вкатываться в rust ради web'а?

Ответы166155

1 апр, 11:08 50 1166155

>>1166153
Для бэкенда — стоит.
Для фронта пока не понятно. Но wasm выглядит очень интересно.

1 апр, 15:14 51 1166291

>>1166140
Разрешаю не любить кресты до 11 стандарта.
Современные кресты вообще норм.

Кстати, хочу задать вопрос холивара ради.
Критична ли просадка производительности браузера, web сервера или ОС на 10-20%, по скорости и по памяти?

Ответы166308166345

1 апр, 15:46 52 1166308

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

Ответы166323

1 апр, 16:24 53 1166323

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

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

Ответы166325

1 апр, 16:29 54 1166325

>>1166323
https://habrahabr.ru/post/336722/
Походи по линкам в статье.

Ответы166329

1 апр, 16:33 55 1166329

>>1166325
> Лин — инженер в команде Mozilla Developer Relations. Она работает с JavaScript, WebAssembly, Rust и Servo. А также рисует code cartoons.

Круто. Статья от бабы, которая с плюсами даже не работала.

Ответы166333166340

1 апр, 16:37 56 1166333

>>1166329
На, https://blog.rust-lang.org/2017/11/14/Fearless-Concurrency-In-Firefox-Quantum.html, ксенофоб, вонючий.

1 апр, 16:45 57 1166340

>>1166329
Какая разница кто написал статью? Код есть, работает прекрасно, брат жив.

Ответы166342

1 апр, 16:47 58 1166342

>>1166340

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

Ответы166347166459

1 апр, 16:48 59 1166345

>>1166138
Зачем заменять-то, просто новые проекты/библиотеки есть смысл уже не писать на плюсах. Раст пока что единственный язык, который можно потащить в прод вместо си/плюсов без редактирования кода в текстовом редакторе и велосипедных библиотек.
>>1166291
>Современные кресты вообще норм.
То же говно из жопы. Уже покрасивее чем раньше, но всё равно днище.

Ответы166528

1 апр, 16:51 60 1166347

>>1166342
Разница в спонсировании например. Хром вообще самый молодой бровсер который всех захватил (внезапно).

Ответы166354166369

1 апр, 17:01 61 1166354

>>1166347
"Внезапно". Поддержка от гугла с целью контролировать веб не сильно похоже на внезапно. При этом глупо отрицать техническое превосходство хромовцев.

1 апр, 17:12 62 1166369

>>1166347

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

Ответы166378

1 апр, 17:27 63 1166378

>>1166369
Дело в том, что кто-то может потратить пару миллиардов $ чтобы отладить какой нибудь сегфолт, а кто-то нет.

Ответы166379

1 апр, 17:33 64 1166379

>>1166378
Была бы его воля, он бы на перфокартах писал.

1 апр, 17:36 65 1166385

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

Ответы166540

1 апр, 19:52 66 1166459

>>1166342
>В хромоге тоже есть
Разве? Пруфца бы.

1 апр, 21:37 67 1166528

>>1166345
Не придирайся к словам, уёба.
Я же даже пример привёл

>Примерно такая же как замена Obj-C на Swift?

Естественно никто не переписует каждое зассаное приложение с Obj-C на Swift, просто происходит постепенное вытеснение.

Так вот. Есть ли тенденция вытеснения C++ каким либо языком? Есть ли компании, которые сократили отделы кодеров на крестах и наняли больше разрабов на других языках?

Мне интересно, так как я сам разработчик на C++. Я не фанат C++, он просто делает своё дело. На нём можно создать крупную, такую как фотошоп, мс-офис, 3d-max и так далее.

И мне интересно, какая ситуация на рынке? Я сам не из Москвы и не вижу. Но думаю туда перебираться через пару лет.

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

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

Спросил в растотреде потому что слышал что один из кандидатов - это ржавый краб.

PS: В крестотреде спрашивать не буду, заебут.

Ответы166582190732190738

1 апр, 21:50 68 1166540

>>1166385
Думаешь, просто лень учить раст? Я пытаюсь, но, пока не понимаю профита.

1 апр, 23:50 69 1166582

>>1166528
>C++
>Системное программирование
Прохладная история, братан.

6 апр, 22:38 70 1169339

Разумно ли брать сабж своим первым языком?
Хочу писать маленькие десктопные игры from scratch.

Ответы169343169344169390

6 апр, 22:48 71 1169343

>>1169339
Лучше что-нибудь попроще возьми.

6 апр, 22:48 72 1169344

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

6 апр, 23:52 73 1169390

>>1169339
>Разумно ли брать сабж своим первым языком?
Нет.

>Хочу писать маленькие десктопные игры from scratch.
Попробуй love2d.

7 апр, 12:10 74 1169553

Здраствуйте. Я, Кирилл. Хотел бы чтобы вы сделали язык, низкоуровневый суть такова... Переменные иммутабельные, типизация строгая.

Джва года спустя.

let x = "fals";
let x = x.len();
let x = x.is_power_of_two();
println!("{}", x);
>true

Ответы169793194412

7 апр, 20:09 75 1169793

>>1169553
Чо ты хочешь? Тут ты в коде 3 раза связал значение с именем x, при этом предыдущее значение никуда не попало, а осталось на стеке и ссылочная прозрачность сохранена.

Ответы169808

7 апр, 20:33 76 1169808

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

Ответы169819169978194408

7 апр, 20:45 77 1169819

>>1169808
Ты долбоёб.

7 апр, 21:00 78 1169829

Чет сегодня реально какой-то наплыв дебилов на мой уютный зекач, лол. Такое чувство, что кто-то запостил в каком-то студенточятике ссылку, и они сюда всей группой набежали. Я даже не вижу другого объяснения, как не открою нулевую - очередной тред про КАК МНЕ ИЗУЧИТЬ СИ ЗА МЕСЯЦ)), пиздец просто.

8 апр, 07:11 79 1169978

>>1169808
Как же охуенно наверное рассуждать о языке основываясь на 4 строках кода больше нихуя не зная о языке.

Маня, давай я тебе немного объясню

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

Работает. После объявления `x` определенного типа ты не можешь использовать этот `x` как другой тип. А если ты снова объявишь `x`, но уже другого типа, то это уже будет другой `x`, который ты не сможешь использовать как `x` первого типа.

> оно ещё и течет

А вот хуй. После того как закончится скоуп, где объявлены эти `x` для каждого `x` будет вызван деструктор.

8 апр, 17:10 80 1170179

Почему Rust, являясь таких ахуительным языком, такой непопулярный?

Ответы170183170233170236

8 апр, 17:13 81 1170183

>>1170179
В каком месте он непопулярный? Второй год подряд номер 1 в списке любибых языков на SO. В проде уже много у кого. Вакансии появляются все чаще. Так что это просто вопрос времени.

8 апр, 18:28 82 1170233

>>1170179
Ну, он очень популярный для своего возраста и своей области применения. Стать еще более популярным ему мешает интертность мышления большинства разработчиков, которым тупо СЛОЖНА его выучить, ибо там есть несколько новых для них концепций.

8 апр, 18:30 83 1170236

>>1170179
Rust очень молодой язык проснувшийся на одну из самых консервативных областей разработки ПО.

Ответы170237

8 апр, 18:31 84 1170237

>>1170236
*посягнувшийся

Ответы170242

8 апр, 18:34 85 1170242

>>1170237
Ты определись уже - или "посягнувший" или "замахнувшийся".

Ответы170244

8 апр, 18:39 86 1170244

>>1170242
Я носитель! Мне можно!

9 апр, 15:06 87 1170727

Cashes to cashes
Rust to Rust
If the segfaults don't get you
The compiler must

12 апр, 13:02 88 1172195

Есть кто живой?
Каким ide пользуется аноны?
Я пока поставил плагин на свой пайчарм, хватит ли этого?

Ответы172210

12 апр, 13:23 89 1172210

>>1172195
Хватит, если не нужен дебагер.

Ответы172260

12 апр, 14:43 90 1172260

>>1172210
Ну вообще, в перспективе то понадобится, тогда лучше на что будет перейти?
Я пока не собираюсь хуй забивать на раст.

Ответы172322

12 апр, 16:10 91 1172322

>>1172260
Clion 2018.1 с плагином от jetbrains или vs code тож с плагином. Последний более нестабилен, чем первый.

38 Кб, 634x294
12 апр, 18:05 92 1172418

C gfx-rs кто-нибудь работал?
Пытаюсь запустить с example ебаный треугольник, нихуя не работает.

Делал по каким-то другим туторам тоже нихуя.
Вот вроде нашел что-то приличное https://wiki.alopex.li/LearningGfx
Последовательно пишу код, и все равно вылазит какая-то ебала, помогите, ржаваны.
Вот мой код https://pastebin.com/S4zw44ni
На пике ошибка, которую не могу побороть.
Что там в параметры типов надо вставлять?

Ответы172422

12 апр, 18:06 93 1172422

>>1172418
Иди на https://gitter.im/ruRust/gamedev
Там тусят авторы и еще куча людей, они тебе помогут.

Ответы172435

18 Кб, 508x546
12 апр, 18:22 94 1172435

>>1172422
Что-то неохота, хз, что там за народ, а на дваче все мои друзья.
Внезапно я решил проблему через gfx:Encoder::from(command_buffer) , хотя ебался с этим треугольником два дня.

И в связи с этим у меня чисто растовопрос:
Если где-то реализован трейт From, то как-то автоматически создается и трейт Into на том классе, в который я кастую?

Я что-то не нашел реализации into в CommandBuffer для open_gl
https://docs.rs/gfx_device_gl/0.15.1/src/gfx_device_gl/command.rs.html#331-348
Хотя компилятор ругался только на типы, а не на отсутствие функции, когда я вызывал command_buffer.into().

Ответы172437

12 апр, 18:24 95 1172437

>>1172435
Это в стандартной либе:
https://doc.rust-lang.org/src/core/convert.rs.html#412

20 Кб, 460x205
12 апр, 23:23 96 1172639

Няши, только вкатываюсь сюда, но язык оче нравится по сравнению с плюсами и жабой.
Но вот чего я не понимаю (особенно после последней) это лютой ебли при работе с переменными.
Вот, например, я хочу передать String функцию другого потока: а нельзя, она не копируется. Ладно, сделаю string.clone() и добавлю move, посылай ее а оригинал оставь. Нет, не хочу. В итоге пришлось создать новую переменную через clone, и послать ее. Захотел добавить цикл - хуй, один раз отправил переменную и всё.
Неужели такая ебля будет каждый раз? Я понимаю что thread и memory safe, но это уже перебор мне кажется...

Ответы172643172668172789172828

12 апр, 23:25 97 1172643

>>1172639
Ну и в чем проблема?

Ответы172645

12 апр, 23:28 98 1172645

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

Ответы172655172658

12 апр, 23:52 99 1172655

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

Ответы172865

12 апр, 23:58 100 1172658

>>1172645
Ты для начала попробуй сделать то же самое на жабе, чтобы оно работало так же.

Ответы172865

13 апр, 00:06 101 1172668

>>1172639
Алсо, анончик, я немного не понял, что неинтуитивно-то. Шарить память между потоками нельзя? Нельзя, сломается. Ну ты берешь и клонируешь. Строки же не на стеке (они могут быть произвольной длины), а в куче, их нельзя просто скопировать втихушку от программера. Все явно и прозрачно. Дальше, один раз отправил - она ушла в тот тред, все, гудбай. Логично же?

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

Ответы172865

13 апр, 06:09 102 1172789

>>1172639
Как по-твоему должен выглядеть нормальный код?

Ответы172865

13 апр, 11:22 103 1172828

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

Ответы172865

38 Кб, 688x348
13 апр, 13:56 104 1172865

>>1172658
>>1172655
Вот, пожалуйста. String передается в поток спокойно без ебли и без указателей. И да, я понимаю что раст гораздо более низкоуровневый, тем он мне и нравится, но вот такие моменты вымораживают.
>>1172668
Неинтуитивно упрвление переменными. Нельзя просто взять и передать ее (причем в жабе передается не указатель а копия, то есть там по дефолту делается то же самое. Только для этого не надо клонировать строку.
>>1172789
Как в расте. Он меня устраивает, но я просто не понимаю, зачем столько ебли с переменными.
Вот еще один пример. Immutable массив в жабе и в расте. Ну что это блять такое?
>String[] array = {"адын", "два"};
>const arr: &'static [&'static str] = &["a", "s"];
Или несколько типа строк. Вот чем отличаются String и str?
>>1172828
Прежде всего мелочами. Те же крейты например. В жабе есть maven и gradle, и они оба говно по сравнению с крейтами. Тесты. Не нужно никаких фреймворков типа JUnit, все идеально сделано и просто работает. В плюсах такого вообще нет. И таких мелочей много.
Сам язык тоже красивее чем жаба и уж точно понятнее плюсов. Но учить его тяжело даже по книге (которая кстати очень хорошо написано). Там даются общие понятия, но вот такие нюансы не описываются.

Ответы172866172928172929172931173424

13 апр, 13:59 105 1172866

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

Ответы172869

13 апр, 14:03 106 1172869

>>1172866
> Мало того что ты проебал тип объекта
Ладно, Object можно заменить на String. Какие баги могут случиться? String копируется, а значит изменить его никто не может кроме этого же треда. Racing отменяется. Что я упускаю?

Ответы172871

13 апр, 14:09 107 1172871

>>1172869
Ну ок, в жабе строки имутабельны. Пожалуйста:
https://play.rust-lang.org/?gist=0b554811fd74b262fd3e4f142f294705&version=stable

Ответы172872172876

13 апр, 14:10 108 1172872

>>1172871
И всё, больше ты эту s использовать не можешь. А если надо?

Ответы172876172877

13 апр, 14:15 109 1172876

>>1172872
>>1172871
Не так выразился. Не s а string во-первых, а во вторых ты не можешь ее больше использовать если тред все еще работает. А если ее надо использовать в нескольких тредах параллельно?

13 апр, 14:16 110 1172877

>>1172872
https://play.rust-lang.org/?gist=de5a62a6d4a87a24cf114ff76780e233&version=stable

Ответы172886

13 апр, 14:28 111 1172886

>>1172877
Отлично, константы видимо копировать можно. А если для каждого треда надо немного модифицированный String?
Вот простой юзкейс: многопоточное скачивание картинок с тредов /b/.
Берем base_url = "https://2ch.hk/b/res/ (М)"
Первому треду надо дать ссылку "https://2ch.hk/b/res/1.html (М)", второму https://2ch.hk/b/res/2.html' (М) и так тредов 10. Константу использовать нельзя потому что изменяем url. Остается только копировать?

Ответы172889

13 апр, 14:33 112 1172889

>>1172886
https://play.rust-lang.org/?gist=5cf86bab72a26a64e3145988515e5543&version=stable

Ответы172890176522202296

13 апр, 14:34 113 1172890

>>1172889
Первый into_iter лишний, ну ты понел.

13 апр, 15:39 114 1172928

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

13 апр, 15:42 115 1172929

>>1172865
>Неинтуитивно упрвление переменными.
Что значит "неинтуитивное"? Если отвыкнуть от (неверного в общем случае) представления о том, что данные могут быть продублированы бесплатно, и начать думать о них в терминах ресурсов, то все абсолютно интуитивно - это как раз соответствует интуитивным представлениям о реальном мире. В реальном мире (и в языках с линейными типами) ты не можешь съесть одну и ту же конфетку два раза.

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

13 апр, 15:49 116 1172931

>>1172865
>Вот чем отличаются String и str?
https://doc.rust-lang.org/stable/rust-by-example/std/str.html
https://doc.rust-lang.org/1.14.0/std/string/struct.String.html
https://doc.rust-lang.org/1.14.0/std/primitive.str.html
https://stackoverflow.com/questions/24158114/what-are-the-differences-between-rusts-string-and-str
http://www.ameyalokare.com/rust/2017/10/12/rust-str-vs-String.html

13 апр, 23:42 117 1173272

Какую либу посоветуете для гейдева, а конкретно для удобной ебли матриц и векторов?
Нашел cgmath и nalgebra, но что-то или я тупой, или они не умеют переводить матрицы в row based формат, который принимает gfx rs.

14 апр, 09:28 118 1173424

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

**web frameworks** 14 апр, 11:11 119 1173446

27 Кб, 724x21039 Кб, 512x408

web frameworkss
>>1154517 (OP)
Я тут сравнил некоторые пакеты для web из crates.io Что скажете?
Какой по вашему лучше для веб-сервера?

https://goo.gl/pWJQpe - граф
https://goo.gl/NDWhpe - таблица

Ответы173447173455173475173522

14 апр, 11:14 120 1173447

>>1173446
Если можешь себе позволить nightly, бери рокет. Мы в прод собираемся выкатывать actix_web.

Ответы173450173453

14 апр, 11:18 121 1173450

>>1173447
Да, думаю брать его...
>Мы в прод собираемся выкатывать actix_web
рокет и actix_web как то связаны? или ты это просто мимо делом сказал?

Ответы173452

14 апр, 11:20 122 1173452

>>1173450
actix_web — выбор для stable же
Впрочем мы его взяли еще и потому что нам нужны акторы для остального бэкенда.

14 апр, 11:20 123 1173453

>>1173447
И если например не хочу иметь дело с nightly. То рокет всё равно пойдёт? или это уже не то? Что тогла лучше юзать?

Ответы173454

14 апр, 11:21 124 1173454

>>1173453
Рокет без nightly не работает.

Ответы173456

14 апр, 11:22 125 1173455

>>1173446
https://github.com/TatriX/realworld-rust-rocket

14 апр, 11:22 126 1173456

>>1173454
А... Нефти тебе

14 апр, 12:08 127 1173475

>>1173446
Если нужна асинхронщина, то hyper, actix-web или Gotham.rs. Если не нужна(что странно), то можно и рокет, но он только в ночнике.

Ответы173487

14 апр, 12:36 128 1173487

>>1173475
>Gotham.rs
>GO
>TRRTIIGGEERRED!!!

Спс, ХЗ, хочу что-нить высокоуровневое (actix-web или Gotham.rs может выберу)
Но вот я Rockeт хотел, посмарел, АПИ норм - похож на flask, но вы говорите что в нём нет асинхронности (может пригодиться хз - для личного проекта), да ещё и только в ночной доступен((

под асинхронностью ты понимаешь использование некольких ядер на процессоре? типа если у меня 4-ре ядра, то каждый запрос мой сервер будет обрабатывать на отдельном ядре?

Ответы173700

14 апр, 13:52 129 1173522

>>1173446
А нахуй писать веб на ржавчине?

Ответы173525173560

14 апр, 14:02 130 1173525

>>1173522
а зачем вообще придумывают языки программирования?

Ответы173529173550

14 апр, 14:16 131 1173529

>>1173525
Чтобы более лучше решать определенный класс задач. Иди в другое место троллить, дурачок.

Ответы173532

14 апр, 14:19 132 1173532

>>1173529
а я и не трою, ты сам спросил.
Но допустим, нужен веб-сервер. Разве раст не идеальное решение? Или что тогда выбрать?

14 апр, 14:50 133 1173550

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

Ответы173563

14 апр, 15:07 134 1173560

>>1173522
Что ты считаешь достойной альтернативой?

14 апр, 15:14 135 1173563

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

14 апр, 15:51 136 1173600

Котоны, кто пользуется rls, расскажите насколько оно стабильно?

32 Кб, 1294x190
14 апр, 18:19 137 1173695

Блэд, как меня заебало отношение к null в расте. Почему это какой то специфический тип, который нельзя просто так взять и приписать переменной?
Вот например есть переменная
> let mut answer:reqwest::Response;
Далее по коду в нее пишется ответ сервера. Все хорошо. И тут компилятор выскакивает и говорит - хуй тебе, она possibly uninitialized. Ну хорошо, пускай она будет null по дефолту, и потом будет проверка на null. Опять хуй там, ошибка как на пике. Как мне блять эту переменную инициализировать чтобы он не выебывался?

Ответы173701173704174234

14 апр, 18:33 138 1173700

>>1173487
Нет, под асинхронностью я имею ввиду неблокирующий io. Без асинхронности для каждого коннекта тебе придётся либо спавнить отдельный тред, либо ждать завершения обработки предыдущего запроса, оба варианта не слишком эффективны. Неблокирующий io же позволяет тебе на, допустим, 4 тредах держать хуеву тучу коннектов одновременно.

Ответы173701

14 апр, 18:35 139 1173701

>>1173700
Спс
>>1173695
Option<>? Или ""?
хз

14 апр, 18:41 140 1173704

>>1173695
Очевидный Option. Вам бы для начала хоть растбук почитать. И да, null не нужен за пределами динамикодресни.

https://play.rust-lang.org/?gist=b89a40bcf8be0c59d2ba0fabd65b547b&version=stable

Ответы173707

40 Кб, 765x314
14 апр, 18:51 141 1173707

>>1173704
Растбук прочел полностью, вот только он покрывает исключительно базовые вещи.
И никакой Option тут не подходит. Вернуть надо reqwest::Response и соответсвенно такого же типа переменная. Никаими Optionами ее инициализировать не получается.
Что мне написать

Ответы173717

14 апр, 19:00 142 1173717

>>1173707
такэбат.. просто unwrap'ишь свой answer:reqwest::Response из Optiona и делов-то

Ответы173718

14 апр, 19:02 143 1173718

>>1173717
точнее наоборот, заворачиваешь свой respone в Option<>

let mut answer: Option<reqwest::Response> = Notheing;

Ответы173722

45 Кб, 833x317
14 апр, 19:06 144 1173722

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

Ответы173723173725174236

14 апр, 19:07 145 1173723

>>1173722
так Respone тоже заворачивай в оптион
answer = Some(response)

Ответы173726

14 апр, 19:08 146 1173725

>>1173722
шо за IDE?

Ответы173726

14 апр, 19:11 147 1173726

>>1173723
Ух блэд. Оно таки заработало. Где можно почитать про такие хитрости? В растбуке про Some было совсем мало в контексте "любое значение", если не ошибаюсь.
>>1173725
Intellij Idea

Ответы173756

14 апр, 20:10 148 1173756

>>1173726
Прочитай ебаный растбук.
https://play.rust-lang.org/?gist=3eaf61e5cc7e879382c9e9722923da9a&version=undefined

Ответы173770

42 Кб, 667x342
14 апр, 20:21 149 1173770

>>1173756
Впрочем это тоже хуйня, потому что так просирается обработка ошибок.

15 апр, 15:33 150 1174234

>>1173695
>Ну хорошо, пускай она будет null по дефолту, и потом будет проверка на null.
Чет проиграл.

Ответы174235174350

15 апр, 15:35 151 1174235

>>1174234
Видишь как мутабельная параша мозг поражает.

729 Кб, 2000x1333
15 апр, 15:35 152 1174236

>>1173722
>jsone
>reqwest
Матерь божья...

Ответы174237

15 апр, 15:36 153 1174237

>>1174236
> reqwest
это название либы, а вот
> jsone
это креатифф афтара

Ответы174238

15 апр, 15:38 154 1174238

>>1174237
>это название либы
За такую хуйню у нас на районе убивают. У меня KLASS от этого скрина.

Ответы174240

15 апр, 15:39 155 1174240

>>1174238
В чем твоя проблема? Для названия либы это очень даже неплохо, потому что хорошо гуглится. Это же просто чья-то либа с crates.io, а не стандартная библиотека.

Ответы174416

15 апр, 19:08 156 1174350

>>1174234
В чем проблема? Если запрос успешен, то null меняется на ответ, если остался null, значит ошибка.

Ответы174355

15 апр, 19:17 157 1174353

Ну его нахуй ваш раст короче. Нихуя не понятно как его вообще учить. До всего догадываться надо по 2 часа.

15 апр, 19:18 158 1174355

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

Ответы174370

15 апр, 19:33 159 1174370

>>1174355
Скажу. Создается переменная с дефолтным значением. В нее пишется (при успехе) ответ от сервера. Потом она возвращается.
Почему нельзя сразу обозначить переменную при запросе? Потому что это происходит в scope который создал match, и в конце функции ее нельзя будет вернуть. А если возвращать ее в scope, то компилятор будет ругаться что нет return value.
Да, я видкл это
> https://play.rust-lang.org/?gist=3eaf61e5cc7e879382c9e9722923da9a
но сам бы я до этого не дошел. Я не понимаю, откуда взялось
> reqwest::StatusCode::Ok
если по книге и всем гайдам что я посмотрел должно быть
> Ok() => {}
> Err(_) => {}
Я пытался писать так как могу, как понимаю, но видимо раст мне пока не осилить.

Ответы174378174419

15 апр, 19:40 160 1174372

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

Ответы174382174385

15 апр, 19:46 161 1174378

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

Ответы174381

15 апр, 19:50 162 1174381

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

Ответы174383

15 апр, 19:52 163 1174382

>>1174372
iterate .values()

15 апр, 19:52 164 1174383

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

15 апр, 19:55 165 1174385

>>1174372
https://play.rust-lang.org/?gist=7ae6428211980f847ef4b5704c730828&version=stable

15 апр, 20:34 166 1174416

>>1174240
Ну я же вроде пояснил - это коверкание слов уровня KLASS, от которого глаза вытекают и создается ощущение, что кто-то опечатался. Еще и себе в исходники это говно тянуть. Оче плохой вкус, короче.

Вообще оффтоп, мне иногда бомбит от того, что авторы часто для каких-нибудь тривиальных библиотек выбирают дохуя КРЕАТИВНЫЕ имена. Если в библиотеке для логирования нет слова "log", а в библиотеке для парсинга жсона нет слова "json", то у меня мгновенно разогревается пердак, как в микроволновке. инб4: зануда

Ответы174466

15 апр, 20:38 167 1174419

>>1174370
>Я не понимаю, откуда взялось
>> reqwest::StatusCode::Ok

https://docs.rs/reqwest/0.8.5/reqwest/struct.Response.html#examples

https://docs.rs/reqwest/0.8.5/reqwest/enum.StatusCode.html

Literally 10 секунд и первая ссылка в гугле.

15 апр, 21:17 168 1174466

>>1174416
Да просто https://crates.io/crates/request уже было занято. Что ты предлагаешь в этой ситуации делать?
А вообще проблема эстетики решается просто:
> extern crate reqwest as request;

Ответы174507

15 апр, 21:41 169 1174507

>>1174466
>Что ты предлагаешь в этой ситуации делать?
НЕЙМСПЕЙСЫ, Карл.

> extern crate reqwest as request;
Так тоже можно, но все же это обход, а не решение проблемы (кривых имен).

Ответы174511

15 апр, 21:45 170 1174511

>>1174507
Если не лень, можешь почитать почему они решили не юзать неймспейсы: https://internals.rust-lang.org/t/crates-io-package-policies/1041

Ответы174547

15 апр, 22:36 171 1174547

>>1174511
I'm sorry, but ето говно. Вообще, все, что связано с крейтами - говно. Это самая неудачная, непонятная, кривая и объективно хуевая часть языка. Я понимаю того анона, который пришел с крестов и выше говорил, какие крейты крутые. После крестов это конечно круто, но в целом - говно.

Ответы174550

15 апр, 22:37 172 1174550

>>1174547
Конкретней. Что не так с ними.

Ответы174559

15 апр, 22:53 173 1174559

>>1174550
Блин, хотел дать ссылку на lmgtfy.com + what's wrong with rust modules, но лмгтфу походу лежит. Короче, мне лень сейчас самому в красках расписывать, к тому же тема известная (https://withoutboats.github.io/blog/rust/2017/01/04/the-rust-module-system-is-too-confusing.html например). Ну и неймспейсы - хорошая штука, нужно больше неймспейсов.

Ответы174560

15 апр, 22:55 174 1174560

>>1174559
хз, неймспейсы не нужны. По поводу лишней хуйни типа extern crate уже что-то делают, но в целом модули простые понятные и удобные. Я хз они там ноют.

Ответы174658174659

16 апр, 01:07 175 1174658

>>1174560
Если что, "они" - это один из контрибьюторов раста, как раз тех, которые "уже что-то делают".

16 апр, 01:07 176 1174659

>>1174560
А, ну и да:
>хз, неймспейсы не нужны.
За такое нужно сжигать и отправлять в 80-ые а потом сжигать

Ответы174779

16 апр, 09:25 177 1174779

>>1174659
Так какую проблему решают нейспейсы то?
Типа вместо
> shit_http_request as request
можно будет писать
> shit.http.request
Нахуя это надо то, лол. Один хуй в программе реально используется только последнее имя для доступа к модулям крейта.

Ответы174879175094

16 апр, 13:23 178 1174879

>>1174779
>Так какую проблему решают нейспейсы то?
Ты серьезно?

Ответы174881

16 апр, 13:24 179 1174881

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

Ответы174918

16 апр, 15:08 180 1174918

>>1174881
Ну, во-первых, неймспейсы - это богоугодно.

Во-вторых, ну блин. Если ты пишешь что-то серьезное, то тебе нужно озаботиться, чтобы у этого чего-то было глобально уникальное имя, потому что очень тупо из-за этого факапиться в 21 веке. Джавские конвенции гарантируют глобальную уникальность имени пакета без единого глобального хранилища всех пакетов. Ты можешь использовать любые репозитории, и as long as автор пакета серьезный чувак, имя пакета будет уникальным.

Алсо, это просто логично. Вендор-артефакт-версия. Захотел форкнуть пакет - окей, поменяй вендора, сразу все понятно: вот эта ветка от org.apache, а вот эта - от me.antoshka. Есть десять пакетов, относящихся к одному проекту - окей, вот hk.2ch/makaba, вот hk.2ch/dollchan, вот hk.2ch/abupidor. Просто, логично. А эти изобретают какую-то хуйню с тегами, опять же завязывая все на один централизованный репозиторий со свистелками.

Дальше, от этого нет никакого оверхеда. В том же lein, например, если groupid = artifactid, то не нужно писать его два раза. Ну то есть поверх изначально нормальной системы можно легко добавить немножко сахара, и оно будет выглядеть точно так же, как и здесь.

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

Ответы174920175094

16 апр, 15:12 181 1174920

>>1174918
А теперь давай по минусам неймпейсов?
Вот у тебя 33 форка одной и той же либы. Какой брать?
Конвенции ничего не могут гарантировать, т.к. нарушить их вообще нехуй делать.

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

В общем кроме "богоугодно" реальных профитов не видно. Только код в 5 пустых папках всегда лежит, охуеть как удобно.

Ответы174928

16 апр, 15:19 182 1174928

>>1174920
>Вот у тебя 33 форка одной и той же либы. Какой брать?
При чем тут неймспейсы? Хуйню какую-то несешь.

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

>Прописываешь путь до исходников, хоть на гитхаб, хоть в соседнюю папочку.
Короче, ты вообще не понимаешь, о чем речь...

>Только код в 5 пустых папках всегда лежит
...и несешь какую-то выдуманную хуйню.

16 апр, 21:23 183 1175094

>>1174779
>Так какую проблему решают нейспейсы то?
Проблему того что в 5 либах которые ты используешь идентификатор Request используется 8 раз.
>>1174918
Как ты от неймспейсов перешел к пакетам? При чем здесь
>Вендор-артефакт-версия
Когда форкают библиотеки, никто не переименовывает неймспейс. Или ты не об этом?

Ответы175097175132

16 апр, 21:26 184 1175097

>>1175094
Разговор идет за неймспейсы для крейтов. Бесполезная ненужная хуйня. Почему-то npm в котором обосраться сколько пакетов спокойно без этой залупы живет.

Ответы175132

16 апр, 22:08 185 1175132

>>1175094
Ну мы изначально говорили о схемах именования пакетов (крейтов).

>>1175097
>npm
Literally худший пример, который ты мог подобрать, лол. Proves my point какбе.

19 апр, 10:42 186 1176522

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

Ответы176526

19 апр, 10:49 187 1176526

>>1176522
Там в середине цепочки есть collect.
Запускаем 10 тредов, получаем 10 handle, которые собираем в вектор. Все 10 тредов уже выполняются.
Потом для каждого хэндла делаем join по очереди, тем самым дожидаясь исполнения всех запущенных потоков.

Ответы176528

19 апр, 10:56 188 1176528

>>1176526
Но все джоины должны вызываться не сразу, а только тогда, когда предыдущий передал управление в мейн?

Ответы176531

19 апр, 11:03 189 1176531

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

Ответы176543

19 апр, 11:29 190 1176543

>>1176531
Поясни еще одну вещь, почему если не делать коллект, то потоки стартуют не одновременно, а только когда предыдущий завершился?
В вебе не правильно работает, но код вот https://play.rust-lang.org/?gist=93b2a6cabf10dc65652cbb0edc366a9d&version=stable

Ответы176566

19 апр, 12:07 191 1176566

>>1176543
Потому что итераторы ленивые. То есть когда ты делаешь .iter().map() никаких действий реально не выполняется, а лишь создается цепочка отложенных вычислений. Чтобы её запустить надо либо сделать collect получив некую коллекцию с результатами вычислений созданной цепочки, либо вызвать, например, for_each который выполняет цепочки, но ничего не возвращает.

Ответы176580

19 апр, 12:30 192 1176580

>>1176566
Блять точно. В джаве это называется конвейерные методы, что то я забыл про них. Спасибо анончик

90 Кб, 1483x927
20 апр, 18:00 193 1177331

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

Ответы177356

20 апр, 19:07 194 1177356

>>1177331
геттеры - это антипаттерн

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

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

Ответы177447177490

20 апр, 22:15 195 1177447

>>1177356
>геттеры - это антипаттерн
У нас на галере за такое увольняют нахуй.
>до ответа на свой вопрос ты наверное уже и сам догадался, да?
Нет, я тупойспал.
Ну допустим даже если я убираю геттер и делаю поле pub все равно проблема остается.

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

Ответы177565177706

20 апр, 23:18 196 1177490

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

Ответы177565

21 апр, 01:41 197 1177565

>>1177447
>У нас на галере за такое увольняют нахуй.
Сочувствую. :P

>Тут, кстати, геттер я делал не ради геттера
Ну тогда ладно. Правда, по соглашению для field имеем: field, field_mut, set_field.

>все равно проблема остается
Потому что у тебя иммутабл борроу внутри мутабла. Вынеси иммутабл за пределы вызова метода на мутабле. Подробнее:
https://stackoverflow.com/a/41189051
http://smallcultfollowing.com/babysteps/blog/2016/04/27/non-lexical-lifetimes-introduction/

>>1177490
>Как ты получишь положение камеры без геттера?
Ну если ВООБЩЕ в вакууме говорить, то либо у тебя внутреннее представление - деталь реализации, и тогда геттеры ненужны; либо у тебя просто данные, и тогда геттеры ненужны; либо у тебя две разных полноценных хуйни, и тогда синлреспонсибилитиблаблабла, надо разносить и геттеры опять ненужны. Ну а в идеале у тебя конечно вообще энтити иммутабельные и инконсистентностей быть в принципе не может (ну, как... в рамках этого конкретного случая), и тогда геттеры ненужны. Но тут у чувака вообще камера работает напрямую с инпутом, лол, то есть как бы о какой-то архитектуре и прочем хуе-мое говорить и вовсе неуместно.

Ответы177620

21 апр, 01:49 198 1177568

>>1156539
Если бы данный случай не был исключением, ты бы о нём не знал и треда этого не существовало бы.

мимонекропостер

21 апр, 09:41 199 1177620

>>1177565
>Но тут у чувака вообще камера работает напрямую с инпутом
Хм, имею опыт с юнити и gdx, там это происходит примерно так же. Если есть какие-то идеи как это можно сделать лучше то я с удовольствием послушаю.

Ответы177943

21 апр, 14:01 200 1177706

>>1177447
>Ну допустим даже если я убираю геттер и делаю поле pub все равно проблема остается.
Блжад, тебе совсем другое предлагают.

21 апр, 22:15 201 1177943

>>1177620
Ага, примерно так же, блядь. Обычно у простой камеры есть таргет энтитя с компонентом позиции, к которому она привязывается. Вообще, инпут со всякими is_key_pressed в игровой логике - это пиздец же. Тащем-та лучше бы у вас на галере за это увольняли, а не за отсутствие геттеров, например.

23 апр, 14:13 202 1178231

Микроконтроллеры на rust программировать можно? В частности avr.

Ответы179749

23 апр, 20:15 203 1178379

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

Ответы178558178616

24 апр, 01:09 204 1178558

>>1178379
>Например для каждого замыкания нужно явно указать, кому и как будут принадлежать данные.
И это хорошо.

inb4: байтоеб

Ответы178997

24 апр, 06:50 205 1178616

>>1178379
StandardML/Ocaml элита в треде. Главная фишка МЛ языков - тайп инференс проебан, так что это еще спорное утверждение.

Ответы178645

24 апр, 09:32 206 1178645

>>1178616
В каком месте он проебан?

Ответы178662

24 апр, 10:25 207 1178662

>>1178645
https://www.reddit.com/r/rust/comments/5pr3ft/polymorphic_closures/ начиная с такой хуйни

Ответы178914

24 апр, 18:18 208 1178914

>>1178662
В мл разве не то же самое? Экзистеншилы для этого нужны же, не?

Ответы179121

24 апр, 20:16 209 1178997

>>1178558
Я и не говорил, что это плохо. Для этого Rust и нужен.

Ответы179031

24 апр, 20:57 210 1179031

>>1178997
ОБНИМАШКИИИ! :3 :3 :3

24 апр, 22:51 211 1179121

>>1178914
>Экзистеншилы
>Экзистеншилы
курсы иностранных языков в балашихе.jpg

Речь о параметрическом полиморфизме, который для замыканий в расте не реализован.

Ответы179201

25 апр, 02:58 212 1179201

>>1179121
>курсы иностранных языков в балашихе.jpg
А ты точно мл-элита?

>Речь о параметрическом полиморфизме, который для замыканий
Это если бы у тебя была функция вида (a -> a), а у тебя тут значение вида closure<T>, причем возможно линейное.

Ответы179212

25 апр, 03:41 213 1179212

>>1179201
>closure<T>, причем возможно линейное.
И чё? Типа обстоятельства непреодолимой силы?

Ответы179430

145 Кб, 400x400
25 апр, 13:58 214 1179360

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

Ответы179425

25 апр, 15:41 215 1179425

>>1179360
Clojure может использовать Java библиотеки. Стал бы ты ожидать, что динамический Clojure можно одной кнопкой превратить в валидную джаву?

Ответы179440

25 апр, 15:47 216 1179430

>>1179212
Изучи, как работает система типов в мл, пожалуйста.

145 Кб, 400x400
25 апр, 16:01 217 1179440

>>1179425
значит крабик тоже динамический и его не сконвертишь эх

Ответы179461

25 апр, 16:46 218 1179461

>>1179440
В качестве другого примера — нельзя сделать 100% конвертацию между системами типов Flow и TypeScript. Даже при том, что синтаксис и суть почти идентичные.

Ответы179465185787

145 Кб, 400x400
25 апр, 16:54 219 1179465

>>1179461
>нельзя сделать 100% конвертацию между системами типов Flow и TypeScript
кому бы этом могло быть выгодно...

25 апр, 23:27 220 1179749

>>1178231
С avr пока туговато, зато cortex-m уже во все поля - в cargo нужный target прикрутили, можно без костылей (xargo) собирать. Ну вроде с переходом на llvm5 и avr доделают.
А вообще смотри rust embedded working group и основных контрибьюторов - там один специально за avr отвечает, у него в гитхабе/бложике можно найти интересного.

26 апр, 12:47 221 1179948

Опа опа и http://rust-lang.org улетел в список блокировки Роскомнадзора.
Горжусь Россией.

Ответы180294

26 апр, 21:34 222 1180294

>>1179948
У меня сейчас еще или уже? работает.

29 апр, 02:03 223 1181352

>>1154517 (OP)
Раст же ржавчина типа

6 мая, 07:09 224 1184936

Шлюха перепишет Tor на русте https://youtu.be/tH_pdYyqK4o

Ответы184975185017185086185288185727

6 мая, 11:07 225 1184975

>>1184936
>tfw your name is Isis

Ответы185288

6 мая, 12:27 226 1185017

>>1184936
>Шлюха
Не завидуй, чмо. Классная девка.

6 мая, 14:18 227 1185086

>>1184936
кто это? почему шлюха?
что сложного в переписывание уже задизайнинной программы тем более опенсорсного?

Ответы186732

6 мая, 18:44 228 1185288

>>1184936
Ну наконец-то! Джва года этого ждал.

>>1184975
Да и фамилия неплохая, да.

6 Кб, 491x122
7 мая, 10:15 229 1185568

Пипец. Зачем так жирно?

Ответы185611

7 мая, 12:12 230 1185611

>>1185568
Обсуждали уже раз двадцать.

7 мая, 17:07 231 1185727

>>1184936
Блядь, какие же они охуенные.

Isis Agora Lovecruft, блядь. С пиэйчди по физике и английской литературе. Работает над тором с 2010. Блядь, ей сколько лет тогда вообще было? Серьезно, у меня стойкое ощущение, что они принадлежат к другому биологическому виду.

Ответы185754

7 мая, 17:13 232 1185730

x="if(t%2)else";python3 -c"[print(t>>15&(t>>(2$x 4))%(3+(t>>(8$x 11))%4)+(t>>10)|42&t>>7&t<<9,end='')for t in range(220)]"|aplay -c2 -r4

https://www.patternsinthevoid.net/

7 мая, 18:14 233 1185754

>>1185727
It's a trap.

Ответы185760

7 мая, 18:37 234 1185760

>>1185754
Да. Я же говорю - у меня стойкое ощущение, что они находятся на следующей ступени эволюции.

77 Кб, 650x477
7 мая, 19:49 235 1185787

>>1179461
О, о, анончик, ты писал на TypeScript, да?
А то у меня важный вопрос о TS есть, а в JS-треде нихуя не ответили.

8 мая, 02:38 236 1185973

>>1154517 (OP)
Сап, растовчане, я в программировании полный ноль, хочу вкатиться .
Стоит ли изучать первым языком раст ? Был вариант учить питон, я даже основы выучил, но боюсь привыкну к питону и не смогу нормально программировать на си-подобных языках,коим по моему мнению и является раст
кароче стоит ли учить раст как первый язык программирования ?

Ответы185982185984188693

423 Кб, 175x175
8 мая, 05:23 237 1185982

>>1185973
>си-подобных языках
>коим по моему мнению и является раст
C и Rust являются одними из относительно немногих низкоуровневых языков, языков без GC. На этом "подобие" по-моему заканчивается.
Но что-то мне подсказывает что ты сравнивал их по наличию фигурных скобок.

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

8 мая, 05:38 238 1185984

>>1185973
Rust это скорее ML-подобный язык, который мимикрирует под С
https://doc.rust-lang.org/reference/influences.html

9 мая, 12:39 239 1186732

>>1185086
>кто это? почему шлюха?
Разве она похожа на трапа?

Ответы186966

9 мая, 16:59 240 1186966

>>1186732
В том-то и дело, что даже непохожа.

12 мая, 14:57 241 1188693

>>1185973
Учи джаву и ищи работу. Rust и как посоветовали Си не вижу смысла учить как первые языки - работы не найдёшь. Твоя цель - это получить работу прежде всего. Потом уже будет больше свободы - глянешь сишку чисто в академических целях, может в Rust перекатишься. Главное - получи работу.

Ответы188858

2 Мб, 371x331
12 мая, 22:20 242 1188858

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

Ответы188937

13 мая, 01:57 243 1188937

>>1188858
Знание языка != знание синтаксиса.
https://felixit.blog/2015/10/01/iazik-za-24-chasa/

Ответы189075

13 мая, 10:35 244 1189001

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

Ответы189007189043189081

13 мая, 11:01 245 1189007

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

Ответы189008

13 мая, 11:16 246 1189008

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

Ответы189018

13 мая, 11:38 247 1189018

>>1189008
инсталлер - если о линупсах, то gcc вообще из коробки, лол=)
пакетный менеджер - чек, хотя для холловорлд почти во всех языках нинужны дополнительные либы.
Современные средства разработки? А с этого места по подробнее, может там уже и gdb для виндус починили, а кто умеет с автокомплитами работать?

Ответы189045

13 мая, 12:07 248 1189043

>>1189001
> Еще вокруг него по каким-то причинам тусуется много швали нетрадиционной ориентации
Количество пидоров реально как-то напрягет. Из-за этого даже вкатываться не хочется, хотя язык интересный

13 мая, 12:09 249 1189045

>>1189018
Автокомплит — https://github.com/rust-lang-nursery/rls
Все IDE фичи первой необходимости предоставляет, хотя минус, что просто игнорит макросы.

24 Кб, 368x360
13 мая, 13:15 250 1189075

>>1188937
Ух, а я-то и не догадывался, ты мне глаза открыл просто.

13 мая, 13:21 251 1189081

>>1189001
>пихать во все дыры, а он даже с мылом
-> /ga
Тут обсуждают программирование, а не твои интимные фантазии.

14 мая, 14:44 252 1189664

Допустимо ли учить раст не зная c++?

Ответы189708

14 мая, 16:29 253 1189708

>>1189664
Конечно. С++ - это же не си.

14 мая, 22:28 254 1189914

Хочу изучить для себя какой-нибудь язык, чтоб компилировался в бинарник, а то виртуальные машины и интерпретаторы немного надоели. С++ нахер надо, слишком костыльный, Rust - симпатичный, но коре девелоперы лгбт-либерахи, противно (меня правда только это останавливает), Си для десктопа чё-то хер знает

Ответы190098190477191225

15 мая, 10:08 255 1190098

>>1189914
>для себя
Crystal

Ответы190477190736

15 мая, 18:23 256 1190477

>>1190098
В соответствующем треде уже выяснили, что он фактически умер.

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

Ответы190619

15 мая, 21:25 257 1190619

>>1190477
>Суди о технологии по объективным критериям
Ты прав. Надо отбросить всё это даже-не-знаю-как-назвать. И быть объективным. У меня такое ещё бывает в противовес хайповым языкам, типа котлина. Хотя объективно он неплох. Буду исправляться.

Ответы190799

16 мая, 01:08 258 1190732

>>1166528
Кресты теряют один очень большой и денежный рынок. Напару с PHP. Т.е. веб.
Раньше было так: пилим на пхп какое-то говно, но быстро. Набираем базу пользователей и огребаем перфоманс проблемы. Нанимаем крестовика, он запиливает ботлнек и все рады.
Быстро вышли на рынок, мало ебались.

Теперь сразу пишут на Go. И оно сразу и быстро написано и норм работает.
Результат - рынок крестов проседает в серединке.
Т.е. осталось дохуя дешёвых вакансий в НИИ, которые ещё лет 10-20 будут хуйнёй страдать за копейки.
И остались супер-вакансии супер-сеньоров в убер-производительных проектах. Тут платят дохуя. Но требования ещё выше.
В серединке очень тонкий и специфичный рынок геймдева, который и рынком сложно назвать

Итог - катись в Го-шечку вслед за рынком. Причём будешь иметь профит. Большинство гошников - это похапехеры, которые нихуя не знают, не умеют и не понимают. Экс-крестовик имеет преимущество.

Ответы190801

16 мая, 01:25 259 1190736

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

16 мая, 01:28 260 1190738

>>1166528
Rust по сути единственный кандидат.

16 мая, 08:37 261 1190799

>>1190619
>Хотя объективно он неплох.
Это, разумеется, неправда.

16 мая, 08:40 262 1190801

>>1190732
>катись в Го-шечку вслед за рынком.
>вслед за рынком
Уже тысячу раз обсуждали, что ее популярность второй год падает инб4: как будто там есть куда падать. Для такого молодого языка это фактически означает смерть гроб кладбище пидор.

И это с учетом маркетинга и хайпа от гугла, анон.

Алсо, в том посте вопрос был вообще про системное программирование.
>системное программирование
>сборщик мусора

Ответы190804216833

16 мая, 08:46 263 1190804

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

Это на 100% либо легаси-код на Сях из 90х (как у прыщей так и у шинды). Либо игрушечные РТОС на сях в бомжеэмбеде.

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

16 мая, 21:59 264 1191225

>>1189914
python

Ответы193471

20 мая, 18:03 265 1193471

>>1191225
> какой-нибудь язык, чтоб компилировался в бинарник
> python
O'rly?

62 Кб, 1650x486
21 мая, 15:53 266 1194091

Почему Rust не взлетел? Производительность почти как у C++, но работать с ним удобнее/легче.

Ответы194102194130194173194175194957195213

21 мая, 16:04 267 1194102

>>1194091
незаметен

Ответы194125

21 мая, 16:17 268 1194125

>>1194102
Что?

21 мая, 16:26 269 1194130

>>1194091
> Почему Rust не взлетел? Производительность почти как у C++, но работать с ним удобнее/легче.

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

Ответы194133194137194178194323

21 мая, 16:28 270 1194133

>>1194130
Как вообще читать эти графики?

Ответы194323

21 мая, 16:29 271 1194137

>>1194130

И не забывай, что в плюсы байты ебать идут, аллокаторы самопальные писать и прочей херней вроде data-oriented-design заниматься, когда для жабы топового сервака перестает хватать. Ну или когда нужно круйзис с топ графинычем продать. А раст всем этим заниматься запрещает. Ну и нахуй он такой тогда нужен если есть жаба?

Ответы194175

21 мая, 17:11 272 1194173

>>1194091
Пикча старая? Видел где Rust куда ближе к C

Ответы194194

21 мая, 17:15 273 1194175

>>1194091
>Rust не взлетел
Ошибка.

>>1194137
> раст всем этим заниматься запрещает
Ошибка.

21 мая, 17:16 274 1194178

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

21 мая, 17:55 275 1194194

>>1194173
Ну на пикче же видно, что он в бест кейсах на равне с С.

21 мая, 21:57 276 1194323

>>1194133
https://en.wikipedia.org/wiki/Box_plot
>>1194130
>бест-кейс раста как ворст-кейс плюсов
Вообще-то average.

21 мая, 23:31 277 1194408

>>1169808
это разные x
как если бы

let x = "fals";
let xlen = x.len();
let xpowertwo = x.is_power_of_two();
println!("{}", xpowertwo );

и это дебилушка написано в самом начале книги про раст

21 мая, 23:35 278 1194412

>>1169553
Variable shadowing. Каждый из этих иксов существует независимо друг от друга

22 мая, 19:31 279 1194957

>>1194091
Этой пикчей можно обоссать тех даунов, что полностью пишут программы/сервисы сложнее гостевой книги на языках из правой части (те, что после nodejs)

Ответы194966

22 мая, 19:42 280 1194966

>>1194957
> erlang
> для программ не сложнее гостевой книги
> десятилетия хардкорного хайлоада с даунтаймами исчисляемыми в десятых секунды
> для программ не сложнее гостевой книги
Понятно.

Ответы195017

22 мая, 20:46 281 1195017

>>1194966
> > десятилетия хардкорного хайлоада с даунтаймами исчисляемыми в десятых секунды
Есть пруфы?

Ответы195027

22 мая, 21:00 282 1195024

Вопрос опытным растерам. Стоит ли вкатываться в раст? Как обстоят дела с библиотеками, много ли их и качественные ли они?

Ответы195027195047195127

22 мая, 21:06 283 1195027

>>1195017
http://google.com/

>>1195024
А ты с какой целью интересуешься?

22 мая, 21:43 284 1195047

>>1195024
Какова цель? Что-то конкретное запилить?

22 мая, 22:48 285 1195077

Возможно ли при cargo run передавать аргументы компилятору cc? При cargo rustc -- [вот тут идут аргументы, которые передаются сишному компилятору], а в cargo run таким же образом передаются аргументы только к скомпилированному бинарнику.

Ответы195178

23 мая, 00:05 286 1195127

>>1195024
Более чем прилично для языка такого возраста.

Ответы195228

23 мая, 03:21 287 1195178

>>1195077
>To pass flags to all compiler processes spawned by Cargo, use the $RUSTFLAGS environment variable or the `build.rustflags` configuration option

23 мая, 09:21 288 1195213

>>1194091
А разве это не очень старая картинка?

23 мая, 10:15 289 1195228

>>1195127
Но гораздо меньше, чем у C/C++.

23 мая, 12:48 290 1195323

Что обычно на расте пилят?

Ответы195616

23 мая, 18:33 291 1195616

>>1195323
Движки для браузеров.

бадум-тсс

Ответы195799

23 мая, 18:39 292 1195621

В Tor добавили какое-то говно на русте:
https://gitweb.torproject.org/tor.git/tree/ChangeLog?h=tor-0.3.3.6

23 мая, 22:30 293 1195799

>>1195616
Ну кроме фаерфокса, что еще годного есть?

26 мая, 16:50 294 1197247

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

Ответы197406

26 мая, 23:32 295 1197406

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

27 мая, 03:52 296 1197506

Почему от Го начинает начинается агония и сыпь по мозгу, а от Раста нет, хоть он после с# и сложен?

Ответы197614197680

27 мая, 11:38 297 1197614

>>1197506
Илюша обосрал раст.

https://habr.com/post/262841/

Ответы197617197623

65 Кб, 754x491
27 мая, 11:46 298 1197617

>>1197614
Илюша думает, что он у мамы криптограф, потому что на галере его заставили написать свою гаражную рса.

27 мая, 12:01 299 1197623

>>1197614
Выглядит как пук в лужу какой то.

27 мая, 14:06 300 1197680

>>1197506
Потому что Го — недоязык, а раст прекрасен

Ответы197696

27 мая, 14:59 301 1197696

>>1197680
Может, тоже вкатиться в раст? Какие у него usecases? Можно погромировать микроконтроллеры, писать REST-сервисы, написать криптолокер, создать морду для БД? Можно написать на нем Fat-16 или загрузчик ОС?

Ответы197843

27 мая, 15:18 302 1197707

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

Ответы197717197722197728197731

27 мая, 15:31 303 1197717

>>1197707
Сколько тебе лет?

27 мая, 15:36 304 1197722

>>1197707
Меня кстати наоборот раздражает что раст как игра часто гуглится.

27 мая, 15:43 305 1197728

>>1197707
Да, название для игры стоило пооригинальнее придумать. Все время результаты поиска засоряет

27 мая, 15:46 306 1197731

>>1197707
И он не мог быть "C Next", потому что он начинался как вариация на тему OCaml и только потом они нашли такие абстракции, чтобы эффективно пойти еще в более низкоуровневое программирование.
Так что он скорее был бы System-low-level-ML

27 мая, 18:05 307 1197843

>>1197696
Можно делать всё из списка.

28 мая, 12:21 308 1198215

Насколько оптимизирован move? Например, при рекурсии. Мне кажется для концевой рекурсии можно не копировать то, что передается с помощью move. Или все-таки стек засирается?

Ответы198217198236198247

12 Кб, 371x334
28 мая, 12:24 309 1198217

>>1198215
Да и вообще для любой рекурсии, если хранить move-нутое на дне стека

28 мая, 13:05 310 1198236

>>1198215
Нет хвостовой рекурсии. А если и будет, то наверняка с явным синтаксисом.

28 мая, 13:25 311 1198247

>>1198215
Крч, я потестил.
Если аргументы умещаются в регистры, то ничего не копируется и не перемещается.
Иначе пушатся на стек и очищаются только в конце, т.е. стек засирается.
Где-то 6 u64 стек не юзают. Я думаю будет большая разница в производительности чувак который создавал тему про "много аргументов не нужно" был прав

Ответы198293

28 мая, 15:11 312 1198293

>>1198247
Я всегда прав, спасибо.

46 Кб, 400x400
1 июня, 20:29 313 1200880

Поясните ньюфагу мутабельное заимствование (или как там борров правильно перевести).
let mut x = vec![1,2];
let mut y = &mut x;
Что после после этого разрешено делать с x? Ничего?

Ответы200908201169201190

1 июня, 20:56 314 1200908

>>1200880
Так просто поэкспериментируй. Чего ты как маленький?

168 Кб, 990x1401
2 июня, 01:44 315 1201169

>>1200880

Ответы201190201776

2 июня, 03:34 316 1201190

>>1201169
>>1200880
Пиздец собачий язык, что обоссаный Rust, что вонючый Go. Даже сранный Crystal логичней и продуманней.

Ответы201193201211201218

2 июня, 03:59 317 1201193

>>1201190
А ты кто такой?

2 июня, 05:15 318 1201211

>>1201190
Crystal вообще любительская поделка. Даже Go лучше, хотя сделан старперами для нюфагов

2 июня, 06:32 319 1201218

>>1201190
Ну и что же тут нелогичного?

438 Кб, 570x585
3 июня, 00:29 320 1201776

>>1201169
О, что-то такое я и искал.
Есть ещё cheat sheet'ы по расту?

Ответы202304

4 июня, 02:24 321 1202296

>>1172889
Насколько это идиоматичный код на расте? Выглядит охуенно и читается намного лучше чем императивная for in история.

Ответы202582

4 июня, 03:15 322 1202304

>>1201776
Поддвачну

4 июня, 14:44 323 1202582

>>1202296
Вполне себе идиоматичный же.

Ответы202614

4 июня, 15:50 324 1202614

>>1202582
Падажжи ебана, а как println! разруливается? Он разве thread-safe?

Ответы202635

4 июня, 16:47 325 1202635

>>1202614
Да, там внутри блокировка.
https://doc.rust-lang.org/std/io/fn.stdout.html

67 Кб, 900x369
8 июня, 14:02 326 1205455

Ходил пару дней назад на раст-митап в Осло. Было примерное 20 человек, из которых в проде пользуются растом только трое: я и двое моих коллег. Такие дела.

Ответы205538

8 июня, 15:59 327 1205538

>>1205455
Абсолютно нормальная ситуация для языка в таком возрасте же.

Ответы205579

8 июня, 16:33 328 1205579

>>1205538
9 лет?

Ответы205582

8 июня, 16:34 329 1205582

>>1205579
https://blog.rust-lang.org/2015/05/15/Rust-1.0.html
3 года же

13 июня, 12:15 330 1208911

let mut answer = String::new();

io::stdin().read_line(&mut guess).expect("Не удалось прочитать строку");

Вопрос: почему мы объявляем переменную answer изменяемой? Получив пользовательский ввод мы ее не меняем же. Или мы должны делать mut, так как сначала переменная инициализируется NULL'ом?

Ответы208914208920

13 июня, 12:34 331 1208914

>>1208911
String::new() создаёт пустую строку

Кстати это мне напомнило одного товарища, который ваще не умел в доки и маны, постоянно спрашивал всякую хуйню. Зато как прочитать paper по алгоритму на 10 страниц и сразу понять так это у нему.

Ответы208915

13 июня, 12:37 332 1208915

>>1208914
Серега?

Ответы208916

13 июня, 12:38 333 1208916

>>1208915
Никита? нет

Ответы208917

13 июня, 12:40 334 1208917

>>1208916
Меня реально Никита зовут.

13 июня, 12:47 335 1208920

>>1208911
И даже если бы в safe расте можно было бы куда-то передать ссылку на не инициализированную переменную, тебе бы все равно пришлось ее сделать mut, иначе ты бы не смог сделать &mut s.

Ответы208921208922

13 июня, 12:52 336 1208921

>>1208920
А зачем нужны не mut ссылки?

Ответы208923

13 июня, 12:52 337 1208922

>>1208920
Ссылку нельзя, зато можно так:
https://play.rust-lang.org/?gist=ecd6f7813ea7b7c4f8ab2cf4cec9ae84&version=stable&mode=debug

13 июня, 12:55 338 1208923

>>1208921
Чтобы случайно не поменять их содержимое, бака.

Ответы208924

13 июня, 12:56 339 1208924

>>1208923
Синдзи - уебок.

13 июня, 13:04 340 1208928

Посмотрел я ваш Rust. Не из функционально-петушиных он часом?

Ответы208932208956

13 июня, 13:11 341 1208932

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

Ответы208957

13 июня, 13:34 342 1208956

>>1208928
Из них самых, только петухи ещё жалуются на систему типов и лично мне указатели lifetime кажутся недоделанными.
Ну а когда язык допилят тогда всякие scala, c++, haskell соснут с проглотом, потому что в языке уже лучшие компилятор, документация, коммьюнити.

Ответы208959

13 июня, 13:34 343 1208957

>>1208932
А, это вы что ли про ту загадочную теорию типов?

13 июня, 13:35 344 1208959

>>1208956
Очень надеюсь. Все же языки стартовали вроде не сразу, а медленно, по нарастающей.

Ответы208995

13 июня, 13:52 345 1208995

>>1208959
Ну а пока лучше забить на раст и вкатываться в кресты/скалу

Ответы209000209006

13 июня, 13:57 346 1209000

>>1208995
А если мне 8 лет?

13 июня, 14:04 347 1209006

>>1208995
Проще в скриптопарашу, наверное.

28 Кб, 865x121
15 июня, 06:42 348 1210182

Разбираю пример из
https://doc.rust-lang.org/book/second-edition/ch09-01-unrecoverable-errors-with-panic.html#using-a-panic-backtrace

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

Ответы210222210240210244

15 июня, 09:53 349 1210222

>>1210182
https://www.reddit.com/r/rust/comments/7h24y5/how_do_i_run_cargo_test_with_rust_backtrace1_on/

Ответы210244

15 июня, 10:20 350 1210240

>>1210182
там написано:
`RUST_BACKTRACE=1 cargo run`

Ответы210244

34 Кб, 860x315
15 июня, 10:28 351 1210244

>>1210240
Может ты на скрин >>1210182 взглянешь, блджад? Я это в терминале и вводил.

>>1210222
Там ответы на "как передать переменную окружения RUST_BACKTRACE=1 в процесс cargo".
Я переменную точно передал. Вот скрин, при запуске >RUST_BACKTRACE=1 cargo run
cargo не выводит
>note: Run with `RUST_BACKTRACE=1` for a backtrace.
т.е. переменную он явно получил, но трейс всё равно не печатает.

Ответы210248210306

13 Кб, 710x111
15 июня, 10:33 352 1210248

>>1210244
Алсо, проблема не в том что у меня mingw-баш под виндой, в ГовноШелле тот же результат.

Ответы210414

15 июня, 12:47 353 1210306

>>1210244
На винде может быть так, хз точно. Отличается в мелочах
set RUST_BACKTRACE=1 cargo run

Ответы210414

15 июня, 15:24 354 1210414

>>1210306
Блять, ты ну совсем туруру?
Я же сказал - я уверен что переменную окружения RUST_BACKTRACE=1 процесс cargo получил.
Даже проверил на всякий случай ещё и в ПаверШелле >>1210248 .
Проблема где-то в самом карго/расте.

Ответы210424213606

15 июня, 15:34 355 1210424

>>1210414
https://github.com/rust-lang/rust/issues/45027
Ну что поделаешь. Виндой занимается мало народу.

18 июня, 04:37 356 1212177

Встретил вот такую сигнатуру:
https://unicode-rs.github.io/unicode-segmentation/unicode_segmentation/trait.UnicodeSegmentation.html#tymethod.graphemes
>fn graphemes<'a>(&'a self, is_extended: bool) -> Graphemes<'a>
Тут же явное указание лайфтайма 'a на самом деле не требуется, он выведется из lifetime elision rules?

Ответы212182

18 июня, 05:29 357 1212182

>>1212177
Требуется, так как в Rust'е HKT нет, а 'a является частью типа структуры.

Ответы212203

18 июня, 08:44 358 1212203

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

Ответы212205

18 июня, 08:49 359 1212205

>>1212203
Никаких аналогов HKT не будет в расте ещё пару лет точно. Скоро выкатят NLL, но эту проблему оно не фиксит. Да и это не является большой проблемой.

Ответы212349

18 июня, 13:23 360 1212349

>>1212205
А можно еще раз для особо отставших, почему именно нет HKT?

Ответы212367

18 июня, 13:43 361 1212367

>>1212349
Их невозможно реализовать в рамках zero-cost abstractions. Ибо HKT могут позволить запросто создавать типы условно бесконечного размера, которые в расте невозможны в unboxed виде. Ну и вообще для того, чтобы реализовать даже какое-то подмножество HKT нужно нехило перелопатить компилятор. Пока что статус ближайшей реализации какого-то аналога HKT здесь https://github.com/rust-lang/rust/issues/44265. Как можно заметить, до стейбла этому ишью ещё очень далеко.

Ответы212393

18 июня, 14:27 362 1212393

>>1212367

Схуяли?

Вот даже на крестах чувачок в соседнем тредике делал:

https://ideone.com/P1tE8A

Ответы212422

18 июня, 15:06 363 1212422

>>1212393
И где тут HKT?

67 Кб, 900x369
20 июня, 12:23 364 1213606

>>1210414
https://www.reddit.com/r/rust/comments/8s7gei/unsafe_rust_in_actixweb_other_libraries/

Кстати мы юзаем актикс-веб в проде.

179 Кб, 1279x796
22 июня, 07:36 365 1215020

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

нельзя просто так взять и взять остаток от отрицательного числа, да? пришлось городить адовый пиздец -- или это норм?

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

Ответы215136216171216206

22 июня, 12:21 366 1215136

>>1215020
Что за софт на пике?

Ответы215160215161

22 июня, 12:41 367 1215160

>>1215136
Похоже на UE

22 июня, 12:44 368 1215161

>>1215136
Unreal Engine.

450 Кб, 1920x1080
22 июня, 12:48 369 1215163

дохуя знатоков а помощи хуй лол

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

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

Ответы215198

22 июня, 13:46 370 1215198

>>1215163
В UE4 можно на Расте писать?

Ответы215200

22 июня, 13:51 371 1215200

>>1215198
нет же, читай мои посты внимательнее

но скоро завезут питоний

Ответы215227

22 июня, 14:24 372 1215227

>>1215200
>скоро завезут питоний
Фууу говно тормознутое.

Ответы215264

22 июня, 15:21 373 1215264

>>1215227
торопишься?

24 июня, 07:57 374 1216171

>>1215020
А что тебе не нравится? -1 mod 24 = 23
В чем вопрос?

Ответы216206

5,3 Мб, webm,
1920x1080, 0:38
24 июня, 11:36 375 1216206

>>1216171
>В чем вопрос?
>>1215020
>вся ли низость работает подобным образом?
но если в растике реально так
>-1 mod 24 = 23
то значит это злоебучие кресты мне голову отъебали блядь

Ответы216976

24 июня, 23:17 376 1216780

Тред не читал (вообще ничо не читал), поясните как там с сборкой мусора - она есть, или всё по старинке вручную? И можно ли например объявить объект управляемым, чтоб он участвовал в gc, или локальным например, чтоб при выходе из блока он сдыхал, давно хотет такой езыг.

Ответы216791

24 июня, 23:34 377 1216791

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

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

Ответы217188

25 июня, 00:09 378 1216833

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

Ответы216978216992

25 июня, 07:19 379 1216976

>>1216206
Я напиздел, в расте все как в си
https://internals.rust-lang.org/t/mathematical-modulo-operator/5952

Ответы216985

25 июня, 07:27 380 1216978

>>1216833
Суть в том что rc используется гораздо реже чем обычные ref и box в низкоуровневом программировании. Ну и с rc ты все равно контролируешь время жизни, а чтобы не текло надо знать когда юзать Weak

Ответы217074

25 июня, 07:34 381 1216980

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

Ответы216985

25 июня, 07:53 382 1216985

>>1216976
ну вот ведь нахуй, зачем ты же ты пиздишь анончик, не надо так

я просто смутно помнил что так какая залупа в архитектуре с ламповых времен и что только в высокоуровневых языка это исправляют

и как они разруливают там это говно?

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

Ответы216987217016

25 июня, 08:02 383 1216987

>>1216985
>как можно кайфовать от указания int32 после каждой переменный лютый ад

Нормально, на самом деле. Без стрельбы по ногам в процессе implying int ==32bit

Ответы217005

25 июня, 08:10 384 1216992

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

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

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

В расте такой хуйни нет.

Ответы217074

25 июня, 08:53 385 1217005

>>1216987
>Нормально
>fn f64_div_rem(x: f64, m: f64) -> (f64, f64) {
вам там вскод хотя бы указатель сам автоматически дописывает?

Ответы217035

25 июня, 09:11 386 1217016

>>1216985
>
>и как они разруливают там это говно?

Медленным софтварным делением по правилам.

Ответы217025

25 июня, 09:25 387 1217025

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

25 июня, 09:50 388 1217035

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

Ответы217045217047

25 июня, 10:06 389 1217045

>>1217035
>А тебе не горит на питоне проверять тип передаваемого значения каждый раз?

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

Ответы217056217067217075

35 Кб, 771x526
25 июня, 10:10 390 1217047

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

25 июня, 10:20 391 1217056

>>1217045
Такую ядерную чушь можешь нести только студент второкурсник, который сложнее lapa2.cpp ничего не писал.

25 июня, 10:57 392 1217067

>>1217045
Юнит-тесты для проверки типов это ж ваще пушка
Я ничего против этого не имею, но когда таким занимаешься то не пизди на нормальную типизацию

> Не передавать
Ну да, а TypeError нахуй в питоне не нужен, я ж ничего лишнего не передам

25 июня, 11:16 393 1217074

>>1216978
>rc используется гораздо реже чем обычные ref и box в низкоуровневом программировании
Ну ref да, но для box ведь тоже накладные расходы имеются, тот же стек размечать надо на случай падения. Или в расте это всё можно отключить и падать уже насмерть?

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

>На большинстве языков с GC системное программирование на оных языках заканчивается на этом моменте
Вот тут совсем не понял про что ты. Есть же всякие unsafe конструкции для языков со сборкой мусора и раз они есть зачем клепать что-то на плюсах?

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

Ответы217082217083219904

25 июня, 11:17 394 1217075

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

Ну и отлов ошибок тоже полезен конечно. Большие проекты, которые пишет несколько человек, сложно писать без типизации.

25 июня, 11:42 395 1217082

>>1217074
>А malloc-то сам уже есть, или его тоже пилить приходится?

Маллок можно навелосипедить средствами языка путем запиливания страничного менеджера (как и placement new). В расте тоже можно кастомный аллокатор заебенить. А в жабке и решетке - хуй, жри что дали с JVM и CLR. Которые почему-то на плюсах и С, бгг.

GC зашит в рантайм языка с GC и опирается на средства операционной системы. Чтобы запилить кастомный рантайм с GC поверх голого железа придется перепиливать рантайм, а он на плюсах.

> Вот тут совсем не понял про что ты. Есть же всякие unsafe конструкции для языков со сборкой мусора и раз они есть зачем клепать что-то на плюсах?

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

Вот в расте обошлись без рантайма на плюсах, например.

Ответы217102217108217186

25 июня, 11:45 396 1217083

>>1217074
Не знаю, попробую сегодня поиграться
По-моему я видел для каждой функции ее пару для panic'a, т.е. никакого оверхеда, но могу ошибаться.
Плюс есть panic = 'abort', думаю в этом случае точно ничего лишнего не должно быть.

Ответы217743

25 июня, 12:28 397 1217102

>>1217082
С же можно и без маллока юзать, а плюсы без аллокатора разве можно?

Ответы217106

25 июня, 12:35 398 1217106

>>1217102
>а плюсы без аллокатора разве можно?

Да. placement new, переопределение new delete,

25 июня, 12:40 399 1217108

>>1217082
Жабка неспешно уходит от этого. Вон компилятор на ней уже переписали. Но рантайм конечно на жабе написать задача нетривиальная.

25 июня, 14:55 400 1217186

>>1217082
термин >рантайма на плюсах
выдает в тебе шкальнега.

Ответы217187

25 июня, 14:57 401 1217187

>>1217186

https://github.com/dotnet/coreclr/tree/master/src/gc

https://github.com/dmlloyd/openjdk/tree/jdk/jdk/src/hotspot/cpu/x86

Ответы217190

25 июня, 14:59 402 1217188

>>1216791
А можно сделоть например так, чтоб работы по мемори-менеджменту в каком-то потоке не выполнялись никогда, а делигировались какому-то другому потоку? Например ищу куда б портировать мое DSP приложение с фрипоскаля, в котором рендер-тред только считает синусоиды. Не хочу чтоб там же происходила внезапная оптимизация кучи ну или чо там делает мемори менеджер, когда освобождает память.

Ответы217343

25 июня, 15:01 403 1217190

>>1217187
Есть jvm написанные на хуях собачьих, а не на си, и операционные системы, написанные на нём же. Ъ-компуктер-сцаентист никогда не будет говорить про "с++ рантайм", пусть даже в мэйнстриме он 99% с++

Ответы217192217195

25 июня, 15:01 404 1217192

>>1217190
>на нём
на них же
быстрофикс

25 июня, 15:06 405 1217195

>>1217190
>Есть jvm написанные на хуях собачьих, а не на си

Пиздабол.

> и операционные системы, написанные на нём же

Пиздабол х2.

Ответы217196

25 июня, 15:12 406 1217196

>>1217195
Лох цветочный, подбородочный.

https://github.com/zxh0/jvm.go

Здесь особенно смешно обосран, в этом итт треде
https://en.wikipedia.org/wiki/Redox_(operating_system)

Ответы217199217204217221

25 июня, 15:20 407 1217199

>>1217196
>https://github.com/zxh0/jvm.go
> jvm.go is a toy JVM (which is far from complete) programmed in Go

25 июня, 15:29 408 1217204

>>1217196
>https://github.com/zxh0/jvm.go

И онли интерпретатор, ну вообще пушка.

25 июня, 17:19 409 1217221

>>1217196
Нахуя в 2018 выпускать unix-like системы?
Почему никто до сих пор не придумал нормальный формат экзешников/пакетов, нормальный набор сисколов (особенно связанных с ipc), нормальную систему конфигов?

Ответы217227

25 июня, 17:30 410 1217227

>>1217221
Потому что никому не нужна ос без софта?

Ответы217233

25 июня, 17:57 411 1217233

>>1217227
Так тебя послушать, написал à la unix и всё само без еботы скомпилировалось и заработало сразу.

25 июня, 20:54 412 1217343

>>1217188
Да, можно.

Ответы217375

25 июня, 21:54 413 1217375

>>1217343
Хм. Буду изучат.

26 июня, 18:29 414 1217743

>>1217083
>Не знаю, попробую сегодня поиграться
Ну чего там, потрогал как чего?

26 июня, 19:13 415 1217771

Кстате эта, про лямбды забыл спросить.

26 июня, 19:39 416 1217788

И кстати, зачем русту msvc? Чот попахуе, норм люди свои билд тулзы обычно сразу делают.

Ответы217825

26 июня, 20:21 417 1217825

>>1217788
Чо? У ржавого через карго все билдится.

Ответы217838

26 июня, 20:32 418 1217838

>>1217825
Да, а почему инсталлер говорит, что иди нахуй у тебя msvc тулчейн не установлен?
Впрочем, почитал спеку, походу язык реально наебалово очередное, нет ничего, что нельзя сделать на c. По мозгоебству можно на простых вещах выиграть, в сложных скорее придется проигрывать.

Ответы217978

26 июня, 23:19 419 1217978

>>1217838
Что нельзя сделать на С?

Ответы218046

27 июня, 01:23 420 1218046

>>1217978
Бинарный, уходи, тебе здесь не рады.

27 июня, 07:56 421 1218105

Какая из растовских text-ui библиотек сейчас считается наилучшей?

Ответы218115

27 июня, 08:50 422 1218111

Какая из растовских GUI библиотек сейчас считается наилучшей?

Ответы218217

27 июня, 09:04 423 1218115

>>1218105
https://crates.io/crates/cursive

Ответы218168

27 июня, 11:02 424 1218168

>>1218115
thx

52 Кб, 497x512
27 июня, 12:31 425 1218217

>>1218111
rise-ui

29 июня, 12:06 426 1219436

Скомпилил через rustc 1.27 стандартный хеллоу ворлд и ужаснулся от размера получившегося бинарника — целых 4.7 мегабайт! Когда то дельфи за 1 мб обсирали, а тут почти в 5 раз больше!

Ответы219454219458219966

29 июня, 12:25 427 1219454

>>1219436
Загугли уже про static vs dynamic linking

29 июня, 12:29 428 1219458

>>1219436
После rustc -C opt-level=3 -C lto -C link-args=-s hello.rs
получилось 425 килобайт — всё равно многовато!

Ответы219564219585220414

sage 29 июня, 15:08 429 1219564

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

29 июня, 15:58 430 1219585

>>1219458
В бинарь статически линкуются std и jemalloc, от туда и размер такой.

Ответы219968220738

29 июня, 23:02 431 1219904

>>1217074
>о для box ведь тоже накладные расходы имеются,
Box - это же практически unique_ptr из плюсов.

Ответы220524

30 июня, 03:54 432 1219966

>>1219436
Платиновый вопрос.

Ответы221176

30 июня, 03:56 433 1219968

>>1219585
Аллокатор можно системный воткнуть.

Ответы219988

30 июня, 08:13 434 1219988

>>1219968
Можно, но нужно ли? Только чтобы ссаные килобайты сэкономить отказаться от нормального аллокатора?

30 июня, 22:53 435 1220414

>>1219458
Чет проиграл, если афтары, декларирующие ебический вывод и контроль безопасности на уровне канпелятора в то же время не смогли обеспечить отсутствие лишнего кода в бинарнике, ну что тут блядь сказать... Где-то нас наёбывают.

Ответы220738

1 июля, 08:19 436 1220524

>>1219904
>Box - это же практически unique_ptr из плюсов.
И?

1 июля, 12:46 437 1220673

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

Я хочу, чтобы у меня был файл settings.rs в корне, в котором будет лежать всё, что пользователь может настроить, например функции, который он потом будет использовать. Функциям хранится в самом файле settings бессмысленно, поэтому я выношу их в отдельный файл, но оказывается, что я даун и хранится оно в корне не может. Для того, чтобы cargo нашёл мой functions.rs мне нужно засунуть его в settings/, что не логично, и если бы в обычном проекте так всё лежало я бы был немного возмущён. Итак, как мне всё это организовать, чтобы settings был в корне и всё было красиво?

Ответы220692220741

3,4 Мб, 3120x2244
1 июля, 13:34 438 1220692

>>1220673
>раст направлен на бизнес
Смешная шутка. (Нет.)

Ответы220693220741

1 июля, 13:42 439 1220693

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

Ответы220727

1 июля, 14:46 440 1220727

>>1220693
И что? В D юниттесты прямо в синтаксис языка впилены, в pl/sql же надо неслабо заебаться, чтобы хоть что-то протестировать. Бизнесу тесты не нужны, они нужны раработчикам.

1 июля, 15:05 441 1220738

>>1220414
-> >>1219585
вас (дурачков) везде наебывают кстати, се ля ви

1 июля, 15:12 442 1220741

>>1220692
Ты же в курсе, что изначально раст стартанула мозила ради вполне конкретных бизнес-целей?

>>1220673
Ты сишник?
https://doc.rust-lang.org/book/second-edition/ch07-01-mod-and-the-filesystem.html#moving-modules-to-other-files (всю главу не забудь прочитать)
Алсо, https://withoutboats.github.io/blog/rust/2017/01/04/the-rust-module-system-is-too-confusing.html

Ответы220760220801

1 июля, 15:34 443 1220760

>>1220741
>Ты сишник?
было сложно?
олсо, последний год жавагосподин и ваще много чего перепробовал помимо си

1 июля, 16:22 444 1220801

14 Кб, 584x1285 Кб, 183x187

>>1220741
>https://doc.rust-lang.org/book/second-edition/ch07-01-mod-and-the-filesystem.html#moving-modules-to-other-files (всю главу не забудь прочитать)

Да я читал, но ничего из этого не вынес.

>https://withoutboats.github.io/blog/rust/2017/01/04/the-rust-module-system-is-too-confusing.html

вот за это спасибо, но видимо я хуёво читаю просто, но как я понял синтаксис такой

Ответы220839221323

1 июля, 16:57 445 1220839

14 Кб, 587x1314 Кб, 151x202

>>1220801
блядь добавьте на двач возможность удалить, ебать я даун

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

Ответы220845

sage 1 июля, 17:01 446 1220845

>>1220839
Попробуй ::functions

Ответы220876

118 Кб, 1017x702
1 июля, 17:49 447 1220870

Это троллинг?

Ответы221031

15 Кб, 547x134
1 июля, 17:55 448 1220876

>>1220845

Ответы221054

1 июля, 22:57 449 1221031

>>1220870
Нет. Пиздец у тебя шрифты.

Ответы221096

1 июля, 23:31 450 1221041

В общем, ну его в жопу. Interlockedincrement наше всё.

2 июля, 00:17 451 1221054

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

Ответы221057

2 июля, 00:19 452 1221057

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

Ответы221064

2 июля, 00:35 453 1221064

>>1221057
И что ты там вычитал тогда, если не сообразил, что нужно написать mod вместо use?

Ответы221189

2 июля, 07:41 454 1221096

>>1221031
Шрифты как шрифты. МНЕ НОРМ. Лучше скажи нахуя они пиздят про крутость язычка прямо на index.php? Это же открытый пиздежь, хеловорд на этом недоязычке стрипнутый весит 416 кб. Ебанутые, пиздец ебанутые.

Ответы221097221133221134221301

2 июля, 07:46 455 1221097

>>1221096
Твоё маленькая это не их маленькая.
У кого сейчас меньше кроме няшной и асма?

Ответы221251

2 июля, 10:17 456 1221133

>>1221096
Ты говоришь о том, в чём нихуя не разбираешься.
https://lifthrasiir.github.io/rustlog/why-is-a-rust-executable-large.html полностью прочитай.

391 Кб, 1590x1212
2 июля, 10:18 457 1221134

>>1221096
> МНЕ НОРМ
Говножор.

2 июля, 12:29 458 1221176

>>1219966
Жаль, что нет официального rust-faq, где бы были собраны лучшие ответы на платиновые вопросы.

Ответы221324

2 июля, 12:48 459 1221189

>>1221064
>Алсо, https://withoutboats.github.io/blog/rust/2017/01/04/the-rust-module-system-is-too-confusing.html

2 июля, 14:51 460 1221251

>>1221097
У фпипоскаля

2 июля, 16:45 461 1221301

>>1221096
Тот факт, что ты не умеешь собирать минифицированные бинарники вообще никак не означает, то написанное на индексной не правда.

Ответы221336

2 июля, 17:39 462 1221323

>>1220801
>Да я читал, но ничего из этого не вынес.
Прочитай еще раз. Я серьезно.

Ответы221355

22 Кб, 413x395
2 июля, 17:40 463 1221324

>>1221176

2 июля, 17:56 464 1221336

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

Ответы221343221458

2 июля, 18:01 465 1221343

>>1221336
Лол, посмотрите на него. Умеет он. Такой-то фантазер.

Ответы221583

2 июля, 18:11 466 1221355

>>1221323
да я понимаю, что я жопой читаю, но я реально не могу понять, как оно работает. Я уже задал вопрос на stackoverflow и там мне сказали, что нужно писать mod xyu в корне и потом уже в самих файлах где надо писать use. Сделали бы просто как в жаве или плюсах, но нет же, сделаем по новому.

Ответы221496

2 июля, 19:07 467 1221400

Стоит ли вкатываться в раст сейчас или подождать пока его джопилят? Пока что посмотрел его фичи, и выяснил что по сравнению с C++ у него очень мало возможностей для метапрограммирования. В том числе:

1) Функции выполняющиеся во время конпеляции. Пилится три года, но обещают допилить до конца года: https://github.com/rust-lang/rust/issues/24111
2) Non-type параметры для генериков. Обещают допилить до конца года, но в Rust 2018 оно не входит, так что возможно будет пилится ещё дольше. https://github.com/rust-lang/rust/issues/44580
3) Генерики в качестве параметров для генериков, оно же Higher Kinded Types. Нету даже rfc.
4) Рефлексия во время компиляции. Решается макросами, да. И в отличии от C++ оно работает. Правда всё равно как минимум придётся работать с (почти) полноценным парсером Rust'а (например syn) вместо нормальных АПИ.

И, кстати, что там с IDE и отладкой?

59 Кб, 1002x310
2 июля, 20:35 468 1221458

>>1221336
При чем здесь потокобезопасность или компактность? Мы ведь про размер рантайма говорили. У раста он охуительно минимален, если умеешь писать с no_std. И бинарник со статической линковкой будет такого размера, что меньше уже только hand written asm.
Ну и Rust не для javac ебанатов, увы. Нужно понимать, что такое системные вызовы, .data, ELF. А то ты взвешиваешь недостатки своей операционной системы MSVC, а не возможности Rust. Иди читай про no_std, no_mangle.
И да, позволяет, но нужно уметь.

Ответы221479221583

2 июля, 21:15 469 1221479

>>1221458
> У раста он охуительно минимален, если умеешь писать с no_std.
Лол. no-std это раст без рантайма. Тут дело в том, что C++-рантаймы обычно уже есть в системе и их не нужно статически линковать к приложению (хотя иногда и линкуют), а вот растовые рантаймы уже надо всегда статически линковать в приложение. Вообще у раста довольно всё грустно с разделяемыми библиотеками (впрочем у C++ тут тоже всё грустно, правда успело появиться куча костылей для обходы почти всех багов).

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

Ответы221492221561

2 июля, 21:31 470 1221492

>>1221479
>no-std это раст без рантайма.
wrong. rtfm

Ответы221495

2 июля, 21:35 471 1221495

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

И, кстати, вроде же пока нельзя делать no_std-приложения на стабильном расте? По крайней мере пока не стабилизируют это: https://github.com/rust-lang/rust/issues/44489

Ответы221497

2 июля, 21:36 472 1221496

>>1221355
>я реально не могу понять, как оно работает
>я жопой читаю
))

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

2 июля, 21:38 473 1221497

>>1221495
Нет бы просто сказать "действительно, ошибся".

В стабильном сейчас только либы, да.

Ответы221498

2 июля, 21:39 474 1221498

>>1221497
Ну, честно говоря несколько интрисиков llvm и 3.5 функции для работы с фичами языка я за рантайм не считаю.

Ответы221501221561

2 июля, 21:43 475 1221501

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

Ответы221504

2 июля, 21:46 476 1221504

>>1221501
Спорить можно о том, что без std от раста остаются рожки да ножки и использовать это имеет смысл разве что в embedded или для каких-нибудь драйверов. Писать любые другие приложения без std не имеет смысла.

Ответы221561

2 июля, 21:49 477 1221509

Алсо, интересно, они сделают возможность работы асинхронных функций без std? Было бы прикольно использовать в embedded-приложениях await для ожидания прерываний вместо callback'ов.

Ответы221564

2 июля, 22:38 478 1221561

>>1221479
> С++-рантаймы
Ой, содомит, прекращай. Иди курс ОС пройди для начала, Таненбаума хоть прочти. Ну или википедию по libc и системный вызов.

>>1221498
> 3.5
https://doc.rust-lang.org/core/index.html
И попробуй подумать, что останется в крестах без libc.

>>1221504
> Писать любые другие приложения без std не имеет смысла
Конечно не видишь. Ты вообще много чего не видишь. Например unikernel или bare-metal.

2 июля, 22:44 479 1221564

>>1221509
Что еще в issues добавим? Non-blocking IO без epoll/kqueue?

2 июля, 23:49 480 1221583

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

Ответы221605

246 Кб, 1280x842
3 июля, 00:00 481 1221585

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

Ответы221601

3 июля, 00:39 482 1221601

>>1221585
Давай детали. Куда релокация, Пшекия?

Ответы221602

3 июля, 00:41 483 1221602

>>1221601
Norge

Ответы221631

3 июля, 00:45 484 1221605

>>1221583
Собери с динамической линковкой, ты же умеешь. лол нет
А я хочу статику по умолчанию, и отладочные символы. И -O0. И stderr хочу блять. И malloc хочу.
А ты уебывай зелловорлды писать. На большее не годишься.

Ответы221606221614

3 июля, 00:47 485 1221606

>>1221605
Дваждую этого. Как в том анекдоте про суровых сибирских мужиков и японскую лесопилку.

3 июля, 01:16 486 1221614

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

Ответы221630221676

3 июля, 01:43 487 1221630

>>1221614
Я не он, лол. Возьми да сам проверь что и как линкуется! Ты сможешь?

Ответы221635

3 июля, 01:44 488 1221631

>>1221602
Есть инфа? Senior 10лет в проде ищете или novice с релевантным опытом подойдет? Какие условия и как проходит собеседование? Нужно больше деталей.

Ответы221716

3 июля, 01:54 489 1221635

>>1221630
Мне делать больше нечего? У меня рейт 300 евро в день, заплати - буду проверять.

Ответы221640

3 июля, 02:01 490 1221640

>>1221635
Спешите видеть, автор компактного потокобезопасного кода на __других__ языках не может посмотреть на результат линковки helloworld бинарника на 500кб. v::go::lo::sin(u);

Ответы221648

3 июля, 02:20 491 1221648

>>1221640
Для этого надо жопу поднять, скачать раст. Мне лень. В целом я скорее скептически настроен по отношению к расту, однако допускаю его развитие в нише, где с/спп сложновато и "небезопасно". Однако привязанность к сишной терминологии, это уже плохое начало. В то же время, судя по документаци, переименованы простые базовые понятия - передача по ссылке и передача по значению, интерфейс, тип. Зачем? Хотя бы только по этому убежден на 95% что раст не получит широкого распространения и развития за пределами конкретных проектов, для которых он был создан.
Ну а вот эта вся линковка - это как лишний повод доебаться.
Слишком много последнее время всплывает шлака с красивой оберткой - читаешь документацию, так аж как будто слюни во рту кипят от правильного языка и "гарантий стабильности и безопасности", а на поверку - корявая шняга.
На моей память кажись только автор груви покаялся тип, "если бы знал, что есть скала, то не стал бы свою хуйню придумывать".

Ответы221672

3 июля, 03:32 492 1221672

>>1221648
Да не пизди, маня! Ты просто не можешь. Вот так, ага. Ты не умеешь в нативщину, лол. Не знаешь даже как секции в бинарнике по размеру посмотреть.
Что у тебя там переименовано, поехавший? Тип? Семантика копирования перемещения? Контракт? Сишная терминология блять. ООП хочется? DI/IoC навернуть?
Ну обосрался, не осилил borrow checker, бывает. Уходи писать свои круды и не мешай тут нам обсуждать единственный язык для построения систем в 2018 году, который не goвно. Допускает он развитие блять, развиватель 300/час.

Ответы221711221712

40 Кб, 1262x228
3 июля, 04:39 493 1221676

>>1221614
https://lifthrasiir.github.io/rustlog/why-is-a-rust-executable-large.html

Ответы221678

105 Кб, 1268x402
3 июля, 04:41 494 1221678

>>1221676
И ещё вот этот скрин не помешает, раз уж по ссылке так трудно перейти.

3 июля, 10:10 495 1221711

>>1221672
Проиграл.
мимо интересующийся языком

3 июля, 10:12 496 1221712

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

Ответы221825

3 июля, 10:23 497 1221716

>>1221631
В целом нет четких критериев, потому что вакансия не срочная. Рассматриваем людей, которых можно охарактеризовать как "general problem solver", с нужным нам техническим бэкграундом. Текущий стек: rust, common lisp, kotlin (выпиливаем в пользу раста), js(vue) на фронте (elm уже выпилили).

Ответы221963222087222956

3 июля, 13:35 498 1221825

>>1221712
Ничего плохого, но зачем там Rust?

Ответы221838221840

3 июля, 13:54 499 1221838

>>1221825
А почему нет?

3 июля, 13:58 500 1221840

>>1221825
1) Достаточно мощная система типов
2) Охуенный перформанс

Ответы221863

3 июля, 14:25 501 1221863

>>1221840
> Haskell

Ответы221864

3 июля, 14:27 502 1221864

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

Ответы221928

3 июля, 16:05 503 1221928

>>1221864
Тогда зачем Rust? Превозмогать придется, Sized, dyn Trait / Object-safe. И людей на Rust ты сейчас не найдешь, онли за большие деньги. Да и экосистема пока не готова к твоим крудам, а ты к экосистеме.

Ответы221929

3 июля, 16:06 504 1221929

>>1221928
У нас уже все в проде и приносит бабло. Но тебе видимо виднее. На недавном митапе по расту было 30 тел, так что желающих хватает.

Ответы221997

3 июля, 17:06 505 1221963

>>1221716
>common lisp, kotlin, elm

У вас там закрытый хипстерский клуб?

Ответы221965

3 июля, 17:09 506 1221965

>>1221963
Ага. Типа того. Дрочим как хочем.

3 июля, 17:59 507 1221997

>>1221929
> практичный инструмент, а не хуйня, на которой надо превозмогать и на которую не найти людей
> Common Lisp, Kotlin, Elm

Ответы221998

3 июля, 18:01 508 1221998

>>1221997
> Тред не читай

3 июля, 20:45 509 1222087

>>1221716
Нихуя вы суровые. Как вы cl себе впихнули? Домейн-то какой, хотя бы в общих чертах? Расскажи, анон, очень интересно.

Ответы222113222309

3 июля, 21:31 510 1222113

>>1222087
Что такое "cl"?
не бейте, я только вкатываюсь

Ответы222132

3 июля, 22:08 511 1222132

>>1222113
Common Lisp же.

4 июля, 11:31 512 1222309

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

Ответы222697224811

4 июля, 20:53 513 1222697

>>1222309
Эх щас бы отказаться от промышленного Spring Security в пользу написанной на коленке поделке на лиспе. Да еще и для банковского ПО ))

Или манямирок или умственно отсталые

11,9 Мб, webm,
560x420, 4:52
4 июля, 21:43 514 1222734

https://doc.rust-lang.org/book/second-edition/ch15-03-drop.html
>For example, Box<T> customizes Drop to deallocate the space on the heap that the box points to.

https://doc.rust-lang.org/src/alloc/boxed.rs.html#244-248
>Do nothing, drop is currently performed by compiler.

5 июля, 12:13 515 1222956

>>1221716
Почему выбрали Rust, а не Go? На Go же удобенее писать сетевые сервисы.

Ответы222960

5 июля, 12:20 516 1222960

>>1222956
Потому что goвно это язык для отсталых индусов.
Дженерики не завезли, нормальную обработку ошибок не завезли, нормальную систему типов не завезли. Разве что грин-треды ничего и компилится быстро.

Ответы222969

5 июля, 12:43 517 1222969

>>1222960
Скажем, если бы тебе понадобилось написать сетевой сервис критичный к производительности и сетевым зарежкам (привет Go GC), чтобы ты выбрал и почему?

Ответы222970223009

5 июля, 12:46 518 1222970

>>1222969
Мы в проде используем actix_web, но у нас и нагрузки не большие. Правда чел из MS который писал этот фреймворк слегка накосячил с unsafe. В общем я думаю что rust на данный момент один из лучших языков для бэкэнда в широком смысле. Производительность это хорошо, но система типов и умный компилятор это очень важно.

Ответы222983

5 июля, 13:06 519 1222983

>>1222970
Ну actix_web - это веб. А скажем написать load testing тул для кастомного протокола с хитрой логикой?

5 июля, 13:38 520 1223009

>>1222969
Я не он, но пишу именно такой сервис. На Rust.

Ответы223013

5 июля, 13:46 521 1223013

>>1223009
Из чего выбирал? Почему остановился на Rust? Пишешь для себя или в продакшен?

Ответы223089

5 июля, 15:02 522 1223052

Растовчане не перекатывают тред потому что боятся shallow copy
Бадум-тсс

Ответы224813

5 июля, 16:47 523 1223089

>>1223013
Я не выбирал. Но если бы выбирал, то эту задачу может быть на C можно было сделать. Все, что без GC и не накладывает оверхеда на обработку сетевых пакетов. Пишу в прод.

9 июля, 00:43 524 1224811

>>1222309
>плюнул и написал с нуля на общелиспе за пару дней.
Лол, классика. Добра вам, ковбои.

9 июля, 00:45 525 1224813

>>1223052
Лол.
Но и вправду, оп еще тут? Может самим перекатить?

Ответы225885

10 июля, 23:55 526 1225885

>>1224813
Я тут. Есть предложения по оформлению шапки?

11 июля, 04:13 527 1225930

Зачем нужны ебучие iter() и collect()? Почему без них нельзя было сделать?

Ответы225939225941226113

11 июля, 05:25 528 1225939

>>1225930
Потому-что итераторы ленивые.

Ответы226182

11 июля, 06:41 529 1225941

>>1225930
Тому що разработчики раста принципиально делают так, чтобы приходилось явно описывать что ты собираешься делать. Да, они могли впихнуть методы вроде .map, .reduce (они могут называться по-другому, но ты понял смысл) напрямую в имплементацию коллекций как это сделано во многих других ЯП, но они предпочитают, чтобы явно было указано, что ты работаешь не с коллекцией, а с итератором коллекции.

Ответы226182

11 июля, 14:45 530 1226113

>>1225930
Потому что ты можешь получить разные итераторы по одной и той же коллекции:
iter() -> по ссылке
iter_mur() -> по мутабельной ссылке
into_iter() -> по значению, по сути move

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

Ответы226182

11 июля, 17:56 531 1226182

>>1225939
Думаю можно зделоть было и без этого.
>>1225941
В чём принципиальное отличие?
>>1226113
Аргумент, но мне кажется лучше бы это отдельной опцией было.

Ответы226555

12 июля, 10:44 532 1226555

>>1226182
Можешь предложить дизайн апи, который будет работать без этого? Напиши RFC или еще лучше реализуй его в виде библиотеки. Если тебе не нравитя стандартная, на crates.io есть альтернативы, например https://github.com/bodil/im-rs или https://github.com/orium/rpds

649 Кб, 1020x1301
13 июля, 04:07 533 1227070

Вы перекатывать будете?
Хотя похуй, я всё равно завязал с изучением Раста. Немножк растбук не закончил.
Но мне срочно нужно искать работу. А у меня ни диплома, ни опыта. И я в мухосрани.
Поэтому пришло время снова взяться за JS. Ибо даже с Питоном вакансий в моей мухосрани почти нет.

Ответы227072

13 июля, 04:14 534 1227072

>>1227070
Так решись и поищи яйца переехать туда, где работа есть не только на JS.

67 Кб, 900x369
13 июля, 11:03 535 1227129

Перекатил
>>1227127 (OP)
>>1227127 (OP)
>>1227127 (OP)
>>1227127 (OP)
>>1227127 (OP)

Обновить тред
Двач.hk не отвечает.
Вы видите копию треда, сохраненную 30 августа 2018 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

« /pr/В начало тредаВеб-версияНастройки/a//b//mu//s//vg/Все доски

Пользуетесь скринридером — пишите, что можно улучшить.
Host-Food.ru — надёжный хостинг от 12 руб/мес | Free DNS
Зеркала М.Двача: m2ch.hk, m2ch.lib, m2chfapiswfw2wcakptqp4o6ltgchvjuxfab7urxlduraomtlnhw5xad.onion