Главная Юзердоски Каталог Трекер NSFW Настройки

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

Ответить в тред Ответить в тред
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 606 93 211
RUST #24 Rust — невероятно быстрый язык для системного программирования /rust/ Аноним 17/10/22 Пнд 10:23:52 2490347 1
изображение.png 84Кб, 276x262
276x262
изображение.png 57Кб, 709x438
709x438
изображение.png 79Кб, 318x450
318x450
изображение.png 375Кб, 700x378
700x378
изображение.png 5419Кб, 2542x2140
2542x2140
RUST #24

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

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

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

IDE для Rust: https://areweideyet.com/
GUI для Rust: http://www.areweguiyet.com/
Web для Rust: https://www.arewewebyet.org/
GayDev для Rust: https://arewegameyet.rs/
Что еще есть для Rust?
- Посмотри сам: https://wiki.mozilla.org/Areweyet

Основная литература:
Rust Book(версия на русском языке): https://doc.rust-lang.ru/book/
Rust Book: https://doc.rust-lang.org/book/
Rust by Example: https://doc.rust-lang.org/rust-by-example/
The Rustonomicon(для продвинутых анонов): https://doc.rust-lang.org/nomicon/
Programming Rust: https://www.oreilly.com/library/view/programming-rust/9781491927274/

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

Предыдущий: >>2430103 (OP)
http://arhivach.ng/thread/833033/
Аноним 17/10/22 Пнд 10:25:55 2490350 2
Стикер 63Кб, 200x200
200x200
Аноним 17/10/22 Пнд 11:36:01 2490386 3
>>2490350
Пожалуйста, не надо
17/10/22 Пнд 13:09:18 2490431 4
image.png 120Кб, 800x326
800x326
>>2490350
Эти жалкие попытки реанимировать тред. Готовы даже струю мочи получить, лишь бы движуха хоть какая-то была
Аноним 17/10/22 Пнд 14:38:13 2490479 5
C++ лучше чем раст.
Аноним 17/10/22 Пнд 14:47:14 2490482 6
скиньте discord каналы по rust если уж тред умирает?
Аноним 17/10/22 Пнд 14:52:38 2490483 7
Аноним 17/10/22 Пнд 23:18:45 2490919 8
Аноним 18/10/22 Втр 00:16:08 2490932 9
>>2490482
Хочешь с концами в трапование deep dive тк скзть?
Аноним 18/10/22 Втр 00:32:20 2490941 10
>>2490919
очередной отсос сишки, ничего нового.
Аноним 18/10/22 Втр 15:29:35 2491197 11
>>2490919 Мне сказали это самый простой язык из популярных.
Аноним 18/10/22 Втр 18:26:14 2491288 12
>>2490919
Как же сишных скуфов ебут....
Аноним 18/10/22 Втр 18:34:35 2491291 13
image.png 312Кб, 1555x678
1555x678
>>2490941
>>2491288
>Увидел новость, что в библиотеке, которую использует gpg нашли уязвимость из-за проблем работы с памятью
>Хочешь скачать переписанную на раст библиотеку, ведь по заявлению разработчиков там не должно быть проблем подобного класса
> Видишь пикрил и понимаешь, что даже без наличия проблем с памятью у тебя будет зонд.
Аноним 18/10/22 Втр 18:46:58 2491298 14
>>2491296
Ленточки ленточками, но мне не нравится, что на многих раст проектах такая херня. Не язык, а политическая партия, блядь.
Аноним 19/10/22 Срд 09:27:14 2491557 15
>>2491291
>>2491298
Просто это дань моды, на самом деле всем похуй на Украину, большинство ее на карте не с первого раза найдет, до этого везде BLM был, на следующий год еще какая-нибудь хуйня. На функционал не влияет, ну и хуй с ними пусть лепят чего хотят
Аноним 20/10/22 Чтв 14:17:12 2492712 16
>>2491557
>На функционал не влияет,
Прецеденты уже были.

>>2491557
>ну и хуй с ними пусть лепят чего хотят
Не-не, пошли они нахуй. Зачем мне проект, которым управляют дегенераты, которые не имеют своего мнения и следуют любой повесточке?
Аноним 20/10/22 Чтв 16:14:36 2492805 17
>>2492712
>Не-не, пошли они нахуй. Зачем мне проект, которым управляют дегенераты, которые не имеют своего мнения и следуют любой повесточке?
Ну и не пользуйся тогда или форкай пили своё, хули ты от опенсорса ждешь как от интерпрайза
Аноним 20/10/22 Чтв 18:39:41 2493031 18
>>2492805
Так я и не пользуюсь, лол. Просто говорю, что по каким-то причинам среди растоманов таких долбоебов больше.
Аноним 20/10/22 Чтв 19:06:37 2493051 19
>>2493031
>среди растоманов таких долбоебов больше.
Аполитичных людей?
Аноним 20/10/22 Чтв 20:58:00 2493115 20
Стикер 0Кб, 512x512
512x512
>>2493031
Я ведь говорил что в тред придут душевнобольные, столярыш ты?
Аноним 20/10/22 Чтв 23:01:03 2493352 21
>>2493051
>Аполитичных людей?
>BLM
>COVID
>help ukraine
>etc
Ага, очень. Куда ветер дунет, туда они и аполитичны.

>>2493115
>Я ведь говорил что в тред придут душевнобольные
Можешь самочтоятельно в этом убедиться. Открой гитхаб и отфильтруй по расту. Почти каждый проект имеет какую-то агитацию на своей страничке и написан транс-вертолетами.
Аноним 21/10/22 Птн 02:12:14 2493440 22
1572210147737.png 144Кб, 360x359
360x359
Аноним 21/10/22 Птн 03:25:57 2493457 23
166631165463775[...].jpg 45Кб, 590x590
590x590
166631134585241[...].jpeg 17Кб, 225x225
225x225
166631193853327[...].jpg 15Кб, 225x225
225x225
Аноним 21/10/22 Птн 11:05:17 2493578 24
Аноним 21/10/22 Птн 11:14:13 2493586 25
Аноним 21/10/22 Птн 12:07:17 2493829 26
>>2493586
Шизик🐽, спок. Тебе в палату.
Аноним 21/10/22 Птн 12:19:17 2493841 27
>>2493578
А кто ебет? Там кроме обещаний и всратых анимаций ничего нет. Даже прогу не потрогать пока что на мыло им не напишешь.
Алсо, nvim/emacs такой проблемы лишены.
Аноним 21/10/22 Птн 20:06:56 2494623 28
1573934445188.png 284Кб, 765x430
765x430
>>2493578
> but sometimes you just want to code together
А как? Зачем? В чём вообще прикол? Какой профит?
Аноним 21/10/22 Птн 22:52:14 2494710 29
>>2494623
> code together
Типа это модно сейчас, жыдбрейнс такой же хуйней страдают, но все как обычно работают в гитлабе/гитхабе и ссут на код друг друга в комментариях
24/10/22 Пнд 17:37:09 2497298 30
Поссал в тред-унитаз обертки над llvm без типов.
Аноним 25/10/22 Втр 13:26:23 2497706 31
image.png 659Кб, 736x736
736x736
>>2490347 (OP)
Какие подводные если позаимствую в свой пет проект кусочки кода из готового проекта ООО Рога и Копыта? Код закрытый не спрашивайте как он ко мне попал, но у них очень годные идеи и они придумали алгоритмы которые мне как раз и нужны. Есть опен сурс проекты на эту же тему, но там всё намного хуже и проще. Интересуют следующие кейсы:
1) Если мой проект будет использовать ограниченное кол-во людей и код не будет опубликован
2) Если мой проект будет использовать ограниченное кол-во людей и код будет опубликован
Вы охуели, тред совсем утонул кое как нашёл.
Аноним 25/10/22 Втр 14:27:08 2497739 32
>>2497298
Но, но, но, я вас попрошу не забывать.

С апреля этого года еще и обертка над GCC тоже! Может rustc бутстрапнуть.
Аноним 25/10/22 Втр 14:28:13 2497740 33
>>2497298
>без типов
Что это значит?
Аноним 25/10/22 Втр 19:39:20 2498010 34
>>2497740
Тот даун думает, что в расте динамическая типизация.
Аноним 25/10/22 Втр 20:02:25 2498026 35
>>2497706
>1) Если мой проект будет использовать ограниченное кол-во людей и код не будет опубликован

Теоретически никто не будет сравнивать ассемблер, особенно если пользоваться этим будет два землекопа. Главное версию с отладочными данными не публикуй. А вот если распространится дальше, да еще и у вас будут одинаковые баги, то тайное всегда может стать явным и тебя реально могут взять за жопу.
Аноним 26/10/22 Срд 00:06:56 2498198 36
>>2497706
> и они придумали алгоритмы которые мне как раз и нужны.
Уверен что это они придумали, может в основе лежит какая-то общая научная работа? Тогда хотя бы сможешь её прочитать и переписать под свой код.
Аноним 31/10/22 Пнд 16:52:07 2502193 37
Взял rocket посмотреть для веба, просто палкой потыкать. Там действительно что-ли надо для каждого ответа делать свою структуру? А если у меня хост как прокси и я вообще не ебу о содержимом?
Аноним 31/10/22 Пнд 19:56:22 2502418 38
>>2502193
>Там действительно что-ли надо для каждого ответа делать свою структуру?
Не знаю как в рокете, но в том же фастапи так же, не? Отвечаешь структурами из pydantic-а
Аноним 31/10/22 Пнд 21:36:01 2502540 39
>>2502418
>fastapi
Там ты на входе модели делаешь. На выход голый словарь можешь отдать, который внутри фастапи сделается сериализованным
Аноним 31/10/22 Пнд 22:32:37 2502587 40
1.png 91Кб, 1341x305
1341x305
>>2502193
Литералли титульная страница сайта.
Аноним 31/10/22 Пнд 23:27:53 2502633 41
>>2490347 (OP)
>невероятно быстрый
Для тех кому понравился синтаксис языка brainfuck
Аноним 31/10/22 Пнд 23:56:07 2502654 42
>>2502587
Что-то документация с веткой не совпадает
Аноним 01/11/22 Втр 03:07:32 2502711 43
Снимок экрана 2[...].png 771Кб, 2230x1370
2230x1370
Подскажите, мне кажется, я какой-то ебалой занимаюсь. Как правильно организовывать файлы? Просто трудно привыкнуть к этим импортам каталогнейм.rs
Аноним 01/11/22 Втр 16:15:47 2503092 44
>>2502711
Если модуль в той же папке, то имя модуля совпадает с именем файла, если в дочерней, то с именем папки, а сам файл должен называться mod.rs. При этом ты можешь из любого файла написать crate::foo::bar::*; и всё найдется.
Аноним 01/11/22 Втр 20:58:49 2503397 45
Что постинг то умер? Куда тогда перебраться можно, где не закидают говном за вопросы?
Аноним 01/11/22 Втр 21:02:01 2503401 46
Можете накидать какой-то инфы о том чем именно раст лучше и что такое переполнение буфера, потокобезопасность, выход за пределы и выполнение произвольного кода?
Аноним 01/11/22 Втр 21:31:37 2503443 47
Аноним 01/11/22 Втр 22:28:16 2503540 48
>>2502540
>На выход голый словарь можешь отдать
Так словарь это структура.
Аноним 01/11/22 Втр 22:45:32 2503563 49
>>2502193
>Там действительно что-ли надо для каждого ответа делать свою структуру?
Не надо, читай доку, там можно вернуть любую хуйню https://rocket.rs/v0.5-rc/guide/responses/#responses
Короче для продакшена полная залупа и лучше использовать actix. Сам фреймворк еще нормальный, но вот все либы для него сущий пиздец пре-альфа версии
Аноним 01/11/22 Втр 22:50:22 2503568 50
Аноним 01/11/22 Втр 22:59:44 2503578 51
>>2503568
Если бы кто-то сказал мне, что это удобный способ импорта по сравнению с другими языками, я бы выколол ему глаза и пальцы переломал.
Лучше уж use crate:: юзать
Аноним 02/11/22 Срд 01:41:05 2503629 52
>>2502633
Вот человек в котором преувеличение возведено в абсолют.
Аноним 02/11/22 Срд 01:49:50 2503631 53
>>2503401
Надеюсь тебе никто ничего не накидает, надоело уже жидкий стул завистников наблюдать.

Просто помни, если для тебя на первом месте при проектировании программы стоят скорость исполнения и корректность программы (причем первое также важно как и второе), то из мейнстримных языков это теперь раст.
Аноним 02/11/22 Срд 10:15:29 2503732 54
>>2503631
Так я не провокатор, я правда хочу разобраться в этом.
Аноним 02/11/22 Срд 15:26:14 2504001 55
>>2503629
Но ведь это чистая правда
Аноним 03/11/22 Чтв 10:55:58 2504571 56
photo2022-05-31[...].jpg 83Кб, 1000x500
1000x500
А зачем раст учить? Если там вакансий раз, два и обчёлся. Да и каких-то помидоров с тимлидами набирают, ни одного джуна.
Или эт секта такая?
Аноним 03/11/22 Чтв 11:06:34 2504579 57
Посмотрел пару видео, где объясняется, что такое переполнение стека на с примером программы на C, там везде объясняется что сейчас компиляторы по умолчанию компилируют с защитой от этого и чтобы получить уязвимость и возможность переполнить стек надо компилировать со специальными флагами.
В чем суть холивара тогда?
Аноним 03/11/22 Чтв 13:07:26 2504666 58
>>2504595
То что С и С++ небезопасный и нужно срочно переходить на раст.
Аноним 03/11/22 Чтв 13:16:18 2504684 59
>>2504579
Ты скорее всего просто нихуя не понял о чём видосы те были, лол.
Аноним 03/11/22 Чтв 13:17:09 2504688 60
>>2504666
Тебя от переполнения стека вообще ни один язык не спасёт, о ц/++ небезопасные не из-за него.
Аноним 03/11/22 Чтв 13:17:38 2504689 61
>>2504684
Я попросил материалов, где объяснят это. Мне никто нихуя не скинул.
Аноним 03/11/22 Чтв 13:45:10 2504712 62
Screenshot 2022[...].png 217Кб, 1790x1164
1790x1164
>>2504689
Если кратко — потому что система типов, система владения, система лайфтаймов и куча статического анализа поверх этого на уровне языка, и всё это не позволяет тебе простреливать ноги.

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

>Я попросил материалов, где объяснят это. Мне никто нихуя не скинул.
Ну вот тебе статейки с +- подробным описанием, но без закапывания в детали:
https://tiemoko.com/blog/blue-team-rust/
https://blog.getreu.net/projects/embedded-system-security-with-Rust/

Можешь почитать про приколы плюсов, например, чтобы понимать что не так конкретно с ними:
https://en.cppreference.com/w/cpp/language/ub
https://habr.com/ru/company/otus/blog/594557/
https://habr.com/ru/post/216189/
Аноним 04/11/22 Птн 19:31:38 2505777 63
Заходишь такой почитать изменения https://blog.rust-lang.org/2022/11/03/Rust-1.65.0.html и видишь это
>Before going into the details of the new Rust release, we'd like to draw attention to the tragic death of Mahsa Amini and the death and violent suppression of many others, by the religious morality police of Iran. See https://en.wikipedia.org/wiki/Mahsa_Amini_protests for more details. We stand in solidarity with the people in Iran struggling for human rights.
Это точно язык программирования, а не политическая партия?
Аноним 04/11/22 Птн 20:06:22 2505806 64
>>2505777
>Это точно язык программирования, а не политическая партия?
Опенсорс всегда был политическим движением, с добрым утром.
Аноним 04/11/22 Птн 20:14:11 2505816 65
Аноним 04/11/22 Птн 20:17:30 2505820 66
>>2505816
Когда-нибудь почитаешь историю и узнаешь.
Аноним 04/11/22 Птн 20:35:24 2505838 67
>>2505820
Не-не-не, даже главный идеолог швабодки Штульман срет политотой у себя на личной страничке, а ресурсы проекта ГНУ(как и многих других проектов, например, openbsd, freebsd, llvm, ziglang, suckless, common lisp и т.д.) посвящены только самим проектам и всему, что с ними связано. А вот те пидорасы, которы срут политотой на главных ресурсах своих проектов это вообще не люди. Когда видишь такое, то сразу появляется чувство, что тебе втирают какую-то дичь. И всегда все по-классике, Х - хорошо, а вот У - плохо, просто верь нам. Какое дело это имеет к проекту? Хуй знает. Есть у меня одно опасение, которое я позже проверю, а именно посмотрю не спонсирует ли Раст Фоундейш один известный фонд, который по странному течению обстоятельств спонсирует оппозицию в России, Иране, Казахстане, Украине и Белоруссии.
Аноним 04/11/22 Птн 21:18:11 2505861 68
>>2505838
Сам опенсорс политический, пчел, и всегда был. Пишут они или не пишут на какие-то другие политические темы, никакого значения не имеет — он уже сам по себе чисто политическое движение, за всё хорошее, против всего плохого, свобода, равенство и братство.
Аноним 04/11/22 Птн 21:20:31 2505863 69
>>2505777
Это не для тебя написано, а для белых людей. Удивительно, что ты вообще это прочитать смог.
Аноним 04/11/22 Птн 21:38:50 2505869 70
>>2505861
> Пишут они или не пишут на какие-то другие политические темы, никакого значения не имеет
Попенсорс - это течение только в одной области, в области компухтерных технологий, поэтому рамки дозволенного всегда должны быть. Просто говорю, что есть адекватные люди, которые понимают почему важно соблюдать гигиену в профессиональной среде, а есть дегенераты, которые срут у себя дома. Раст, к сожалению, из вторых..

>>2505863
Причина подрыва?
Аноним 04/11/22 Птн 21:48:47 2505882 71
>>2505869
>Попенсорс - это течение только в одной области
Это твоё мнение, не все его обязаны придерживаться. Как бы то ни было, это течение именно политическое.

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

>Просто говорю, что есть адекватные люди, которые понимают почему важно соблюдать гигиену в профессиональной среде, а есть дегенераты, которые срут у себя дома.
Если тебе что-то не нравится, то в опенсорсе издревле достпен способ для тебя выразить это недовольство, при этом ничего не потеряв в этой точке времени — форк.
Вон кому-то не нравилось название GIMP, потому считали его слишком политически некорректным, они сделали форк с другим.
Аноним 05/11/22 Суб 00:48:58 2506051 72
>>2505882
>Вон кому-то не нравилось название GIMP, потому считали его слишком политически некорректным, они сделали форк с другим.
Не так это было. Они сделали форк и на титульной странице выставили счет для пожертвований болдом. Через какое-то время удалили этот счет и написали что закрыли донейшны.
Вопрос - что они добавили в опенсорс?
Аноним 05/11/22 Суб 00:50:10 2506053 73
>>2506051
*И архивировали проект
>This repository has been archived by the owner. It is now read-only.
Аноним 05/11/22 Суб 01:22:09 2506058 74
>>2506051
>Не так это было.
В чём противоречие с тем, что я написал?
Аноним 05/11/22 Суб 12:13:52 2506200 75
>>2506058
Ты не назвал основной причины. Так делают пропагандисты.
Аноним 05/11/22 Суб 14:55:16 2506296 76
>>2506200
Основной причины чего? И в чём она?
Аноним 06/11/22 Вск 21:51:56 2507516 77
Аноним 07/11/22 Пнд 00:26:03 2507642 78
>>2497740
скорее всего раст не может генерировать вкусные хинты для llvm которые могут позволить не делать например баундчеков
Аноним 07/11/22 Пнд 01:43:01 2507668 79
>>2507642
Это ограничение бэкендов GCC и LLVM https://github.com/rust-lang/rust/issues/71997

> alex commented on Apr 8, 2021
>Converted to C++ (turned out basically identical to @joshtriplett's) and filed as an llvm optimizer bug: https://bugs.llvm.org/show_bug.cgi?id=49885

> jrmuizel commented on Apr 8, 2021
>I filed a gcc bug for fun too: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99966

В GCC пофиксили, а в LLVM даже не обратили внимание на issue. Кстати, уже готов GCC rust бэкенд, который может собрать компилятор rust. Часто можно было наблюдать в этих тредах нытье что нет бэкенда GCC. Работа спонсируется.
Аноним 07/11/22 Пнд 01:51:58 2507674 80
>>2507642
>скорее всего раст не может
Если у тебя есть пример, сделай багрепорт
Аноним 07/11/22 Пнд 03:01:36 2507684 81
У меня есть структура
#[derive(Debug, Serialize)]
struct A {
___field1: u32
___ ?????
}
Как сделать чтоб было поле, в которое можно пропихнуть произвольную сериализуемую структуру? Или как это правильно делается?
Чтоб можно было A {field1: 128, .... }
А то как понял, нельзя сделать какую-то базовую структуру, от неё наследоваться, и потомка передать.
Супертрейты помогут?
Аноним 07/11/22 Пнд 04:01:35 2507695 82
Аноним 07/11/22 Пнд 13:57:56 2507897 83
image.png 14Кб, 304x248
304x248
Аноны, а нельзя было это на лямбдах с return'ами соорудить? Нахуя так синтаксис загромождать?
Есть какой-то пример, где вот это вот оправдано?
Аноним 07/11/22 Пнд 17:39:14 2508058 84
>>2507684
Структура, она на то структура, что всё гвоздями приколочено.
Если тебе нужно записать куда-то кучу разных структур, то ты или подумай над тем, как сделать их не очень разными и привести к одной, или пропихивай в виде Vec<u8>, а в материнской пиши конкретный тип.
Аноним 07/11/22 Пнд 19:31:42 2508199 85
>>2507897
>Нахуя так синтаксис загромождать?
В смысле? Это стандартный синтаксис, который разрешили в правую часть выражения писать. Стандартный синтакиси в любом случае нужен, то есть он всегда будет. А ты предлагаешь ещё к стандартному синтаксису лямбды придумать? Кто тогда синтаксис загромождает, ммм?
Аноним 07/11/22 Пнд 19:41:36 2508211 86
>>2508199
Я про break с возвратом значения.
Например, на лямбдах оно бы выглядело как-то так
let result = (|| {
return 1;
})();

немного кучеряво, но хотя бы единообразно. А тут на каждый чих синтаксический сахарок, скоро только для синтаксиса отдельная книжка понадобится.
Аноним 07/11/22 Пнд 20:14:51 2508241 87
>>2508211
А, тогда не знаю. Скорее всего подсказка компилятору, чтобы убрать вызов функции.

>скоро только для синтаксиса отдельная книжка понадобится
k&r весь о синтаксисе
Аноним 08/11/22 Втр 01:02:02 2508437 88
>>2508211
Если у тебя блок 'blockInner находится внутри 'blockOuter и ты хочешь по-быстрому выйти из 'blockOuter.
Аноним 10/11/22 Чтв 21:16:21 2510913 89
>>2507684

#[derive(Debug)]
struct RealParent {
id: u32
}

impl Parent for RealParent {
fn id(&self) -> u32 {
self.id
}

fn foo(&self) {
println!("bar");
}
}

impl Serialize for RealParent {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: serde::Serializer
{
let mut s = serializer.serialize_struct("RealParent", 1)?;
s.serialize_field("id", &self.id())?;
s.end()
}
}

trait Parent: Serialize {
fn id(&self) -> u32;
fn foo(&self);
}

#[derive(Debug, Serialize)]
struct Child<P: Parent> {
id: u32,
parent: P
}

#[test]
fn test_shitty_inheritance() {
let parent = RealParent { id: 123 };
let child: Child<RealParent> = Child { id: 228, parent };
println!("Child: {}", serde_json::to_string(&child).unwrap());
// выводит Child: {"id":228,"parent":{"id":123}}
}

Вот тебе идея
Аноним 10/11/22 Чтв 21:17:54 2510915 90
>>2510913
Блоо, тут пробелы съедаются. В общем, вставишь в редактор кода
Аноним 10/11/22 Чтв 21:26:22 2510917 91
>>2510913
И помимо этого RealParent можешь сколько угодно таких насоздавать реализующих трейт Parent и их туды подставлять. Родитель1, Родитель2 и т.д. ;)
Аноним 10/11/22 Чтв 21:43:41 2510923 92
image.png 110Кб, 930x910
930x910
>>2510913
Вот в виде скрина пусть ещё будет. Ну и ещё одну деталь незначительную поменял
Аноним 10/11/22 Чтв 22:03:23 2510929 93
image.png 68Кб, 919x496
919x496
>>2510913
Ну и до кучи ещё более лаконичный вариант
Аноним 11/11/22 Птн 09:57:33 2511103 94
>>2510913
Вот это норм кстати вариант
Аноним 16/11/22 Срд 22:14:40 2515498 95
Аноним 16/11/22 Срд 22:48:13 2515527 96
АНБ США порекомендовало IT-компаниям отказаться от языков C и C++
https://habr.com/ru/news/t/699142/

Ебало белых натуралов пишущих на крестах представили?
Аноним 17/11/22 Чтв 00:00:25 2515575 97
>>2515527
>белых натуралов
Белых утят ты имеешь ввиду?
Аноним 17/11/22 Чтв 12:43:50 2515839 98
изображение.png 408Кб, 657x383
657x383
>>2515527
>Ебало белых натуралов пишущих на крестах представили?
Аноним 18/11/22 Птн 14:50:27 2516640 99
Не начинай изучать Rust пока не прочтёшь ЭТО

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

Baiker (rsdn.ru):
Что предлагает Раст? Во-первых, НИЧЕГО, что повысило бы работоспособность/удобство написания программ вообще и во-вторых, "танцы на льду на роликовых ходулях" в качестве управления памятью. Какой дурачок на это купится?? Растаманы сейчас — это что-то сродни "свидетелей Иеговы", только их(растаманов) сейчас не сразу закидывают говном. Но закидывают. Ибо достали совать свою ржу и в рот, и в другие отверстия.

velkin (rsdn.ru):
в идеале любые проекты нужно начинать на C/C++, вот моё мнение. Более того, раньше раздавались робкие голоса в пользу C/C++, потому что самые крутые проекты сделаны на них.

B0FEE664 (rsdn.ru):
Язык, в котором нельзя наследовать данные не нужен.
Новый язык в котором переменные не константы по умолчанию не нужен.
Язык в котором есть println нужен исключительно для обучения.
Новый язык в котором нет автоматического распараллеливания выполнения не нужен.

kaa.python (rsdn.ru):
Язык программирования в котором разработчик выполняет работу компилятора по доказанию клрректности времени жизни объектов — это нонсенс.

Kolesiki (rsdn.ru):
Разве "Раст" — это не такая же тухлая тема, как МММ? ДАВНО уже стало ясно (ещё с первых недель появления ржавчины в Тырнетах), что язык — полное гогно. Вернее, его изящно закамуфлированная "мозго_й_опка с памятью", которую разрабы аккуратно вывалили на бедного погромизда.
...
И поняв, что это гогно "никак не взлетает", по форумам стали запускать "Лёней Голубковых", которые враньём/агитацией макают всех в свои ржавые помои. Собственно, даже обсуждение "какое это гогно" — косвенная агитация и излишний хайп/цитируемость к этому дерьму. (вот почему минус) Может, хорош уже насиловать стюардессу?! Один раз закопали — И ХВАТИТ!

http://rustmustdie.com/ :
Этот язык пропитан ложью: он пытается быть низкоуровневым, несмотря на невероятно высокоуровневую природу; пока он претендует, что не включает в себя сборщики мусора, его сообщество активно их использует; он забывает о последовательных программах в погоне за параллельными, и в итоге весь код становится писать сложней; он заявляет о том, что даcт прекрасные макросы, а на деле подсовывает лишь неудобное подобие, при этом существенно замедляющее время компиляции всех программ. Это язык-монстр, но ещё страшней его сообщество.
...
Особо стоит подчеркнуть, что сборщик мусора встроен в стандартную библиотеку, которая неотделима от самого языка, а потому заявления, что Rust — это якобы язык без сборки мусора, — лживы.
...
гениальные разработчики этого языка встроили асинхронную версию сборщика мусора, с тем подвохом, что его содержимое должно быть неизменяемым. Итого в Rust уже даже не один, а два сборщика мусора!

Аноним (opennet.ru):
Да его больше пиарят, чем пилят. Эту новшество во все щели пихают, не останавливаясь не перед чем, и стараясь полить говном все остальные языки. Уже в ядро Linux пытаются подсунуть, лишь бы обратить на него внимание. Эти дебильноватые маркетологи похоже просто не понимают,что таким образом внушает отвращение к этому, и без того муторному, языку.

Аноним (opennet.ru):
Rust как презерватив, вроде безопасно, а дети все равно появляются

Аноним (opennet.ru):
Смотришь его синтаксис и будто наматываешься на колючую проволоку.

Аноним (opennet.ru):
Раньше я думал, что C++ уродливый, закостыленный язык. Но потом я познакомился с Rust

Аноним (opennet.ru):
Безопасные языки программирования нужны тем, кто программировать не умеет.

Аноним (opennet.ru):
Настоящим программистам проверки компилятора не нужны, а тем кто программировать не может никакой rust не поможет, наоборот, они будут уверены что пишут безопасный код без ошибок под действием синдрома Даннинга Крюгера и только всё испортят.

Аноним (opennet.ru):
Отличный язык для прототипирования! Низкоквалифицированные люди пишут черновики функционала, которые квалифицированные инженеры смогут переписать на Си быстрее чем с нуля разрабатывать

Старый аноним (opennet.ru):
Rust — еще и очень полезный язык. Так как он вызывает у программистов рвотный рефлекс, что не дает программистам набрать лишний вес, а значит — продляет жизнь программиста.

истина в последней инстанции (opennet.ru):
Ни одного стоящего проекта, ни одной стоящей IDE.
Так забавно смотреть как трепыхаются в бессилии хрюши неосиляторы нормальных языков и элементарных указателей. Тратьте и дальше свою жизнь на ущербное мертвораждённое.

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

Аноним (opennet.ru):
Rust, вне зависимости от его технических характеристик, это просто средство продвижения SJW специфических людей.
Гнать в шею ребят.

Сергей (opennet.ru):
Я не скажу что Rust *авно, но мне кажется, что его появление отразило нынешний уровень извилин и квалификации имеющихся кодеров, чем он будет ниже, тем будет больше фреймворков и языков, ориентированных на этот уровень...

Аноним (opennet.ru):
Да и в целом, раст — это синоним слову безопасность. Ну и память — с памятью работать стало безопаснее. Потому что используется безопасный раст. Безопасность достигается при помощи безопасных конструкций безопасного языка и безопасной работы с безопасной памятью, чтобы безопасные программы были еще безопаснее.

Аноним (opennet.ru):
Кодинг на rust это зашквар и показатель профнепригодности. По своей убогости rust уже давно догнал java.
Настоящие программисты это только те, кто пишут на ANSI C и ASM, кодеры на скриптухе программистами считаться не могут по определению.

szt1980 (opennet.ru):
Смузи-поделка с невменяемым синтаксисом — очередное ненужно. Неосиляторы C/C++ с завидным упорством пытаются изобрести велосипед, но выходит он у них с квадратными колесами и без седла. Корпорации неосиляторам дали Checked C — юзай ptr<T>, array_ptr<T>, nt_array_ptr<T> — не, не хочу, хочу жрать ржавую лажу. И это разработчики?

Андрей (opennet.ru):
Почему код раста читается хуже сообщений об ошибках компилятора С...
Да даже ошибки компилятора С++, просто Господи, выглядят структурней кода на расте.

Аноним (opennet.ru):
Нормальный человек таким синтаксисом пользоваться не будет. Остаются только те кто не уважают сами себя. А так как они не уважают себя они не уважают и окружающих.

wyry (opennet.ru):
Только и Basic и C и Pascal сами по себе во всём лучше Rust. Вот кстати если бы Pascal вышел бы СЕЙЧАС, он бы запросто реально мог претендовать на место безопасного и простого языка для работяг. В нём в отличие от лицемерного Rust даже UB нет by design.

wyry (opennet.ru):
Они создали Rust чтобы люди сильнее полюбили C++ и ценили то что имеют

wyry (opennet.ru):
Язык умер так и не родившись... сейчас любой стартап пишется на Go с последующим переездом на C++... для кого эти новости? Письма мертвеца ей богу
Аноним 18/11/22 Птн 14:50:53 2516641 100
>>2516640
Аноним12345 (opennet.ru):
Язык для хипстеров
Порог вхождения довольно высок
Синтаксис невменяемый
Область применения ограниченная

Kuku (opennet.ru):
Раст — это ложный пиар, призванный отвлечь силы конкурентов на тупиковую технологию.

Хан (opennet.ru):
Без ООП это лучший язык для хэллоуворлдов

acroobat (opennet.ru):
Язык написан на c++. Вместо компилятора, llvm-приблуда. Ориентирован на студентов, ими же и продвигается. Имхо не взлетит.

Урри (opennet.ru):
В раст приходят совсем молодые программисты, которым лень осилить нормальный язык — это прекрасно показывает рейтинг "любимый язык стековефлововцев".
Ну и еще приходит позор нашей профессии — те, кто не смог нормально осилить полноценный инструмент, только по недоразумению называющие себя "программистами".

Аноним (opennet.ru):
Раст создаёт иллюзию безопасности, поэтому растогориллы пишут как получится

Хан (opennet.ru):
пока растоманы кричат какой ржавый отполированный и блестящий, чуваки на Go просто пишут софт

Аноним (opennet.ru):
Какой смысл писать на языке, на котором тебе придётся всё изобретать самому? Хотя, конечно, зависит от задач, где-то и можно впихнуть. Но скорее на расте всё равно придётся реализовывать только какую-то часть логики. Ну вот вроде сложные и опасные задачи сложения строк или перебора массивов, на остальное как видится раст не способен.

Аноним (opennet.ru):
А что там с осью на расте — не взлетела?
...
Ничего. Оно сжирает всю память и падает. Но это другое. Это безопасно.

Прорыв_запарты_фелиал (opennet.ru):
Раз раст не может в конкурентный доступ, то любое его наличие требует unsafe, хотя unsafe к расту не имеет никакого отношения, потому как имеет как минимум другую модель памяти, даже базовые примитивы иные. Потому как это просто обёртка поверх llvm-ir и сишного интеропа с llvm.

Аноним (opennet.ru):
А если раст еще раз переписать на раст он станет безопаснее?
...
Да, Раст гарантирует безопастность. Тогда будет двойная безопасность.
...
тогда надо будет писать
unsafe unsafe

Аноним (opennet.ru):
Разработка аналогичного кода на rust занимает куда больше времени чем на C/C++ а его сопровождение учитывая постоянные изменения в языке превратиться в ад.

Аноним (opennet.ru):
Взяли бы и написали на расте свой растинукс, с непротекающкй памятью и безопасными утилитами.
...
Пытались, потекло...

Аноним (opennet.ru):
Безалкогольное пиво — вроде выпил а толку ноль
Резиновые девушки — вроде потыкал а толку тоже ноль
Так и rust, вроде язык есть, а толку и софта — ноль.

Аноним (opennet.ru):
Язык, на котором невозможно реализовать ряд алгоритмов, не может считаться полноценным.
...
Растаманам нужен только один алгоритм: алгоритм получения бабла в новосозданный фонд.

Аноним (opennet.ru):
Rust — моральное разложение; коррупция, продажность; вредное влияние безделья, бездеятельности. Очень точное название выбрали.

Сишник (opennet.ru):
Люблю раст за неиссякаемый источник лулзов. Жду новостей вроде "Rust Foundation потратила 50% донатов на содержание совета директоров и 50% на продвижение транс нигга лесбиянок в опенсорс раст проекты"

Аноним (opennet.ru):
Хуже Раста только Го. Не могу смотреть на эти язычки. Живое омерзение, живая подлость! А firefox жаль. Ощущение что браузер спецом хоронят

Аноним (opennet.ru):
Сидит программист, чуток расслабился. Подходит чувак с палкой и хрясь его по спине, приговаривая: "Сиди с ровной спиной".
Этот чувак с палкой — компилятор языка Раст.

Аноним (opennet.ru):
зачем издеваться над трупом? даже мозилла уже от него отказалась

deeaitch (opennet.ru):
У приверженцев Rust всё время проблема с C/C++. То у них с памятью всё плохо, то ещё что непонятное и сложное. То они вечно себе в ногу стреляют.
Зачем вы стреляете себе в ногу? Мазохисты? Вспоминается сразу две вещи:
1) Доктор, когда я делаю вот так, мне больно. А вы так не делайте.
2) Старая добрая игра Fallaut 2: "Вы стреляли в златоящеря и попали в себя, вы потеряли 20 пунктов жизни"
Этакие люди неудачники.
...
Вот честно, очень токсичное общество любителей Rust. У них все плохие, кругом дыры. Одни они умные. Всех надо обосрать.
Приведешь им два аналогичных кода, с аналогичным поведением (вылетанием проги) на C++ и на Rust — Плюсовеки молчат, потому что понимают.
Что слышно от любителей раста? — "Ты де.....л, ты ничего не понимаешь, ваш C++ от....ой." А поведение то одинаковое.
Мне интересно. Откуда столько желчи и РЖАВЧИНЫ у приверженцев Rust.

СССР (opennet.ru):
"Автоматическое управление памятью в Rust избавляет разработчика от ошибок при манипулировании указателями" — что бы ваши ети передвигались на инвалидных креслах. Я исключительно ради заботы, ведь передвигаясь на ногах можно споткнуться , забить лоб и умиреть! поэтому пусть передвигаются на инвалидных кресах от проктэр&гэмбэл с автоматизированной головкой!

Аноним (opennet.ru):
Можете, назвать меня неосилятором, но. Приходит директор и говорит. Вот тебе железка на rs485. Сделай утилиту для её конфигурации и настройки. Срок три дня. Беру я такой раст... И через два месяца меня увольняют. Берут парня, который на делфи зафигачил все за 4е часа. Все довольны. Ну кроме меня.
Аноним 18/11/22 Птн 17:37:14 2516814 101
Стикер 63Кб, 200x200
200x200
>>2516640
> rustmustdie.com
Себя не похвалишь - никто не похвалит
Аноним 18/11/22 Птн 18:12:42 2516868 102
igAAAgLQF-A-960.jpg 73Кб, 700x700
700x700
Поделюсь своими первыми впечатлениями о Rust (сам сижу на TypeScript / R / PHP). Язык неплохой, работает пипец быстро. Но! Три основных неприятных момента - общее ощущение кустарности, как будто его делали на коленке. Чтобы нормальную асинхронность получить, надо ставить сторонний crate, какие-то там futures, tokio, прописывать декораторы. Почему асинхронность нельзя было сразу в язык встроить - непонятно.

И второй - вычурный синтаксис. Смешанные чувства от Some(), Ok() - вроде идея неплохая, но на практике приходится писать if let Some(text) = do_some_action().await {} вместо того чтобы просто написать if (text) {} Из-за этого код превращается в огромную писанину, с необходимостью запоминать все макросы, методы и проч.

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

Из плюсов - быстро работает, строгая типизация, к синтаксису привыкаешь со временем. Простая конпеляция, по сравнению с тем же C++. Удобный инструмент crate, есть всё что нужно. Консольные приложения писать одно удовольствие.

Короче, у меня пока смешанные чувства.
Аноним 18/11/22 Птн 18:32:20 2516898 103
>>2516640
>>2516641
Сколько стоит мнение всех этих комментаторов по сравнению с мнением Херба Саттера?
https://www.youtube.com/watch?v=ELeZAKCN4tY
Перед просмотром рекомендую ознакомиться с синтаксисом и семантикой Rust, взять листочек и карандашик, и выписать всё что принято им из Rust.

Отдельно на полях ставить плюсики, когда он произносит слово safety.
Аноним 18/11/22 Птн 18:38:55 2516905 104
Если ты Сишник, перед высером в тред рекомендуется к просмотру https://vimeo.com/71278954

Особенно часть про профессора-утенка, ругающего своего студента что он на ассемблере свою лабу накатал, а не на общепринятых в то время, опкодах.
Аноним 18/11/22 Птн 18:48:01 2516915 105
Аноним 18/11/22 Птн 18:51:38 2516920 106
>>2516915
Ты сам то понимаешь что цифры значат?
Аноним 18/11/22 Птн 18:59:10 2516925 107
1659921710842.png 100Кб, 987x650
987x650
>>2516920
Там буквально написано, пчел. Раст делает лишние копирования со стэка на кучу, вместо создания объекта сразу на куче
Аноним 18/11/22 Птн 19:04:12 2516930 108
>>2516915
Именно так, есть еще места для непротиворечивой оптимизации LLVM, при том что результирующий код уже на одном уровне по скорости с крестами.

Если кресты не отбросят обратную совместимость по ABI, у них нет шансов на будущее.
Аноним 18/11/22 Птн 19:05:28 2516932 109
>>2516905
31:22 “The most dangerous thought that you can have as a creative person is to think that you know what you’re doing.
Because once you think you know what you’re doing, you stop looking around for other ways of doing things and you stop being able to see other ways of doing things, you become утёнок…”
Аноним 18/11/22 Птн 19:07:58 2516936 110
>>2516930
> при том что результирующий код уже на одном уровне по скорости с крестами
> делает лишние копированию памяти
> уже на одном уровне скорости
Аноним 18/11/22 Птн 19:13:38 2516942 111
>>2516936
>Мои ожидания фейла раста :)
>Рилворлд бенчмарки :(
Ну, подумай еще. Что же это может значить?
Аноним 18/11/22 Птн 19:14:25 2516944 112
>>2516930
В плюсах и так разные ABI в зависимости от версии компилятора. Поэтому и есть extern c
Аноним 18/11/22 Птн 19:16:10 2516947 113
>>2516942
Бенчмарки показывают не больше, чем то, как они задизайнены. От того, что есть какой-то бенчмарк оверхед по копированию памяти не исчезает
Аноним 18/11/22 Птн 19:24:59 2516956 114
Screenshot9.png 55Кб, 966x753
966x753
>>2516944
Есть вещи, которых в С++ не избежать. Например лишние mov инструкции ради сохранения обратной совместимости со старыми соглашениями вызова функций. Уже много раз постил этот пример. Гугли there are no zero cost abstractions чендлера каррута и смотри сам.
Отсюда вывод >>2516947 что в Раст легаси нет, потому что есть редакции. А пример со ссылкой, которую ты запостил вообще относится только к отношениям раста с LLVM (это можно пофиксить не ломая API), тем более что на подходе GCC бэкенд.
Аноним 18/11/22 Птн 19:35:46 2516965 115
1608935418732.png 62Кб, 1511x384
1511x384
>>2516956
Пчелик, я этот доклад в онлайне смотрел. Причем тут ABI? У юник птр (и у других абстракций) есть обязательный оверхед, даже если он не нужен. Решается это тем, что, внезапно, можно не использовать юник птр, а использовать голый указатель. Короче непонятно к чему ты это написал.

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

> А пример со ссылкой, которую ты запостил вообще относится только к отношениям раста с LLVM (это можно пофиксить не ломая API), тем более что на подходе GCC бэкенд
Это проблема компилятора, а не отношения с llvm, gcc тут не поможет.
Аноним 18/11/22 Птн 19:57:59 2516981 116
У треда два состояния: мертв, либо в состоянии срача
Аноним 18/11/22 Птн 19:59:48 2516984 117
>>2515498
Скорее всего, это NeoVim
Аноним 18/11/22 Птн 20:00:33 2516986 118
>>2516965
>Пчелик, я этот доклад в онлайне смотрел. Причем тут ABI? У юник птр (и у других абстракций) есть обязательный оверхед, даже если он не нужен. Решается это тем, что, внезапно, можно не использовать юник птр, а использовать голый указатель.
И получить все прелести голого указателя, а не & из раста. Мало того что unique_ptr аллоцирует в хипе, так его еще и привести всеми noexcept'ами и rvalue-ref'ами к простой базовой конструкции раста нельзя без лишних mov по-памяти.
Метка времени 21:14.
>Короче непонятно к чему ты это написал.
Пофиксить в крестах это нельзя из-за ABI легаси, он дальше об этом говорит. Даже больше, отсутствие полноценных редакций не позволяет гарантировать zero cost абстракции как в Раст.

>Это проблема компилятора, а не отношения с llvm, gcc тут не поможет.
Получается еще проще для фикса. Непонятно к чему ты тогда тут баги компилятора постишь с криками вот весь ваш Раст.
Аноним 18/11/22 Птн 20:02:58 2516987 119
>>2516981
У языка практически нет тотал ньюби вкатунов.
Аноним 18/11/22 Птн 20:07:24 2516991 120
Чтобы понять прелести раст, нужно прочувствовать боль от крестов.

Кресты это какая-то сводка из 1001 правила "не делай вот этого", и "делай так" вообще не относящимся к программированию, а только к особенностям самих крестов.
Аноним 18/11/22 Птн 20:10:53 2516993 121
Где в расте ты получаешь замедление исполнения программы от непонимания базовых основ программирования, в крестах ты (помимо сказанного) хватаешь баги, которые проявляются вылетами программы в непонятных местах и корраптом данных с продолжением исполнения.
Аноним 18/11/22 Птн 20:21:31 2517000 122
>>2516965
>Пчелик, я этот доклад в онлайне смотрел.
Если настолько опытный программист что тебя заставляет хейтить раст, я не понимаю? Ты хотел чтобы сделали лучше, но не говоришь что конкретно, а только поливаешь помоями. Сделают лучше. Рано или поздно научат модели оптимизации под конкретные платформы, и ни кто уже не будет смотреть на кодогенерацию, просто потому что не поймут как обученные модели генерируют такой хороший код. Будут соревноваться в грамотном составлении высокоуровневых рекоммендаций для получения максимально близкого к их замыслу, результата.
Аноним 18/11/22 Птн 20:28:12 2517004 123
>>2517000
Останутся сишные фрики, которые будут пытаться обоссать нейронку, и когда у них будет получаться результат будут скармиливать сети. А сеть будет экстраполировать их находки и становиться только лучше.
Аноним 18/11/22 Птн 20:28:53 2517005 124
>>2516986
> И получить все прелести голого указателя, а не & из раста
Ужас блин. Есть abseil::make_unique, absl::WrapUnique() и один из выводов был, что можно не использовать подобные конструкции. Да менять calling conventions для того, чтобы в этой конструкции можно было оптимизировать никто не будет.
И ещё раз никакого легаси ABI нет. Разные версии компилятора имеют разные ABI

> Мало того что unique_ptr аллоцирует в хипе
Нет, если ты указатель ему передашь в конструктор.

> Получается еще проще для фикса. Непонятно к чему ты тогда тут баги компилятора постишь с криками вот весь ваш Раст.
Это было невинное замечание, а ты так триггернулся. Ты слишком чувствительный
Аноним 18/11/22 Птн 20:39:59 2517010 125
image.png 317Кб, 1400x569
1400x569
Самое смешное, что даже из-за появления Rust-а необходимость обучению Си и Цпп никуда не пропадает. Во-первых, на расте нет работы(криптоскам не нужен) и чтобы она появилась в серьезном бизнесе должно пройти лет минимум 5-10. Но это решается просто ожиданием. Во-вторых, Си никуда не пропадет, а просто будет сосуществовать вместе с растом, поэтому нихуя не меняется кроме необходимости учить еще один язык.

>>2517000
>Рано или поздно научат модели оптимизации под конкретные платформы, и ни кто уже не будет смотреть на кодогенерацию, просто потому что не поймут как обученные модели генерируют такой хороший код.
Бред, чтобы модель научилась писать такой код, она должна обладать разумом, осознавать свои действия и их последствия, а не просто срать готовыми паттернами. Ну а с появлением такого ИИ уже будет похуй на код, так как мир сильно изменится.
Аноним 18/11/22 Птн 21:00:15 2517017 126
Без названия (2[...].png 506Кб, 512x512
512x512
>>2517010
>Во-вторых, Си никуда не пропадет, а просто будет сосуществовать вместе с растом
Будет ли существовать Си в краткосрочной перспективе, зависит только от того насколько удастся побороться со сложностью оптимизации абстракций. Пока этому ни что фундаментально не мешает. Это можно видеть на примере просачивания ФП конструкций в современные ЯП. Раст просто бугорок в этом последовательном тренде, потому такой хайп. Неосиляторов и утят в расчет не хочу брать.

>Бред, чтобы модель научилась писать такой код, она должна обладать разумом, осознавать свои действия и их последствия, а не просто срать готовыми паттернами.
Это тоже тренд, пока ты можешь скормить сети запросы на "создай мне такой цикл", "сгенерируй такую картинку", "напиши текст на тему". Но прогресс идет, и если результаты работы все более становятся похожи на результат работы человека (их становится сложнее различить) то где же остановимся?
Аноним 18/11/22 Птн 21:10:29 2517020 127
>>2517017
>ока этому ни что фундаментально не мешает.
Лол, как раз мешает и это архитектура ЭВМ Пока что функциональная параша не будет выполняться на уровне железа, то об "Сишка все" даже заикаться не нужно.

>Это тоже тренд, пока ты можешь скормить сети запросы на "создай мне такой цикл", "сгенерируй такую картинку", "напиши текст на тему". Но прогресс идет, и если результаты работы все более становятся похожи на результат работы человека (их становится сложнее различить) то где же остановимся?
Ты натянул и спроецировал сомнительный успех из одной области на другую, совсем другую. А помечтать и я могу. Только реальность от этого не изменится.
Аноним 18/11/22 Птн 21:26:11 2517035 128
>>2517020
Large language models это та самая область. По какой причине ты думаешь что если сетка генерирует текст, неотличимый от написанного человеком на заданную тему, это нельзя применить к тексту компьютерной программы? Может на сегодняшний день она тебе и не сгеренирует компилирующийся текст, но ты увидишь и поймешь смысл её работы. Направление в котором следует копать. И сделает это исходя из окружающего, уже написанного тобой или предыдущей итерации её работы. На данный момент она берет из базы увиденного, и применяет к твоей ситуации. Это как загуглить вопрос, но получить ответ "почти точь в точь" под твой конкретный сценарий.

https://old.reddit.com/r/MachineLearning/comments/xtd8kc/p_stablediffusioninfinity_outpainting_with_stable/
https://old.reddit.com/r/GIMP/comments/xk7ft2/inpainting_is_coming_very_soon_to_the_gimp_stable/

Мы живем в сингулярности, просто люди этого не замечают. Посмотри что было 2к лет назад. Что такое 2к лет для планеты или вселенной?
Аноним 18/11/22 Птн 21:31:49 2517040 129
Аноним 18/11/22 Птн 21:45:54 2517051 130
>>2517035
>По какой причине ты думаешь что если сетка генерирует текст, неотличимый от написанного человеком на заданную тему, это нельзя применить к тексту компьютерной программы?
Потому что она работает только с некоторыми паттернами и учится на готовой базе. Нет базы - нет нейронки, когда человек может создать что-то новое самостоятельно. Нет никаких проблем научить нейронку стилю определенного автора и генерировать картины в этом стиле, но вот собственный стиль нейронка не придумает, понимаешь? В этом и вся проблема. Так же и с кодом. Всякие copilot от гитхаба даже формошлепов и кнопкокрасов не в силах заменить, а про более серьезную работу я вообще молчу. То, что ты пишешь - это фантастика на уровне полноценного ИИ, так как он должен понимать, что от него требуют, как ему это сделать исходя из текущей ситуации и ресурсов, должен осознавать свое состояние, а также прогнозировать возможные проблемы и их решения исходя из целей задачи, а это уже уровень человека. Да и с таким ИИ уже про код можно будет забыть, потому что эта херня будет находить ответ на любой поставленный вопрос.
Аноним 18/11/22 Птн 21:58:48 2517062 131
>>2517051
> собственный стиль нейронка не придумает
Рандом не сделает своё дело? Если тот же стаблдифужн взять, то вполне может по некоторым сочетаниям фраз родиться какой-то оригинальный стиль, дальше с ним и работай.
Аноним 18/11/22 Птн 22:14:40 2517071 132
>>2517051
>когда человек может создать что-то новое самостоятельно
doubt
Аноним 18/11/22 Птн 23:02:20 2517095 133
изображение.png 5Кб, 491x99
491x99
>>2516868
>Чтобы нормальную асинхронность получить, надо ставить сторонний crate, какие-то там futures, tokio
tokio де факто стандарт для асинхронности, в язык она встроена поскольку ты пользуешься теми же async/await в стандартной библиотеке для этого есть трет Future, tokio просто одна из реализаций. futures сейчас не требуется, можно подключить, вот пример:
https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=034d1b01d1208023a86f2a379fd154f4

зависимости, надеюсь макаба не сожрет:
[dependencies]
tokio = { version = "1.21.2", features = ["full"] }

> прописывать декораторы.
Это аннотации, они используются в компайлтайме и генерируют код, например когда у структур пишешь аннотации для serde генерируется код для серализации/десереализации, поскольку в расте нет как такового рантайма в котором это все генерировалось. Это издержки языка низкого уровня. Допустим из моего кода генерируется при компиляции такой код https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=703394caa0fd8e643c74e059fdf50dd6

>Смешанные чувства от Some(), Ok() - вроде идея неплохая, но на практике приходится писать if let Some(text) = do_some_action().await {} вместо того чтобы просто написать if (text) {}
Во первых тут if (text) {} будет работать только с булевыми выражениями, в плане приведения типов здесь все маниакально, а во вторых ты в таких выражениях можешь обработать всякие разные штуки, например из Result<Option<Zalupa>> получить Zalupa если он есть и обработался без ошибок
if let Ok(Some(zalupka)) = do_some_action().await {}
А еще тут можно обработать всякие enum'ы коими являются Option и Result, короче можно в некоторых случаях в одну строчку записать вместо вложенных if и match

> Я джва часа потратил, чтобы заставить reqwest скачивать файлы параллельно.
С reqwest тоже не знаю чего ты ебался через tokio все распараллеливается. У меня сотни файлов разом качаются в парсере на продакшене. Я с ним помню ебался когда какие-то полубесплатные говнопрокси юзали
Аноним 19/11/22 Суб 01:11:54 2517175 134
Аноним 19/11/22 Суб 11:04:25 2517318 135
>>2517071
>doubt
Ага, а первое произведение человеку, наверное, жидорептилоиды подогнали? Или рецепт хлеба.

>>2517062
>Рандом не сделает своё дело?
"Оригинальный" паттерн, скорее всего, будет собран из других паттернов по частям, потому что при рандоме нейронка не будет знать, что нужно добавлять. Она не понимает, когда это оригинально, а когда нет. Это может оценить только человек и тот не каждый.

>>2517175
Решение хелло ворлдов для удивления хомячков - это не "решает хорошо описанную проблему уже сейчас". Это больше похоже на возвращаемую ракету от Илона Маска, когда все кричали, что будущее наступило, а в реальности оказалось, что дешевле сделать новую болванку, чем чинить старую.
Еще раз повторяю, современные модели нейронок, которые пытаются развивать гугл и прочие корпорации - полный шлак даже на уровне теории. Они очень чувствительны к качеству датасета, у них очень хрупкая " память" и дорогая цена на переобучение(для новой задачи тебе нужно обучать нейронку с нуля). Это не тот ИИ о котором вы мечтаете и который вам навязала научная фантастика.
Аноним 20/11/22 Вск 18:56:25 2518742 136
>>2517318
>Или рецепт хлеба.
Это детект, что ты не подумал о чем пишешь.

>Решение хелло ворлдов для удивления хомячков - это не "решает хорошо описанную проблему уже сейчас".
В этом-то и прикол, что решает. Возьми человека с улицы и попроси его написать то же самое. Сколько чел в метро из ста, решат тебе codeforces?

>Они очень чувствительны к качеству датасета
Это полуправда, гораздо проще тренировать на хорошем дата сете, чем на говне. Как и человек не будет по кускам форумы читать, или браться за спецификацию (что может быть лучше спецификации? кратко, полно!) чтобы понять как прогать на сишечке, если раньше никогда не прогал. А сначала возьмется за кем-то аккуратно и выверенно написанный учебник.

>у них очень хрупкая " память"
Поясни, что это должно значить?

>и дорогая цена на переобучение(для новой задачи тебе нужно обучать нейронку с нуля)
Мультитаскинг https://en.wikipedia.org/wiki/AlphaZero

>для новой задачи тебе нужно обучать нейронку с нуля
Есть способы помочь нейронке забыть. Используется в fraud detection сетях, или сетях пытающихся угадать что покупатель захочет купить после этой покупки, чтобы предложить ему сразу.
+ еще one-shot learning
Аноним 20/11/22 Вск 18:57:35 2518744 137
Этот чел с нейронками напоминает мне жалобщиков на раст. Так много уже есть, а он все ноет и ноет что мало и не то.
Аноним 22/11/22 Втр 22:06:30 2520918 138
jtddel5i6j0a1.jpg 114Кб, 1079x1073
1079x1073
Аноним 23/11/22 Срд 10:04:30 2521246 139
>>2516898
Ни хрена не рублю в С++, но просто поражаюсь кол-ву отличных спикеров в их коммьюнити - что Саттер, что Тёрнер, что тот-дядька-со-странной-причёской (Майерс, кажется), который рассуждал о том, почему Ваза затонула, а плюсы - нет. Частенько на планшете поздним вечером включаю эстетического удовольствия ради и здорового сна для.
Аноним 25/11/22 Птн 03:50:10 2522658 140
>>2516868
>приходится писать if let Some(text) = do_some_action().await {} вместо того чтобы просто написать if (text) {}

умри, ёбаная макака.
Аноним 25/11/22 Птн 12:58:42 2522879 141
Аноним 27/11/22 Вск 06:23:29 2524536 142
Так, без срачей, чем Rust хорош для меня, как для C++-разраба? Пока только почитал как настроить его в VSCode и приятно удивило что есть cargo который сам всё вывозит, нету ахинеи с CMake и прочим говном тащем-то там тоже ничего сложного если изучить и когда учишься работать с Rust не избегаешь основных инструментов сборки а применяешь их сразу. Ну а так пока только написал классический Hello 2ch и отложил чтения этого вашего растбука на завтра. Думаю, надо ли оно мне. Все кричат о какой-то безопасности кода да вот только если ты не еблан то не то чтобы в крестах её нету, просто не надо провтыкивать. Что по скорости? Быстрее/медленнее крестов?
Аноним 27/11/22 Вск 08:25:48 2524561 143
>>2524536
>Что по скорости? Быстрее/медленнее крестов?
Быстрее, на уровне C.
С++ вообще высер душевнобольного
Аноним 27/11/22 Вск 08:38:03 2524565 144
Вся суть Rust п[...].mp4 2199Кб, 360x640, 00:00:30
360x640
Аноним 27/11/22 Вск 12:07:35 2524652 145
>>2524565
>главный аргумент против раста — физическое насилие
Аноним 27/11/22 Вск 12:34:04 2524675 146
>>2524652
главный аргумент против раста это отсутствие MVC фреймворка.
Как только его выпустят, вот тогда RUST заметят.
Аноним 27/11/22 Вск 13:03:46 2524699 147
>>2524536
> если ты не еблан то не то чтобы в крестах её нету
> просто пиши без ошибок
> просто не будь ебланом

Ну а если по делу, то если ты не знаешь зачем тебе Раст, то наверное оно тебе не нужно
Ну в общем и целом чем лучше:
- лучше инструментарий как ты сам уже заметил
- безопасность, но тут больше важно если ты всякие криптографические приколы хочешь делать
- меньше семантик и они более проще и чаще всего в явном виде, то есть написать тебе структуры данных, итераторы даже с ансейфом будет намного легче чем в плюсах если ты конечно не листы решишься писать
Аноним 27/11/22 Вск 13:18:21 2524712 148
>>2524536
>если ты не еблан

Ты-то нет, а вот джуны, которые пишут в тот же репозиторий, что и ты - вот они ебланы.
Аноним 27/11/22 Вск 13:22:11 2524718 149
>>2524699
Забыл главную килерфичу: макросы
Аноним 27/11/22 Вск 14:36:24 2524788 150
>>2524675
Так ли нужен именно MVC? Мы sqlx+actix используем, удобства как в рельсах нет, но на микросервисы хватает вполне, фронт на реактах мы туда просто json выплевываем, база postgres sqlx хватает за глаза, иногда sea-orm используем чтобы руками поменьше писать. Вьюх нет это да, но я думаю и для этого говна уже что-то есть
Аноним 27/11/22 Вск 15:16:58 2524810 151
>>2524788
>удобства как в рельсах нет
Ну вот когда будет как в рельсах, тогда все разом пойдут ставить себе cargo
Аноним 27/11/22 Вск 16:35:31 2524884 152
>>2524788
>actix используем
По какой-то определённой причине, или просто так сложилось?
Аноним 27/11/22 Вск 16:55:47 2524911 153
Уже стало складываться впечатление, что фанбои сами накидывает говна на вентилятор, чтобы тухлый тред не тонул.
Аноним 27/11/22 Вск 16:59:45 2524917 154
>>2524884
Потому что это нормальный фреймворк для веба, rocket вроде хорош, но он для бета-тестеров, а остальное нам как-то не подошло
Аноним 27/11/22 Вск 18:13:04 2525003 155
>>2524561
>на уровне C
>С++ вообще высер душевнобольного
Всё с тобой понятно, дальше.
>>2524699
>если ты не знаешь зачем тебе Раст, то наверное оно тебе не нужно
Самый адекватный подход к любому языку. Зачем мне оно я в конце поста напишу.
>лучше инструментарий как ты сам уже заметил
Я бы не сказал что лучше, не хватает опыта, пока могу сказать только что удобнее и проще для новичка. А ещё нравится стандартизация, т.е., нету ничего кроме cargo. Я, конечно, люблю свободу выбора в таких вещах но в душе мечтаю что появится единая охуенная система сборки.
>>2524712
А вот тут и пора отметить нахуй мне оно. Я вообще ДевжОпс. И что кресты что пидаРаст мне для себя. Кресты учить начал ещё со школы но тупил и забил, потом в унике, и вот уже там, когда дошло дело до ООП, я понял как работать с памятью, точнее, саму концепцию динамически выделяемой памяти, тогда-то мне что-то понравилось и я выучил его для себя. И с тех пор пишу всякие мелкие тулзы для себя, всё хочу попробовать написать что-то на C++/WinRT. Но вот среди того софта, где были кресты, начал появляться сабж для меня чуть ли не главным толчком стало отстранение shadowsocks-libev в пользу Rust и Go реализаций и я решил лично изучить, попользоваться и решить для себя, а чего же так все наяривают и что лучше/хуже. Т.е., мне не для работы, а для себя, и это снимает кучу проблем в виде вклада даунов в репозиторий.
Аноним 27/11/22 Вск 18:36:26 2525023 156
>>2525019
А в чём принципиальное отличие рандом бекенда и некой системщины?
Аноним 27/11/22 Вск 20:59:36 2525156 157
>>2525019
О каких "фишках для системщины" идет речь?
Аноним 27/11/22 Вск 21:02:08 2525159 158
>>2525019
Вот тут двачую, что-то я не припомню чтобы кто-то мог или пытался завести это на всяких мелкоархитектурах. Т.е. получается что словосочетания "системное программирование", "низкий уровень" и прочее применяются больше для маркетинга чтобы вебмакакии могли выебываться что они тоже типо как могут в лоулевел и они не тупые, а на практике оно вроде и может, но не применяется потому что есть C и С с инкрементом и Rust там скорее как челлендж ежели инструмент для выполнения работы.
Аноним 27/11/22 Вск 21:05:42 2525164 159
>>2525159
> Не помню чтоб кто то пытался завести на мелкоарзитектурах
В последнее время статей 5 на редите видел о том как кто то на каком то микроконтроллере что то на Раст пилит

Ну и эмбедивщина это только часть системщины и даже не большая ее часть
Аноним 27/11/22 Вск 21:33:29 2525184 160
>>2524917
axum ещё есть, warp (этот уже постарше, конечно). Их как-то оценивали, или только между актиксом и рокетом выбирали?
Аноним 28/11/22 Пнд 01:45:21 2525291 161
>>2525184
Я уже не помню что конкретно смотрели, но в продакшене попробовали только actix и rocket, потом переписали всё окончательно на actix
Аноним 03/12/22 Суб 12:00:42 2529545 162
Аноним 03/12/22 Суб 12:08:47 2529564 163
1670058526511.jpg 92Кб, 1080x351
1080x351
1670058526535.jpg 124Кб, 1080x472
1080x472
Вот конечно Гугл ебанаты, они что-ли не знают что на современных плюсах можно писать также безопасно как на расте??? Можно же просто не быть дебилом и не делать ошибок...
Аноним 03/12/22 Суб 13:33:38 2529651 164
>>2529564
Ты ещё всех разрабов сторонних либ заставь писать без ошибок, и заебок. Только для этого нужен дядя с палкой, и не один. А в экосистеме раста эту роль выполняет конпелятор.
Аноним 03/12/22 Суб 13:43:14 2529662 165
Аноны, хочу податься в гейм-девелопмент. Прицел - начать с простенького 2D для разминки, потом перейти в 3D. Что выбрать?
fyrox (ex rg3d) - позиционируется, как почти аналог юнити с редактором уровней и кучей фич, разве что магазина ассетов нет. Но, почему-то, непопулярен. Склоняюсь к нему, но смущает непопулярность.
Из популярных
piston - батя, но игры на нём - 2D шлак вроде тетрисов
amethyst - хз, тоже 2D, в-основном
bevy - многообещаюч, но также прямо обещают ломать API в будущем
Аноним 03/12/22 Суб 14:37:04 2529709 166
>>2529662
>но также прямо обещают ломать API в будущем
И? Тебе свою пет игрушку поддерживать что ли?
Аноним 03/12/22 Суб 15:00:36 2529733 167
>>2529709
Мне бы мою пет игрушку использовать в будущем аки бойлерплейт. А тут всё сломают - учи заново.
Аноним 10/12/22 Суб 17:55:03 2537493 168
Растаны, чего притихли?
Аноним 10/12/22 Суб 18:20:08 2537520 169
>>2537493
Пограммируем. Не все же лясы точить.
Аноним 10/12/22 Суб 22:25:49 2537691 170
>>2490347 (OP)
>Rust — невероятно быстрый язык

У языков нет такого свойства, как скорость.

Как всерьез можно сидеть в треде с такой шапкой.
Аноним 10/12/22 Суб 22:30:48 2537693 171
Аноним 11/12/22 Вск 00:24:08 2537746 172
>>2537693
Человеческий глаз больше 24 кадров в любом случае не видит.
Аноним 11/12/22 Вск 00:34:18 2537750 173
>>2537746
У раста есть 25 кадр с лгбт-пропагандой, так что на кадр быстрее.
Аноним 11/12/22 Вск 01:28:20 2537763 174
>>2537693
Вот даже то, что ты не понимаешь этого, уже показательно.
Аноним 11/12/22 Вск 02:09:14 2537778 175
Аноним 11/12/22 Вск 02:33:41 2537782 176
>>2537778
Язык это знаковая система. Формальный язык - это нотация, знаковая система над конечным множеством. Ни один язык, будь он естественным или искусственным, формальным или нет, компьютерным или нет. Не оладает такой характеристикой как скорость. Еще языки не обладают такими характеристиками как, например, громкость. Или мягкость.
Аноним 11/12/22 Вск 02:39:31 2537784 177
Аноним 11/12/22 Вск 02:49:24 2537788 178
>>2537784
Ну попробуй ответить себе на вопрос, какой скоростью обладает русский или английский язык. Или какова скорость математической нотации, например.

Когда ты попытаешься это сделать, то поймешь, что сказать, что язык - быстрый, все равно, что сказать - язык вкусный.
Аноним 11/12/22 Вск 06:10:39 2537831 179
>>2537788
Ясное дело вкусный. Говяжий заливной ням ням
Аноним 11/12/22 Вск 10:10:45 2537877 180
>>2537782
Управление памяти влияет на семантику языка. Ручное управление - язык быстрый, сборка мусора - чуть медленнее, распиздяйская система типов - ещё медленнее. Можно, конечно, крутить всякие jit и прочие приблуды, но они жручи в плане памяти. А ещё можно сказать, что сишечка быстрее, но она же говно небезопасное.
Поэтому можно сказать так
Раст - самый безопасный из быстрых языков и самый быстрый из безопасных.
Аноним 11/12/22 Вск 15:30:49 2538157 181
>>2537877
Язык не может быть быстрым или медленным.
Аноним 11/12/22 Вск 16:15:30 2538235 182
>>2538157
Всем и так ясно что подразумевается не только сам язык, но и вся сопутствующая хуйня, но только не тебе.
Аноним 11/12/22 Вск 16:47:09 2538288 183
>>2537788
>Ну попробуй ответить себе на вопрос, какой скоростью обладает русский или английский язык
Средняя скорость речи образованного русского человека 100-120 слов/мин. Средний темп немецкой речи 130-150 слов/мин. Еще быстрее говорят англичане, их показатель – 160-180 слов/мин. Французская речь еще быстрее: 170-190 слов в минуту.
Аноним 11/12/22 Вск 17:11:52 2538309 184
Аноним 11/12/22 Вск 17:30:20 2538320 185
Аноним 11/12/22 Вск 17:34:58 2538329 186
>>2538320
Это объективность. А утверждения о скорости языка - это сюр.
Аноним 12/12/22 Пнд 06:13:19 2538751 187
>>2538329
А каким язык может быть?
Аноним 12/12/22 Пнд 08:26:58 2538783 188
>>2538751
Самым красивым в мире, как украинский.
Аноним 12/12/22 Пнд 14:54:24 2539037 189
Прочитал статью https://keminglabs.com/blog/building-a-fast-electron-app-with-rust/ и не совсем понял, за счет чего достигается сакральный эффект быстродействия io операций над fs? Я могу понять, например, когда используются стримы NTFS для ускорения поиска по файлам, как в Everything. Но тут, по всей видимости, еще и контент проиндексирован. Так за счет чего такая скорость?
Аноним 12/12/22 Пнд 20:04:06 2539303 190
photo2022-12-02[...].jpg 40Кб, 648x603
648x603
>>2490347 (OP)

Подскажите пожалуйста, пытаюсь забилдить программу на винде из исходников для линукс, получаю такую ошибку:
note: x86_64-w64-mingw32-gcc: error: unrecognized command line option '-fuse-ld=lld'; did you mean '-fuse-ld=bfd'?

error: linking with `x86_64-w64-mingw32-gcc` failed: exit code: 1

пробовал запускать эту команду
rustup toolchain install stable-x86_64-pc-windows-gnu
Аноним 12/12/22 Пнд 20:17:34 2539315 191
зачем расту стандартная либа, если такой дроч на крейты и карго? нельзя было просто сделать набор оффициальных крейтов типа cc, которые бы каждый подтягивал по желанию? иговно типа Rust has a small standard library (and that's ok) не выглядело бы как копиум, типа если он такой охуеть модульный, нахуй вообще стд крейт вшит.
Аноним 12/12/22 Пнд 20:27:53 2539324 192
от таких вроде мелочей сильно подгорает почему-то. или нет стабильного abi и это типа заебись, хотя язык претендует на написание системного говна чисто на расте и придётся юзать сишный abi. ещё дроч на статическую линковку и полное отсутствие динамической, что опять таки очень странно для языка для запила осей. никогда такого не делал, но собираюсь сделать на расте
Аноним 12/12/22 Пнд 20:43:29 2539337 193
>>2539315
Чтобы каждый писал свой std в каждом пакете? Так-то есть nostd, сиди ебись если надо.
Аноним 12/12/22 Пнд 20:51:57 2539339 194
>>2539324
Динамическая линковка не отсутствует, у неё нет стабильного abi. То есть, тебе все библиотеки нужно приносить вместе с бинарником.

> нет стабильного abi и это типа заебись
Есть возможность оптимизировать и допиливать компилятор. Сейчас это важнее стабильного abi. Чисто технически, всякие дебианы могут ввести свой стабильный abi используя набор параметров и версию компилятора. Но апгрейд компилятора означает что все пакаджи на расте придётся обновить.

В C++ стабильный abi много лет придумывался со всякими libstdc++.

> очень странно для языка для запила осей
Ты скозал? https://www.redox-os.org/
Аноним 12/12/22 Пнд 21:05:33 2539345 195
>>2539037
За счёт того что в фоне индексируется fs и всё остальное. Скорость ему нужна в инкрементальном поиске по уже построенному индексу, что сколько-то там миллисекунд было время реакции.
Аноним 12/12/22 Пнд 21:20:23 2539352 196
>>2538157
Может. Как ты ни еби питон, сам язык не позволит писать быстрые числодробилки. Там даже пресловутый GIL нужен только потому что всё доступно отовсюду (как во всех скриптовых языках), нельзя иметь изолированный скоуп памяти, который позволит изолировать переменные в треды.
Аноним 12/12/22 Пнд 21:44:36 2539365 197
>>2539345
Спасибо за ответ. Да, я понимаю, что для быстрого поиска необходимо наличие индекса. А у раста из коробки как работают операции над fs? Есть абстракция над ОС-специфичными командами (чтение/запись и получение ивентов) или каким-то образом напрямую (через драйвер контроллера (например, SATA, IDE))?
Аноним 13/12/22 Втр 01:36:35 2539488 198
>>2539365
Конечно есть. В этом весь смысл ОС, чтобы ни одна программа не заморачивалась с SATA/IDE/USB/networked storage/etc, а работала с абстрактной файловой системой. Раст Любой язык поставляется со стдлибой, дающей самые базовые системные вызовы, типа input/print/открыть файл. Всё остальное, включая замороченные фичи ОС, типа inotify для отслеживания изменений в файлах, обычно есть в пакетах/крейтах.
Аноним 13/12/22 Втр 09:45:18 2539594 199
>>2539324
Я подумывал над такой хуйнёй: написать макрос-обёртку, который будет конпелять трейт в сишную .so-шку, а поверх реекспортировать функции этого трейта через ffi.
Аноним 13/12/22 Втр 09:49:21 2539595 200
Screenshot from[...].png 148Кб, 1600x900
1600x900
image.png 15Кб, 856x196
856x196
Please write a simple implementation of PROLOG in the Rust programming language.
Короче, Please ни хуя не помог, всё равно на main() обрубает.
Аноним 13/12/22 Втр 09:54:30 2539598 201
>>2539488
А нельзя пересобирать только нужное из стдлибы? Типа, нужна тебе только одна функция, f64::floor, например, нахуя всю либу тащить?
Аноним 13/12/22 Втр 11:01:49 2539628 202
>>2539598
Если прога крешнется, ей нужен как минимум print. Ах да, флоаты сами по себе как раз могут вызвать креш при делении на ноль например. Так-то есть вроде бы элиминейшен всего что не использовано. Ну и если ты эмбеддед йоба кодер, то nostd, там вообще никакой стдлибы не будет, бинари в 100 байт и ничего лишнего, всё как ты хочешь.
Аноним 13/12/22 Втр 11:59:43 2539675 203
>>2539628
Ну, ёпт, смари. Если ты хочешь в nostd, но тебе нужна какая-то функция, проще спиздить её из std. Тогда вопрос - нахуя делать это вручную?
А насчёт print, то можно же паниковать без бектрейса.
Аноним 13/12/22 Втр 12:24:55 2539701 204
>>2539675
> проще спиздить
Зависимости не дадут.

> проще
Проще не ебать себе голову и использовать std.

https://github.com/johnthagen/min-sized-rust
Вот здесь посмотри, чел вырезает из бинари всё что может.
Аноним 13/12/22 Втр 18:23:49 2539997 205
Дед-байтоёб пришел учить Rust на примере написания ядрёных модулей.
Аноним 13/12/22 Втр 18:38:08 2540013 206
Какой только хуйни не понапихают, а. https://doc.rust-lang.org/core/option/enum.Option.html#method.is_some_and
вот есть обычный map, а мы ещё только для bool запилим.
вот есть is_some_and для bool, а давайте ещё is_some_and_eq, is_some_and_gt, is_some_and_lt и проч для чисел запилим, а?
Пиздец, ебанаты.
Аноним 13/12/22 Втр 19:21:51 2540050 207
>>2540013
Ты ещё на методы строк посмотри, там чего только нет.
Но что ты имеешь против сахара? Будет спрос — запилят.
Аноним 13/12/22 Втр 19:50:00 2540083 208
>>2540013
Нет, блядь, велик нужно ставить в красный сарай, а не синий. Ты нихуя не шаришь. inb4: 400+ постов обсуждения
Аноним 13/12/22 Втр 21:26:46 2540159 209
Аноним 14/12/22 Срд 00:23:46 2540243 210
А есть толковые инструкции как правильно ошибки разруливать, все эти Result, ?, ok_or, итд. По отдельности вроде и понятно всё, а как собрать в кучу непонятно.
Аноним 14/12/22 Срд 16:54:28 2540794 211
image.png 127Кб, 817x628
817x628
image.png 130Кб, 775x662
775x662
image.png 131Кб, 795x649
795x649
image.png 124Кб, 783x611
783x611
Склонил ИИ к ректальному кексу, поздравьте меня.
Аноним 14/12/22 Срд 16:59:27 2540805 212
>>2540243
Result - это обычный Enum, в котором или данные ответа, или ошибка - делай с ним шо хошь.
ok_or, map, map_err и т.д. - просто сахарок, чтобы не писать много if result.is_ok() {...}
? - если у тебя все ошибки Result<T, E> одного типа E или приводятся к одному типу и ты хочешь пробросить их наверх, т.е. немедленно вернуть эту ошибку вызывающему, чтобы там сами разбирались.
Аноним 14/12/22 Срд 17:14:55 2540832 213
>>2540805
> одного типа E или приводятся к одному типу
Если Е/? из разных либ в одной в функции, то надо делать свой енум?
Аноним 14/12/22 Срд 18:15:39 2540907 214
Аноним 14/12/22 Срд 23:40:15 2541238 215
Аноним 16/12/22 Птн 01:11:53 2542424 216
>>2540907
Возьми anyhow и не еби мозг, ему можно все что угодно пробросить при помощи ?. Редко когда нужно именно с самой ошибкой работать из сторонней либы, обычно просто пробрасываешь наверх и где надо обрабатываешь и anyhow тут самый раз
Аноним 16/12/22 Птн 02:01:01 2542454 217
1663344096872.png 174Кб, 510x346
510x346
Аноним 16/12/22 Птн 08:14:24 2542515 218
16349467863870.mp4 681Кб, 540x960, 00:00:11
540x960
Парни, я питон бекенд макака, и нихуя не понимаю что значат всякие llvm, gcc и прочие вещи с билдом связанные. Расскажи абсолютно тупому человеку что это такое, зачем оно, и почему оно разное всякое.
Раст Идишевотцов 16/12/22 Птн 18:01:35 2543295 219
Screenshot from[...].png 318Кб, 1660x1054
1660x1054
Кстати, Раст - динамически типизированный ЯП. Попробуйте переубедить меня.
Аноним 16/12/22 Птн 21:48:55 2543570 220
>>2543329
В чём это проявляется?
Аноним 16/12/22 Птн 22:16:18 2543582 221
>>2542515
> llvm, gcc
Конкурирующие компиляторы. Как у тебя есть конкурирующие интерпретаторы: CPython, PyPy, Pyston, Jython, IronPython, MicroPython, etc.

> зачем оно
Превращать исходный текст в бинарники, пригодные к выполнению процессором N + операционкой M.

> почему оно разное всякое
Так сложилось. Gcc начинали ещё диды, чтобы были свободные компиляторы. Llvm это попытка переосмыслить построение компиляторов и переиспользовать готовые оптимизаторы для максимального количества языков/архитектур процессоров. На llvm намного проще создать компилятор нового языка, этим пользуются всякие видеодрайверы чтобы компилировать шейдеры. Добавить новый язык в gcc сложнее, но тоже можно, его тоже постепенно рефачат. Ещё они там не очень совместимы, вроде бы ядро линуха не собирается на llvm, потому что в ядре много gcc-специфичного кода.
Аноним 17/12/22 Суб 18:19:37 2544036 222
>>2543582
>ядро
Уже несколько лет как поддерживается сборка шлангом. Ну и несовместимость у них чуть больше чем просто в опциях, а еще и всяких расширениях и интринсиках.
Аноним 23/12/22 Птн 19:57:01 2551306 223
>>2490347 (OP)
Растеры, поясните за ваши итераторы тупому плюсовику
Вот есть Iter: next() -> Option<T>
То есть чтобы достать значние, я должен поверить не пустой ли option у меня
Но и сам итератор, чтобы вернуть option должен проверить еще раз как то внутри себя, и затем вернуть option

Это что же получается, два раза проверка??? ОВЕРХЭД!?!?! или нет?

на самом деле, пытался что то похожее в плюсах реализовать, но как только начал, понял что что есть нюансик
Аноним 23/12/22 Птн 20:11:38 2551334 224
Аноним 23/12/22 Птн 20:28:39 2551352 225
>>2551334
Ну так там и чекал
У меня получилось что в целом оверхед есть, но иногда раст соптимизировать может
Аноним 24/12/22 Суб 13:42:41 2551906 226
>>2551306
next - это самый базовый метод итератора. Другие методы, такие как fold и try_fold (и соответственно через них сделанные for_each и try_for_each) оптимизированы насколько это возможно.
Аноним 24/12/22 Суб 16:09:39 2552132 227
>>2551352
Ну и в плюсах сахар работает точно также.
Аноним 24/12/22 Суб 18:33:45 2552350 228
>>2552132
Ну если ты про цикл for, то в плюсах не так
Ты из итератора можешь сразу значение получить, не нужно проверять, только что it != end
А в расте у тебя получается внутри итератора проверяется, чтобы вернуть Some или None, а ты еще раз затем проверяешь, Some это или None
Аноним 25/12/22 Вск 05:32:39 2552947 229
Аноним 25/12/22 Вск 06:39:13 2552956 230
>>2552350
Включил оптимизацию, мне вообще цикл развернуло в линейный код с константами. Без оптимизаций next остаётся отдельным методом и честно вызывается, само собой, после вызова метода значение проверяется.

>>2552947
Скорее всего чья-то дурная привычка. Почти весь этот файл написал один человек.
Аноним 25/12/22 Вск 07:12:02 2552964 231
>>2552947
Скрывают конкретную ошибку, может?
Аноним 25/12/22 Вск 10:43:16 2553020 232
>>2552350
>Ну если ты про цикл for, то в плюсах не так
Я в общем. Если не -O3 или хотя бы -O2, то плюсы получются жирными и медленными. А с -O3 получается ляпота.
Аноним 25/12/22 Вск 12:08:55 2553069 233
>>2552350
>А в расте у тебя получается внутри итератора проверяется, чтобы вернуть Some или None, а ты еще раз затем проверяешь, Some это или None
Т.е. больше на одну проверку.
Аноним 25/12/22 Вск 12:31:32 2553118 234
>>2552350 >>2553069
Вы разное сравниваете. В for цикле ничего проверять отдельно не надо, он сам выдаст столько, сколько есть, а потом закончится.
Аноним 25/12/22 Вск 12:35:21 2553126 235
Аноним 25/12/22 Вск 12:37:14 2553129 236
>>2553126
В смысле как это в asm-е выглядит? Я не уверен, зависит от многих факторов. Для статичных данных будет просто unroll цикла в повторение одних и тех же инструкций прямо в тексте программы.
Аноним 25/12/22 Вск 16:03:02 2553376 237
>>2552947
потому что для структуры NodeRef, которую возвращает функция next_kv, не реализован типаж Debug, который требуется для анврапа
Аноним 25/12/22 Вск 16:27:58 2553407 238
>>2553376
>типаж
Растбук на русский перевели?
Аноним 25/12/22 Вск 19:49:56 2553597 239
>>2505777
Хотел вкатиться в раст из цпп, залез в этот тред и ты, анон, меня уберег. Такие люди адекватными быть не могут по определению
Аноним 26/12/22 Пнд 01:09:19 2553867 240
>>2553407
Это шутка? Его перевели несколько лет назад.
Аноним 26/12/22 Пнд 01:33:37 2553873 241
>>2490347 (OP)
Где почитать про impl? Не понимаю смысл этой конструкции.
Аноним 26/12/22 Пнд 05:18:44 2553924 242
>>2553873
>Где почитать про impl?
В растбуке.

>Не понимаю смысл этой конструкции.
Что тебе не понятно?
Аноним 26/12/22 Пнд 05:25:15 2553925 243
Аноним 26/12/22 Пнд 05:33:36 2553926 244
>>2505777
А иначе что, голову им отрежешь? Могут себе позволить. Не во всех странах обсуждение происходящей хуйни стоит тебе жизни и свободы.
Аноним 27/12/22 Втр 04:50:03 2555120 245
>>2553925
Почему назвали трейт, а не интерфейс?
Просто из экономии букв, или там есть глубокий смысл?
Аноним 27/12/22 Втр 06:29:51 2555134 246
>>2555120
В чём разница между трейтом и интерфейсом в значении? Не могли просто случайно одно или другое выбрать, если они одно и то же значат?
Аноним 27/12/22 Втр 12:18:29 2555276 247
>>2555120
Потому что это не совсем интерфейс, хоть и похоже
Аноним 27/12/22 Втр 13:53:17 2555341 248
>>2555134
Интерфейс в Жабе и шарпе передаётся только по ссылке и вызывается через виртуальную таблицу. Трейты - это всегда static dispatch и можно перемещать и передавать по значению. По мнению одного шиза с лора трейты работают также, но его нужно просто научиться распознавать и никак не взаимодействовать.
Аноним 27/12/22 Втр 15:38:06 2555501 249
>>2555341
>По мнению одного шиза с лора
Столяров?
Аноним 27/12/22 Втр 16:51:30 2555572 250
>>2555501
Некто Царь. Плюсовик, который, вроде как, в чем-то шарит, но не способен общаться без попыток всех хуесосить, использует для всего свои собственные определения, из-за чего его невозможно в чем-либо переспорить.
Аноним 28/12/22 Срд 19:29:01 2556612 251
Аноним 28/12/22 Срд 19:57:12 2556644 252
>>2555572
Он шиз со справкой, не? А так - нихуя он не шарит, и много раз это доказывал.
Аноним 29/12/22 Чтв 19:00:17 2557504 253
Аноним 29/12/22 Чтв 21:03:12 2557660 254
Аноним 29/12/22 Чтв 22:34:18 2557720 255
>>2557660
это как на питоне в быстрые числодробилки
Аноним 30/12/22 Птн 13:18:18 2558033 256
>>2555120
Traits combine aspects of protocols (interfaces) and mixins. Like an interface, a trait defines one or more method signatures, of which implementing classes must provide implementations. Like a mixin, a trait provides additional behavior for the implementing class.

В трейте можно и реализацию написать, не только сигнатуры методов.
Аноним 30/12/22 Птн 13:20:56 2558037 257
>>2557504
Ну ок. Напиши на numpy поиск чисел Фибоначчи. Раздроби числа.
Аноним 30/12/22 Птн 13:32:56 2558052 258
image.png 8Кб, 329x157
329x157
>>2557720
это не на питоне, там скопмиленная сишка
Аноним 30/12/22 Птн 13:58:16 2558072 259
>>2558052
да хоть фортран, какая нафиг разница что там
Аноним 30/12/22 Птн 14:09:50 2558077 260
>>2558072
Что сказать-то хотел? Пришёл, спизданул базворд вне контекста, теперь какие-то анальные манёвры в свою защиту. Ну блядь да, если выдернуть только слова питон и числодробилки, то есть разные костыли чтобы это делать, вот как будто мы не знали.
Аноним 30/12/22 Птн 14:12:32 2558078 261
>>2558077
> пук среньк
Тебе слова правильные или числодробилки писать?
Аноним 30/12/22 Птн 14:27:12 2558094 262
>>2558078
Давай, пиши фибоначчи, пиздобол безмозглый.
Аноним 30/12/22 Птн 17:36:47 2558239 263
скоро новый год, расскажите как торговать плиз
Аноним 30/12/22 Птн 18:37:50 2558300 264
>>2558072
ну типа ты из питона запускаешь вообще другую программу, это же не то же самое, что посчитать на питоне
Аноним 30/12/22 Птн 18:59:56 2558325 265
>>2558300
Какая разница что ты вызываешь, главное что где
Хоть ассемблерные вставки вызывай, какая разница
Аноним 30/12/22 Птн 21:39:33 2558526 266
>>2558325
В том и разница, прочитай с чего разговор начался. Поэтому и вынесли сами расчеты из питона в сишку.
Аноним 30/12/22 Птн 21:58:45 2558541 267
>>2558526
> сам язык не позволит быстрые число дробилки
Может лучше ты перечитаешь что пишешь
Аноним 30/12/22 Птн 22:00:56 2558542 268
>>2558541
Не позволяет и поэтому дробилку скинули на сишку.
Аноним 30/12/22 Птн 22:02:11 2558544 269
>>2558542
И вызываются они из питона
И пишешь ты число дробилки, на питоне, вызывая сишечку

ты реально тупой такой?
Аноним 30/12/22 Птн 22:22:17 2558574 270
>>2558544
>И вызываются они из питона
Нет, вызываются они из баша.
Аноним 30/12/22 Птн 22:22:33 2558575 271
>>2558544
Вызываются из питона, но написаны не на питоне. Что еще тебе надо то?
Аноним 31/12/22 Суб 06:20:01 2558858 272
Двачую парней
Знали кстати что на си невозможно ОС написать, только на асме

парни, ну вы реально тупицы, литерали 0iq
Аноним 02/01/23 Пнд 07:05:20 2560652 273
>>2555572

>царь
Ни в чем этот петух не шарит, псевдоилитарий-говноед-вниманиеблядь, не надо его упоминать где либо.
Аноним 02/01/23 Пнд 07:09:28 2560654 274
>>2529564
да везде нужно, только ты хуй поймешь, что именно из этого безопасно или нет, в расте можно просто сфокусировать свое внимание на unsafe в чужом коде, чтобы быстрее найти уязвимость, в плюсах априори ансейф везде и хуй поймешь, насколько безопасно там что либо. 99% кода пишется криворукими дебилами всегда и везде, зиродеи в линуксе это подтвердят.
Аноним 02/01/23 Пнд 07:15:48 2560655 275
>>2516640
Проиграл. Такое ощущение, как будто пердокрысам из запарты принесли потрогать раст и они не осилил БЧ.
Аноним 03/01/23 Втр 15:10:48 2561753 276
Покажите мне, чем именно таким Rust безопасен?
почему я в конце каждой его функции не вижу ручного удаления всех переменных? Значит, есть сборщик мусора? В чём блядь разница.
Аноним 03/01/23 Втр 16:30:27 2561835 277
>>2561753
>я в конце каждой его функции не вижу ручного удаления всех переменных? Значит, есть сборщик мусора
Нет, не значит даже для сипэпэ
Аноним 03/01/23 Втр 16:41:39 2561845 278
Почитал немного про раст. Какая-то ебанина с let mut, с передачей простых типов по ссылке (это такой простор нахуярить сайд-эффектов, что такое даже в JS не ввели), ну и лямбды выглядят не оч.
Аноним 03/01/23 Втр 17:15:43 2561872 279
>>2561845
Мб не понял тебя, но передача типов по ссылке не производит сайдэффектов
Аноним 03/01/23 Втр 17:33:05 2561897 280
>>2561872
ну, если ты передашь в функцию &mut value, то сможешь поменять в ней value, и оно также поменяется во внешнем контексте?
это я и назвал сайд-эффектом.
(конечно, когда пишешь &mut, ты вроде как и ожидаешь, что функция поменяет этот аргумент)
или я неправильно понял, в чём суть передачи по ссылке в расте?
Аноним 03/01/23 Втр 17:57:53 2561927 281
>>2561897
>(конечно, когда пишешь &mut, ты вроде как и ожидаешь, что функция поменяет этот аргумент)
Именно. Иначе зачем функции такая сигнатура?
Аноним 03/01/23 Втр 18:10:13 2561942 282
>>2561753
>Покажите мне, чем именно таким Rust безопасен?
https://stackoverflow.com/questions/36136201/how-does-rust-guarantee-memory-safety-and-prevent-segfaults
Если что то конкретное непонятно, спрашивай
есть еще трюк с переполнением численных переменных, а также выход за массив, говорят в криптографии челам оч понравилось

> Почему я в конце каждой его функции не вижу ручного удаления всех переменных?
В плюсах ты тоже этого не видишь, но RAII при этом существует
В расте же ownership semantics в плюсах около аналоги начали появлятся, в core guidelines
https://doc.rust-lang.org/book/ch04-01-what-is-ownership.html

>>2561845
>Какая-то ебанина с let mut
Обычный синтаксис, или ты про иммутабельность по дефолту?
Это единственный способ сделать нормальную констатность данных, в плюсах вот по другому сделано, получилось не оч
> передачей простых типов по ссылке
???
Хочешь по ссылке передавай, хочешь по значению, кто тебе запрещает то

> лямбды выглядят не оч
Синтаксически? Ну может быть, но так или иначе, пох на синтаксис
Аноним 03/01/23 Втр 20:00:19 2562042 283
>>2561897
Ну в случае простых типов, это просто более эффективный и простой способ передать значение в функцию, получить его и присвоить к той же переменной. Это не сайд эффект.
Аноним 06/01/23 Птн 23:15:42 2565201 284
image.png 19Кб, 748x132
748x132
image.png 19Кб, 751x136
751x136
Объесните пожалуйста в чём смысл реализовывать трейт отдельно для Type и для &Type. И когда реализуешь для &Type и пишешь &self, то что это, типа ссылка на ссылку получится?
Аноним 06/01/23 Птн 23:48:31 2565231 285
>>2490347 (OP)
Аноны что за шок контент на 4 пике?
Аноним 07/01/23 Суб 03:26:38 2565357 286
До чего же уродливый язык. Неудивительно, что его только всякие шизы и лгбтукр++ трансы форсят. Нормальный мужчина на таком писать не будет
Аноним 07/01/23 Суб 03:29:30 2565358 287
>>2565357
Какой язык по твоему мнению является красивым?
Аноним 07/01/23 Суб 07:24:13 2565378 288
>>2565357
> не осилить синтаксис
> какой то пук про ЛГБТ и трансов
Для бинго не хватает про смузи написать

кто этих нпсей клепает?
Аноним 07/01/23 Суб 09:04:37 2565412 289
Screenshot from[...].png 85Кб, 607x807
607x807
>>2565201
Видимо там нет автоматического дереференса и это реально два разных типа. Если убрать impl for &Type, то перестаёт собираться на строке &&c.
Аноним 07/01/23 Суб 09:14:29 2565415 290
>>2555572
Пиздец. Сидел в неформальном раст-чятике в телеге. Там половина это плюсовики, которые пришли рассказать какое говно этот ваш раст, как им не бомбит, и как их треугольник на вулкане даёт 5000 фпс, а не 2000 на растовском вулкано. Идеальное место что абсолютно бесполезно провести время.

>>2561845
Мало прочитал. Про сайд-эффекты хуету написал. Что не так с лямбдами? .filter(|a| a > 4) пиздатые лямбды для типизированного языка.
Аноним 07/01/23 Суб 09:23:28 2565417 291
Аноним 07/01/23 Суб 09:40:09 2565420 292
>>2565417
begin end begin end begin end
namespace public static class public static void Main

И это красиво? Какая-то дедовская эстетика уровня писать номера линий в бейсике. Я считаю расту можно дохера чего простить за одни только блочные выражения. Только в луа есть что-то похожее в do блоках, но в расте красивее.

let x = {

let a = ...
let b = ...
a + b

};

a, b наружу не вытекают, и не нужно для этого определять целую функцию.
Аноним 07/01/23 Суб 10:56:47 2565448 293
1673078395858.jpg 6Кб, 347x104
347x104
>>2565420
Всё хорошее придумано до вас
Аноним 07/01/23 Суб 11:28:28 2565467 294
>>2565358
Самый красивый язык - это джава, потому что код на джаве можно читать как книгу. Ведь код читают гораздо больше, чем пишут. Ну за исключением Го(вна), там высирают микросервис и даже не читают, просто выбрасывают потом. Вот представьте отрывок из книги:
"Все счастливые семьи похожи друг на друга, каждая несчастливая семья несчастлива по-своему.
Все смешалось в доме Облонских. Жена узнала, что муж был в связи с бывшею в их доме француженкою-гувернанткой, и объявила мужу, что не может жить с ним в одном доме."
Легко читается, всё хорошо, но представим, что эту книгу писали бы на расте:
"Вс счстл смьи пхж дрг на дрга, кждая несчстл смья несчстл псвму.
Вс смшал в дме Облонских. Жена узнл, что муж был в свзи с бывш в их дме фр-гувернанткой, и std::io::stdout "что не может жить с ним в одном {}.", дме "
Вроде оно конечно и короче, но смогли бы вы такое читать?
Аноним 07/01/23 Суб 12:06:31 2565495 295
>>2565467
AbstractSingletonFactoryBeanAdapterDelegateProvider
А всё потому что у жавы ограниченная выразительность. Приходится трахать паттерны вместо нормального программирования. Говорят, в последних версиях стало лучше.
Аноним 07/01/23 Суб 12:41:41 2565540 296
>>2565467
Ты уже даже не вытекаешь из треда, тред просто проваливается под тобой. Настолько серьёзной шизы реально нигде не найдёшь, только в растотреде.

Пиздец
Аноним 07/01/23 Суб 13:06:09 2565569 297
Стикер 127Кб, 500x500
500x500
>>2565495
>AbstractSingletonFactoryBeanAdapterDelegateProvider
Это еще не самое длинное название класса, бывает поинтереснее, мне нравятся стактрейсы в спринге ух бля разворачиваешь терминал на весь экран и читаешь
Аноним 07/01/23 Суб 14:26:54 2565640 298
>>2565467
Просто пиздец, я ожидал чего угодно, кроме жабы.
Аноним 07/01/23 Суб 14:33:35 2565652 299
>>2565467
Ш - шизофрения.

Шизофрени́я (от др.-греч. σχίζω «расщеплять», «раскалывать»[2] + φρήν «ум, мышление, мысль»[3]), ранее — деме́нция пре́кокс (от лат. dēmentia praecox — «раннее слабоумие»)[4], или схизофрени́я[5], — эндогенное полиморфное психическое расстройство (или группа психических расстройств)[6], характеризующееся распадом процессов мышления.
Аноним 07/01/23 Суб 15:19:51 2565705 300
1517769311272.png 86Кб, 1412x482
1412x482
>>2565467
Окромя шуток обж-си реально как-то так и сделан.
Аноним 07/01/23 Суб 16:38:40 2565785 301
16730935328400s.jpg 5Кб, 148x200
148x200
Аноним 07/01/23 Суб 18:45:46 2565917 302
>>2565785
У меня такая реакция от синтаксиса раста. Он настолько засран спецсиволами, что наверно можно продавать растаман специальные клавы с износостойким шифтом.
Аноним 08/01/23 Вск 10:36:01 2566310 303
В каких ОС ядро написано целиком на расте, без привлечения c++?
Аноним 08/01/23 Вск 11:49:05 2566330 304
>>2566310
Какие ОС вышли за последние 10 лет?
Аноним 08/01/23 Вск 12:20:40 2566347 305
>>2566330
Не следил, потому и спрашиваю
Аноним 08/01/23 Вск 12:28:38 2566353 306
>>2566347
Ну никаких новых не выходило. Что-то там напукли на расте в ядре линуха, говорят, со временем будут пукать больше. Если текущий тренд развития раста будет продолжаться, я вполне вижу постепенный переезд с C-codebase на раст, но пока раст еще сыроват для этого.

По поводу плюсов, тут тоже фифти-фифти, нужно посмотреть, к чему придут в 23 стандарте.
Аноним 08/01/23 Вск 14:47:34 2566472 307
После многомесячного перерыва на лечение шизы я вновь занялся разработкой. Боже мой, без шуток, как же Rust прекрасен. Есть ли язык лучше?
Аноним 09/01/23 Пнд 15:09:06 2567776 308
Почему это говно провалилось?
Аноним 09/01/23 Пнд 16:15:57 2567862 309
aKgebanxbUk.jpg 350Кб, 1600x1200
1600x1200
>>2567776
>поиск сеньёра по цене джуна
>всё провалилось
Аноним 09/01/23 Пнд 20:10:02 2568118 310
>>2566353
Ага, а потом гугл допилит свой карбон, сменит его агенду с "лвлап для протухших крестов" на "йоба системный язык нового поколения" и занесёт чемоданы бабла на пиар, так что про него будут из каждого утюга вещать как это происходило с го. И прости-прощай, раст, у смузихлебов новый тренд, мозилла или кто там раст делают такой конкуренции не потянут, да оно им и нахуй не надо.
Аноним 09/01/23 Пнд 20:16:40 2568126 311
>>2568118
Это разные вещи, грубо говоря карбон основных проблем плюсов не решит, а лишь позволит на нем писать без огромной жопоболи

но вот вытолкнет ли он по популярности раст ещё надо будет поглядеть, я смотрел недавно на состояние дел там, ну и вобщем если плюсовики раст смузихлебным называют, то там еще весело будет
Аноним 09/01/23 Пнд 20:27:00 2568138 312
>>2568126
В потенциале - ещё как решает, это сначала карбон будет просто освобождением от жопоболи крестов, а дальше у них чётко прописана цель:
> Once we can migrate code into Carbon, we will have a simplified language with room in the design space to add any necessary annotations or features, and infrastructure like generics to support safer design patterns. Longer term, we will build on this to introduce a safe Carbon subset. This will be a large and complex undertaking, and won't be in the 0.1 design. Meanwhile, we are closely watching and learning from efforts to add memory safe semantics onto C++ such as Rust-inspired lifetime annotations.
Ну то есть они потом объявят весь карбон unsafe и поверх него прикрутят safe подмножество, которое и будет самым прямым конкурентом раста. хотя они и так будут конкуренты и до safe carbon, ниша-то олна Кто выиграет из двух - я ставлю на гугл, при условии, что они не положат хуй на проект, как это было сделано с. Dart.
Аноним 09/01/23 Пнд 21:43:06 2568277 313
image.png 33Кб, 954x282
954x282
>>2568138
Ну я прочитал их же собственный говнофак и сделал так, как они сказали первым же предложением по теме Rust'а. И в чём я не прав?
Аноним 10/01/23 Втр 02:05:55 2568538 314
Господа, работаю сейчас в основом на современном C++ и сетями, но очень интересует Rust, можно ли как-то плавно перекатиться, а то из вакансий попадающихся кроме блокчейна ничего нет.

Мб кто-то совмещал в проектах плюсы и раст?
Аноним 10/01/23 Втр 12:40:44 2568801 315
>>2568538
Не совсем понял, что именно ты хочешь: вкатиться в раст самостоятельно и сменить проект или втащить раст на текущий проект?

Для первого варианта всё относительно просто: читаешь растбук/статейки/другие книги, пишешь простенькие cli-тулзы/сервисы/либы/обвязки вокруг си/плюсовых либ на расте, пишешь что-то более сложное, и ты готов к интервью. Есть опыт в предметной области и плюсах хороший - можно апплаиться и на более синьорские позиции. Блокчейн вакух действительно подавляющее большинство, но есть и сетевые/геймдевные/системные. Можешь полистать в телеге канал с вакансиями на расте по тегу #nobc чтоб примерно представлять, что хотят. Опять же, в блокчейн-проектах нужен не только блокчейн - бекенды на микросервисах сами себя не напишут.

Для второго варианта тебе понадобится изобретательность, хорошие софт-скилы, какой-то авторитет в команде и удача. И отсутствие в команде шизика, вроде того что срёт в этом треде. Бери какой-то кусок функциональности и пили на расте, интегрируй его в существующий код всякими bindgen/cbindgen/cc/cxx и тд. Ну и останется его "продать" команде и менеджменту - для некоторых это самое сложное.

Кулстори:
На прошлой работе (трейдинг, но не блокчейн) я был в дотнетной команде, которая интенсивно использовала плюсовую сетевую либу с ключевой для бизноса функциональностью. Либу делала отдельная команда плюсовиков (лет 15). Либа была только виндовая (dll + пачка .hpp файлов), обильно текла по памяти и иногда крашилась. Но ещё больше было головняка с дотнетными (и jvm'ными и питоньими и goшными) обвязками для этой либы из-за сраных ограничений по многопоточности - вот это можно вызывать только в одном потоке иначе краш, а вот это только в другом, и данные отданные из одного потока нельзя передать в методы вызванные в другом, пушо они аллоцированы из разных куч, и тд. и т.п. И потому что либа была виндовая, приложения с ней нельзя было нормально контейнеризовать (windows containers - то ещё говно).

Я поддерживал .net-обвязку вокруг этой либы и сильно заебался. Написал на расте grpc-сервис, который внутре дёргал методы либы и наружу выставлял в виде удобного АПИ. Благодаря send/sync/!send/!sync удалось избежать большинства проблем с многопоточностью, copy/clone и лайфтаймы избавили от основного головняка с памятью. Ну и это добро уже запускалось в linux под wine - можно было легко докеризовать. В моей команде сначала сильно сопротивлялись, но т.к. более хорошего способа затащить проект в кубер не было, рискнули. Когда я увольнялся чтоб не попасть на утренник, сервисом уже пользовались джависты и питонисты, а гошники собирались переезжать.

После увольнения прошел несколько собесов на растовакансии и получил пару офферов (один тоже в трединговую контору, но не блокчейн, второй вообще не связан с трейдингом). Но принял оффер на позицию на старом стеке пушо на $2k/mo больше денег
Аноним 10/01/23 Втр 13:55:57 2568953 316
>>2568801
> Ну и это добро уже запускалось в linux под wine - можно было легко докеризовать
Вы там ебанутые были? Пиздец
Аноним 10/01/23 Втр 14:58:08 2569016 317
>>2568953
> Вы там ебанутые были? Пиздец
Ага, мне тимлид сначала то же самое сказал.
Зато потом "переезд в кубер" оказался у него (и у многих других тимлидов) в KPI, плюсовики оценили добавление кроссплатформенности в либу в почти год (пушо там ехал mfc через atl на winapi) и не осилили winelib, а нагрузочное тестирование в пару месяцев показало, что в wine оно по стабильности сравнимо с дотнетной обёрткой на винде, и при этом быстрее и удобнее.
Аноним 10/01/23 Втр 17:20:38 2569239 318
О май.gif 1285Кб, 255x244
255x244
>>2568801
>Ну и это добро уже запускалось в linux под wine - можно было легко докеризовать.
Аноним 11/01/23 Срд 07:33:27 2569817 319
>>2568801
> (dll + пачка .hpp файлов)
че прям даже без исходников?
Аноним 11/01/23 Срд 09:45:59 2569851 320
>>2569817
Без исходников. Если хорошо попросить (приложить логи, крашдампы, развернутое описание проблемы и кого-то из боссов в копию) - могли выслать .pdb с отладочными символами. Исходники вообще никому на моей памяти не давали. Хотя толку от них - помимо своей работы еще и ебаться с чужим говнокодом.
Аноним 12/01/23 Чтв 02:08:41 2571110 321
>>2565415
>> Сидел в неформальном раст-чятике в телеге
ссылку на чатик можешь скинуть?
Аноним 12/01/23 Чтв 02:52:46 2571120 322
Имеет смысл начинать изучение раста с этого? https://google.github.io/comprehensive-rust/running-the-course/keyboard-shortcuts.html
Веб макакапомидор, сидящая на тайпскрипте и ангуляре/реакте. В прошлом неплохой опыт шарпа, немного ноды и самообучения си с дрочем на системное. Не люблю много читать, предпочитаю выжимку с примерами.
Цель - потестить концепцию боров-овнершип, миксины, да и в целом ооп заебал. Так же написать что то для терминала, тк tui понравился.
Аноним 12/01/23 Чтв 03:11:13 2571122 323
Стикер 480Кб, 200x200
200x200
>>2571120
Просто берёшь и начинаешь, хоть с чего.
Аноним 12/01/23 Чтв 10:57:32 2571262 324
Пацаны, там в расте снова дырку нашли!!!!
Аноним 12/01/23 Чтв 11:38:50 2571292 325
>>2571262
ну так чего же ты сидишь? показывай!
Аноним 12/01/23 Чтв 12:46:38 2571358 326
Нужно написать простенькую обобщенную функцию, которая нормально работает со всеми стандартными беззнаковыми типами.
Работа подразумевает сдвиг влево, побитовое "и" и сравнение с нулём.
Как?
Аноним 12/01/23 Чтв 13:14:16 2571395 327
>>2571358
ну самый простой способ делаешь для функции входной параметр реализующий трейт UnsignedNumber
А потом 10 строчек:
impl UnsignedNumber for u8 {} и тд

мбы в стд уже есть такой трейт
Аноним 12/01/23 Чтв 13:31:26 2571412 328
>>2571395
Уже сделал как-то вот так https://pastebin.com/szL11Wc3
Так и должен выглядеть чистый код на Расте?
Чяднт, исправьте, пожалуйста
Аноним 12/01/23 Чтв 19:49:59 2571786 329
изображение.png 197Кб, 1903x995
1903x995
Аноним 12/01/23 Чтв 20:15:17 2571811 330
>>2571358
А зачем пишешь ты пишешь as u8, если тип и так слева указан? Ещё, что значит Output = T? В Растбуке ничего не нашёл про это.

Ну и на 14 строке можно оператор сдвига укоротить.
Аноним 12/01/23 Чтв 23:05:34 2571904 331
>>2571811
> А зачем пишешь ты пишешь as u8, если тип и так слева указан
Подумал, что без этого не будет работать и что нужно явное приведение

> Ещё, что значит Output = T
В std::ops::Shl::<Output = T> то, что результатом

let x: T = ...
let y: T = ...
x << y

будет значение типа T.
Не знаю, я сам растбук почти не читал. Он как-то душно написан, всё желание зубрить его пропадает.
Аноним 12/01/23 Чтв 23:27:01 2571920 332
image.png 15Кб, 878x274
878x274
cmdBOQKngw4Uq.png 13Кб, 1331x252
1331x252
>>2571904
> Подумал, что без этого не будет работать и что нужно явное приведение
Так и есть, это же сужающее преобразование. На первом пике показано, как, наверное, будет лучше.

> Ну и на 14 строке можно оператор сдвига укоротить.
Не знаю, какое укорочение ты имел в виду, но то, которое попробовал сделать я, не получилось (пик 2).
Аноним 13/01/23 Птн 00:03:08 2571937 333
>>2490347 (OP)
>Rust — невероятно быстрый язык для
того чтобы быстро кануть в аналы истории, поближе к лиспу
очередная хуета хочет "нагнуть" ВЕЛИКИЙ Си и МОГУЧИЙ Си++
удачи, епта...
Аноним 13/01/23 Птн 02:17:55 2572004 334
>>2571937
Кто о чем, а программист на C++ про аналы.
Аноним 13/01/23 Птн 04:40:52 2572066 335
>>2572004
>про аналы.
истории, озабоч
Аноним 13/01/23 Птн 05:32:34 2572068 336
Аноним 13/01/23 Птн 11:56:34 2572216 337
>>2572068
Молодец, садись, пять
Аноним 13/01/23 Птн 14:08:28 2572377 338
>>2572066
Анал — заднепроходное отверстие человека, то же, что анус.[источник?]
Анал — язык тибето-бирманской ветви сино-тибетской языковой семьи.
Анал. или аналит. — сокращение от аналитический, т.е. связанный с анализом (например, аналитическая геометрия)
Аноним 13/01/23 Птн 15:23:17 2572484 339
>>2572377
>Анал. или аналит. — сокращение от аналитический
те самые программисты анальники в треде.
у степановой стрим закончился шоль
Аноним 13/01/23 Птн 16:22:54 2572554 340
где rust используется в блокчейне? что бы сам блокчейн сделать?
Аноним 14/01/23 Суб 01:21:43 2573219 341
Аноним 14/01/23 Суб 02:25:24 2573243 342
>>2573219
пидо-растер, ты заебал пиздеть
Аноним 14/01/23 Суб 03:13:53 2573261 343
блин, пиздец хочеться вкатиться в чё нить кондовое программерское, заебало формы шлепать. После с++ душевная травма. Я бы с радостью начал новую кодерскую жизнь с растом, но работы судя по всему немного и перекатиться непросто. Эх беда печаль.
Аноним 14/01/23 Суб 03:34:32 2573270 344
>>2573261
>После с++ душевная травма.

сходи к психологу
джава-пидоры степанову советуют
Аноним 14/01/23 Суб 06:14:07 2573293 345
image.png 67Кб, 961x339
961x339
Что я только что прочитал?
Аноним 14/01/23 Суб 06:42:48 2573298 346
>>2573293
Отличный перевод
Что в оригинале написано?
Аноним 14/01/23 Суб 06:45:49 2573299 347
>>2573298
Rust’s memory safety guarantees make it difficult, but not impossible, to accidentally create memory that is never cleaned up (known as a memory leak). Preventing memory leaks entirely is not one of Rust’s guarantees, meaning memory leaks are memory safe in Rust. We can see that Rust allows memory leaks by using Rc<T> and RefCell<T>: it’s possible to create references where items refer to each other in a cycle. This creates memory leaks because the reference count of each item in the cycle will never reach 0, and the values will never be dropped.
Аноним 14/01/23 Суб 06:53:40 2573301 348
>>2573293
Что конкретно тебе непонятно? Опасны для памяти use-after-free и double-free, это ни та ни другая.
Аноним 14/01/23 Суб 08:13:24 2573330 349
Объясните разницу между str и String.
Что такое вообще этот str? Какие значения принадлежат этому типу? Насколько я понял, даже литералы имеют тип &str.
Аноним 14/01/23 Суб 09:53:41 2573378 350
>>2573330
str - простой массив байт, ну т.е. просто набор буков, который ничем не управляет, для тупого JS-дауна: нельзя сложить str+str

string - объект
Аноним 14/01/23 Суб 10:21:56 2573396 351
>>2573378
> str - простой массив байт
То есть это что-то типа struct str(*const char, usize)?
> для тупого JS-дауна
Я из плюсов перекатываюсь и не понимаю некоторых деталей.

Кстати тут есть каст массива к указателю?
Аноним 14/01/23 Суб 11:17:37 2573411 352
>>2573396
>типа struct str(*const char, usize)?
ну и хуле это такое ты высрал , а плюсоперекатчик
Аноним 14/01/23 Суб 11:19:55 2573413 353
>>2573411
Структура хранящая адрес первого чара и их количество.
По-моему под определение "простой массив байт" весьма подходит.
Аноним 14/01/23 Суб 11:29:35 2573420 354
>>2573413
и где ты видел ты видел, шоб так структуры определялись
ты наверно имел в виду это:
struct
{
LPCTSTR lpszText;
unsigned int dwSz;
};

ну и нахуя тебе размер ?
Аноним 14/01/23 Суб 11:40:05 2573426 355
>>2573420
> и где ты видел ты видел, шоб так структуры определялись
В расте. Зачем мне писать в треде одного языка на другом языке?
> ну и нахуя тебе размер ?
А как ещё? Если где-то есть указатель на область памяти, где-то должен храниться её размер.
Аноним 14/01/23 Суб 11:48:26 2573438 356
!katis.jpg 102Кб, 600x415
600x415
>>2573426
>А как ещё?
катись обратно в бэйсик, пиздабол
да лан анончик, не обижайся, строка заканчивается 0 null-terminated, ее размер нигде не хранится и нахуй не нужен.
еслиб ты вкатывался из плюсов, ты бы это знал
Аноним 14/01/23 Суб 11:56:21 2573442 357
image.png 22Кб, 1175x167
1175x167
>>2573438
> строка заканчивается 0 null-terminated, ее размер нигде не хранится и нахуй не нужен
В std::string плюсовом размер хранится, а null-terminated она только для совместимости в сишными строками.
> еслиб ты вкатывался из плюсов, ты бы это знал
Ещё я знаю, что есть pascal-style строки не уверен, что их кто-то так называет, просто запомнил, что паскаль этим и отличается от сей, в которых вообще нет 0 байта в конце, потому что размер хранится именно так, как я сказал.
Впрочем, стоило просто зайти на https://doc.rust-lang.org/std/primitive.str.html и убедиться в том, что я прав.

Вот зачем говорить что-то, если нихуя не знаешь, и строить из себя умника?
Аноним 14/01/23 Суб 12:05:25 2573450 358
>>2573442
>В std::string плюсовом размер хранится, а null-terminated она только
ну хранится, да..
но ведь это и не простой тип, а объект класса.
который может себе это позволить)
> есть pascal-style строки
были такие строки, на практике оказались нахуй не нужны.
>и убедиться в том, что я прав.
нихуя. в противном случае это будет уже не простой тип, а структура, причем несовместимая с системными вызовами, а раст это таки системный язык.
Аноним 14/01/23 Суб 12:17:37 2573458 359
antirust.jpg 347Кб, 900x1200
900x1200
Зачем у вас говноежек вызов функций сопровождается логическим оператором? Чтобы было максимально безопасно?

>println!("Sum is: {}", result1);
Аноним 14/01/23 Суб 12:21:30 2573460 360
209c9d54-28da-4[...].png 27Кб, 908x214
908x214
0559577e-82ed-4[...].png 15Кб, 678x269
678x269
image.png 44Кб, 968x551
968x551
>>2573450
> но ведь это и не простой тип, а объект класса
Сам понимаешь, что говоришь? Ну ладно, допустим, ты просто оговорился.
> были такие строки, на практике оказались нахуй не нужны.
Круто! Теперь внимательно читаешь первый пикрил. Rust by Example, если что. (Всё таки нужны, оказывается..?)
> нихуя
Я тебе уже официальную документацию принёс, а ты всё не веришь...
> причем несовместимая с системными вызовами
С какими системными вызовами? Как может быть структура данных совместима или не совместима с системными вызовами?
Ну вот в линуксе, например, есть системный вызов write, который нужен для записи данных в файл по номеру дескриптора. Туда можно вывести массив байт. Допустим, этот массив байт является строкой. И чёт не особо нужно, чтобы эта строка была null-terminated, ведь там есть параметр count, отвечающий за то, сколько байт будет выведено.
В WinAPI есть системный вызов WriteConsole, который предназначен для вывода строк в консоль, и ему тоже не нужны null-terminated строки, ведь он тоже имеет параметр count, да что ж такое?!

Может я просто жирный троллинг не понимаю?
Аноним 14/01/23 Суб 12:51:47 2573481 361
>>2573460
>Всё таки нужны, оказывается..?
в очередной раз подверждается, что раст это конченное дерьмо.
> вызов write, который нужен для записи данных в файл по номеру дескриптора
ты еблан или притворяешься ?
ты в файл ебашишь не строку, а буфер..
создай txt и любым редактором напиши туда "я еблан", открой его в HEX и поищи, где там размер указан.

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

null terminated string используется при открытии файла, а не при записи в него.
ты с какой ветки слез, анончик.
Аноним 14/01/23 Суб 12:52:24 2573484 362
>>2573438
Ты чо несешь, поехавший
В расте слайсы это поинтер + размер

Си строки все в рот ебали
Аноним 14/01/23 Суб 12:56:20 2573490 363
Аноним 14/01/23 Суб 13:12:11 2573504 364
>>2573484
>Си строки все в рот ебали
при этом в системных вызовах только эти строки и используются.
rust - это системный язык (с)

аахахаа пидо-растеры, не устану макать вас еблом в ваше же дерьмо
Аноним 14/01/23 Суб 13:19:16 2573508 365
>>2573458
добоеб, println принтит простою строку,
а println! - это т.н. выразительный принт, он принтит строку на красном фоне
Аноним 14/01/23 Суб 13:24:28 2573512 366
>>2573504
Зумерок, ты хоть раз сам эти системные вызовы делал ручками?
Аноним 14/01/23 Суб 13:31:21 2573520 367
>>2573512
eblo_skufa db "Скуфи, заметь, эта строка заканчивается 0",0
title db "Возим пидо-растеров носом по их калу."
push 0x40
push offset title
push offset eblo_skufa
push 0
call MessageBox
Аноним 14/01/23 Суб 13:35:25 2573524 368
.jpg 173Кб, 1246x919
1246x919
>>2573481
> создай txt и любым редактором напиши туда "я еблан", открой его в HEX и поищи, где там размер указан.
То есть ты хочешь сказать, что размер файла нигде не хранится?

> null terminated string используется при открытии файла, а не при записи в него.
Ладно, с этим небольшой обсёр. Во всяком случае, для этого есть отдельные типы CString и CStr.

>>2573484
> при этом в системных вызовах только эти строки и используются.
Потому что основные ОСи были написаны во времена динозавров и теперь нельзя ничего менять, потому что всё сломается?
Просто напоминаю, что если тебе в какой-то момент понадобится размер строки, тебе придётся пройтись по ней от начала до конца в поисках 0 байта. Причём не факт, что он там будет.
Аноним 14/01/23 Суб 13:54:27 2573545 369
>>2573524
>размер файла нигде не хранится?
причем здесь размер файла, мы про буфер говорили, который используется в системном вызове, для записи в этот файл.

>для этого есть отдельные типы CString и CStr.
ну т.е. костыли, которые друг к другу еще кастить надо, с аллокацией памяти и копированием..

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

>в какой-то момент понадобится размер строки
это не такая частая операция и на самом деле не такая дорогая, ибо строки, как правило, очень короткие.
для длинных строк никто не запрещает использовать std::string
да можешь хоть свой класс сделать, что мешает та
Аноним 14/01/23 Суб 15:04:34 2573621 370
>>2573545
> причем здесь размер файла, мы про буфер говорили, который используется в системном вызове, для записи в этот файл.
> создай txt и любым редактором напиши туда "я еблан", открой его в HEX и поищи, где там размер указан.
Может ты просто сам не понимаешь, что хочешь сказать?
> в том числе и поэтому, но так то ее еще выравнивать придется, по границе слова, короче дохуя памяти и гемора, а выигрыш околонулевой.
Ты же дегенерат и хуйню какую-то несёшь.
> это не такая частая операция и на самом деле не такая дорогая
Я тебя понял.

> Рррряяяяя хранить размер строки дорого ррррррряяяяяяя
> Пук срёньк находить размер строки O(n) норм
Аноним 14/01/23 Суб 20:02:22 2573983 371
>>2573330
>Что такое вообще этот str? Какие значения принадлежат этому типу? Насколько я понял, даже литералы имеют тип &str.
Сами литералы имеют тип str, но ты нигде не оперируешь самими литералами, а только ссылками на них.
Аноним 14/01/23 Суб 20:42:50 2574019 372
>>2573330
String это структура фиксированного размера, смарт пойнтер на str, массив символов произвольного размера. Литералы никогда не владеют символами на которые ссылаются, к примеру они не могут дропнуть эту область памяти, поэтому там всегда &str.

Выражаясь иначе, String это единица аллокации, &str это указатель на слайс, подстрока внутри произвольного String. У каждого String может быть сколько угодно &str, но не наоборот.
Аноним 14/01/23 Суб 20:44:10 2574021 373
>>2573458
Явное обозначение макроса. Нравки ебаться с внезапными define?
Аноним 14/01/23 Суб 22:34:47 2574125 374
>>2573330
String - это аналог std::string, &str - это аналог std::string_view (+гарантия валидного UTF-8). Конкретно тип str - это некий костыль d в виде безразмерного объекта, который позволяет в одном и том же типе Box хранить и единичный объект Box<Foo>, и массив Box<[Foo]> и строковый слайс Box<str> не городя ересь наподобие ArrayBox и StrBox.
Аноним 15/01/23 Вск 01:31:42 2574303 375
>>2574125
String - это вектор вида Vec<u8> гарантирующий валидную UTF-8 последовательность и не null-terminated.
Аноним 15/01/23 Вск 11:27:29 2574447 376
Почему std::cmp::Eq не unsafe?
Аноним 15/01/23 Вск 11:49:56 2574453 377
>>2574447
Почему он должен быть unsafe? Вполне тривиально для большинства типов реализуется с помощью safe методов.
Аноним 15/01/23 Вск 11:55:22 2574456 378
>>2574453
Насколько я понял, для его реализации нужно просто реализовать PartialEq, но при этом мы должны гарантировать то, что будет выполняться рефлексивность, симметричность и транзитивность, которые не могут провериться компилятором.
Разве не для этого unsafe нужен?
Аноним 15/01/23 Вск 13:17:44 2574501 379
>>2574456
Нет. unsafe ограждает код, потенциально ломающий аллокации в памяти и потенциально содержащий undefined behaviour, таким образом, что какой бы ты safe код поверх него ни написал, ты не сломаешь аллокации и не вызовешь UB. Это не гарантия корректности кода, которую ты должен проверять тестированием.
Аноним 17/01/23 Втр 14:17:42 2577039 380
Стикер 127Кб, 512x382
512x382
Почти вся статья о том как борроу-чекер уничтожает продуктивность, особенно в прототипировании, и делает рефакторинг отдельной болью, так как mut везде протекает через абстракции.
https://verdagon.dev/blog/when-to-use-memory-safe-part-2
Аноним 17/01/23 Втр 16:02:48 2577130 381
>>2577039
>Почти вся статья о том как борроу-чекер уничтожает продуктивность
У неосиляторов. Первое время может быть да, но сейчас уже год с растом работаю и редко когда вижу что компилятор посылает меня нахуй.

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

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

> mut везде протекает через абстракции
Лол нахуй так писать. Придут со своих джавашарпов и каждая вторая переменная мутабельная.
Аноним 17/01/23 Втр 16:51:47 2577229 382
Нашёл в исходниках одной либы конструкцию as ⚹const _
Что оно значит?
Аноним 17/01/23 Втр 18:35:13 2577415 383
>>2577229
Каст к константному указателю того же типа. `_` - это wildcard, который можно использовать везде, где компилятор может самостоятельно вывести тип.
Аноним 18/01/23 Срд 20:55:55 2578954 384
>>2490347 (OP)
Допустим я пишу свой век
Могу я при переполнении переносить данные просто memmove? Не надо же каждую структуру в цикле присваивать?

просто в плюсах такое UB вроде, вот хзы как в расте
Аноним 19/01/23 Чтв 13:15:32 2579432 385
>>2578954
Можешь копировать. Присваивание неинициализированной памяти - наоборот UB.
Аноним 19/01/23 Чтв 17:49:17 2579789 386
Можешь. В расте присваивание не оверлоадится и эффект всегда соответствует memmove (memcpy в случае с Copy типами, но нас тут это не интересует).
Аноним 19/01/23 Чтв 20:27:16 2580012 387
где могут пояснить за ownership? и тд.
в доках непонятно написано, чувствую что можно легче объяснить
Аноним 19/01/23 Чтв 21:41:40 2580107 388
>>2580012
>чувствую что можно легче объяснить
Объясни, тогда.
Аноним 19/01/23 Чтв 21:49:09 2580115 389
>>2580107
когда мне объяснят, я с удовольствием и тебе поясню
Аноним 20/01/23 Птн 00:48:06 2580258 390
>>2580012
Представь, что каждая переменная защищена мютексом или RWLock'ом. Перед тем как изменить значение переменной ты обязан как бы захватить мьютекс, ты это делаешь через &mut. Это - mutable borrow. Он может быть только один, потому что иначе невозможно поддерживать некоторые инварианты. Если тебе нужно только прочитать значение, тебе достаточно захватить read-lock, ты это делаешь через &. Это обычный borrow, их может быть сколько угодно одновременно.

Отличие борроу-чекера от настоящих мьютексов в том, что он работает на этапе компиляции и там, где были бы гонки и дедлоки происходит просто ошибка компиляции.
Аноним 20/01/23 Птн 07:08:49 2580318 391
Почему все говорят, что mut - это про мутабельность? Это же нихуя не так. Посмотрите на методы того же атомика - store принимает &self, а не &mut self. mut - это скорее про уникальность ссылки, из которой вытекает возможность модифицировать её состояние, но модифицировать состояние можно так же и у обычных шареных ссылок, как в примере с атомиком.
Вы че, ебанутые? Назвали бы тогда не mut, а unique, или если по растерски, то uniq. А аналога const из C++ у вас совсем нету, получается. Я только начинаю перекатываться, но некоторые вещи мне не нравятся прям пиздец как сильно. Пока что от дропа меня отделяет только либа wgpu, которая, конечно, есть и для плюсов, но выглядит она на них как кал. Надеюсь что наитие меня ещё настигнет, но пока от вашего языка я в основном плююсь. Хотя есть и очень много положительных моментов, но я их перечислять не буду, вы их и так все уже знаете.
Аноним 20/01/23 Птн 09:29:57 2580379 392
>>2580318
>Посмотрите на методы того же атомика - store принимает &self
Ты где-то не то прочитал.
Аноним 20/01/23 Птн 09:30:45 2580380 393
>>2580318
> А аналога const из C++ у вас совсем нету
Что мешает мне сделать аналог атомика в плюсах, который будет иметь не константный метод store?
Или а чем это не аналог?
Аноним 20/01/23 Птн 09:39:50 2580382 394
>>2580379
Всё правильно. Просто нах атомики иначе нужны, если их по мут ссылке передавать?
Аноним 20/01/23 Птн 10:39:18 2580415 395
>>2580318
>Посмотрите на методы того же атомика - store принимает &self, а не &mut self

Это interior mutability, которая нужна чуть чаще, чем mutable в плюсах, то есть мы лезем в залупу, то есть для примитивного изложения это лучше опустить.
Аноним 20/01/23 Птн 16:23:19 2580910 396
>>2580318
Пришлось бы объяснять что за такая уникальная ссылка и зачем и как, а с mut и волки сыты, и овцы целы.
Аноним 22/01/23 Вск 13:57:21 2582864 397
>>2566472
> Есть ли язык лучше?

Lisp.
Аноним 22/01/23 Вск 17:22:04 2583255 398
>>2580012
Если прямо переводить, то это владение. Некий блок кода владеет объектом в переменной. При завершении этого блока нужно удалить объект, в том числе почистить все ассоциированные ресурсы (память, файлы, сокеты, итд).

По умолчанию когда ты вызываешь функцию без всяких &, ты передаёшь владение объектом, теперь это её, функции, головная боль вовремя удалить объект.

Не отдавая владение объектом его можно одолжить (borrow). >>2580258 вот тут нормально расписано как это работает.

Дальше идут нюансы, всякие трейты Copy, Clone, Drop, они насыщают этот механизм разнообразием поведений. К примеру трейт Copy позволяет каждый раз клонировать объект вместо передачи владения.
Аноним 22/01/23 Вск 17:45:22 2583303 399
>>2580318
Mut это ещё гарантия единственной ссылки. Атомики нужны чтобы иметь много ссылок. Поэтому здесь немного упорото. В доках говорят что это копия atomic_ref из C++, оно и там тоже прикидывается что объект не меняется void store( ... ) const noexcept;
Аноним 22/01/23 Вск 22:23:34 2583699 400
>>2583303
Множественное владение же только через аналог shared_ptr делается. Атомики это про модель памяти и гарантии синхронизации между тредами
Аноним 22/01/23 Вск 23:10:08 2583745 401
>>2583699
Речь не о множественном владении, которое Rc<T> или shared_ptr, а о ссылках. Для любой синхронизации нужно больше одной ссылки, между же тредами, не будешь же синхронизироваться сам с собой.
Аноним 23/01/23 Пнд 01:55:38 2583869 402
Можно ли учить раст как первый язык? Ну в плане хватит ли инфы для понимания человеку, который лишь косвенно связан с айти? Понятное дело я не говорю ни про какую там работу, меня моя работа вполне устраивает, просто мне вкатывает концепция низкоуровневых языков
Аноним 23/01/23 Пнд 03:00:09 2583896 403
>>2583869
Лучше не надо, будет всё казаться лишним и переусложнённым ПРОСТО ТАК, потому что нет никакого понимания, с какими ситуациями данные решения призваны бороться.
Аноним 23/01/23 Пнд 08:55:02 2583964 404
>>2583869
Как первый я бы не рекомендовал слишком сложно будет
Аноним 23/01/23 Пнд 14:38:39 2584395 405
>>2580318
>mut - это скорее про уникальность ссылки
Да, ты прав. Да, многие глубоко заползшие растеры согласны, что uniq был бы лучше. Но оно уже сделано как сделано, и мы просто привыкли что &uniq ссылки у нас называются &mut. Язык слишком хорош, чтобы его дропать из-за такой мелкой фигни.

Ну и при объявлении переменной "mut" всё же про мутабельность, так что не везде "mut" неправильно назван:

let mut a = 0;
Аноним 23/01/23 Пнд 14:45:08 2584401 406
>>2583869
Не рекомендуется, но можно. Из минусов есть шанс получить неприязнь ко всем остальным языкам, потому что если ты первым языком учишь раст, при изучении следующего появляются мысли вроде такой: "бля, ну что за хуйня, вот в расте оно нормально сделано, а не через жопу".
Аноним 23/01/23 Пнд 23:44:17 2584912 407
>>2583869
Для углублённого понятия существующих проблем в современной низкоуровневой разработке нужно начинать с си.да и чуть ли не все современные языки в топ10 с си-подобным синтаксисом, это как плюс Только после ебли с сишкой можно переходить на раст и начинать вникать в то, что он предлагает и зачем. А там и понимание придёт и скилуха.

Ну или как советует этот анон >>2584401
Аноним 24/01/23 Втр 00:19:53 2584925 408
>>2583896
А вдруг это только бывалым сложно и непривычно? Справляются же как-то спецы по БД с shared lock/exclusive lock.
Аноним 24/01/23 Втр 00:21:00 2584926 409
>>2584912
Можно ещё с zig вместо си. Это как си, только более явный и читаемый.
Аноним 24/01/23 Втр 02:11:33 2584958 410
>>2577130
> Придут со своих джавашарпов
Ну этот чел не такой простой как кажется. Он там свой язык напилил, Vale, с какими-то арена-аллокациями, я не до конца понял, но якобы аллокация происходит один раз для целого блока кода и отпадает необходимость следить за каждым объектом через всякие RC/GC. И его эти эссе об управлении памятью это попытка разобраться что уже придумано и где оно сосёт.
Аноним 26/01/23 Чтв 14:33:15 2587946 411
Пацаны, там Бьярн Трупстрауса руст раскритиковал!!!1
Аноним 26/01/23 Чтв 17:47:29 2588291 412
>>2584958
Про арены можешь подробнее почитать в пейперах про regionml, 90-ые годы (впрочем как и clean, в котором были реализованы линейные типы ("борроу-чекер" по-местному))

мимо
Аноним 26/01/23 Чтв 18:09:11 2588340 413
Аноним 26/01/23 Чтв 21:34:18 2588619 414
>>2588340
Когда создавал лучший язык.
Аноним 27/01/23 Птн 09:24:00 2588995 415
Аноним 28/01/23 Суб 23:22:30 2591330 416
Когда запускаю rust-lldb, то выдаёт

error: toolchain 'stable-x86_64-pc-windows-gnu' does not contain component 'rust-lldb' for target 'x86_64-pc-windows-gnu'; did you mean 'rust-std'?

Как фиксить? lldb установлен
Аноним 29/01/23 Вск 04:19:23 2591478 417
Аноним 30/01/23 Пнд 01:03:14 2592931 418
image.png 14087Кб, 4800x3886
4800x3886
теперь и у нас есть растотянучка
Аноним 30/01/23 Пнд 08:10:49 2593023 419
Аноним 30/01/23 Пнд 16:18:17 2593489 420
Аноним 30/01/23 Пнд 17:44:33 2593575 421
>>2592931
ролль ещё эту нейронку
и чтоб нв=а этот раз пупок голый был!
Аноним 31/01/23 Втр 07:40:24 2594099 422
https://github.com/fish-shell/fish-shell/pull/9512
Один из двух активных контрибуторов fish shell свихнулся и решил всё переписать на расте. Второй чел охуел, говорит что не знает раст, что дистроделы будут яросте, много кому сломает процесс сборки.
Аноним 31/01/23 Втр 11:19:29 2594180 423
>>2594099
Чо не форкануть просто
Аноним 31/01/23 Втр 11:20:43 2594181 424
>>2594099
Господи спасибо что я пользуюсь zsh, где в мейнтейнерах нет соевого дурачка с растошизой. Ну а fish можно помянуть, скоро разделится на два полудохлых форка.
Аноним 01/02/23 Срд 06:57:26 2595147 425
Аноним 01/02/23 Срд 11:19:00 2595258 426
>>2593575
ты, наверное, имел в виду не пупок, а soudness hole?
Аноним 01/02/23 Срд 11:19:31 2595259 427
Аноним 01/02/23 Срд 22:51:40 2596182 428
>>2594099
Второй контриб много чего пояснил потом. Говорит что на самом деле для них это решение не было шоком. И что тот самый ridiculousfish, который сейчас начал толкать раст, на самом деле когда-то вытащил проект из забвения, и переписал его с си на си++.

https://github.com/fish-shell/fish-shell/pull/9512#issuecomment-1410820102

Можно успокоиться и отставить истерику.
Аноним 01/02/23 Срд 23:45:45 2596230 429
>>2490347 (OP)
С чего начать вкат в системное программирование, если я бэкэнд макака?
Что то про ОСи почитать может, или вообще про железки?
Аноним 02/02/23 Чтв 00:37:00 2596290 430
>>2596230
Для начала запомни, что любая из книг Танненбаума - это говно из жопы. Очень много воды и совершенно нет полезной информации.

Если совсем не знаешь, как работает компьютер, можешь прочитать книгу «Код» Чарльза Петцольда. Она не серьезная, но в общих чертах описывает то, как работает типичная числодробилка. Если хочешь сразу серьезное - есть замечательная книга Харрис&Харрис. Если нужно что-то между, есть «Nand to tetris»

Далее читаешь книгу «OS 0 to 1». Перед ней лучше выучить Си, но это не сложно, ибо Си простой как палка.

Потом читаешь документацию интересующей операционной системы.
Аноним 02/02/23 Чтв 20:30:19 2597329 431
>>2596290
Спасибо, полистал "Код" и книгу Харрисов, решил на последнем остановиться. Код какой то слишком банальный.
Танненбаума еще в шараге по сетям читал и половину не выкупал, лол.
Алсо, есть какая нибудь литература про Си, где походу книги делаешь что то свое? Типа как в SICP интерпретатор на лиспе, или как движок на крестах, только на си?
Аноним 05/02/23 Вск 19:46:27 2600229 432
Привет ржавым. Что думаете на счёт будущего для Rust? В своё время сделал ставку на Го и теперь ближайшие лет пять, можно будет лутать нихуёвые деньги с буржуев, решая задачки которые были отобраны у питонистов. А Раст что?

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

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

Какие подводные?
Аноним 06/02/23 Пнд 00:37:37 2600545 433
>>2600229
Раст это для души, это если ты больной на голову перфекционист, которому нужна максимальная производительность выполнения за счёт человеческой продуктивности. Лутай бабос дальше на го и не парься. Некоторые даже на пхп продолжают лутать.
Аноним 08/02/23 Срд 19:14:34 2603871 434
возможно ли на расте делать десктоп приложения?
Аноним 08/02/23 Срд 19:42:51 2603899 435
Аноним 08/02/23 Срд 21:03:53 2603973 436
image.png 2412Кб, 3072x2048
3072x2048
>>2603899
Мне нужно сделать приложение, которое будет принимать сигналы с измерительной хуеты (пример на пикриле) и обрабатывать в нужной мне математической форме. В институте уже есть программа какая-то древняя, которая может ловить сигнал. Но она работает на 98-ой винде, хотелось бы что-то своё да посвежее (на жму/пинус, макос, винде).
Вопрос в том, как мне получать такие же сигналы как в той программе? Придётся драйверы заново писать для интерфейса?

бакалавр заборостроительного, третий курс
Аноним 08/02/23 Срд 22:12:27 2604048 437
>>2603871
лучше сделай на tui-rs
Нахуй тебе десктоп братик)
Аноним 08/02/23 Срд 22:18:14 2604050 438
>>2603973
>Мне нужно сделать приложение, которое будет принимать сигналы с измерительной хуеты

Руководство по эксплуатации от хуеты в студию или иди на хуй.
Аноним 08/02/23 Срд 22:21:09 2604054 439
>>2603973
>Вопрос в том, как мне получать такие же сигналы как в той программе? Придётся драйверы заново писать для интерфейса?
>

Поищи ради прикола драйвер и API для современной винды, но там скорее всего какая-то проприетарная платка для PCI, которую тебе никто не даст. Если USB, то можно попробовать отреверсить пакеты, но нужно очень так глубоко лезть в протокол.
Аноним 08/02/23 Срд 22:23:07 2604058 440
Аноним 08/02/23 Срд 22:23:59 2604062 441
>>2604054
>Поищи ради прикола драйвер и API для современной винды

О, еще один тупой прикольный идиот.
У вас тут гнездо, идиоты?
Аноним 08/02/23 Срд 22:26:04 2604066 442
>>2604062
>О, еще один тупой прикольный идиот.
>У вас тут гнездо, идиоты?

Ну нет у меня привычки рассматривать шакальные фотографии, что же теперь. :3
Аноним 08/02/23 Срд 22:27:49 2604068 443
изображение.png 367Кб, 644x950
644x950
>>2604066
>Ну нет у меня привычки рассматривать шакальные фотографии, что же теперь.

Тогда вырабатывай в скебе привычку сосать хуй.
Аноним 08/02/23 Срд 23:24:11 2604108 444
>>2604068
Как же хочется няшный осциллограф...
Аноним 08/02/23 Срд 23:39:04 2604114 445
Аноним 08/02/23 Срд 23:55:54 2604122 446
2633644[1].gif 2Кб, 106x106
106x106
дяди растеры, объясните мне, маленькому ламеру, как добавить библиотеку io, кучу библиотек добавил, а эту херю не могу(((((
Аноним 08/02/23 Срд 23:57:22 2604124 447
>>2604122
терминал warning высирает и всё(
Аноним 09/02/23 Чтв 02:21:33 2604234 448
Аноним 10/02/23 Птн 10:58:26 2605738 449
>>2604122
Ошибку в студию, пожалуйста, все телепаты в отпуске.
Аноним 13/02/23 Пнд 17:59:05 2609966 450
узнал, что в окамле есть алгебраические эффекты. почитал чуть про них в пейперах кока (язык такой). https://www.microsoft.com/en-us/research/publication/algebraic-effects-for-functional-programming/ тут примеры есть, где показывают, что можно так запилить асинк, итераторы, исключения, парсеры и тд. добавление асинков в раст до сих пор считается эпичным фейлом, думаю, что можно было добавить эффекты, тем более управление эффектами подходит по функциональную сущность раста. Что думаете?
Эффекты, кстати, уже есть и в мейнстримных языках типа хаскелля и окамля. есть ещё язык тоже майковский: F с зав типами и эффектами, и его сабсет low для низкого уровня. язык имеет встроенный солвер z3
Аноним 13/02/23 Пнд 18:28:13 2610001 451
Аноним 14/02/23 Втр 00:06:13 2610343 452
Хочу написать на расте бэк для своего мобильного приложения?

Что-то заинтересовался этим языком.
Подводные?
Аноним 14/02/23 Втр 04:35:44 2610401 453
>>2610343
Оверкил скорее всего, но если интересно, то почему бы и нет.
Аноним 14/02/23 Втр 08:04:56 2610433 454
>>2609966
Характеристики ЯП — это многомерное пространство, и каждый занимает там некоторую нишу. Всякие зав типы и эффекты — это прекрасно, но это только одна из координат в этом многомерном пространстве, эдакая бескомпромиссная переиспользуемость кода. Есть ещё производительность выполнения, ментальная нагрузка разработчика. Последнюю можно разделить на множество независимых координат: лёгкость чтения, написания, поиска, предсказуемость, помощь утилит, доступность утилит и библиотек под каждую область, длина цикла модификация/запуск, итд.

Дальше берётся некоторая потребность. Наговнякать сайт по-быстрому, написать верифицированный код для медицинского устройства, создать игру без тормозов/с красивой графикой/для лоу-энд устройств, итд. Каждая из этих потребностей задаёт ограничения на выше обозначенном многомерном пространстве, и оптимальный выбор языка становится задачей выбора из 2-3 кандидатов, а то и меньше. И вот алгебраическими эффектами в таком выборе жертвовать легче всего. И без них всё делается достаточно качественно и быстро.
Аноним 14/02/23 Втр 10:22:03 2610509 455
>>2610343
Если ты уже писал беки на чём-то - тебя ждут мелкие неприятные сюрпризы с экосистемой. То, что для джавашарпов и гопитонов есть в виде зрелых либ/фреймворков (и обычно с несколькими тоже вполне зрелыми альтернативами), в расте может быть в версии 0.1.1 и заброшено в 2020 году. Я имею в виду веб-фреймворк с какой-то аутентификацией и мидлварями, БД+ORM, очереди, кеш, логи+метрики+трейсы, всякие прочие примочки вроде сваггеров/удобных интеграционных тестов/etc.
Для обычного крудобэка кода будет немного больше, чем на "популярных" стеках, но ничего смертельного. Всё сильно усложнится, если захочешь выжать из своего поделия какой-нибудь особой производительности.

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

расто-неофит из >>2568801
Аноним 16/02/23 Чтв 13:01:54 2613194 456
Аноним 17/02/23 Птн 14:03:14 2614289 457
>>2610343
насколько я знаю раст для бэка используют вот прям в очень байтоёбских задачах, когда кабанчик мечтает о 100% аптайме и готов за это платить (те же банки)
Аноним 17/02/23 Птн 19:23:16 2614668 458
>>2613194
Ты сам читал что принес?
Очередной высер неосилятора джаваскриптизера который не разобрался.

let s = "a very long string".to_string();
let x = f(s);
let y = g(s);

Это на первых страницах растбука расжёвано, когда передали s в вызове f, то теперь мы дальше не владеем это переменной, если хочешь владеть пользуйся ссылкой.

let f = MyType::from;
let x = f(b"bytes");
let y = f("string");

Потому что добавление b превращает строку в байты, вот пример:
assert_eq!(b"bytes", "bytes".as_bytes());
Будет равно, это просто синтаксический сахар который вызывает метод as_bytes. Теперь объявленная f при компиляции после первого выражения принимает тип fn(&[u8]) -> MyType и в следующем вызове ждет байты, но ему дают строку. Опять же воспользовался синтаксическим сахаром который позволяет не указывать типы, если бы указал типы при объявлении переменной или пользовался ide не обосрался бы. Раст очень строго подходит к типам, ты даже u8 и u16 не сложишь без явного приведения к одному типу, именно поэтому не дает передать строку без явного приведения к вектору u8. И сам же ниже заметил нужно подружиться с дженериками тогда и будет счастье.


self.state = match self.state {
Ping(s) => { self.inc(); Pong(s) } // ← compile error
Pong(s) => { self.inc(); Ping(s) } // ← compile error
}


Как бы если у enum записывать в self.x не скомпилируется ))) я попытался залезть в голову автору воспроизвел это https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=ee3a36d7d30fd732957854dbf81dfbf5
И оно работает, бывает иногда проблемы с мутабельностью и бороу чекером, но они у меня перестали возникать через месяц-два после написания на расте, спустя год такое возникает вообще редко.

Дальше не читал, уноси
Аноним 19/02/23 Вск 15:31:55 2616626 459
>>2614668
> неосилятор
> джаваскрипт макаки
> дальшенечитал
> в мануале всё разжёвано
> врёти у меня всё нормально через два месяца

Бинго за один пост! Как тебе это удаётся?
Аноним 19/02/23 Вск 18:37:13 2616913 460
Аноним 19/02/23 Вск 19:25:22 2616994 461
Стикер 63Кб, 200x200
200x200
>>2616626
>Как тебе это удаётся?
Не знаю, они сами в тред приходят и такие статьи пишут, тут полное бинго тупости в статье. Нахуя ты сам такое бинго в тред приносишь?
Аноним 19/02/23 Вск 23:12:34 2617310 462
Зачем вкатуну раст? Он применяется много где, но одновременно и нигде. И вакансий нет никаких
Аноним 20/02/23 Пнд 00:58:37 2617339 463
>>2617310
Раст нужен энтузиастам борщехлебам
Аноним 20/02/23 Пнд 02:03:54 2617356 464
>>2616994
Просто ты токсичная чмоня и извергаешь яды по любому поводу. Человек-валидатор, которого всю жизнь за каждую пробу и ошибку ебали как сидорову козу.
Аноним 20/02/23 Пнд 10:24:35 2617449 465
Стикер 0Кб, 512x512
512x512
>>2617356
Иди поплачь, еще в спортлото жалобу подай на меня. Если для тебя называние говном статьи состоящей на 99% из говна извергнание ядом, то я не знаю как ты живешь со столь утонченной натурой
Аноним 20/02/23 Пнд 10:25:25 2617450 466
>>2617310
Вкатунам не нужен, сюда обычно с опытом приходят
Аноним 20/02/23 Пнд 10:44:57 2617459 467
>>2617450
Почему не нужен? Раст это же замена си, то есть базового языка для обучения и вката.
Аноним 20/02/23 Пнд 11:42:23 2617489 468
>>2617459
Потому что для вкатунов там много "лишнего" от лайфтаймов, до бороучекера, плюс еще различный синтаксический сахар, иммутабельность и прочие штуки. Чтобы эти штуки понимать нужно хоть немного иметь коммерческого опыта. Человеку которому пару дней назад объяснили что переменная это коробочка в которую положили записочку мягко говоря будет сложно понять некоторые вещи. Но для тех кто любит трудности это наверное самый раз
Аноним 20/02/23 Пнд 12:20:50 2617516 469
>>2617459
> с
> базовый язык для вката
Ебала аналитиков данных, тестеровщиков и фронтендеров представили?
Аноним 20/02/23 Пнд 15:00:46 2617679 470
>>2617459
Нет, замена си это Zig. А раст это замена C++. Для обучения и вката достаточно Go.
Аноним 21/02/23 Втр 22:11:22 2619147 471
Аноним 24/02/23 Птн 00:08:54 2621090 472
>>2490347 (OP)
Первые пару дней я был под впечатлением от раста.

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

Да, в этом есть плюсы, но это лоу лвл программы, стабильные, которые будут поддерживаться лет 10 и компания будет инвестировать.

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

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

Пойду писать свои проекты на питоне\го.
Аноним 24/02/23 Птн 06:39:15 2621180 473
image.png 850Кб, 879x582
879x582
image.png 434Кб, 815x496
815x496
>>2490347 (OP)
Что выбрать для вката в микроконтроллеры?
Прошивать программатором ничего не хочу, хочу прошивать через USB и одну команду.

Достаточно ли дешёвого набор Arduino UNO SMD и датчиков, чтобы осуществить любые хотелки?
Аноним 24/02/23 Птн 16:42:56 2621567 474
image.png 274Кб, 1059x600
1059x600
>>2490347 (OP)
Подскажите что за плагин, который пишет ошибку сразу в строчке с кодом?
Аноним 24/02/23 Птн 19:01:15 2621676 475
>>2621090
Лошара, для петпроектов есть кложур\хаскель. А раст - это низкоуровневый язык, да.
Аноним 24/02/23 Птн 19:47:42 2621709 476
>>2621567
я flycheck пользуюсь, но это в другом текстовом редакторе
Аноним 24/02/23 Птн 21:32:02 2621866 477
>>2621090
Ну вон выше говорят что после двух месяцев совсем не пахнет и можно писать так же продуктивно.
Аноним 25/02/23 Суб 06:43:52 2622172 478
image.png 104Кб, 806x484
806x484
>>2621709
Нашёл. Это Error lens, охуенный плагин.
Аноним 25/02/23 Суб 15:39:33 2622516 479
Как только появится прод-готовый аналог laravel, django, rails, spring, nestjs на Rust, пизда вам, бекенды ебаные. Будут сметать всех, кто владеет базовым синтаксисом.
Аноним 25/02/23 Суб 15:58:19 2622534 480
Аноним 25/02/23 Суб 16:37:53 2622560 481
>>2621866
Да да да, расскажешь . Продуктивно. Раст нахуй никому не уперся.

>>2621676
Дадада, конечно. Кложур\хаскель\ерланг и прочая поебень - полная параша. Петроекты на то и петпроекты, что нужно сделать быстро и запустить попробовать.

Ебаться с ебанутыми парадигмами, как бы они не были хороши - нахуй не надо. У тебя есть время дрочить хуйню которая не принесет бабла? Дрочи

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

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

Я все сказал. Ушел.
Аноним 25/02/23 Суб 16:39:29 2622562 482
>>2622560
>>2621090
Сколько языков уже сменио, неосилятор?
Аноним 25/02/23 Суб 17:34:23 2622618 483
Аноним 25/02/23 Суб 17:35:46 2622621 484
>>2622560
> Раст нахуй никому не уперся
Это уже какая-то другая крайность. Упёрся, очень даже. Писать на нём дороже, но выжимать производительность и не отращивать десятый мозг чтобы предвидеть ub/баги с памятью — вполне годно. Геймдев, высокопроизводительные сервера (чаты, очереди, там где стейт не снаружи в бд, а в самом сервере), критичные userspace утилиты. Зависит короче какие у тебя там петы. У меня вполне успешный опыт написания пета на питоне, а потом переписывания на расте. То что считалось потенциально несколько недель, посчиталось за день.
Аноним 25/02/23 Суб 19:08:42 2622717 485
>>2622516
Все что ты написал это хуяк хуяк и в продакшн сайт запилить, НО для этого нужны высокие абстракции без ебли с низкоуровневой залупой, которую раст предоставить не может. Если бы раст действительно занимал эту нишу, то на него бы давно переписали все микросервисы для которых таких фреймворков и не надо, но ничего такого нет и в помине.
Аноним 25/02/23 Суб 20:01:49 2622764 486
>>2622621
> успешный опыт написания пета на питоне, а потом переписывания на расте
О, не хочешь portage переписать?
Аноним 25/02/23 Суб 20:44:30 2622826 487
>>2622764
Не, я даже на питоне в него изменения внести не смог, очень уж сложный. Ну и я немного переболел гентой и на убунту укатился.
Аноним 26/02/23 Вск 00:02:20 2622959 488
2023-02-2600-01.png 438Кб, 482x697
482x697
Решил себе написать аналог OpenHardwareMonitor под Linux, взялся за rust + gtk-rs, для тех кто не в курсе, у glib/gtk своя система управления памятью и ооп, и оно просто нормально не налазит на rust, в gtk-rs базовые типы, классы еще облагородили, и то полно уродства, а если что то свое делаешь, то быстро понимаешь что с++ это настоящая база. В итоге сделал rm -r и написал за пару часов себе виджет на нормальном языке, который не становится препятствием если использовать неправильные библиотеки.

Ну и вишенкой переизобретение классов в отдельной взятой библиотеке, на макросах, https://gtk-rs.org/gtk4-rs/stable/latest/book/g_object_subclassing.html
Аноним 26/02/23 Вск 06:35:41 2623063 489
>>2622959
Соглы гтк это сишный пиздец
ну и скока жрёт твой монитор?
Аноним 26/02/23 Вск 08:06:16 2623082 490
Хуя неосиляторы в треде.
На Rust'е писать в разы проще, чем на голанге или плюсах. Вы ебанутые? Тут компилятор вас за ручку водит, а линтер не позволит написать хуёвый код. Лучший язык на свете
Аноним 26/02/23 Вск 09:33:02 2623116 491
>>2623082
Нет, я лучше быстро напишу, а потом буду полгода вылавливать баги.
Аноним 26/02/23 Вск 10:16:39 2623123 492
>>2623116
>полгода ебаться с сегфолтом
Аноним 26/02/23 Вск 11:16:42 2623188 493
>>2604114
а там еще дешевле есть? они сильно хуже?
Аноним 26/02/23 Вск 12:56:35 2623273 494
>>2623063
>ну и скока жрёт твой монитор?
0% CPU и 50MB памяти, смотрю в xfce4-taskmanager.
Аноним 26/02/23 Вск 16:07:51 2623496 495
>>2623188
бля, первое предложение это не вопрос. что за осцилографы за 3-4к?
Аноним 26/02/23 Вск 16:08:58 2623499 496
есть уже компиляторы раста вместо rustc?
Аноним 26/02/23 Вск 17:37:16 2623665 497
>>2623082
Толстый троль, которому поверят только зеленые.

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

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

Это тоже самое как покупать мак или линукс. Хочешь дрочить с дыркой в кармане? Покупай линукс. Хочешь купить ноут и начать работать? Берешь мак. все просто.
Аноним 26/02/23 Вск 18:02:43 2623705 498
>>2573458
На самом деле пугающая херня, которая заставляет задуматься. Для обычного принта используется магия макросов.
Аноним 26/02/23 Вск 18:19:24 2623723 499
>>2584958
Еще в 90-2000 обсуждали эти арены/зоны/контексты.
Оказывается в программе не так много этих областей и кроме статики или области функции, тебе на вряд ли понадобиться более двух, трех областей, где ты мог бы "собраться".

Но в реальности, если тебе надо щупать бизнес логику проще взять язык с гц, а если надо пощупать железо, то древних си и плюсов хватает с головой. Поэтому раст и не выстрелил, несмотря на попытку натянуть его на глобус. Особенно забавно, когда пытаются его в веб пропихнуть.
Аноним 26/02/23 Вск 18:21:08 2623728 500
Аноним 26/02/23 Вск 18:30:43 2623748 501
>>2623665
>Бизнес любит быстро. А ты можешь предложить бизнесу быструю гошку.
Спорно.
Есть бизнес хуяк-хуяк и там рулит typescript, C#, java, python.
А есть настоящее айти, где выравнивание структуры даёт прирост и экономию на железе
Аноним 26/02/23 Вск 18:31:38 2623750 502
>>2573458
Гавноед здесь только ты, потому что можно написать
println!("Sum is: {result1}");
И почти уже твой любимый JavaScript
Аноним 26/02/23 Вск 22:53:37 2624140 503
>>2623723
Какой-то пук ни о чём. В расте, если что, нет арен, ты конечно прямо об этом не заявил, но построение текста намекает.

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

Вот тут можно причаститься как раст не выстреливает в прямом эфире: https://lib.rs/stats

Насчёт веба ничего не скажу, не смотрел. Знаю только что фигма свой бэк с вебсокетами и мультиплеером на расте написала. Веб сегодня довольно разный.
Аноним 27/02/23 Пнд 02:37:08 2624228 504
Изначально идея Си компиляторов как можно меньше проверять код, то есть они доверяют всё человеку за компьютером, и не прощают только глупые ошибки.

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

Какая идеалогия вам ближе всего?
Аноним 27/02/23 Пнд 03:07:03 2624233 505
>>2624140
> В расте, если что, нет арен, ты конечно прямо об этом не заявил
Был бы твой мозг сложнее чем хлебушек, ты бы заметил что речь идет не про раст, а про vale и арены.

>Вот тут можно причаститься как раст не выстреливает в прямом эфире
Если сейчас пойти в любой экзотический язык, особенно комьюнити, начнет складываться ложное впечатление, как-будто он активно развивается и вот вот станет очень популярным (если не уже, в их умах). На деле же, за столько лет (уже вроде больше 8?), раст мало чего путного достиг и топчится где-то внизу спроса, простреливая где-то благодаря хайпу и неокрепшим умам тех, кто его на работу протащил (от чего бизнес еще взвоет).
Аноним 27/02/23 Пнд 03:30:18 2624236 506
>>2624228
Дело даже не в том, что кто-то анализатор умудрился прикрутить к компилятору, большого ума не надо (хотя на деле концепция владения живет только для хеллоу ворда, а весь код у тебя из ссылок и костылей в виде Rc). А в том что раст накладывает на разработчика лишнюю нагрузку. Даже если ты себя надрессируешь, тебе все равно придется писать в рамках баран-чекера в тех местах, где он по сути и не нужен.
Если в С++ есть все те же инструменты и они опциональны и восстребованы только когда реально нужны, то в расте ты всегда зажат в рамках узкой парадигмы, словно в каком-то трубопроводе.

И да пиарщики раста умудрились надрессировать комьюнити так, что ошибка с аллокацией памяти, стало прям главной проблемой тысячелетия в разработке ПО, но на деле же любой управляемый язык давно избавился от этой проблемы, но код безопаснее от этого не стал ниразу. там, кстати, свои пиарщики и возвели другую проблему в абсолют, проблему с наллами (null), но затирание буллшитов ровно такое же
Аноним 27/02/23 Пнд 03:45:14 2624240 507
>>2624233
Не завидую тебе, везде нужно бизнес какой-то из жопы вытаскивать и переписывать всё на с/с++ чтобы точно популярно стало. А то понапринесут своего пидорства новомодного, ууух суки.

>>2624236
С хуя ли Rc это костыль? Там где не надо борроучекер, там и используй Rc. Будет почти как в обычном gc-языке как в свифте. Даже крестолуддиты не чураются shared_ptr. Очередной пиздобол с общими фразами про хайп, неспособный разобраться в вопросе.
Аноним 27/02/23 Пнд 05:57:25 2624249 508
>>2624236
>Если в С++ есть все те же инструменты и они опциональны и восстребованы только когда реально нужны, то в расте ты всегда зажат в рамках узкой парадигмы, словно в каком-то трубопроводе.
Да-да, большинство С++ программ крашатся первые 15 лет
Аноним 27/02/23 Пнд 11:41:49 2624400 509
Стикер 63Кб, 450x378
450x378
>>2624236
>а весь код у тебя из ссылок и костылей в виде Rc
У меня не состоит, сейчас ide открыта проект на 84 файла только в двух местах обернул в Arc<Mutex<>> и то из-за асинхронности, остальное всё контролируется бороу чекером. Другие проекты примерно также. Что я делаю не так? Как я по твоему должен писать на расте?

>Если в С++ есть все те же инструменты и они опциональны и восстребованы только когда реально нужны
Шизик тебя с этим обоссали уже несколько тредов подряд, ты специально приходишь мочу пить?
Аноним 27/02/23 Пнд 12:00:06 2624412 510
>>2624240
Очередной дауненок который не может в отличие Rc и ARC, если бы ты знал, как работает свифт, не писал бы хуйни.

Кстати, раз затронули язык. После ?? и анврапных конструкций раст выглядит ублюдущно. Имхо.
Аноним 27/02/23 Пнд 13:03:16 2624447 511
>>2624400
>в двух местах...и то из-за асинхронности
>Что я делаю не так?
Устройся на работу и начни уже программировать. Кому ты нужен с пет проектами с асинхронностью в двух местах.
Аноним 27/02/23 Пнд 13:09:44 2624450 512
>>2624249
>Да-да, большинство С++ программ крашатся первые 15 лет
Ну да, аллокация памяти сама главная проблема сейчас в разработке (а не говнобюджеты и вечные "херак и в продакшен"), вот в управляемых языках вообще багов нет, ведь там нет проблем с памятью.
Аноним 27/02/23 Пнд 14:11:00 2624522 513
> написал лабу
> пойду ка я в расто тред рассуждать о судьбе программирования, что на самом деле нужно бизнесу и как нужно писать код
Каждый тред всё одно и тоже

>>2624450
>там нет проблем с памятью
может потому что они с памятью не работают?
Аноним 27/02/23 Пнд 17:47:49 2624777 514
Работая с ублюдошным C++ невозможно опознать ошибку на ранней стадии. Скомпилируется - не скомпилируется - надо ебаться с отладчиком на ранних стадиях.

Если запустился rust, то уже уверен в том, что 99% строчек кода работают как запланировал. Единственный конкурент у раста не C++, а golang
Аноним 27/02/23 Пнд 18:26:31 2624839 515
>>2624522
Унизили за пет проект, о котором сам проговорился. Теперь кругом у него студенты. Лучше бы молчал.
Аноним 27/02/23 Пнд 18:33:55 2624844 516
>>2624777
>Если запустился rust, то уже уверен в том, что 99% строчек кода работают как запланировал
Да ну просто новая эпоха в программирование! Решили проблему с аллокацией через анал-карнавал, вроде как с гонкой что-то сделали (больше чем уверен, что тупо черед рид-онли) и на тебе супер-пупер язык с самой безопасной утечкой памяти.

Такое ощущение что ты глупый smm'щик, а не программист, ведь программист то должен знать об управляемых языках и вкурсе, что там чуда не произошло.
Аноним 27/02/23 Пнд 18:57:54 2624861 517
>>2624844
Ты просто боишься потерять работу, ведь скоро тебя заменят раст-кодерами
Аноним 27/02/23 Пнд 19:00:00 2624866 518
Аноним 27/02/23 Пнд 19:02:49 2624874 519
>>2624866
Через пару лет взрывной рост
Аноним 27/02/23 Пнд 19:33:50 2624897 520
>>2624874
Вы можете предсказывать тенденции? Получается если мы сейчас вкатимся, то через пару лет будем как синьоры "духов" джунов на путь истинный направлять и тред будет наравне с плюсами по активности?
Аноним 27/02/23 Пнд 19:51:09 2624911 521
Стикер 127Кб, 467x440
467x440
>>2624447
>с асинхронностью в двух местах
Самый прикол что асинхронность везде, просто когда стучишь на те же сторонние апи и для остальной безнес-логики не нужно все оборачивать в Arc. Достаточно передать то что нужно при вызове внутри tokio::spawn тут либо теряешь владение, либо клонируешь, для мелких json не критично и потом получить результат вызвав futures::future::join_all, а так по сути у меня в Arc обернут только контекст где конекшен к БД и всякие прочие вещи которые нужны везде. А другое место с мьютексом там одна штука для бизнес-логики где асинхронно запись в структуру и нужна мутабельность и лочить. Всё, остальное как я выше описал передали -> получили ответ.
То что ты говнокодишь у себя в плюсах используя везде не GC еще не значит что другие также делают.
Аноним 27/02/23 Пнд 19:52:13 2624912 522
>>2624861
Да его уже заменили джаваскриптизерами лол, вот и жопа горит
Аноним 27/02/23 Пнд 21:03:11 2624971 523
>>2624897
> тред будет наравне с плюсами по активности?
Нет конечно, лабы то никто не отменял
Аноним 27/02/23 Пнд 22:56:14 2625085 524
>>2624971
что такое лабы? это когда препод даёт задачу по программированию? просто в моем инженерном институте мы на лабах со всякими установками возимся и измеряем на йобах 50-летней давности, а программы и прочее я сам дома делаю, даже лучше чем it студенты
Аноним 28/02/23 Втр 11:44:20 2625520 525
>>2624912
Жопоскриптеров скоро заменит иишечка.
Ирония судьбы, натираешь свой питон, а он же тебя потом и задушил.
Аноним 28/02/23 Втр 11:53:16 2625528 526
>>2624861
Смешно, но я больше боялся, что везде обмажут гошкой и придется его есть. Про раст даже не говорим. Были пару додиков, которые до релиза фапали, а потом утихли. Возможно недостаточно хайпуете.
Аноним 01/03/23 Срд 07:17:33 2626459 527
>>2625528
>везде обмажут гошкой и придется его есть
Так так и произошло! Сейчас все крупные русские ит-компанию во всю пишут на нём бекенд и микросервисы
Аноним 01/03/23 Срд 10:29:57 2626531 528
>>2626459
У нас нет, выкинули при первых тестах на производительность. Нереально тормозное говно, при всем своем минимализме (ну или фанбои не смогли нормально написать тест).
Аноним 01/03/23 Срд 13:57:13 2626647 529
image.png 113Кб, 820x1056
820x1056
image.png 122Кб, 1048x984
1048x984
image.png 39Кб, 748x372
748x372
image.png 41Кб, 760x372
760x372
Сап, растач, помоги совладать с borrow checker'ом. Хочу написать функцию, которая добавляет lookup table к вектору (вектор неизменяемый). Ключом в этой lookup table должно быть поле из элемента вектора. Требования на пик 1. Если сделать ключ owned, а элементы вектора обмазать Rc, то все легко и просто (пик 2), но можно ли как-то избежать хотя бы одной доработки? Либо хотя бы без Rc (пик 3), либо хотя бы ключ - не owned (пик 4). Только unsafe обмазывать?
Аноним 01/03/23 Срд 17:19:54 2626790 530
>>2626647
Тут обсуждают насколько раст крут чем С++, с баран-чекером сам епись.
Аноним 01/03/23 Срд 17:57:26 2626829 531
>>2626790
>насколько раст крут чем С++
Настолько крут, что через пару лет все будем на нём писать
Аноним 01/03/23 Срд 23:43:49 2627176 532
>>2626829
Какие к этому предпосылки?
Аноним 02/03/23 Чтв 00:43:05 2627227 533
>>2626647
Либо разделять владение (хэшмапа хранит только хэши строк, значения — индексы), либо разбираться с self-referential structs. Ну либо обмазываться unsafe. Я бы переделал структуру этих данных, зачем там одновременно и Vec и HashMap?
Аноним 02/03/23 Чтв 15:02:47 2627687 534
https://habr.com/ru/company/badoo/blog/420407/comments/#comment_19013235
>Проще говоря, программист на С и программист на машинных кодах выдадут исполняемый бинарник с совершенно минимальными отличиями.

https://habr.com/ru/company/badoo/blog/420407/comments/#comment_19013387
>Так вот судя по их словам, обогнать себя самого на VLIW-ассемблере либо нельзя, либо на считанные проценты, относительно того же грамотно написанного С-кода в связке с оптимизирующим компилятором.
>С даёт результат чрезвычайно близкий к вручную написанным машинным кодам.

Справедливо то же самое в отношении Rust?
Аноним 02/03/23 Чтв 15:21:18 2627696 535
>>2627687
> программист на С и программист на машинных кодах выдадут исполняемый бинарник с совершенно минимальными отличиями
Эээээээ
> С даёт результат чрезвычайно близкий к вручную написанным машинным кодам.
Более чем голословное заявление, есть крайние случаи которые си не может оптимизировать достаточно, есть где наоборот, си какую то супер крутую оптимизацию применит, о которой 99% прогеров способных ассемблер писать и не знают

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

> Справедливо то же самое в отношении Rust?
Неа, чтобы такое выполнялось нужно так называемые "зеро кост абстракшенс", собственно только в си можно более менее сказать что они есть
Аноним 02/03/23 Чтв 15:29:03 2627705 536
Аноним 02/03/23 Чтв 15:31:54 2627709 537
Аноним 02/03/23 Чтв 17:30:52 2627810 538
>>2627687
Rust это аналог плюсов, а не си. Си он максимально прозрачен, ты всё делаешь ручками. Как пример, у тебя нет такого, что при выходе из скоупа непрозрачно исполняется какой-то левый код деструкторов
Аноним 02/03/23 Чтв 17:40:50 2627816 539
Аноним 02/03/23 Чтв 17:41:06 2627817 540
>>2627810
Плюсы это же прокаченный си
Аноним 02/03/23 Чтв 17:52:06 2627824 541
>>2627687
>Справедливо то же самое в отношении Rust?
Код пишут не только для машины, но и для человека. В этом главное непонимание гавнаря с хабра
Аноним 02/03/23 Чтв 18:16:49 2627835 542
>>2627824
сказать что хотел-то?
Аноним 02/03/23 Чтв 18:22:26 2627837 543
>>2627835
1) Хабр кал для гавноедов
2) C хороший язык, но трудно поддерживаемый
Аноним 02/03/23 Чтв 20:44:28 2627951 544
>>2626829
Хайп ушел, а ты все фанбойничаешь.
Языку лет 8, чуда не произошло, хватит эту дурость писать. Это просто еще один экзотический язык на дне рынка.
Аноним 03/03/23 Птн 01:10:58 2628151 545
>>2627227
>хэшмапа хранит только хэши строк, значения — индексы
Хорошая идея, спасибо. Вопрос только в обработке коллизий, но на моих объемах данных это не должно быть проблемой (на моих объемах вообще можно и без Rc обойтись, просто делать clone() везде, но тем не менее).
>зачем там одновременно и Vec и HashMap?
Мне нужно иметь возможность как выводить весь список элементов (они отсортированы по другому полю), так и быстро получать конкретный элемент по его id. На crates.io вроде есть ordered dictionaries, и их использование было бы наиболее правильным решением, но хочется реализовать без сторонних зависимостей.
Аноним 03/03/23 Птн 05:55:53 2628208 546
>>2627951
>Языку лет 8
Напомни, сколько лет прошло перед тем, как Python стал популярным и ВСЕ компании мира начали на нём писать?
Аноним 03/03/23 Птн 08:31:04 2628258 547
Аноним 03/03/23 Птн 09:33:46 2628289 548
>>2628258
При выходе из функции, вызовется деструктор "sd_bus_unrefp" для "bus".
Аноним 03/03/23 Птн 11:51:39 2628363 549
>>2628151
на пик 1 сразу видна проблема. Ты не можешь просто так положить ссылку на стеке в структуру, т.к. ссылка может жить дольше объекта.
или делай отдельный индекс ключей (заодно получишь сортировку по ключам), или клади туда по значению, String например.
Аноним 03/03/23 Птн 12:27:33 2628396 550
>>2626647
>Только unsafe обмазывать?
>
Вместо ссылки на Item кладешь указатель и делаешь функцию типа get(&self, &str) -> &Item, в которой разыменовываешь. Это даже не unsafe, а так, на пол шишечки.
Аноним 03/03/23 Птн 19:33:58 2628799 551
image.png 205Кб, 500x450
500x450
Узнали? Согласны?
Аноним 03/03/23 Птн 20:18:28 2628831 552
>>2628799
ансейф явно виден и легко локализируется, в отличие от аналоговнет
Аноним 03/03/23 Птн 23:36:50 2629047 553
>>2628289
Ну это какой-то специальный предолинг, который я даже не понял как работает. Это_другое
Это расширение от компилятора. Компилятор ещё дает возможность встроить код, который будет выполняться при входу в любую функцию
Аноним 03/03/23 Птн 23:48:54 2629055 554
laughingXzibitu[...].png 1635Кб, 1024x1024
1024x1024
>>2628799
Мы сложили unsafe внутрь safe, чтобы ты мог писать safe и не переживать про unsafe.
Аноним 04/03/23 Суб 04:24:26 2629108 555
>>2629047
> не понял как работает
Там наверное какая то магия на goto
Аноним 04/03/23 Суб 11:41:55 2629258 556
>>2629047
Это не другое, это расширение которое есть в gcc и clang, а развитие стандарта С это буквально постепенное включение в него расширений gnu. Большинство проектов GNU и Linux используют расширения, даже вставку asm нельзя сделать без расширения, они часть языка, но не часть переносимого стандарта, который нужен как для ПК так и для МК.

Помимо этого есть еще интересная фича а иногда баг https://godbolt.org/z/Y7qfjaMaf

>>2629108
https://echorand.me/site/notes/articles/c_cleanup/cleanup_attribute_c.html
Аноним 04/03/23 Суб 20:55:39 2629858 557
>>2629258
> Это не другое
> расширение стандарта
> Это не другое
Аноним 04/03/23 Суб 20:57:39 2629859 558
>>2626647
А нахуй тебе вообще вектор всрался? Почему бы просто не хранить овнед Item'ы в одном хэшмапе? А если нужны конкретные фичи вектора, которых нет в хэшмапе, типа ордеринга, юзай btreemap
Аноним 04/03/23 Суб 21:37:47 2629905 559
>>2628208
Нужно только подождать
Питон из дна вытащили ученые с МО и разводилы для хочух в айти и универы. Каким боком ты проводишь параллели со ржавчиной, мне не понятны. Тоже самое сказать, что за дирижаблями будущее, вон видите как самолеты стали популярны.
Про популярность я бы тоже поспорил, язык безз многопоточности - игрушечный язык, а вебе он так популярен и не стал, пхп до сих пор долю занимает жирную
Аноним 05/03/23 Вск 01:53:19 2630107 560
>>2629859
Элементы отсортированы не по ключу (id), а по другому полю. Чем тут поможет btreemap?
Аноним 06/03/23 Пнд 09:16:43 2631196 561
>>2629858
То есть там код не на С? Понял.
Аноним 06/03/23 Пнд 09:29:14 2631208 562
>>2631196
Не на С
Всё что не удовлетворяет стандарту не является языком С
Аноним 06/03/23 Пнд 09:34:44 2631216 563
>>2631208
Комнатная манька не написавшая ни одной строки, ты?
Аноним 06/03/23 Пнд 13:57:49 2631493 564
>>2631216
Зумерок как факты появится напишешь
Аноним 06/03/23 Пнд 17:14:23 2631704 565
>>2631493
Твои комментарии обо всем говорят
Аноним 07/03/23 Втр 17:42:47 2632822 566
Сап, аноны. Такой вопрос возник, а кто такие системные программисты Rust?
(Я умею пользоваться гуглом, просто определения и рабочие обязанности везде указаны разные, особенно заметны различия между русским и английским толкованием)

Увидел недавно вакансию "Джуниор системный программист Rust", но в описании вакансии из обязанностей указанно только: "Расширение функционала, документации и написание функциональных и модульных тестов на несколько проектов". Хотел бы попробовать свои силы, но не совсем понимаю какой уровень знаний необходим для кандидата.

Я учу Rust 2 месяц, есть несколько пэт-проектов, есть поверхностные знания Go, JS, NodeJs, Java. Очевидно, понимаю теорию алгоритмов (Introduction to Algorithms by Thomas H. Corman - замечательная книга). Ну и так, по мелочам. Знаю как это звучит, в свою защиту хочу сказать, что сам для себя учил, и экспертом себя назвать язык не повернется, но суть понимаю, поэтому считаю знания поверхностными.

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

Подводя итоги, хотелось бы услышать ваши определения того, кто такой системный программист Rust, и что он должен знать. И если не сложно, подсказать что следовало бы учить, если у меня есть желание попробовать себя в этой роли
Аноним 07/03/23 Втр 18:11:32 2632869 567
>>2632822
> пэт-проектов SQL база данных
сам писал, или по гайдам? если по гайдам дай ссыль
Аноним 07/03/23 Втр 18:26:09 2632886 568
Аноним 07/03/23 Втр 18:27:47 2632889 569
Аноним 07/03/23 Втр 18:51:36 2632922 570
Аноним 09/03/23 Чтв 05:49:51 2634402 571
h609ih056ojhtgk[...].jpg 71Кб, 540x405
540x405
>Package: libstd-rust-dev
>Size: 150.846 MB

>Package: rust-src
>Size: 112.247 MB
Аноним 11/03/23 Суб 14:41:10 2636717 572
Привет, работаю разработчиком на Go, в вузе были C/C++ супер-ентри левела, хотелось бы попробовать Rust. Будет ли проблемой то что нет особо понимания плюсов? Стоит ли сначала учить C++?
Аноним 11/03/23 Суб 14:43:11 2636719 573
>>2636717
> Будет ли проблемой то что нет особо понимания плюсов?
Будут проблемы с пониманием того, зачем нужна та или иная фича, что плохо, а что хорошо.
Важно не столько знание C++, сколько опыт программирования на оном
Аноним 11/03/23 Суб 19:02:34 2637151 574
>>2636717
Я сейчас после питона плотно осваиваю раст, все довольно удобно и приятно. Главное - понять логику борроучекера.
Правда до этого у меня были небольшие пет проекты на си и плюсах, но до раста я как то не сильно задумывался о UB, а тут компилятор не дает жопу отстрелить, что радует. Специально без ансейва UB сделать как то сложновато.
Аноним 14/03/23 Втр 22:08:52 2640384 575
>>2629905
Однако сложно отрицать тот факт что питухон приносит денежки многим конторам которые в рот давали мнимым определениям "игрушечного языка".
Аноним 15/03/23 Срд 19:45:39 2641442 576
Аноним 15/03/23 Срд 20:00:30 2641458 577
>>2641442
Одноклассник твой?
Аноним 17/03/23 Птн 01:26:40 2642662 578
>>2641442
Вау, виндертон… это уёбище без хоть какого-нибудь подтверждённого опыта коммерческой разработки и вместе с тем откровенно помойным кодом на гитхабе по уровню не дотягивающим даже до уровня джуна.
Аноним 17/03/23 Птн 16:34:29 2643176 579
>>2642662
Ага

Странно что в комментариях его хвалят.
На гите его собственного кода я не увидел, одни форки.
Не знаешь он выучил с++ за полгода?
Аноним 17/03/23 Птн 23:33:25 2643717 580
>>2640384
Бизнес бы и макаку посадил за печатную машинку, если это было выгодно по обучению и затратам. Не нужно бизнесом мерить ценность языка. Именно из-за бизнеса сейчас и существует такой зоопарк языков, где каждый кустарь пилит одно и тоже, массово деградируя в ширь.
Аноним 18/03/23 Суб 19:48:47 2644591 581
image.png 69Кб, 811x491
811x491
Аноны, а есть инструменты для визуализации памяти в расте типа пикрила?
Аноним 18/03/23 Суб 20:25:21 2644635 582
Аноним 19/03/23 Вск 06:21:03 2644874 583
Аноним 21/03/23 Втр 23:24:49 2648204 584
>>2490347 (OP)
Как выглядит среднестатистический пользователь Rust? Только честно. Сложилось впечатление, что по уровню интеллекта это не очень умные люди. В остальном еще и ебанутые. Примерно как хозяин комнаты на пикче со Столяровым, та что в шапке треда. Ну или как Стив Клабник, такой типичный фрик-пидорок. Интересуюсь для того чтобы понять философию Раста.
Аноним 21/03/23 Втр 23:35:51 2648209 585
>>2636719
Ты имеешь ввиду опыт работы с низкоуровневыми API ОС или что?
Аноним 22/03/23 Срд 00:09:26 2648231 586
1649201653725.png 989Кб, 1564x882
1564x882
Аноним 22/03/23 Срд 00:17:21 2648239 587
>>2648231
Почему так? Бля, у них еще и старухи феминистки в кор тиме. Это пиздец.
Аноним 22/03/23 Срд 15:12:23 2648730 588
>>2648231
Я кстати думал, что это рофл. Но я подписан на пару каналов по расту и там авторы реально чулки носят, ногти красят
Не то, чтобы мне это принципиально было, просто забавно
Аноним 23/03/23 Чтв 01:42:37 2649499 589
Аноним 23/03/23 Чтв 03:48:28 2649563 590
Аноним 23/03/23 Чтв 04:37:53 2649577 591
>>2648730
Все время слышу "мне все равно", "пофиг". Но в реальности речь идет о технически сложном продукте. Меня это правда настораживает.

мимо так и не закатился в раст, ибо как-то получается он мне
ненужон
Аноним 26/03/23 Вск 22:32:23 2653804 592
Смотря на отсуствие некоторых вещей в Расте и потом если посмотреть, что пишут англоязычные кодеры, как аргументацию на счет тех или иных вещей, то сдается впечатление, будто растовчане - это поехавшие фанатики
Это норма или просто попадаются клоуны?
Аноним 27/03/23 Пнд 09:40:31 2653983 593
>>2653804
Если бы ты указал, каких именно вещей нехватает, и кто и чем аргументирует (со ссылками) - мы могли бы это обсудить.
Пока что я вижу только один тренд: повышение интереса растохейтеров к гомоебле и хуйцам, что не может не радовать.
Аноним 27/03/23 Пнд 09:53:26 2653994 594
>>2653983
ну типа возьмем к примеру базовые вещи типа
тернарного оператора или возвращения значения из функции через return
Аноним 27/03/23 Пнд 09:57:39 2653996 595
>>2653994
Ты забыл приложить ссылку на аргументацию англоязычных кодеров.
Аноним 27/03/23 Пнд 10:50:58 2654022 596
Аноним 27/03/23 Пнд 12:20:22 2654090 597
Screenshot2023-[...].jpg 144Кб, 1080x2248
1080x2248
>>2654022
Просто попадаются клоуны.
Аноним 27/03/23 Пнд 12:24:31 2654096 598
Аноним 27/03/23 Пнд 12:36:00 2654110 599
>>2654096
не, ничего. Просто правило хорошего тона условно вместо
fn some() -> i32 {
return 5;
}

писать без return и ;
fn some() -> i32 {
5
}

и мне было интересно покопаться и поискать причины таких решений и прочее, но попуптно встречаемые ответы от коммьюнити порой поражают
Аноним 27/03/23 Пнд 13:06:20 2654153 600
>>2654110
> и мне было интересно покопаться и поискать причины таких решений
Это не фича именно раста, просто функциональщикам нравится такой синтаксис
Аноним 28/03/23 Втр 22:57:18 2655667 601
>>2653994
>тернарного оператора или возвращения значения из функции через return
Но они же как раз вместе работают отлично. Вместо
c = isActive ? 5 : 3;
или вызова функции типа
if (isActive) {
return 5;
} else {
return 3;
}
можно сделать
c = if isActive { 5 } else { 3 };
всего пара дополнительных символов относительно тернарника, зато никакого магического синтаксиса специально для этого случая. Всё обычно.
Аноним 29/03/23 Срд 04:49:21 2655789 602
36c25b1a33c43fa[...].png 188Кб, 1600x1352
1600x1352
Антоны, я обычная питон макака, прошу не считать троллингом тупостью и набрасыванием на вентилятор.
Но нахуя нужны эти ебаные скобочки вместо отступов? В любом случае все и всегда код форматируют под них, придерживаясь определенных правил.
Да, есть моменты, когда в одну строку делаешь еботу и скобочки там нужны, ну сделали бы их опциональными.
Аноним 29/03/23 Срд 05:39:30 2655794 603
>>2655789
Чтобы не сидеть, не выгадывать форматирование, а чтобы ты нажал одну кнопку, и инструмент отформатировал за тебя.
Аноним 29/03/23 Срд 05:42:19 2655795 604
>>2655794
За меня всё это редактор делает, я просто на enter жму.
Аноним 29/03/23 Срд 05:44:30 2655796 605
>>2655795
Мы оба знаем, насколько это приукрашивание правды, а не настоящая ситация.
Аноним 29/03/23 Срд 10:44:31 2655918 606
Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов