Rust #34 /rust/ # OP 3283990 В конец треда | Веб
Добро пожаловать в тред гарантий, обещаний, владения, заимствования и тайных знаков

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/
Rustlings (упражнения чтобы привыкнуть к расту): https://github.com/rust-lang/rustlings
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

Предыдущий: >>3186358 (OP)
2 3284024
>>283990 (OP)
Жаль что раст так и не стал заменой С++, а стал уделом каких-то вообще хуй знает кого, каких-то неформалов, тяночек и пидоров чулочников.
По факту, нахуй надо изъебоваться ублажая компилятор с ебучими ссылками, толку от этого нет. Проще на С++ как писали все так и писать, по скорости нету выигрыша, а гемороя приносит очень ощутимо. Это даже не считая всех минусов типа очень медленной компиляции, большинство либо это биндинги от васяна на сишные либы, если че-то нет придется еще и заебоваться биндинги писать.
Короче хуйня ваш раст, я раньше думал перекатиться, но во время понял, что это мертвый язык с кучей гемороя и околонулевым профитом, к тому же и вакансий хуй. Так что проще как писали на С++ так и писать.

/thread
3 3284035
>>3283999 →

> Ни хуя не понятно, что происходит


Ты траллишь? Это у тебя гора unwrap, неизвестно что делающих и мгновенно роняющие рантайм при некорректном вводе. А нахуя первые два unwrap, если ввода нет? И некорректный ввод - это не ошибка, оно не должно ничего ронять.
В крестовом варианте всё логично и понятно - читаем в цикле консоль пока не получим число, при некорректной строке игнорим ввод и сбрасываем статус stdin.
4 3284045
>>284035

>Это у тебя гора unwrap,


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

>/thread


Нахуй тогда перекатил, гомошизик?
6 3284051
>>3283999 →
20 строчек - это мой микро-сканф, который можно скопипастить и не думать об этом до конца жизни. >>3283688 →

>>284035

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



Ввод с клавиатуры используется только в laba1, laba2 и иногда вплоть до laba7. В реальном коде ты парсишь ссаный ямл или джсон, а на любую ошибку просто посылаешь нахуй.
7 3284053
>>284045

> обработка ошибок


Каких ошибок, шизоид? Ввод пользователя - это не ошибка.
# OP 8 3284056
>>284046
На всем Дваче сидит всего два человека: ты да я.
# OP 9 3284059
>>284024

>стал уделом каких-то вообще хуй знает кого, каких-то неформалов, тяночек и пидоров чулочников.


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

>но во время понял, что это мертвый язык


Ага, настолько мертвый, что правительство США требует рекомендует на него переходить и весь FAANG его поддерживает.
10 3284061
>>284056
Ну просто ЛГБТ тема и там и там, я подумал что пидор у нас один, а оказалось несколько
11 3284067
>>284053
Тебе, долбоебу, комментариями написали что происходит, ты включаешь дурочку.
Почему так? Зачем дурака включаешь?
12 3284068
>>284059

>правительство США требует рекомендует на него переходить и весь FAANG его поддерживает


ахахах смешная шутейка.
13 3284070
>>284059

>Ага, настолько мертвый, что правительство США требует рекомендует на него переходить и весь FAANG его поддерживает


И тебя от этого трясет?
14 3284088
>>283990 (OP)
Не понял переката на 800 посте. Если бамплимит 1к, то рано, если 500, то чего так долго ждали?
15 3284093
>>284067

> комментариями


Заебись язык, когда без комментариев непонятно что он делает. И ты так и не ответил почему ввод пользователя у тебя стал ошибкой, вызывающей панику.
16 3284112
А зачем нужен раст, если есть си?
17 3284113
>>284088

>если 500, то чего так долго ждали?


500, я раньше перекатывал, а теперь как-то хуй забил перекатывать. Пусть ЛГБТшизик трудится
18 3284115
>>284093

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


В твоей олигофрении язык не виноват, там расписали не потому что непонятно, а потому что ты долбоеб и тот анон судя по всему зря старался. Открою секрет что в других языках такие же конструкции встречаются
19 3284138
>>284051

>Ввод с клавиатуры используется только в laba1, laba2 и иногда вплоть до laba7.


Вот кстати да, даже не знаю где применять на практике ввод с клавиатуры, всегда либо cli аргументы для этого есть удобный парсер https://docs.rs/clap/latest/clap/ либо конфиг какой-нибудь, либо gui, либо бекенд куда клиент обращается. Для консольных утили в крайнем случае какой-то вим открывается. Не могу вспомнить ни одну программу которую я запускал в терминале в линуксах чтобы мне пришлось как-то вводить текст через stdin везде либо аргументы 99.9% случаев, либо открывается vim куда нужно что-то писать, остального не припомню.
Вообще представил как на продакшене нужно было бы залазить куда-то по ssh, заходить в контейнер и чего-то там ручками колотить лол
# OP 20 3284737
>>284061
А ты не заметил, что тут анти-ЛГБТ тема?
22 3284805
>>284059

>Тяночек с хуем


в чем разница тян и тян с хуем кроме гениталий
23 3284809
>>284740

>blackpill.usite.pro


Опять поражаюсь, сколько говна может быть в одной голове.
24 3284815
>>284035

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


В крестовом варианте у тебя блэкбокс в реализации оператора ">>". Ты ни хуя не знаешь, что именно пошло не так, что там такое ввёл юзер, в чём его можно поправить.
На расте можно также заблэкбоксить в либе или взять сторонний лефтпад.
Кресты как будто специально делали для тупых студентов-первачей, которым надо чтоб сразу - хуяк, и зачитал с клавиатуры. Проще, чем даже на питоне, где ты сперва получаешь таки строку, а уж потом её парсишь или не парсишь.
25 3284909
>>284815

> блэкбокс


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

> Ты ни хуя не знаешь, что именно пошло не так, что там такое ввёл юзер


С чего бы вдруг. Есть флаги, есть результат операции парсинга, есть сама строка в буфере. Никто ничего не прячет.
26 3284961
>>284909
Ну и сравни. На расте всё единообразно: поставил точку, из автодополнения набрал методов и вперёд. По возвращаемым типам ориентируешься в пространстве. Или на крестах - прочитай пару талмудов, да третий не забудь. И перечитывай каждый день на ночь.
27 3284966
>>284961

> поставил точку, из автодополнения набрал методов и вперёд


А потом ещё удивляются почему код на расте годится только для полного переписывания заново.
28 3285014
>>284059

>рекомендует на него переходить


Там вроде говорили про мемори-безопасные языки, неожиданно, это все языки с ГЦ.

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

только зачем делать из экзамена целый язык непонятно

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

я был неправ, в действительности они просто соглашаются на боль
ну, вот, например - я
image.png28 Кб, 843x390
32 3285055
>>284961

>поставил точку, из автодополнения набрал методов и вперёд


>>284966

>гы гы ни как ф плюсах, а значет плоха


Лол ты такой забавный первокурсничек, кроме плюслов нихуя не видел и словил синдром утенка. Тоже самое в других языках, например в той же жабе вот тебе пример билдера запросов на пике. Точно также ставишь точку, а уже потом автокомплит ide тебе высыпает методы. Все просто и прозрачно ты знаешь у какого метода вызвал метод, ты знаешь что вернется, даже зажав ctrl и кликнув на метод ты в любой ide провалишься в метод и посмотришь что он делает и этот подход придумали еще в 90е. Тоже самое в пыхе, жс при всех его особенностях, питоне, шарпах и тд

>>285040

>и адом зависимостей


У сишки ад зависимостей ложится на плечи пользователя, возьми линукс, например Arch который трудится год и набери pacman -Q там охуеешь от количества однотипных библиотек в зависимостях, а в винде каждая программа чуть сложнее калькулятора это своя отдельная помойка на гиг говна
33 3285060
>>285055
а может это всё-таки плохое апи, если для эффективного командования человеком тебе надо знать, как бутерброд превращается в какашку?
если ты понимаешь, что я хочу сказать
34 3285098
>>285055
Чуть не блеванул со скрина. Почему код выровнен вправо, ты на арабском пишешь?
35 3285100
>>285014

>асинхронной разработке


>множество ядер


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

Ну и чтобы ты сдал таки сессию и шокировал доцента познаниями. Асинхрон, это про использование мощностей процессора при тормозном io - сетевом, дисковом или ещё каком. Условно, проц сплюнул пакет данных в буфер сетевухи и, пока клиент их подсасывает, поставил поток на паузу и пошёл обрабатывать следующий. Вот чтобы тебе как программисту этим вручную не маяться, всё это обернули в сахарную оболочку асинхрона.
36 3285142
>>285098
Это пример из интернетов, взял sql билдер чтобы долго не искать. Слишком запутанно для новичка согласен, там в метод передается еще один билдер и делается подзапрос, ты похоже с sql не знаком.
Вот попроще примеры на разных языках. Такой подход используется везде, вообще советую в учебных целях попробовать java или C# тогда некоторые вопросы отпадут
37 3285145
>>285060

>если ты понимаешь, что я хочу сказать


Ты много чего хочешь сказать, только сказать чего-то вразумительного у тебя не получается
38 3285178
>>284805

>Если бы у бабушки был хуй...


Пукнум Вадимыч, Вы?
>>285040
Раст в хуилион раз проще Си.
39 3285181
>>285060

>если понимаешь о чем я хочу сказать



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

Иди нахуй, долбоеб.
40 3285287
>>285178

>Раст в хуилион раз проще Си


Хуя даун, проще си вобще ничего нет, лол
41 3285302
>>285287
Тогда проще машинных кодов ничего нет, лол. 0 и 1 комбинируешь, хуяк-хуяк, симплисити.
42 3285323
>>285302
Ассемблер хоть раз в своей жизни видел?
43 3285410
>>285287
Когда пишешь хэлоуворды, как только что-то сложнее так начинается полнейшая боль в поддрежке
44 3285412
>>285410
Как от этого меняется сложность языка?
# OP 45 3285601
>>285021
Больно маня?
# OP 46 3285603
>>285014

>будущее за языками с зелеными потоками, которые не красят функции


Что такое зеленые потоки и как можно красить функции?
47 3285915
>>285412
Если в Си так просто не дать компилятору выстрелить тебе в затылок, то зачем было создавать всякие джавы и прочие пидорасты?
48 3285964
>>285915
Какое это имеет отношение к сложности языка? Ты поехавший или что?
В си буквально из семантик необходимо знать ветвление, циклы, функции структуры и указатели и все

Этоь язык буквально может студент 3-4 курса реализовать как курсовую/диплом
49 3285978
>>285964
На расте ты тоже можешь писать, зная только

> ветвление, циклы, функции структуры и указатели и все

50 3285991
>>285964
Ебанутый зверёк, плез. Язык - это всё от стандарта до тулинга и до горящей жопы от охуительных приколов конпелятора. Писатель лаб на Си судит о всей отрасли, спешите видеть. Раст тем и хорош, что решает 89% проблем, которые есть в Си, но плох тем, что добавляет новые.
51 3285998
>>285978
И при этом не надо знать хуилон подводных камней, не надо всякие рулбуки по типу мисры смотреть, всё есть искаробки.
52 3286013
>>285991
Ну в твоём манямирке можешь хоть какие определения языка придумывать

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

>>285998
Каки е подводные камни в си тебе надо заучивать? Что ты там себе в ногу выстреливает? Поинтер разыменвываешь? Или что массив это указатель?
Ты с плюсами не перепутал ничего?
53 3286016
Зумеры думают что простота языка = простота написания кода
54 3286035
>>286013

>количество семантик


Тебя не заставляют использовать все семантики.
55 3286043
>>286035
Но знать ты их должен
В их знании и заключается знание языка
56 3286073
>>286043
Раст любит тебя и без знания всех семантик.
Сириусли, чтобы кодить на расте тебе не нужно вот прям знать его досконально. Единственная семантика, даже скорее принцип - концепция владения и одалживания.
57 3286113
>>285412
>>285915
>>285991
Дополню что в более сложных проектах есть взаимодействие разных людей, управление зависимостями, CI/CD, линтеры и прочие такие штуки которых нет в хэлоувордах и программах чтобы показать как я у мамы хакер.

В сишке и плюсах нет нихуя, вот например на собирай в голове makefile чтобы понять чего там и как собирается https://github.com/ImageMagick/ImageMagick/blob/main/Makefile.am или попытайся прочитать 14 тыс. строк уже сгенерированного говна https://github.com/ImageMagick/ImageMagick/blob/main/Makefile.in
В убунте 6 версия последняя на тот момент, а нам нужна была 7 из-за чего решили из исходников собрать. У нас эта хуйня как-то в докере то ли ставилась хуй пойми куда, то ли зависимостей не хватало уже не помню чего там надо было посмотреть, девопсы ебались и в итоге выкинули на хуй заменив https://crates.io/crates/image
И так с любой сишной программой и библиотекой, если нужно собирать бинарник, то сука каждый проект ебучее приключение. А еще ебучие зависимости, которые нужно дополнительно ставить через пакетный менеджер в систему, а не при сборке. А еще там любят писать свои велосипеды разной степени встратости вместо уже 1000 раз написанных решений.
58 3286147
>>285998

>знать хуилон подводных камней


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

Для сравнения вот буквально пример схожего софта https://github.com/nginx/nginx и https://github.com/cloudflare/pingora

На си в конечном итоге каждый файл с кодом в тысячи строк кода, большая часть решение примитивных задач, которые уже решили. Всякие вот такие штуки типа руками скопированная реализация алгоритмов со ссылкой на оригинал, вместо вменяемых управлений зависимостями https://github.com/nginx/nginx/blob/master/src/core/ngx_md5.c#L3 Архитектура хуй пойми какая от проекта к проекту разная. Сборка представляет собой кучу баш скриптов. Где и скать тесты, где бенчмарки, какие зависимости, какие бинарники собираются это нужно знать конкретно в этом поекте, одного места где это было бы написано и где бы это лежало нет

На расте все в одном воркспейсе, разбито по крейтам, крейты по модулям, модули по файлам больше 500 строк кода в файле редко где встретишь. Все расписано в Cargo.toml https://github.com/cloudflare/pingora/blob/main/Cargo.toml Тесты, бенчмарки и во всех проектах будут в одном месте
1689713249283.png60 Кб, 1130x485
59 3286163
>>286113

> В сишке и плюсах


В крестах никто не генерирует makefile, даже на сишке уже все свежие проекты на ninja. А в симейке всё что ты перечислил есть.

> ImageMagick


Специально откопал 20-летнию либу?

> И так с любой сишной программой и библиотекой


Сейчас для любой либы база это симейк, любая либа подрубается двумя строчками билд-скрипта. Хоть прям из гита нужную ветку подрубай, само соберётся. Пикрилейтед как подрубается крупная либа вместе с CUDA и всеми зависимостями, на любой ОС, и так литералли во всех либах. На расте чтоб собрать CUDA-код надо знатно выебнуться, а за пределами линукса вообще скорее всего нихуя не выйдет.
>>286147

> nginx


> схожего софта


Давай ещё ffmpeg откопаем какой-нибудь.
60 3286166
>>286163

>Специально откопал 20-летнию либу?


>Давай ещё ffmpeg откопаем какой-нибудь


Давай принеси сюда крупный проект на C который вышел за последние пару лет
image.png143 Кб, 955x886
61 3286169
>>286163

>ninja


От одного сайта дедами из GNU воняет, но я подожду когда ты принесешь правильно написанный крупный проект на C который стартанули не так давно
62 3286192
>>285100
Теже г/корутины позволяют хорошо утилизировать процессор, чем ос-потоки. Сейчас основной бизнес это веб, а он асинхронный. Кстати изначально раст был с гринтредами, но теперь с асинхронной частью у раста большие проблемы.

А дробилку можно даже на сях написать, там в алгоритме обосраться с памятью будет трудно я уверен что и раст-дробилки пишут на ансейвах ибо не такой он уж зеро-кост в некоторых моментах.
63 3286197
>>285142
Зумеры придумали sql-билдеры
@
Пишет ровно такой же Sql-запрос, но через оператор-точка.
@
Теперь мы ограничены возможностями билдера и его корректностью работы.
@
Зумер доволен.
64 3286201
>>285978
Первый же хеллоуворд упирается в макрос, лол. А печатая стектрейс, мы получаем main вообще в середине списка вызовов.

Абстракция над абстракцией, погоняющая абстракцию. Очень системненько.
65 3286203
>>286197
Суть была показать синтаксис для студента сишника, чтобы долго не гуглить и не писать самому взял билдеры из разных языков.
А в целом да в них смысла нет, если ORM при помощи классов/структур помогает быстро крудошлепить, то билдеры абсолютно нихуя полезного не делают, идея якобы можно сменить одну БД на другую и типа пройдет бесшовно, но на практике при смене БД по пизде идет половина софта, поскольку оптимальные таблицы и связи будут для каждой БД свои, что придет к переписыванию моделей
66 3286207
>>286073

>Раст любит тебя и без знания всех семантик.


Ваш манямир треснул об макросы, несите новый

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


Чтобы кодить, надо уметь сорцы читать, а чтобы читать чужие сорцы надо знать все об языке.
67 3286218

> си проще раста


> Аряяяя это не так


> Ну то есть да, раст сложнее, но ты сложное не используй))


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

> А вот сиай сиди, взаимодействие с другими, билд система


Буквально какое отношение к языку имеет??

> А вот в си надо знать много подводных чтобы себе ногу не выстрелить!!!


Список подводных камней си в студию
сравним со списком раста
68 3286237
>>286207

>макросы


А ты игнорируй макросы. Пиши как на сях, кто не даёт?

>Чтобы кодить, надо уметь сорцы читать


Это, чтобы понять, как на плюсах cin/cout работают, надо в талмуд одним глазом глядеть. А на расте тебе одних хинтов в IDE хватит.
69 3286238
>>286013

>надо заучивать?


Например, никогда не использовать тип int.
70 3286248
>>286113

>Makefile.am


Пчелик, это не make, это плагин для автотулзов. Мэйк как раз прост (если не лезть в дебри совместимости), буквально удобный молоток.
71 3286251
>>286147
Си - язык богов, как сказал Линус Торвальдс, поэтому на нём лучше не писать.
72 3286265
>>286237

>А ты игнорируй макросы. Пиши как на сях, кто не даёт?


Я не пишу, другие пишут, скажи им чтобы не писали.
73 3286267
>>286238
а, тебе даже такое надо заучивать? голова то не лопнет?

>>286237

>а ты игнорируй макросы


> а ты игнорируй референсы, используй поинтеры


> ой блин ну тут надо тебе почитать что такое ансейф...


> а ты игнорируй лайфтайми


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


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


> кто не дает?



>А на расте тебе одних хинтов в IDE хватит


Не язык, а сказка, первый язык программирования где не надо читать чужой код
Почему этот пункт все еще не в килерфичах раста?
74 3286323
>>286267

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



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

А при работе с чужим кодом на Си просто уметь прочитать конкретную функцию бывает недостаточно.
75 3286336
>>286323
ого, я могу лабы писать даже код не читая, нереально круто!
76 3286611
>>286336

> лабы писать даже код не читая


То что ты посты пишешь не читая ответы это точно
77 3286651
>>286611
чел, ты на ответ что не зная языка хуй ты нормально чужой код будешь читать, начал заливать какие то истории о том что НЕ НУЖНО
сьебись уже с позором
78 3286659
>>286651
Я тебе ничего не заливал, если хочешь чем-то залиться могу поссать за воротник
79 3286666
>>286659
каждый пост всё тупее и тупее
80 3286825
Сап растеры, только начал раст почитывать. Прочитал, что, дескать, нельзя больше двух изменяемых ссылок создать. А как же тогда из разных потоков над разделяемым ресурсом действия осуществлять? Взять хоть базу данных какую-нибудь, а точнее ссылки на объекты обвязки над базой или колбэки, которые работают с ссылкой на обвязку над базой.
81 3286833
>>286825
Читай дальше.

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


Обычно ты не хочешь этого, серьёзно. А когда реально хочешь - будь добр изъебнуться чтобы захватить владение ресурсом, взять изменяемую ссылку, поменять объект и отпустить его так чтобы остальные потоки не получили промежуточное значение.
Наприме, через https://doc.rust-lang.org/std/sync/struct.Arc.html
82 3286845
>>286825
Гугли Mutex, обычно используется совместно с Arc Arc<Mutex<T>>, если просто потоки, то бери из std. Если асинхронно работаешь, то рекомендую крейт tokio там все есть
83 3286980
>>286825
Через очевидный ансейф.
84 3286992
>>286825
Забей, в расте чтоб что-то сделать, даже малейший пук, тебе надо обложиться тонной крейтов и костылей
1592259523252.png26 Кб, 651x327
85 3287280
Почему растаны никак не перепишут свой компилятор на расте? Почему до сих пор сидят на C/C++?
86 3287285
>>287280
Ты что то перепутал
87 3287295
>>287285
Ничего не перепутал, LLVM на крестах написан и он используется растом для компиляции в нативный код, вот через неделю на LLVM 19 перейдут с 18 версии.
88 3287305
>>287295
Я про то что ты вообще не то открыл
89 3287341
>>287280
Для чего переписывать?
90 3287343
>>287280
Cranelift
91 3287613
>>286833
Аrc же вроде иммутебельный, нуна еще костыль refcell прикрутить.

А вообще забавно, шаг в сторону и мы уже сборщик мусора используем. Нам точно надо противопоставляться Си?
92 3287619
>>287613

> Нам точно надо противопоставляться Си?


Судя по тому что основные проекты - это веб, то надо скорее жвм противопоставляться.
93 3287627
>>287619
Только осталось продать меморисейфити джавашарпам.
Там точно это купят, парни не знают о последних достижениях в борьбе с сигфолтами и UB, эти плебеи до сих пор небезопасно пишут. Думаете забавно? А мне фанатик раста на полном серьезе предъявлял, что раст безопаснее жабошарфов.

Эксперимент раста затянулся, я думаю, еще потыкают его какое-то время, а потом на базе работы над ошибками высрут что-то среднее между растом и сями. Ну или зиг получить крупную поддержку.
1607519251116.png98 Кб, 882x1039
94 3287645
>>287627

> потом на базе работы над ошибками высрут что-то среднее между растом и сями


Уже. В следующем году Карбону планируют выпустить рабочий компилятор, в 2026 стабилизируют дизайн языка и дальше будут идти к стабильному релизу. Вместо "перепишем весь существующий софт" упор на полную совместимость с крестовым кодом, как это у котлина-джавы. Синтаксис почти как в расте.
Безопасность тоже будут реализовывать, но пока все силы брошены на компилятор.
https://github.com/carbon-language/carbon-lang/blob/trunk/docs/project/principles/safety_strategy.md
95 3287758
>>287619

> Refcell


> Сборщик мусора


Проиграл
96 3287919
>>287613

>шаг в сторону и мы уже сборщик мусора используем


Шизы скоро договорятся до того, что free и malloc - это тоже сборка мусора.
97 3288144
>>287627
Раст безопаснее джавы, в которой по дефолту нет защиты от ConcurrentModificationException. Безопаснее в плане UB, а не в плане уязвимостей.
98 3288163
>>287758

>Проиграл


Начинай уже выигрывать, речь про Arc, и ты это знаешь, что это сборка через подсчет ссылок. В питоне нечто такое, только в глобальном масштабе.

А вот refcell это местный инцел костыль, который превращает статическую проверку во время компиляции в тыкву.
Вообще рекомендую пописать больше чем утилиты grep, чтобы проникнуться во всю красу раста и прочувствовать все эти костыли во время рефакторинга с погружением в удивительный мир лайфтаймов.
99 3288173
>>288144

>нет защиты


>ConcurrentModificationException


Вот непонятно, вы тупые или промытые?
Когда начнет сегфолить вместо управляемого исключения, тогда и приходи.
image.png14 Кб, 1003x48
100 3288175
>>287919
Не юли.
101 3288179
>>288163

> речь про Arc


> В питоне нечто такое, только в глобальном масштабе.


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

и не надо никакие деревья строить, не надо проходить по нему чтобы мертвые ссылки собрать, не надо stop the world делать, просто хуяк подсчёт ссылок и готово
102 3288183
это же насколько нужно быть хлебушком чтобы даже не понимать как сборщик мусора работает
103 3288191
>>288175
Когда говорят о сборщике мусора, подразумевают рантайм, который управляет всей памятью и отслеживает все создаваемые объекты. А подсчет ссылок - это, блять, подсчет ссылок. Просто еще один контейнер из std, которым даже пользоваться не заставляют.
1602153766772.png656 Кб, 1808x1397
104 3288239
>>288191
Похуй что ты там подразумеваешь. Подсчёт ссылок - это тоже сборка мусора.

> Although many languages integrate GC into their compiler and runtime system, post-hoc GC systems also exist, such as Automatic Reference Counting (ARC)


> Reference counting garbage collection is where each object has a count of the number of references to it. Garbage is identified by having a reference count of zero. An object's reference count is incremented when a reference to it is created and decremented when a reference is destroyed. When the count reaches zero, the object's memory is reclaimed.


Если тебе не надо вручную убирать мусор - значит есть сборщик мусора, а циклы сборки мусора или ARC там - это детали реализации. Просто циклы быстрее чем ARC, потому что не требуют затрат на очистку сразу же, а рантайм может когда надо асинхронно почистить.
В вебе раст на сколько быстрее джавы? На 20%? При этом actix даже медленнее джавы, на одном уровнем с ASP.NET. C ARC раст совсем бы отсасывал джаве. Вот у думойте с кем там может раст конкурировать.
105 3288246
>>287613

> сборщик мусора


>>287627

>продать меморисейфити


Ну ведь из треда в тред одно и тоже, даже уже как-то не смешно, давай чего-нибудь новенького
106 3288251
>>288183
Это местный шиз, он студент, который нихуя не понимает, но много пиздит. Его просто нужно поменьше кормить
107 3288255
>>288239
А где сишка с крестами в бенчмарке, они должны быть где-то в первых рядах и вообще что там делалось, смотрю чего-то там с постгресом, где-то нет. К постгресу можно разными способами подключатся и разные запросы делать. Хотя брать чего-то где-то из контекста приносить сюда рассказывать такой раст хуевый это в стиле шиза фанбоя этого треда.
Покормил
108 3288257
>>287645

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


Если гугл не закроет, то возможно
109 3288269
>>288239

>Если тебе не надо вручную убирать мусор - значит есть сборщик мусора, а циклы сборки мусора или ARC там - это детали реализации



А межконтинентальная баллистическая ракета Сармат очищает память сама, когда ебашит над Вашингтоном, значит в ассемблере тоже есть сборщик мусора.
1608998156190.png811 Кб, 2000x1356
110 3288275
>>288255

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


Это бенч запросов через фреймворк с получением данных из базы. Сишка с h2o наверху, да, но кресты сосут у джавы, убрал их из фильтра.
Пикрил без базы, просто HTTP-запросы голой страницы. В этом тесте, например, PHP далеко внизу с лучшим результатом в 18%.
Я это притащил просто чтоб показать что цикличный GC в вебе не мешает производительности, а иногда даже наоборот. Есть ситуации когда RAII хуже чем просто оставить валяться память неосвобождённой для последующей сборки GC.
111 3288282
>>288275

>Есть ситуации когда RAII хуже чем просто оставить валяться память неосвобождённой для последующей сборки GC.



Повезло, что Раст не заставляет использовать ни RAII, ни ООП, ни любой другой баззворд, ведь это не какая-то скриптуха с гвоздями прибитым рантаймом как Го.
1585716494167.png252 Кб, 1703x548
112 3288284
>>288282

> скриптуха с гвоздями прибитым рантаймом как Го


Тем не менее китайский фреймворк на ГОвне ебёт по производительности раст.
113 3288356
>>288275

>Я это притащил просто чтоб показать что цикличный GC в вебе не мешает производительности


Это да, большинству должно быть похуй на наличие ГЦ. С подобными проблемами в гошке сталкивались пожалуй только в дискорде, но там у них стримы, чаты на вебсокетах и прочая специфичная залупа, которая крутится 24/7, большинство веба работает реквест-репонс по http, там несколько милисекунд лагов никто даже не заметит.
PS actix отсосал из-за того что там diesel, а он не асинхронный https://github.com/TechEmpower/FrameworkBenchmarks/blob/master/frameworks/Rust/actix/Cargo.toml#L30
1667748814289.png80 Кб, 1810x182
114 3288363
>>288356

> actix отсосал из-за того что там diesel


Там отдельные тесты с дизелем и токио. Дизель вообще кал, да.
115 3288383
>>287645
Все эти синтаксисы, ну срать же, какие там технологические плюхи будут? Что решили с памятью делать? Анально прибить баран чекером или же просто поинтеров раздать?

И скажите уже, почему нельзя сделать дебаг аллокатор, который бы в режиме разработке ловил утечки и выходы за границы? Ну можно же анализаторов накатить, не обязательно же дрессировать кодеров?
116 3288384
>>287645
Когда-нибудь мы победим точку с запятой.
117 3288387
>>288179
Ну будет это в цикле долбится и будет дергать каждый раз подсчет. У питона вроде такая же модель и стоп-зе-ворда нет же? Котлин-нейтив вроде тоже, но могу ошибаться.
Это самая быстрая модель, ее минус только в циклических ссылках.
118 3288388
>>288284

>ебёт по производительности


0.01% - это уже "ебёт"?
мимо
119 3288389
>>288191

>Когда говорят о сборщике мусора, подразумевают рантайм,


Ты так сказал?
120 3288391
>>288246
Так не отрицайте и все будет норм. А то у вас даже жаба менее безопасная оказалась.
121 3288398
>>288388
Как минимум удивляет и заставляет задуматься, зачем мне раст, когда гошка не приносит оверхеда в разработку и долгой компиляции. а еще не надо красить асинками все функции, но проблему покраса понимают единицы. так что опустим
122 3288451
>>288383

> Анально прибить баран чекером или же просто поинтеров раздать?


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

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


Вот это и сделают, вместе с проверками дата-рейса.
123 3288472
>>288269
Евгений Ваганыч, ну зачем вы к нам? Вернитесь в телевизор, развлекать бабушек.
124 3288473
>>288451
Звучит интересно, особенно интероп с плюсами.
image.png20 Кб, 1214x73
125 3288481
То есть, проблема то есть. Да? Мой синеволосый друг.
# OP 126 3288493
>>288481
Да что за Carbon-то?
127 3288497
128 3288502
>>288493
https://github.com/carbon-language/carbon-lang/
Попытка гугла сделать правильный раст, сам раст у них похоже не взлетел, хоть они и вкладывались в него.
129 3288589
>>288173

>управляемого исключения


ConcurrentModificationException , это такая ебола, которая если и управляемая, то весьма условно. Во всяком случае, конпелятор жабы тут тебе не подскажет, где его ждать, а где нет. Данные целые, но прога вылетела - какая мне-то разница?
image.png511 Кб, 1474x648
130 3288604
Уже обсуждали это предательство?
https://www.youtube.com/watch?v=NAOOGB1q6uQ
131 3288608
>>288604
Похуй, одним косоглазым патлачом стало меньше - победа всего раста. Зиг это и так уже диагноз.
image.png26 Кб, 902x272
132 3288630
>>288589
На вершине промышленной программы стоит дедовский catch (Exception e), который залогирует место, время и запах твоих ног и потом еще восстановится, сказав юзеру о временном сбое (а если ошибка была плавающая, юзер даже не расстроится и продолжит работать).
Но благодаря этому логу, дядя сеньор уже сидит и фиксит багу.

Это для тебя, ребенка, эксепшен что-то страшное и ужасное, как паническая атака в расте. Для кодера на нормальном языке, это средство диагностики. А теперь иди выведи стектрейс хеллоуворда своего сраста и поешь говна.
133 3288641
>>288608

>Зиг это и так уже диагноз.


Почему?
134 3288693
>>288391

>А то у вас даже жаба менее безопасная оказалась.


Куда нам тягаться до того же Log4j
135 3288700
>>288493
Убица плюсов из гугла, которую не успели прикрыть эффективные менеджеры
136 3289074
>>288693
Лол, а ты думаешь на расте софт сразу пишется без ошибок и уязвимостей? Фанбоев надрессировали на фразу "безопасность" с доступом к памяти и они реально думают что у них вдруг самый безопасный язык встал.

тут должна быть ссылка на ишью с уязвимостью раста нерешенная с 2015 года, но мне лень.
137 3289145
>>289074

>но мне лень


Значит её нет
Давай работай, сучка
image.png2 Кб, 200x46
139 3289363
Самое забавное, что успешные менеджеры раста не называют ошибки ошибками, они их называют unsound. Понял, ты, быдло, это в си баги, а у нас unsound!

https://github.com/rust-lang/rust/issues?q=is%3Aopen+is%3Aissue+label%3AI-unsound
140 3289375
>>289328
>>289363
А можно мне лицо того ученого, который доказал что формальный раст безопасен? Или у него там был свой, формально правильный раст, а этот ненастоящий?
141 3289380
>>289363
Да и манёвры с realistic subset тоже смешные. Та часть раста где нет багов и она безопасная - реалистик, а остальное нереалистик, оно и должно быть дырявым говном. И в чём тогда отличие от UB? UB хоть с стандарте зафиксировано, а как я должен реалистичность раста почувствовать?
142 3289381
Сам ишью (осторожно, небезопасно для манямирка)
https://github.com/rust-lang/rust/issues/25860
143 3289412
Чем дальше копаешь тему, тем больше ржавого дерьма находишь.
Молниеносно 🔥 быстрые 🚀 уязвимости памяти, написанные на 100% безопасном Rust.
https://github.com/Speykious/cve-rs/tree/main

Это все надо в шапку.
144 3289438
>>289412
Там достаточно зайти в ишью и можно найти кучу багов с лайфтаймами и типами.
Или вот такую хуйню, когда раст позволяет безопасно проверить адрес указателя, но оптимизатор выкидывает проверку и возвращает false. Буквально как UB в сишке, когда дебаг и релизные билды ведут себя по разному.
https://github.com/rust-lang/rust/issues/130388
145 3289442

> ошибки компилятора


> Ну это типо как ub


Захожу в тред через день, и каждый раз тупость посетителей пробивает очередное дно
146 3289538
>>288630
Ну или у юзера полетели в пизду все данные, которые хранились в памяти, какие-нибудь финансовые транзакции и тому подобная энтерпрайзная чепуха - кого это ебёт, правда?

И, тем не менее, этого сорта паники в расте нет. А всё остальное, что есть из паники в расте - деление на 0 и выход за границы, есть и в жабе тоже. Так что, раст безопаснее, соси, короч.
147 3289543
>>289438
Это, блять, баги. А UB в сишке, это by design, его не выкинешь, стандарт такой, UёBищный.
148 3289547
>>289543

> баги


Если баг не фиксится достаточно долго, то он становится фичей, потому что на него полагается уже существующий код и его тоже теперь не выкинешь, не сломав всем рабочий код. Дыры в системе типов раста тоже by design так-то, о чём тебе и пишут растаны-компиляторописатели что в текущем солвере это не пофиксить.

> fixing it relies on where-bounds on binders which are blocked on the next-generation trait solver. we are actively working on this and cannot fix the unsoundness before it's done

149 3289586
>>288630

>на нормальном языке,


Это какой?
150 3289652
>>289538
Конечно нет, вон выше с 2015 года из рандомной памяти безопасно читают и норм.
152 3289715
>>289710
Почему все хейтерки раста косоглазые?
153 3289722
>>289715
Чел ты нарушаешь код оф кондукт, тебя надо прогнать из сообщества растоманов.
154 3289725
>>289722
Кок только на растанов распространяется, залётных можно хуесосить.
155 3289746
>>289710
>>289715
Этот чел у АйТиДудя с горящими глазами рассказывал про htmx и что за ним пиздец какое будущее, а фронтенд ВСЁ. У себя на канале на эту тему несколько видео снял. А его канал чуть более чем полностью состоит из кликбетных видео
156 3289748
>>289722
Ваще похую, вся это повесточка в языке тупо из-за того что основная часть разработчиков как и фонд находятся в Калифорнии. А в остальных интернетах можно и пиздаюлей получить за кривые глаза
157 3289811
>>289746

>полностью состоит из кликбетных видео


Ты сейчас описал чуть ли не весь топ айти-ютуба. Просто он не знает что его могут отменить, ошибся, бывает.
158 3289834
>>289748

> вся это повесточка в языке тупо из-за того что основная часть разработчиков как и фонд находятся в Калифорнии



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

Нет никаких злобных жиролесбух, которые захватили педеРАСТ, он всегда таким был.
159 3289890
>>289586
Ада.
160 3289903
хочу вкатится в раст в 12 лет поздно ли это
161 3289941
>>289834
Какая тебе разница чего там у них в Калифорнии творится? На политику смотрят те кто это дело спонсирует, а те кто им пользуется смотрят в первую очередь на код, благо эти 2 мира почти не пересекаются
162 3290056
>>289586
Хаскель, ньюфажа.
163 3290258
>>288144
В джаве безопасность на уровне стека, там в рантайме нельзя границы никак нарушить, это обеспечивает архитектура машины (виртуальной). Раст это тупо анализатор при сборке ну и (опциональный) рантайм который границы массивов проверяет, а уже вызовы возвраты перехват управления - нихуя.
164 3290286
>>289941
Ограничат тебе доступ к cargo узнаешь что.
165 3290302
>>290286
ага, щас как ограничат доступ к винде, все сразу на линукс пересядут!
166 3290318
>>290302
Вроде же был момент, что кого-то отменяли и что там по лицензии ты даже не можешь свой крейт удалить и он вообще уже не твой.

Мутная фигня, это ты сейчас такой веселой, а с последней драмой где они гайки закрутили на все кроме маскота, и то потому что он им не принадлежит - все это играет новыми красками и не стоит игнорить их поведение если решаешь бизнес строить смешно, конечно, бизнес и двачер, но все же
167 3290329
>>290318

>а с последней драмой


дедуль... %слоупок.png%

> он вообще уже не твой


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

ну ты сам то в это веришь?
168 3290339
Смотрите, на расте ИГРУ запилили

https://store.steampowered.com/app/2198150/Tiny_Glade/
169 3290342
>>290258
Оке, это не совсем про безопасность, это про панику. В расте тут как минимум на одну неожиданную панику меньше.
170 3290343
>>290329

>дедуль...


Год назад было, ты со своего квадробинга совсем голову отбил.

>мой код


>открытой лицензией


😃😃😃
речь про крейты, в прочем уже не важно, прыгай дальше
171 3290345
>>290343

> речь про крейты


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

> Год назад было


и за год до тебя не дошло что это просто информационный шум ни о чем был? ну посиди еще подумай
172 3290348
>>290339
Прошло 10 лет, такими темпами и линукс перепишем.
Даже не игра, а визуал редактор. Представляю как больно писать на расте игровые скрипты, что осилили только редактор.
173 3290351
>>290348
мда пчел ну ты и токсик, скрыл + зарепортил + написал модерации
174 3290360
>>290345

>и за год до тебя не дошло


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

Мимо дропнули го, когда они по своим хотелками поменяли гц и у нас в новой версии производительность упала в 10-30% а потом еще вопреки сообщества алиасы пропихнули, потому как в тот момент нужно было крупной компании на букву Г. и было срать на мнение всех.

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

> РЕБЯТ ЭТО ОЧЕНЬ СЕРЬЕЗНО, ЧО ВЫ СМЕЕТЕСЬ



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


ага, то то я смотрю сейчас го ахуеть как растёт ахахахах
image.png56 Кб, 1191x742
177 3290371
>>290364
Мега рост на уровне оси Х.
Сейчас бы зоопарк языков в микросервисах считать победой.
178 3290381
>>290371

> question over time


не позорься

> зоопарк языков в микросервисах


это ни опровергает, ни доказывает популярность го, нахуй ты это высрал
179 3290418
>>289834

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


Есть пруф?
180 3290425
хрюша с they/them пронаунсами неликвид автоматически?
181 3290447
>>290286
Пропишу в ~/.cargo/config.toml адрес на зеркало
182 3290448
>>290360
Хуясе ты серьезный дядька
183 3290467
>>290381
Как и твой пост совершенно ничего не говорит, просто пук воздух. Что не так, маня?
185 3290570
>>290467
Ещё один аутяга с отрицательной риторикой
Ты если хочешь рандомную хуету высрать не отвечай на чужие посты, люди думают что это должно как то на их пост отвечать, а не то что шизойд опять сам себе пишет
186 3290635
>>290056
Все никак серьезно за него не возьмусь, штука довольно интересная в академических целях
187 3290655
>>290570
О у нас тут врач. Доктор, я чет выгорел от раста, что посоветуете?
188 3291136
>>290655
Витамин С±±20
189 3292329
>>291136
Это чтобы окончательно чердак потек?
190 3292429
>>292329
Он же не С++26 с рефлексией, корутинами и концептами тебе предлагает.
191 3292482
>>292429

>Он же не С++ тебе предлагает


Я о том и говорю, всегда протираю монитор и клавиатуру салфеткой и мою руки с мылом после того как довелось в эти кресты окунутся
# OP 192 3293164
>>290470
Мда. Пиздец. Ну, с другой стороны, в 2020-ом единственным стеком который не преклонял колени перед BLM, был разве что Delphi.
193 3293227
>>293164

Я еще раз повторяю, это не жиролесбухи набежали и принудили белых консервативных базовых гигачадов что-то сказать и повесить пидорский/ниггерский флаг. РАСТ ВСЕГДА ТАКИМ БЫЛ, таким он задумывался его создателем, все его разработчики и тогда, и сейчас разделяют эти "ценности". Нет никакого принуждения или давления, они конченные сами по себе.

Если вас это устраивает -- Бог в помощь, только не надо маняфантазировать о том, что НА САМОМ ДЕЛЕ Раст не такой.
194 3293268
>>293227
Это вообще везде цивилизованом миретм повесточку буквально пропихивают везде и без вазилина, даже в научные работы. В устоявшиеся языки и фреймворки пропихнуть сложнее, а в новые где не сформировалось сообщество, где нет отцов основателе это влазит как нехуй делать.

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


Есть финансирование, требующее инклюзивность. Например те же рельсы в 5 версии при запуске хэлоуворда показывали на странице людей, а в 6 версии люди поменяли цвет и стали инвалидами, разработка и релиз которой были как раз во времена BLM, в 2019 разгоняли повесточку перед массовыми погромами 2020. В 7 версии убрали вообще всех людей лол. Если уже в руби эта хуйня лезет, то что говорить о новом языке из Калифорнии.
195 3293290
>>293227
Ладно, ты победил. Назови другой компилируемый язык без сборки мусора, с системой сборки для людей, выводом типов, который, блять, работает и живой экосистемой.
inb4 Swift
196 3293296
>>293227
Два чая, раст всегда был для пидоров, не то что рассово-верный, православный С++ созданный белыми, гетеросексуальными, крепкими мужчинами с традиционными ценностями.
197 3293298
>>293268

> Если уже в руби эта хуйня лезет, то что говорить о новом языке из Калифорнии.



В смылсле ЕСЛИ УЖЕ В РУБИ? Нас пронесло, а RoR в конце нулевых начале десятых -- был любимым языком американской сои, до сих пор разгребают это легаси говно. Непонятно твое удивление, как будто рельсы были каким-то оплотом БАЗЫ, там целевая аудитория не сильно отличается от Раста.
VID20241009030955516.mp44,7 Мб, mp4,
768x576, 0:09
198 3293330
двачерам опять лишь бы бросаться в крайности. объективно раст и современные ++ хороши.

только раст будет немного получше
199 3293355
>>293296
Похоже идеи корректности и чистоты в программировании изначально пидорские. Нигде больше такого количества чулочников не видел, чем в функциональщине, пруверах и всяких языках не для смердов.
200 3293395
>>293298

>был любимым языком американской сои


Буквально был как пыха у нас, на рельсах удобно фулстек крудошлепить и его буквально везде использовали во всяких е-комерс проектах. Все начало загибаться когда начали фронт и бек отдельно писать, потерялись преймущества рельс, но вылезли минусы самого руби медленный, GIL, отсутствие асинхронности, возможность насрать нечитабельное и тп, потому и одно легаси осталось. А так базы много навалил для фронтенда, даже coffescript на синтаксис js повлиял.
У нас же для этих целей везде злоебучий битрикс, если руби гейские, то это для мазохистов копрофилов бассейна говна, остальное лара с yii которые +/- по сути те же рельсы
201 3293397
>>293290
Не назовет
202 3293525
Короче походу заебись всё будет - etags поддерживает ваш пидораст.
203 3293773
>>293290
Я тебе скажу даже лучше, есть языки с ГЦ, которые могут если надо можно в указатели подолбиться (и собраться в aot).

А знаешь почему ты не слышал про ансейвы в управляемых языках (в жабе тоже есть нейтив)? Потому что это нужно в 1 случае из 10000 и порой кэш и упорядоченная память в поколениях, да даже просто зарезервирована память работает быстрее чем всякие маллоки, фрагментирующие память.
204 3293778
>>293525
Все кому не лень пиаряться об новые языки. До этого был го, до него руби.
К сожалению, беда все новых языков - это отсутствие качественных долгосрочных либ и от того, что все эти компании запускают свои микро-пуки на растах - больше качественных либ не становится.
раньше поюзают, раньше выгорят
205 3293780
>>293227
>>293296
Так все IT-сообщество сейчас Wokeнутое. Соответственно, все новые языки программирования носят на своем челе клеймо SJW изначально.
Так что, в нигропидорские языки можно записывать и Dart и Go и Swift.
# OP 206 3293781
>>293780
Галка ОПа отклеилась.
207 3293786
>>293780

>Swift


Это вообще отдельная секта, странно што местный педошизик у них в треде не пасется, рассказывая там какие они фанбои. Там мало того что устройства эпл это ебучее говно где все прибито гвоздями вплоть до того что даже нельзя запускать свой брауезр все что есть это нескучные обои над сафари и хуй чего поставишь не из эпп стора. Так и еще чтобы под эти гейфоны писать нужно иметь макбук за оверпрайс, некоторые чтобы вкатиться берут все это барахло в кредиты. И при каждом удобном случае с горящими глазами боготворят всю эту технику. Вот где сука фанбои.
Про ЛГБТ повесточку там уже говорить нехуй там весь топ состав во главе с директором геи
208 3293789
>>293781
Ничего страшного
209 3293825
>>293786
И что в этом плохого? Зато работает все хорошо. У меня айфон купленный в 2018 году работает как новый до сих пор, не смотря на то что весь уже разбитый перебитый ( да я ношу без чехла и стекла )
У них огромный рынок потребителей, они создали свою экосистему которую они развивают и это упрощает им жизнь, потому что не нужно согласовывать тысячи хуевин с другими производителями оборудования\софта.

По такой же логике тебе надо и Sony с их PS и Microsoft c XBox хейтить, там тоже все закрытое и гвоздями прибитое.

А вообще положняк такой:
Tier 1: GNU/Linux
Tier 2: Apple/MacOS
Tier 3: Microsoft/Windows

Если бы у меня не было выбора пользоваться линуксом, я бы лучше эпловской закрытой экосистемой пользоваться, чем индийским spyware дерьмом от мелкомягких.
210 3293844
>>293773

>Потому что это нужно в 1 случае из 10000



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

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

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

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



Тебе уплотнять и резервировать память юристы Оракла запрещают?
211 3293876
>>293844

>И вот в этот момент ты ощутишь на губах солоноватый привкус


Растеру виднее.
Понимаешь, раст тоже не дает ничего, ты так же можешь держать вечноживущий объект в верхней функции, гоняя ссылки или в случае раста, куда хуже, гоняя клоны.

Файлы, ну сахар есть using () {}, еще было локом напугал. Да, раст решает гонку, но какой ценой, столько костылей вокруг мутабельности, тот же Rc<inCell
Юнити, в анриле свой молодежный ГЦ есть. Главное что возможность есть сделать, в случае юнити шарпы там на правах скрипта.

>В общем, все проблемы, которые GC якобы должен решать на самом деле остались


Ламерская мысль - что вот я возьму си, ассемблер или машиный код и буду писать супер быстрый код. Писать оптимизированный код это отдельный скилл и отдельны труд, тот же techempower показывают, что даже написав на-супер-пупер языке можно оказаться на дне. у каждого был такой знакомы, максималист, который хотел писать на ассемблере или даже машинном коде (у меня оба был), или веб на с++, вот вы мне этих знакомых и напоминаете, когда после питона в раст долбится начинаете.
212 3293878
>>293844

>Тебе уплотнять и резервировать память юристы Оракла запрещают?


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

> это практически пол GC руками написать?


GC в JVM ничего не знает о программе, кроме графа объектов, и от него требуется нормально работать с любым валидным байткодом. Ты, я уж надеюсь, знаешь, что делает программа, которую сам же написал, и у тебя это даже тысячной доли усилий не займет. И
заниматься этим нужно даже реже, чем настраивать GC.
214 3293940
>>293902
Опять какая-то абстрактная фигня.
Как уплотнять? Это же лютый менеджмент, а ты сказал это как будто вот сел и напиши. По сути тебе придется писать GC.
215 3293963
>>293940
У тебя есть твоя модель данных, которая лежит в куче. Это или какие-то массивы или деревья или графы. Ты её обходишь и копируешь актуальные данные в другую кучу, старую грохаешь. Не знаю как конкретнее.
Если у тебя веб-сервер, то на каждый запрос своя куча. Если хешмапа, то пересобираешь её, когда накапливается слишком много удаленных ключей.

>По сути тебе придется писать GC.


Тебе в ЛЮБОМ случае придётся писать GС. Но в случае управляемых языков это придётся делать поверх другого GC, который слишком консервативный и всегда будет делать много лишней работы. В этом был посыл >>293844
216 3294034
>>293780

> Так все IT-сообщество сейчас Wokeнутое.



Кроме плюсов, конечно же.

Но все же есть разница, когда поставили пидор/ниггер флаг просто на отъебись, чтобы им мозги не ебали, и когда явные шизики на полном серьезе топят за все это говно. Второе -- это случай Раста.
217 3294189
>>294034

>Кроме плюсов, конечно же.


Аутистам тяжело продвигать повесточку, они живут в своем мирке и игнорируют все окружающее, поэтому туда бюджеты не выделяют
218 3294291
>>3293468 →

>На заводе переписал аппбар, которій используется работягами на рабочих местах для запуска нужного софта и много другого, с js/electron на tauri/rust/typescript.


А Zed'ом пользуешься?
219 3294454
>>294291
Только твоим Zad'ом. Мы же пидорасты тут все.
220 3294455
>>294034
Получается, если не готов сосать хуи и ебаться в жопу, то раст лучше не учить?
221 3294478
>>294455

Сосать хуи и ебаться в жопу тебя никто не будет заставлять, даже если ты начнешь коммитить в Раст. Но лично мне противно пользоваться этой шизохуйней.
222 3294526
>>293778
Шта нахуй?

>etags - emacs tags

223 3294617
>>294455
Если ты маслишь такими категориями, то с такими взглядами на жизнь ты в любом случае обречен сосать хуи, даже если выкатишься из программирования на завод
224 3294620
>>294526
Для имакса лсп не завезли разве?
https://emacs-lsp.github.io/lsp-mode/page/lsp-rust-analyzer/
225 3294633
>>294189
Хуя коупинг
226 3294639
>>294617
Я хотел изучить раст для себя. Программирование для меня хобби. С++ сейчас превратился в монстра и хотелось, что-то более цельное с приятным инструментарием.
227 3294757
Как же пиздато писать на c++ в zede. Лучше чем вскот. Вот бы добавили нейтив cmake support
228 3294783
>>293778

>го


>отсутствие качественных долгосрочных либ


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

> Вот бы добавили нейтив cmake support


а сейчас там как?
клангд просто ищет где то файлик compile_commands.json?
230 3294805
>>294757
Поработал с недельку, простой тестовый редактор в котором нихуя нет кроме примитивной работы с lsp, типичный блокнот. Смотрел как расширения писать, так у них там нихуя нет либо темы пили, либо поддержку языков по сути прокладку для lsp сервера, все. По сути написать нормальные расширения как в VSCode и жыдбрейнсе не выйдет. Там уже несколько ишью есть с вопросом о расширения, но пока ничего не говорят. Вот зато всяких Искуственных Идиотов добавляют один за другим, какую-то совместную работу, авторизацию через гитахаб и прочую хуйню, короче в приоритете монетизировать здесь и сейчас похоже.

Судя по всему история будет как с Atom та же команда пилили свой фреймворк для гуёв, сам продукт какой-то полуготовый так и загнулся, зато Electron теперь везде и всюду.
Так и тут запилили свой гуи фреймворк https://github.com/zed-industries/zed/tree/main/crates/gpui
231 3294814
>>294805
Это так же как с игровыми движками - тот кто пишет игровые движки игр не делает. И тут будет так же, решили что у них будет всё своё с растом и шлюхами, но получится просто нагромождение кода. У майков полно и своих фреймворков гуя, но тем не менее вс-код сделали на электроне, потому что думали башкой как это потом развивать дальше и чтоб проще людям было.
232 3294890
>>294814

>вс-код сделали на электроне,


Который сделала команда Atom, которая сейчас пили zed и точно также пилит свой фреймворк для иде
# OP 233 3294912
>>293786
Самое смешное, когда программисты сортировались по операционным системам, были Windows-программисты и Linux-программисты. А MacOS-программисты, были как внеземные цивилизации - в принципе должны быть, но в глаза их никто не видел.
Сейчас ситуация не изменилась - разработчики под iOS есть, а под Mac OS X не наблюдаются.
234 3294918
>>294890
Какой атом, шизик, это внутренняя разработка майков. Вс-код изначально даже под проприетарной лицензией был.
235 3294983
>>293825

>И что в этом плохого?


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

Это как VIM\emacs индивидуумы пытаются доказать что они продуктивные без IDE) К слову, люблю иногда позалипать на ютубе в таких видосиках и покекать

>>294912

>разработчики под iOS есть, а под Mac OS X не наблюдаются.


Согласен, но не знаю, иос и свифт единственное что меня останавливает, ибо платформа\язык оч хороши

>>293780

>Соответственно, все новые языки программирования носят на своем челе клеймо SJW изначально.


Тоже +, но смотрел сурвей 2023 раста, там 50% лебсух геев и прочего, кекнул с этого. Но на свифте такого нет, максимум на WWDC всплывет клоун транс за 1 сезон, и все. Да и то, в 2024 он не появлялся
236 3295008
>>294918
Я про электрон, его пилила команда из гитхаба для атома, теперь тоже самое делают на расте, пилят гуи для иде. Скорее всего исполнители разные, но вот эффективные менеджеры одни и те же. Вскод появился спустя 2 года после релиза электрона
237 3295015
>>294983

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


Я счастливый владелец Айфона, по сравнению с андроидом тут реально всё гвоздями прибито, а сафари это ебучее говно. Но да, анимация красивая, плавная, за 2 года не тормозит, обои нескучные. С банковскими приложениями отдельная история тоже нескучная

>Это как VIM\emacs индивидуумы


Тут тоже самое, у фанатиков эпл такие же разговоры лол, всё вокруг говно, а они в белом пальто
17261369907300.jpg165 Кб, 720x720
238 3295026
Я так и не понял нахера нужен раст когда есть современные плюсы.
Кому он вообще всрался?
239 3295040
>>295026
там память безопасная из коробки.... да и все в принципе
240 3295077
>>295026
Смешно звучит, учитывая что половина плюсовиков ненавидит новые стандарты и комитет в целом
241 3295078
17278967425130.png270 Кб, 642x563
242 3295137
>>295077

>половина плюсовиков ненавидит новые стандарты и комитет в целом



кто тебе сказал такую ерунду?
243 3295204
>>295077
Это сишники ненавидят их, и линуксоиды, потому что у них нет компиляторов с поддержкой новых фич. У крестовиков всё норм с новыми стандартами.
244 3295221
>>295204

>и линуксоиды, потому что у них нет компиляторов с поддержкой новых фич


Лол, обычно наоборот сначала в линуксах и маках что-то появляется, потом это допиливают под винду, а тут как-то наоборот
245 3295233
>>295015
А что ты хочешь?) Пердолинг?) Так пердолься(без негатива) в андроиде, у меня и гейфон и ведроид и ниче, то один то другой юзаю
246 3295239
>>295137
Плюсовики))

Могу если хочешь даже сказать шаблонные упрёки в новых стандартах

>>295204

> Этот крестовик не крестовик


Так или иначе таких либо большинство, либо около половины
247 3295249
>>295233

>А что ты хочешь?)


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

>Пердолинг?


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

>Так пердолься(без негатива) в андроиде


Следующий телефон будет именно андроид, а яблофон переоцененное говно для фанатиков эпл
248 3295263
>>295221

> а тут как-то наоборот


Лол. В плане стандартов крестов у майков всё сильно лучше. А ещё у линуксоидов часто устаревший gcc в системе, потому что на свежем может какой-то старый сишный код не собираться как надо, какие-нибудь ошибки сборки и подобное, а собирать им приходится каждый день что-то. Когда сидишь с двухлетним компилятором, то о каких свежих стандартах речь? Поэтому они и не переваривают ничего выше С++17, потому что компилятора нет. Шланг вообще сосёт по стандартам даже на свежем компиляторе.
249 3295280
>>294620
У меня эта хуйня (rust-analyzer) не работает.
250 3295289
>>294983

>emacs


Люди его по другим причинам используют, даунёнок.
251 3295494
>>295077
Так новые стандарты наоборот позволяют хоть как-то терпеть унижения и боль языка. в С++20+ многое улучшили в плане шаблонов, появились концепты которые сильно упрощают жизнь.
Наконец-то завезли нормальный формат. Корутины, хоть и недопиленные ( отсутствующие асинхронных деструкторов сводят на нет их адекватную применимость ), но в целом можно юзать если очень захотеть. std expected, string_view, jthread, heterogeneous lookup и т.д. куча всяких удобностей и полезностей.
Это я говорю как плюсовик с 15 летнем стажем.

>>295263
Ты бредишь, msvs вообще слабо поддерживает новый стандарт. Глянь табличку. Даже обоссаный интеловкий компилятор в который лет 5 не могли завести нормальную поддержку С++11 уже даже 23-й поддерживает, а msvc сосет.

Но имея опыт работы и на том и на том, могу с уверенностью сказать msvc говнище а не компилятор. Впрочем как и сама винда.
image.png149 Кб, 461x1334
252 3295496
>>295494
Пикча отклеилась
253 3295517
>>295494

>std expected, string_view, jthread, heterogeneous lookup и т.д. куча всяких удобностей и полезностей.


Звучит, как очередной ненужный набор свистелок и перделок.

Мимо-сишный-скуф
254 3295527
>>295494

>Наконец-то завезли нормальный формат.


Майки какую то смузи хлебную хрень завезли для тех кто принтфы cout, string stream не осилил
>>295494

>Корутины, хоть и недопиленные


Нежопиленное говно которое заставляет подключать какие то васянские библиотеки

Не мое мнение, буквально на работе это слышу 24/7
Плюсовики это известные ретрограды глобального масштаба, вот собственно и пример этого >>295517
255 3295533
>>295527

>кто принтфы cout, string stream не осилил


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

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


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

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


Так он сишный скуф, он никакого отношения к плюсам не имеет.
С++ абсолютно другой язык с другими концепциями и методами разработки, чем си. Умение писать на си != умение писать на С++. Зачастую код на С++ написанный сишником будет являться просто кривой реализацией си с классами, такое ниодин апрув в комите не пройдет.
На счет ретроградов, наоборот все плюсовики с моих работ старались как можно быстрее на новый стандарт перепрыгнуть для облегчения себе жизни.
256 3295546
>>295517
структуры, функции и указателя хватит всем!
257 3295647
>>295494
>>295496

> табличку


Чел, эта табличка говно, потому что релизные фичи надо по репе STL смотреть, а preview вообще без списка изменений. Эта табличка основана на вики майков, которая обновляется раз в два года. MSVC единственный компилятор, в котором полностью реализовано С++23 вместе со стандартной либой. И это единственный компилятор, в котором полная реализация С++20, в том числе модулей.
# OP 258 3295659
>>293825

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


>spyware дерьмом


Хех: https://blackpill.usite.pro/search/open%20source/
# OP 259 3295670
>>295015
А там что, реально нельзя поставить сторонний браузер помимо Safari?
>>295249

>Следующий телефон будет именно андроид, а яблофон переоцененное говно для фанатиков эпл


Так техника Apple это D & G от мира IT.
image.png130 Кб, 349x298
260 3295797
>>295659

>blackpill.usite.pro

261 3295942
А есть вероятность того, что вместо очередной компиляции, rustc мне превратит все файлы в сердечки, потому что у меня ip-адрес страны агрессора?
263 3295959
>>295954
Выбор фреймворков дегенератский. Уже после этого тест не имеет смысла.
264 3295964
>>295942
Конечно не нулевая, потом тебя ещё на вебку сфотает и на дваче начнет травить в этом треде

А потом мацкам эстафету перешлют, а они интелу с амуде
265 3296007
>>295527

>Плюсовики


>сишный-скуф


Зумерок, C != C++
266 3296009
>>295546
Анальной огородки бы ещё, вот тогда заебись. Как думаешь, почему в ведро линупса протащили пидораст, а вот с++ - нет?
267 3296029
>>296007
ага, только половина из этих скуфов пишут на плюсах
268 3296081
>>295670

>А там что, реально нельзя поставить сторонний браузер помимо Safari?


Браузер поставить можно, только разработчикам кроме движка webkit от сафари там ничего нельзя использовать, то есть по сути фаерфокс тупо нескучные обои поверх сафари как какой-нибудь амиго от маилсру обычный хром. Ну может там какие-то фичи типа закладок, синхронизации и прочего у других браузеров свои, но вот рендеринг и прочее поведение на странице это тупо сафари
269 3296084
>>295942
Компелятор нет, а вот отвалится creates.io может легко, придется в настройках cargo прописывать зеркала. С докером такая ситуация была, но там обратно вернули
270 3296110
>>296081
И что в этом плохого? Зато работает хорошо и безопасно и дауненок-пользователь не сможет скачать вирус.
271 3296191
>>296110
Для тебя ничего плохого
272 3296251
>>296191
А для тебя?
# OP 273 3296338
>>295797

>Р-рвоньк!!!

274 3296382
>>296251
Для меня сафари это новый IE со всеми вытекающими
275 3296504
>>296382
У тебя бред, прими таблетки....
276 3296509
>>296338

>Кидает ссылку на самопальный сайт с бредом шизика автора


>Обосравшись пытается перекинуть своё говно в чужие штаны


А ты не очень умный, да?
277 3296658
>>296504
Лол, это у тебя бред. Сейчас фронтендеры занимаются такой же хуйней для поддержки сафари как и занимались раньше для ИЕ, либо забивают хуй на все. Тут на двощах с айфона нельзя выделить текст и нажать на номер поста для цитаты текст в цитату не вставляется, в webm тредах я вместо половины видео вижу хуй обновлялся не помогло. Собственно и так по всему интернету во всяких мелочах проявляется. У нас фронтендер ебался неделю с анимациями webp или как они там хз специально под сафари, когда был редизайн, чего-то там куда-то переконвертировал чтобы заработало как надо. Webkit сейчас эпл тянет в одно ебало, для хрома сделали форк blink собственно все туда и перехали от гугла с мелкософт до qt с оперой. Они до кучи еще и свой движок для js используют.
Домохозяйкам может и не видно этого всего, но мне это очень сильно в глаза бросается.
image.png131 Кб, 1222x164
278 3296774
>>296658

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


У тебя точно бред, чел, прими уже свой галлоперидол. Сафари 2й по популярности браузер. Что значит "занимаются хуйнуй для поддержки" поддерживать браузер с 20% market share - это заниматься хуйней по твоему?

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


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

>webm


Поддержка вебм уже давно есть. Все отлично работает.

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


Ну видимо у вас кривая обезьяна вместо фронтэндера, хотя в общем-то фронтендер - синоним этого...

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


Да нет, у вас просто комманда криворуких фронтэндовых обезъян.
Сразу бы сказал что ты фронтэндер и тогда было бы все понятно про тебя.
1.png49 Кб, 1185x769
279 3296786
Я еще терпел ЛГБТ-шиза, но браузеросрач - это уже перебор.

Ля какая помидорка. :3
280 3296795
>>296786
Как<рефакторить<такой<код>>> Это::же<прибито<все<гвоздями>>>?
281 3296800
>>296795
Как тебе <> мешает рефакторить?
282 3296801
>>296795
Берешь и рефакторишь. Вроде бы если унаследовать DomainPrimitive от Relay, то вся махарайка схлопнется. Но пока лень.

Олсо, ты никогда не заглядывал в код STL, да?
283 3296802
>>296795

> Как<рефакторить<такой<код>>> Это::же<прибито<все<гвоздями>>>?



А ты думаешь почему на Расте постоянно все переписывают :)
284 3296807
>>296795
>>296800
А дженерики это плохо и надо рефакторить?
image.png153 Кб, 750x1334
285 3296868
>>296774

>Криворукие не могут под IE6 верстать


Какой подрыв фанатика эпл, он на втором месте из-за того что гвоздями прибит в ios, вот тебе скриншот из Firefox, он сафари под капотом и определяют его как сафари. Были бы там настоящие хром и фф, то статистика была бы другая. К тому же если статистику отфильтровать по десктопу и мобилкам, то вся популярность сафари именно на мобилках, на десктопе график стремительно идёт вниз
286 3296872
>>296786

>но браузеросрач - это уже перебор.


Ладно, ок. Тоже думаю не место, короче фанатик эпл победил, пусть пиздует в /s/ свою победу празднует
287 3296874
>>296795
Как и что ты собрался рефакторить и что у тебя не получается?
288 3296878
>>296774

> Сафари 2й по популярности браузер. Что значит "занимаются хуйнуй для поддержки" поддерживать браузер с 20% market share - это заниматься хуйней по твоему?



Ты долбоеб? Это точно такой же тейк, какой был у спермоебов во времена Осла и держал всю индустрию в очке, пока Гугл не начал продвигать Хромога. Нет, серьезно, ты же не можешь в базовую логику, возможно ты умственно-отсталый.

мимо
289 3296943
>>296868

> гвоздями прибит в ios, вот тебе скриншот из Firefox,


Это я и без тебя знал, дальше то что?

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

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

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

Ебать пидоРастеры тупорые я в ахуе, хорошо в моём языке лоу айкью лгбт фемокуколдо гной не задерживается из-за его сложности.
290 3296981
>>296943
Съеби уже в /s/ или /ga/ фанбой эпловский, ты выиграл все споры в этом треде
image.png47 Кб, 734x333
291 3297187
>>296981
Так я не фанбой эпла, чек пикрил, просто здраво рассуждаю в отличии от тупорылых макак которые горят от того, что им кросбраузерно приходится что-то делать.
Тред даунов тут >>>>>> https://2ch.hk/pr/res/3294005.html (М)
292 3297291
293 3297685
>>297291
Чувак базанул. Я думал они очкуют такое говорить.
images.jpeg12 Кб, 230x219
294 3297705
>>297187
Не удивлён.
295 3297780
Как дебажить дедлоки в tokio?
Как понять, почему мой глобальный лок во время выполнения функции все равно приводит иногда к дедлокам?
296 3297806
>>297780
Ты используешь локи tokio? Иначе таска может переехать на другой поток и лок станет невалидным.
297 3297823
очередной нубский вопрос
a << b | c
и
c | a << b
это равнозначно? сдвиг в обоих примерах выполняется раньше ИЛИ?
298 3297828
299 3297888
>>297705
Чувак, ты сидишь в треде лгбт языка вообще.
300 3298136
>>297780
А никак, тут как бы нормальное поведение, один лок блокирует, другой ожидает когда разблокируется потому что ты сам его заставил ждать, это как змея пытающаяся сожрать свой хвост. Я вообще пришел к тому чтобы локи имели минимальное время жизни, если метод длинный, то места с локами оборачиваю в {}, ну и в целом их минимум
301 3298137
>>297888
При этом его хейтеры самые главные представители ЛГБТ судя по серии тредов
302 3298537
>>297806
Я хочу использовать Arc<Mutex<bool>>, а сейчас тестирую через lazy_static! static ref Mutex<bool>.
Внутри функции, которая делает всю операцию, локая перед этим мой глобальный мьютекс, есть еще вызовы локов на стейт приложения, что-то вроде data.lock().await
Я стараюсь локать только когда надо получить что-то, и сразу же дропать лок.
303 3298538
>>297806
А, вопрос не сразу понятен был. Да, это tikio::sync::Mutex
304 3298540
>>298136
Мне так и нужно, чтобы один ждал завершение другого, а потом начал свою работу. Проблема в том, что в какой-то момент что-то блочится намертво и не продвигается дальше.
Мне нужен глобал лок, чтобы эта же функция рандомно не запускалась внешним ивентом и не начала параллельно изменять расшаренные данные, иначе алгоритм ломается. При этом локи на другие данные, необходимые для алгоритма, внутри функции я тоже оборачиваю в {}, либо сразу дропаю, как только лок становится не нужен.
305 3298638
>>296795
Был такой экспириенс, нужно было быстро написать прототип одной идеи, писал на ts, дрочился, переписывал, в итоге дропнул (пересел на чистый js), ибо понял что большую часть времени рисую типы и подгоняю типы, вместо написания алгоритма. В общем, перепробовал шустро разные идеи, нашел лучше и уже потом навернул на все это типы.

Так вот, к вопросу что мешает. Порой мешает даже просто статическая типизация, вместо полета мысли занимаешься микроменеджментом и это обычная статик типизация. Так вот что творится в расте я просто боюсь представить с этими гига вложенными типами.
Насколько разработка на расте медленная?
306 3298686
>>298638
Привыкаешь сразу писать в 75% времени так, чтобы компилятору нравилось. Остальное окупается за счет того, что если скомпилировалось - будет нормально работать в 95% случаев, и не придется долго сношаться с багами из-за UB или непродуманной архитектуры.
Но в сравнении с js или python - будет медленней там, где хочется по-быстрому набросать решение, а рефакторить потом. Некоторый опыт и High Level конструкции языка сглаживают эти моменты.
Если у тебя часто возникают подобные ситуации, то будешь страдать.
Алсо, дженерики и типы на это не влияют. Влияет только то, насколько ты хорошо понимаешь на практике работу борроу чекера и отдельные приколы раста.
307 3298693
>>298638
>>298686
Ну еще к этому можно добавить автовыведение типов, подсказки IDE, на худой конец copilot или что-то вроде него.
308 3298708
>>298638

> часть времени рисую типы и подгоняю типы


Скилл ишью (без негатива). Тебе в любом случае писать валидацию входных запросов. А потом такую же такую же на каждом потребителе.

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


Псевдокод никто не отменял. Сначала понимаешь, что тебе надо, потом добавляешь поля, которые забыл.

>я просто боюсь представить с этими гига вложенными типами.


Борроу чекер приучает не делать гигавложенных типов. Чем площе структуры, тем проще с ними работать и проще рефакторить.
309 3298779
Как насчет того, чтобы использовать rhai для псевдокодинга/прототипинга?
https://github.com/rhaiscript/rhai
310 3298795
>>298779
Зачем? Алсо, пидорастеры, зачем вам пидораст, если всё тоже самое можно делать на питоне или на го?
311 3298801
>>298708

>Скилл ишью (без негатива).


18 лет проф. программирования на статик языках. О чем ты?

Ты в курсе вообще что такое прототипирование? Сначала ты пишешь одну сигнатуру, потом кардинально меняешь идею и бежишь переписывать под сотню сигнатур. Или ты думал от простой жизни прототипы на питоне пишут.
312 3298813
>>298801
Давай расскажи, как на питоне пишут прототипы и где. Все залетные крокодилы почему-то про питон так говорят, но нигде не вижу, чтобы его использовали для написания каких-то мифических прототипов.
image.png30 Кб, 216x762
313 3298814
>>298779
Похайпили, а потом чет надоело.
314 3298815
>>298813
Чому мифических? загугли radare2 например.
315 3298817
>>298813
Да не бомби ты, зеленый. Нельзя везде носиться с одним и тем же паттерном "неосилил".
316 3298820
>>298801
А зачем эта дилемма: либо так обмазываться типами, что типов становится больше чем кода, либо не писать типы вообще и потерять возможность навигации по коду и рефакторинга?
Я просто пишу обычный "жс" с ненавязчивой типизацией. Интерфейсы для сервисов с парой методов, интерфейсы или Record для POJO.
Если речь про переход на жсдок, то основная проблема жсдоков, как раз в том, что они не рефакторятся автоматически. Если изменил интерфейс, до придется обновлять все ссылки в жсдоках вручную.
317 3298827
>>298795
Кто обзывается, тот так сам называется.
>>298801

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


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

>Или ты думал от простой жизни прототипы на питоне пишут


В Питоне куча батареек и есть Пип. Можно за 15 секунд поднять HTTP-сервак который будет отдавать хелло ворлд. В Расте разве что экосистема менее развитая, но что-то похожее тоже можно делать. А вот динамические типы в лучшем случае вкусовщина.
318 3298842
>>298815
Знаю эту тулзу, а теперь скажи мне, как много компаний ее используют и что-то там прототипируют для своих продуктов.
319 3298844
>>298827
Алсо, в питоне уже давно пишут код с типизацией, обмазываются линтерами и тайпчекерами. А динамическую магию стараются юзать поменьше.
Кто-нибудь объяснит, что такое "писать прототипы на питоне"? И почему его нельзя писать на других языках.
320 3299027
Есть вообще легковесные редакторы для rust с подсветкой синтаксиса?
321 3299254
>>298820
К js можно поставить ts чтобы он проверял js код, по необходимости отключать его если нужно (или частично отключать, например по файлам или строгости), а потом либо jsDoc привязать или d.ts. Чем я и воспользовался в том случае.
Не то чтобы я хорошо знаю js, я его не очень люблю, но в тот момент возможность подключать/отключать проверку типов оказалась очень удобной.
322 3299271
323 3299295
>>298638
Первое время мешает, потом пишешь уже нормально и что самое любопытное на других языках начинаешь писать как будто бы тебя ждёт бороу чекер, даже на js смотрю свой старый код там везде let и переменные дальше мутируются, а теперь когда пишу везде const, это прям сильно в глаза бросилось
324 3299296
>>298814
Глаза протри шизик, на прошлой неделе последний коммит был, ещё и свежие ПР висят
325 3299297
>>298827
Ты из какого года пишешь? Питонисты во всю используют тайпхинтинг и уже даже @override пишут. А говнякать на коленке удобнее на js, взял экспресс и хуяк хуяк набросал прототип
326 3299302
>>298844

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


если код на выброс, то нет.

>Кто-нибудь объяснит, что такое "писать прототипы на питоне"? И почему его нельзя писать на других языках.


минимально рабочий вариант для демонстрации работоспособности алгоритма / идеи. почему нельзя писать на других языках - внезапно разный complexity и наличие библиотек.
>>298708

>Скилл ишью (без негатива).


а у тебя снобизм и максимализм. без негатива.

>Псевдокод никто не отменял


лол зачем? быстрее написать его на js/python.
>>298801

>Ты в курсе вообще что такое прототипирование?


lдумаю что челик либо в универе еще, либо сразу после. иначе бы не задавал таких вопросов зачем нужно прототипирование.
327 3299303
>>299027
Если работать полноценно, то только rustrover жыдбрейнс и тормознутая жаба или vscode + расширение rust analyzer помимо поддержки lsp сервера там более менее нормальный автокомплит и всякие переименования методов и полей структур умеет, плюс всякого по мелочи но электрон жрет всю память. А так есть просто текстовые редакторы к которым подключаешь lsp сервер и вперёд там от nvim и zed до всяких ноунеймов типа гномовского builder.
Если работаешь не в rustrover, то у тебя будет работа через lsp сервер, который тупо вызывает cargo check с выхлопом в формате json, а cargo check выполняет всю компиляцию кроме создания бинарника, то есть потребляет много ресурсов, если работаешь с большим проектом на слабом компе или у тебя ноут быстро садится, то отключи проверку кода при автосохранении и повесь запуск lsp на какую нибудь комбинацию клавиш, должно помочь.
Сейчас тоже в поисках чего-то легковесного в силу обстоятельств работаю с 8Гб оперативы на amd говне и так до конца года придется, но так и не нашел ничего подходящего кроме vscode
328 3299304
>>299302

>лол зачем? быстрее написать его на js/python.


То, что интерпретируемый язык с кучей батареек быстрее в разработке я не оспаривал, но речь-то о типизации. Что там в ста местах нужно править я вообще не представляю.
329 3299433
>>299302

>внезапно разный complexity


Типа, на питухоне у твоего алгоритма будет комплексити O(n) а на условных сях O(n^2)? Или ты о чём?
330 3299483
>>299296
Открыл два последних коммита, подергали какую-то директиву, комментарий поменяли, и это за 4-7 дня. А я сегодня 9 часов код писал.
Разные миры.
331 3299577
>>299295

>дажена js смотрю свой старый код там везде let и переменные дальше мутируются, а теперь когда пишу везде const


Что нужно знать об уровне местных фанбоев. Открыл для себя const.
А после раста в жопоскрипте тоже данные везде клонируешь?
332 3299612
>>299483

>Разные миры.


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

>А я сегодня 9 часов код писал.


И этот мир, где тебя погоняют хлыстом и говорят что делать
333 3299616
>>299577

>местных фанбоев


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

>Открыл для себя const.


Иммутабельность

>данные везде клонируешь?


Передаю владение
334 3299667
>>299433
>>299304

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


тут я хз, может быть речь была про раст - что там в случае рефакторинга надо менять в 100 местах.
я в свободное время тоже раст ковыряю. дофаминовый язык, получаешь кайф от преодоления выебонов компилятора. некоторые задачи заходят прикольно с литкода, но списки это хоть помирай. писать на нем какие-то свои проекты(только если не нужно экономить память) не решился бы. дата рейсы тоже не актуально, с опытом уже знаешь где ставить мьютексы, а где вообще лучше не шарить память. плюсы тоже нахуй, в 2024 году до сих пор нет нормальной поддержки utf-8 в std, зато тоннами завозят перделки из других языков.
image.png342 Кб, 1852x980
335 3299668
Местные хейтеры были правы: менеджеры раста настолько всех заебали, что китайцы начали переписывать ядро linux на раст. Нефритовый стержень Си стал вялый бамбук!

https://www.opennet.ru/opennews/art.shtml?num=62061
https://asterinas.github.io/
336 3299672
>>299616

>Передаю владение


Пришло время запускать гарбаж-коллектор, rc сам себя не вызовет!
337 3299679
>>299668
Китайцы что только не пишут.
https://2ch.hk/pr/res/3242329.html (М)
Умудрились компилятор для тайпскрипта в aot написать, причем у жопо-тайп-скриптов, нет поддержки нативно интов, лол.
338 3299734
>>299672

>rc


Вообще его не использую
339 3299740
>>299679

> нет поддержки нативно интов


Там скорее всего может быть проблема с совместимостью ts тип number у js под капотом это f64.
Вообще я бы дождался полноценного релиза, они там еще во всю пилят его
340 3299759
>>299740
Да пусть пилят, будущее все равно за компонентной системой wasi, пусть посмотрят как поезд проходит мимо.
Screenshot 2024-10-16 at 15.24.23.png79 Кб, 1012x590
341 3299824
трепещи раст!
342 3299828
>>299824

>var s: auto = getStr();


Нахуя делать сложнее с++
auto s = getStr();
343 3299833
>>299828
Сам не понял, дроч имхо. Язык конечно сырой, попытался распечатать строку в аргументах - говорит надо инт передать. Пока чисто лулзы ловить.
1691572196366.png130 Кб, 2360x537
344 3299835
>>299824
Да, с auto костыли ебучие. Вывод типов одна из лучших фич крестов, а они заменяют её на такое. И ещё пикрил, что это нахуй, в крестах так можно.
345 3299844
>>299824
Когда уже сделают нормальный возврат,
fn getStr() 8====D String
ведь весело когда тебе делать нечего и ты сидишь рисуешь стрелочки, хлебом не корми, хочу расставлять двоеточия, стрелочки, точки запятые.
346 3299871
Хуя ламерков от синтаксиса порвало

Мне больше интересно что карбон с самими плюсами делать будет, как с мув семантикой работать будет, что с инициализацией сделает
347 3299902
>>299871
Ну вариантов немного. Либо обосраться, либо поддержать в каком-то виде. Вот что они пишут:
"Yes, Carbon will support move semantics; see p0257. In particular, we are experimenting with a hybrid of destructive and non-destructive semantics that we are hoping will combine the advantages of both."
https://github.com/carbon-language/carbon-lang/issues/1685
348 3299906
>>299871
У гугла не хватает спецов чтоб нормальные языки делать. Проект еле двигается, а системный язык требует ппц вложений, сам он не выстрелит. Никто не будет вендерложиться с свободных независимых плюсов на гугл кукан.
349 3299907
>>299835
Автовыведение возвращаемого типа вроде не сразу в плюсах сделали, даже после auto. Я думаю за пару лет тут все ещё переколбасят. Пока надо ждать. Кому не терпится - писать на расте, правда когда карбон выпустят уже как Ватсон не сможешь без БЧ.
350 3299911
>>299907

> правда когда карбон выпустят уже как Ватсон не сможешь без БЧ


БЧ - это литералли худшая вещь в расте, его выпил самое первое что хочется получить.
351 3299924
>>299911
Плюсану, я до этого думал писать на ансейф расте. Но потом узнал что это не поможет лол. жаль его нельзя отключить.
352 3299928
>>299911
Единственная вещь, из-за которой можно как-то продать это раст.

>БЧ - это литералли худшая вещь в расте


Кстати потомки как там в асинке дела, решили проблему с пинами?
353 3299935
>>299928
Чё за проблема с пинами?
354 3299937
>>299928

> Кстати потомки как там в асинке дела


Выкинут за ненадобностью. Любые протекающие абстракции говно.
355 3299960
>>299824
Опять функции с большой буквы...
356 3299963
>>299911

>Единственная вещь, из-за которой можно как-то продать это раст.



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

Зиг высрал кросскомпиляцию си и его даже на бете теперь дрочат. Так что тулинг решает больше.
357 3299966
>>299963

>Кому продавать?


Тем кому нужны харантии, который даёт БЧ?
358 3299973
>>299966
Я и спрашиваю, кто это? До раста потребности в этом не было, зато до релиза был раст с зелеными потоками. Еще вопрос что важнее.
359 3299976
>>299973

>До раста потребности в этом не было


Джавапидорас, что ты в пидорасто треде забыл?
360 3300009
>>299973
Там и гц был емнип, отключаемый. Но поскольку рядом вышел го, надо было отличиться, выпили гц и грин треды.
361 3300023
>>300009
Лол, го как раз показал какой технологии не хватало, но при этом показал как не надо дезайнить язык. Знаю людей, которые ждали что поверх рантайма натянут что-то годное (на фоне появление тогда котлина с его интеропом к джаве)
17097279458620.jpg174 Кб, 1920x1080
362 3300032
Дали оффер в финбигтех на миддла/сеньора хз, че там, сегодня оффер презентуют на +-к с перекатом из питхона в гошку. Там у них есть какое-то обучение, но хотел у бывалых спросить, есть ли что-то, что для такого переката было б классно почитать или изучить? Или можно просто доку прочитать и идти пили
363 3300059
>>300023
Так я согласен. Мне лично го не нравится его невыразительностью. Но многопоточка и рейс детектор - мое почтение.
364 3300069
>>300032

>что почитать


ВСЁ Блять, все смотреть и читать! Чем больше ты читаешь, тем более ценным сотрудником становишься. Никого в мире не ебет, что ты чего-то не знаешь или не выучил, это твоя проблема. Тебе дадут задание, сделать до такого-то числа, сам и ебись с этим. Думаешь за тобой будут бегать, Сычееев, ну почитай книжечку, ну пожалуйста! Да кому ты нахуй обосрался. Не знаешь тему - тебе же хуже. Тебе бабки платят? Сроки ставят? Не выполняешь - придет другой чел и выполнит за тебя работу. Не бывает слишком много знаний, и вопрос "че почитать" не имеет смысла.
365 3300088
>>300032
go tour + effective go. этого достаточно.
366 3300103
>>300032
Очевидный тур го, еще почитай про работу со слайсами там могут быть сюрпризы и многопоточка как там работают горутины waitGroup, каналы, мьютексы. Остальное на каждом проекте будет индивидуальным

>>300069

>кукарек с дивана


Этого не слушай, если берут на перекат с других языков, то скорее всего есть онбординг и все в курсе что ты можешь тупить первое время и они сами перекатывались с других языков
367 3300117
>>299824
Типы и функции с капитал кейса? Ебал я в рот, столько надежд было на этот карбон, видимо придется до конца жизни сидеть на с++
368 3300141
>>300117
Ну есть ещё зиг.
369 3300230
>>300069

>ВСЁ Блять, все смотреть и читать!


Двачую, и начать надо с чтение двача, с перечитывания всех тредов javascript, потом питон тредов, потом руста.
image.png19 Кб, 473x397
370 3300232
>>300088
Так писать может только мудень
var i I
i.M()
type I interface {
M()
}

Это вообще не читается. Не рекомендую го тур, его писали люди далекие от промышленного программирования. Как-будто в 70е годы старый болван сел за компуктер
371 3300452
>>300232

>Как-будто в 70е годы старый болван сел за компуктер


Примерно эти люди и делали гошку
372 3300461
>>300141
Зиг это говно обоссаное мочой
373 3300547
>>300461
Хорошо, а у тебя есть жена и лишние 300кило зеленых?
https://mitchellh.com/writing/zig-donation
374 3300590
>>300547

>Mitchell Hashimoto


>I'm a developer living in Los Angeles, CA.


Лол, да он еще 100% и жену свою под негров подкладывает кроме этого.
375 3300593
>>300232

>Как-будто в 70е годы старый болван сел за компуктер


Зумерок спок, новизна этикети мало что даёт на практике.
376 3300608
>>300461
Ты не прав. Зиг это моча, обосранная говном.
Я глянул примеры, аллокаторы каждый раз при создании объекта или массива в куче? Жёстко конечно. И там ещё нет динамик контейнера типа вектор.
377 3300618
Кто-нибудь вообще понял систему владения? Я вот вообще ни чего не понимаю. Как вообще программировать с этой системой, она же ничего не позволяет делать нормально? Это как вилкой чистить говно.
378 3300629
>>300618
базово там все просто: в один момент времени либо 1 пишущая ссылка, либо множество читающих. это чтобы предотвратить рейс. проблема в том, что это все сопровождается кучей аннотаций компилятору, чтобы он тебе поверил что ты его не наебал где-то. и если вдруг, потом ты решишь это все засунуть по нескольким потокам - то сходу охуеешь. в противовес например го, где просто добавишь rwmutex и горутины.
379 3300639
>>300608

>И там ещё нет динамик контейнера типа вектор.


Заорал. Это тред про системный язык или что нахуй?
380 3300726
>>300618
Система владения была бы нормальной, если бы не было тупого запрета на число мутированных ссылок. Они победили какой-то тупой момент гонок, но поставили всех раком во всем языке.
381 3300752
>>300639
Чего ты орешь? Vec это типичный динамический массив по типу ArrayList в других языках, с ним гораздо удобнее работать когда он есть в стандартной библиотеке и у всех в коде будет работать одинаково, чем с непонятной самописной недохуйней, которая везде разная и у уважающего себя криворукого Васяна обязательно наебнется в рантайме
382 3300768
>>300608
https://zig.guide/standard-library/arraylist/
Что ты в системных языках забыл? Ты же тупой.
383 3300769
>>300752
Ну так просто берёшь любимую библиотеку/любимую реализацию

>у всех в коде будет работать одинаково


Хуёво.
384 3300775
>>300639
Причем тут системный язык? В плюсах и расте он есть. Не вижу смысла в 24 году ебаться с изобретением велосипедов типа вектора или словаря. Концепция аллокаторов конечно потрясает своей "новизной", но можно было ее сделать не такой нарочитой. Короче вердикт - как показал го - победит язык с нормальным синтаксисом, богатой стандартной библиотекой, зелёными потоками из коробки и адекватной концепцией владения памятью(хотя бы не ебать мозг количеством пишущих ссылок).
385 3300777
>>300775

>Не вижу смысла в 24 году ебаться с изобретением велосипедов типа вектора или словаря


Я просто хуею с местного паноптикума.
image.png176 Кб, 1277x837
386 3300778
>>300608

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


Чтобы ты мог передать свой аллокатор, например тестовый, который отловить для тебя утечку
https://www.openmymind.net/learning_zig/heap_memory/#testing
387 3300780
>>300778
В плюсах тоже можно сделать свой аллокатор. Только его не надо везде с собой таскать. А в большинстве случаев ты вообще про него не знаешь.
388 3300788
>>300780
Это фишка стандартной либы, ты волен делать что хочешь, баран-чекера нет, вытащи фаллос из жопы, живи свободно.

Сейчас бы упрекать системный язык за то, что он дает тебе полный контроль.
389 3300830
>>300778
А что делать, когда надо тестовый вернуть обратно на нормальный? Везде руками менять? Какой дегенерат это придумал?
390 3300835
>>300775
>>300777
Тут даже не столько ебля с написанием коллекций типа вектора и всяких хэшмап, сколько универсальность решений, которые используются можно сказать всегда и любой человек работающий с этим языком их знает и не будет тратить время на понимания принципа работы. Ну и само собой эти коллекции уже опробовали множества людей, что уменьшает риск ошибок
391 3300838
>>300830
Тебе тут основы IoC и DI объяснить, или ты перестанешь уже позориться?
392 3300839
>>300835
Наличие стандартной имплементации контейнера в стдлибе вообще ничего не решает, если ты не обоссаный вкатун.
>>300838

>IoC и DI


Нахуй ты в треде про системный язык, джавапидор?
393 3300856
шиза завладела тредом, вы все из казенного дома капчуете?
394 3300877
>>300839

>Нахуй ты в треде про системный язык, джавапидор?


Ахах, загуглил новые базворды и попал на джаву.
Зеленый
395 3300936
>>300839

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


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

>>IoC и DI


>Нахуй ты в треде про системный язык, джавапидор?


Как же ты весело позоришься
396 3301178
как же дохуя крейтов для вещей, которые должны быть в стандартной либе, из-за чего большинство крейтов это однострочники-обёртки над ансейфом.
ещё много крейтов который уже не нужны из-за наличия аналогов в стандартной либе, но которые до сих пор юзаются в новых проектах из-за популярности.
397 3301221
>>301178
Похуй + похуй
398 3301232
>>300936
Ты хуесос и пидорас, у тебя:
Стандартное решение = хуйня из стдлиб

>IoC и DI


Ещё раз, здристни из треда про системный язык, джавапидорас.
399 3301270
>>301232

>треда про системный язык


>язык для сисси-пидарасов


)
17115095113300.jpg238 Кб, 1920x1080
400 3301290
ПлюсовикиМогу если хочешь даже сказать шаблонные упрёки в новых стандартах Этот крестовик не крестовик Так или иначе таких либо большинство, либо около половины
401 3301377
Системный программист в треде!! Все срочно перестать писать тесты и забыть про архитектуру!!
402 3301426
Если rust такой крутой язык, то почему мазиловцы отказались от своего движка и перешли на движок хрома?
изображение.png75 Кб, 610x680
403 3301439
>>301232

>Стандартное решение = хуйня из стдлиб


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

>джавапидорас


Ты вместо того чтобы пугаться кода на жабе, почитал бы эту статью с хабра, которая в первой строчке выдачи гугла. Вот кстати примитивный пример DI на пике, когда AppState внедряется сверху и ты можешь замокать (например вместо настоящих моделей которые у тебя в стейте заглушки, которые отдают тебе нужный результат вместо запроса к БД) и покрыть тестами свой код не зная что делает весь остальной код.
Даже если ты не будешь писать на расте ты все осознанно или нет равно придешь к тому чтобы использовать DI в том или ином виде, так что лучше почитай чего умные дяди пишут
404 3301455
>>301426
У них как использовался так и используются движок gecko https://firefox-source-docs.mozilla.org/overview/gecko.html они пилили новый движок в качестве эксперимента, но не потянули финансово, теперь этим занимается Linux Foundation, а там его пилят 3,5 человека чего-то выпускают, но пока стабильной версии нет еще. Оно и не удивительно за последние 15 лет постоянно добавляют новые фичи в html и css там одно только прочтение всех стандартов https://www.w3.org/TR/ займет месяцы
405 3301465
>>301439

>с поведением которой все знакомы


Напомнило как вроде в 2016-2017 году в гну либс чёто там поменяли, у пидорax пригорело, хотя в стандарте никто это поведение не обещал.

>а нестандартное решение хуйня от васяна


>бyст


Ебаный ты джавапидарас, ты вообще не понимаешь, о чём ты пишешь.
406 3301466
>>301426
Нет сырья и кадров, ну и раст - говно в целом.
407 3301528
>>301465

>ты вообще не понимаешь, о чём ты пишешь.


Это ты не понимаешь о чем говоришь, а про DI прочитай умные статьи лучше, как-то ты ловко проигнорировал лол
408 3301609
>>301528
Словно с чуркой разговариваю.
409 3301630
>>301232
Тупая ты макака, как IoC отменяет системность?
410 3301632
>>301426
Успешные менеджеры превратили язык в продукт и стали разводить хайп и доить. Лиса терпела, получила болт, вместо серво и дропнула паразитов, паразиты создали фонд, и стали разводить дальше.
411 3301663
Зиг опять порвал раст.
Пикча - не удивлюсь, если это Arc дергается.
https://www.youtube.com/watch?v=yJmyYosyDDM
412 3301699
>>301663
До релизной версии язык нельзя воспринимать всерьёз.
2.png322 Кб, 1246x555
413 3301703
>>301663
Ну то есть, когда мой стартап достигнет нагрузки в 40к юзеров в секунду нужно переключаться на Bun, а до тех пор Deno лучше.

Зафиксировали.
414 3301710
>>301663
Это что от чего зависимость? И где тут Раст, зиг? Таймкоды кидай.
415 3301750
>>301609
Ты не разговариваешь, а чего-то кукарекаешь, сам не понимаешь чего сказать хочешь, но надо поогрызаться словно тебя раскаленной кочергой ебут если не ответишь.
Речь же выше шла что ты протестировать свой код не в состоянии, тебе предложили подробнее узнать про DI, ты давай чего-то про жабу ныть, хотя о ней тут ни слова не сказано лол и теперь чего-то обижаешься как баба в месячные
416 3301751
>>301630
Да он наверное впервые услышал такое, пошёл гуглить, а там везде примеры с датой и спрингом
417 3301756
workspace
|___ crate1
| |____ .git
|___ crate2
| |____ .git
|___ crate3
| |____ .git

так кто-нибудь делает? крейты сами по себе довольно независимы и могли бы применяться отдельно, но всё же хочется запихать их в один воркспейс, а также что бы у них была отдельная история коммитов, как быть?
2.png10 Кб, 402x261
418 3301773
>>301756
Можешь добавить через относительные пути.
419 3301842
>>301756
workspace
|___ crate1
|___ crate2
|___ crate3
|____ .git

У нас так сделано, также как тут https://github.com/cloudflare/pingora как быть в твоем случае хз, это неудобно будет работать с иде
420 3302312
>>301750
>>301751
Джвавамакаки, спок.
421 3303224
Есть структура с полями или просто vec. Мы его дампим на диск с помощь bincode (трейты Encode, Decode и т.д.)

Файл получается большой и долго потом считывается. Есть какие-нибудь способы "из коробки" фрагментировать его на множество файлов, типа каждый элемент в отдельном файле и читается только нужный файл?
И, главное, чтобы это было все прозрачно при декодировании, т.е. мне не пришлось бы прописывать "если нужен этот элемент, то читать этот файл".
Типа указал, вот струкрура, разбить так-то, а дальше оно само все выводит. И при считывании считывает не все структуру, а нужные файлы в зависимости от того, какой элемент или поле читают?

Дохуя хочу, да?
422 3303240
>>303224
А что вообще хранится в структуре? Может имеет смысл использовать какие-нибудь специальные решения именно для хранилищ.
Например блохчейны работают на leveldb https://github.com/google/leveldb на расте есть библиотеки для нее например https://crates.io/crates/leveldb-rs-binding там есть заброшенные ищи что посвежее она переваривает сотни гигабайт блоков и транзакций в эфире. Как раз похоже на твою задачу, там принцип как у хэшмапы и все раскидано по файлам, правда я с ней работал только в гошке когда ковыряли эфировскую ноду, на расте не знаю как. Может и на расте есть какие-то реализации чего-то похожего, смотри в эту сторону.
423 3303374
>>303240
Ковыряю крейт (работающий) и отталкиваюсь от того, что есть там, а не пишу что-то from scratch.

Посмотрел повнимательнее, там Vec<u8> на очень дохуя гигов, а все остальные читают с него через сырые указатели (в unsafe): slice::from_raw_parts
slice::from_raw_parts_mut

малой кровью тут не обойтись
image.jpg37 Кб, 600x691
424 3303495
>>303374
РЯЯЯЯ АНСЕЙФ
425 3304986

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


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


нахуй тогда вообще нужны std, core, alloc, proc_macro, test крейты, идущие вместе с компилятором, можно было их также сделать доступными только через менеджер пакетов и выкинуть нахуй prelude, тогда бы точно ни у кого не было вопросов, почему стандартная либа такая маленькая, т.к. без крейтов искаропки и неявного импорта (основной фактор) не было бы установки, что стандартная либа есть и всем бы было ясно, что надо либо пилить самому, либо брать готовые и явно их импортировать. подводный? почему так не сделали? есть no_implicit_prelude. no_std, no_core, но имхо они должны были быть дефолтными атрибутами.
426 3305014
>>304986
Раст мертворожденный говноязык, не заморачивайся
427 3305120
Есть оператор
let a = b;
В одном случае он выполняет копирование, а в другом перемещение. Это две разные операции, но синтаксически они ни как не разделяются, в итоге совершенно не понятна семантика программы, потому что она сплошь состоит из этих неявных операций. Rust вроде как собирался бороться с неопределенным поведением, но сам порождает неопределенное поведение своим кривым синтаксисом и скрытой семантикой.
428 3305130
>>304986
Потому что писать "батарейки" надо качественно и долго так как нужен реальный фидбэк по реальному коду, а не маня api, потому как потом это все не выкинуть. Понятно что ресурсов на все это нет и надо "продавать продукт", а не заниматься чепухой с разработкой, поэтому и добавили затычек, глядишь попенсорщики нахаляву допилят.
429 3305134
>>305120

>магия


Ты еще до макросов и трейтов не дошел, вот там начинается настоящая магия.
430 3305138
>>305120
Во первых в расте нет такого понятия мувает, во вторых всегда мувает

> неопределенное поведение


Значение знаешь?
431 3305215
>>305130

>продавать продукт


А кто финансирует маркетологов и кому продают?
432 3305224
>>305120
Это ты еще операторов << и >> в плюсах не видел, вот там действительно нихуя не понятно что они делают, уже начиная с хэлоуворда какой-то шифт оператор со строкой, хуй пойми чего делает, в итоге совершенно не понятна семантика программы, потому что она сплошь состоит из этих неявных операций.
433 3305270
>>305215
У них нет открытой отчетности по инвестициям фонда, а это всегда значит - кушать фонд.
434 3305272
>>305224
Лол, хеллоу ворд раста с макроса тебя встречает. То есть шизики главный свой недостаток пытаются натянуть на древние плюсы.
435 3305273
>>305224

>Это ты еще операторов << и >> в плюсах не видел, вот там действительно нихуя не понятно что они делают


Не пизди, все там понятно, это битовый сдвиг, но как любой оператор его можно перегрузить и делать что угодно в зависимости от твоей фантазии
437 3305401
>>305138
let b = 5;
let a = b;

В этом случае тоже мувает?
438 3305454
>>305273

>это битовый сдвиг


А как он работает со строками?
image.png24 Кб, 743x188
439 3305466
>>305120
>>305401
https://doc.rust-lang.org/book/ch04-01-what-is-ownership.html#variables-and-data-interacting-with-move
Да это мув, это разное поведение не у оператора, а разное поведение у типов при муве. Примитивы с фиксированной длиной при перемещении копируются. Тоже самое если будет блок кода с move {} все примитивы туда скопируются, а остальные типы передадут владение. Вот список этих типов на пике, при желании можно своему типу сделать такое же поведение если имплементировать маркер трейт Copy https://doc.rust-lang.org/std/marker/trait.Copy.html#
Покормил
440 3305471
>>305401
Мува в расте нет, то что ты мувом из плюсов называешь просто копирование структуры
В случае интов мув и копирование это одно и тоже

Оператор равенства всегда делает одно и тоже
441 3305473
Глубокое копирование - только clone
442 3305529
>>305454
Как функция, не включай дурочка, на гейрасте тоже есть перегрузка операторов. но нет перегрузи функций, лол
443 3305572
>>305471
Почему тогда в случае:
let b = String::from("hello");
let a = b;
переменную b мы не можем использовать, а в случае:
let b = 5;
let a = b;
доступны обе переменные a и b?
Значит всё-таки это разные операции и делают они не одно и то же.
444 3305580
>>305572
Напряги хотя бы две извилины, я в тебя верю

Подсказка: в обоих случаях операция равенства делает одно и тоже, дальше сам
445 3305582
>>305580
Нет, в первом случае она дополнительно затирает b.
446 3305592
>>305582
Тот кто тебе там что то забирает сейчас с тобой в одной комнате?
447 3305637
>>305592
Лол растеры сами не знаю почему происходит двойное поведение.
Там на примитивы реализован трейт Сopy, поэтому передачи владения не происходит. Но это неявная магическая херня, поэтому раст сосет, а зиг рулит.

У тебя еще побомбит от затенения переменных. Атовыведение типов и затенение просто дарят пласт плавающих ошибок. Очень безопасненько, по питоновски просто.
448 3305651
>>305637
Трейт копи никак не меняет поведения оператора равенства
Изучи уже вопрос чтобы не позориться, зиг ребенок
449 3305669
>>305651
Нафиг мне учить магическую анально-ограниченную говнину?
Если есть мув-семантика, так пусть она будет всегда, а не под капотом спрятана за трейты, которые ты либо подключил либо нет.

мы 90% времени читаем код, а не пишем и любое подводное руби-поведение превращает язык в тыкву.
450 3305676
>>305669

> Пусть она будет всегда


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

> Нафиг мне учить


Да не учи ничего, да и вообще не програмиируй, нах напрягаться

вот бы ты еще в тред не щитпостил, но не думаю что ты удержишься
451 3305693
>>305592
Пойду лучше го учить, там хотя бы работа есть и язык приятный
452 3305756
>>305637

>У тебя еще побомбит от затенения переменных. Атовыведение типов и затенение просто дарят пласт плавающих ошибок.



std::string image_path("hui.png");
std::optional<ImageFile> maybe_image_handle = ImageFile::load(image_path);
std::vector<uint32_t> image_decoded;
if (maybe_image_handle) {
std::optional<std::vector<uint32_t> maybe_image_decoded = image_handle.decode();
if (maybe_image_decoded) {
image_decoded = std::move(*maybe_image_decoded);
}
}

}

Ух сколько ошибок я избежал, збс. И английский вспомнил. А auto так вообще только мешает.
goautism2.png136 Кб, 612x401
453 3305845
>>305693

>и язык приятный


Толсто))
454 3305866
>>305637

>Но это неявная магическая херня, поэтому раст сосет, а зиг рулит.


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

>затенение


Если пишешь бред сумасшедшего на 1000 строк в одном методе, то земля тебе пухом тут встрянешь, а если пишешь нормальный код, то у тебя таких проблем не возникнет
Снова покормил
455 3305874
>>305866

>Это явная херня поскольку тип имплементирует трейт


Где? Быть может строкой ниже? Или быть может строкой выше?, Или может мы импортировали трейт? Или хотя бы макрос повесили? Или аннотацию?
А может это тупо магический неочевидны кусок говна?

>а если пишешь нормальный код,


И снова плохие программисты. Ты плохо не пиши, пиши хорошо.
Для тоталитарного языка, с кучей ограничений, такая дрисня смотрится издевкой.
456 3305881
>>305874

>Для тоталитарного языка, с кучей ограничений, такая дрисня смотрится издевкой.



Сам придумал сам оскорбился. У тебя в Го даже указатель на функцию передать нельзя, кто тут тоталитарный.
457 3305893
>>305881
Спасибо что предупредил. Правда, я не хотел его использовать и вообще не понимаю зачем он нужен. Лучше бы к расту делали сноску, чтобы люди не тратили свое время на сие подделие.
458 3305913
>>305874

>Где?


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

>Быть может строкой ниже? Или быть может строкой выше?,


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

> Или хотя бы макрос повесили?


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

>Или аннотацию?


Ты это увидишь это в #[drive] над твоим типом

>Или может мы импортировали трейт?


От импорта трейта не происходит имплементации

>И снова плохие программисты. Ты плохо не пиши, пиши хорошо.


Речь идет о базовых вещах, как KISS, SOLID, DRY. Если ты объявил в одном методе 2 переменных с одинаковым именем, да к тому же это может привести к какой-то путанице, то наверное тут что-то не так с кодом. Хотя куда уж нам, бородатым дядям, до таких особенных творческих мальчиков как ты.
459 3306043
>>305881

>в Го даже указатель на функцию передать нельзя


А это что?
type callback func(c int) string
func call(c callback)...
image.png88 Кб, 1036x650
460 3306075
есть шарящие за бинкод?
есть структура
есть ручная имплементация трейтов Encode и Decode для этой структуры
с encode понятно:
self.имя_поля.encode(encoder)?;

в decode аналогично:
Self {
имя_поля: Decode::decode(decoder)?,
};

так вот блядь
вижу конструкцию вида isize::decode(decoder)?
что она блядь возвращает? понятно, что isize, но откуда она его берет, если в encode ничего такого нет?
мне казалось, что кодируем, то и можем декодировать
461 3306082
>>306075
короче, понял как это гавно работает
там нет привязки к полям структуры
она видимо тупо побитово считывает, а isize::decode(decoder) это просто следующие биты после предыдущего decode(decoder)
462 3306615
Почему идет хейт вокруг асинхронного раста? Что не так там?
463 3306661
>>306615
Какой-то буллшит с разноцветными функциями, я так и не понял. На мой взгляд есть чисто философские проблемы с фреймворками типа tokio, которые вхуяривают универсальный комбайн в мою системщину. Ты берёшь системный язык, нужный чтобы четко управлять потоком данных, а потом делегируешь всё это громадной либе размером с нод.жс.

Но в этом никто кроме меня проблемы не видит.
464 3306675
>>306615
Как и в любой асинхронщине - тебе надо покрасить весь код или костылить синхронные костыли повсюду. А ещё это по производительности всегда хуже нормальной многопоточности.
image.png432 Кб, 500x653
465 3306680
>>306661
Смысл проблемы цветных функций, что все что трогает асинк, сам становится асинком. Это не проблема раста, да и в целом всем насрать.

А по самому токио какие проблемы?
466 3306687
>>306680

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



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

>А по самому токио какие проблемы?


Да я уже сказал. У тебя есть огромный рантайм, который должен делать тебе хорошо. А если он вдруг не делает тебе хорошо, то тебе бог тебе в помощь. Нужно что-то менее универсальное, зато гибкое.
467 3306719
>>306687

> В ООП


> либо передаёшь в функциях по 20 параметров.


Не понимаю о чем ты, но вот фишка процедурного программирования, это как раз в функциях овер 5-10 аргументов.
Где ты увидел 20 в методах, я хз.
468 3306756
>>306675
Помнится я срался с одним чуваком, который меня убеждал что это вообще не проблема. Но выглядит на грани фанатизма, типа как некоторые гошники усирались что дженерики не нужны.
469 3306777
>>306719

>Где ты увидел 20 в методах, я хз.


Вменяемые люди так не делают, поэтому есть один убер-объект, который управляет. Получается, что методы этого объекта имеют свой цвет, и если ты хочешь добавить новый функционал, то тебе нужно расширять этот класс. Прямо как с асинком.
470 3306801
>>306777
Ты не понимаешь концепт цветных функций, прочитай уже статью (она там гуглится, автор и ввел это понятие)
В случае синхронного апи - они всегда синии, причем тут ООП. (т.е. могут вызывать друг друга, как и зеленые из го, а вот про красные ты прочитаешь уже сам)
471 3306949
>>306801

>причем тут ООП


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

>т.е. могут вызывать друг друга, как и зеленые из го,


В го есть рантайм, который для каждого потока\корутины поддерживает свой стекфрейм и пересобирает его по мере надобности. Там все функции красные. А вот если ты хочешь позвать нативную функцию, которая ничего не знает о Го неожиданно нужно делать кучу приседаний.
472 3306970
>>306949
Обострение?
473 3306972
>>306949
Сейчас бы с ГОвном сравнивать и говорить что если у них так сделано, то значит и у нас норм. Хотя например в крестах корутины имеют обратную ABI-совместимость с прошлыми стандартами и корутину можно вызвать даже если твой компилятор их не поддерживает.
474 3306987
>>306949
Чего куда пересобирает? Восстановление контекста исполнения?

>приседать


Ты про вызов из нативного кода гошной функции?
475 3307004
>>306949
Вызвать метод у несозданного объекта, это как вызвать функцию у неподключенного модуля. Иди уже отсюда, это раздел для программистов
476 3307010
>>306970
Сами слушают голоса в голове про шизоцветные функции, а обострение у меня.
>>306987

>Чего куда пересобирает? Восстановление контекста исполнения?


Стек корутины где хранится и как устроен?

>Ты про вызов из нативного кода гошной функции?


И наоборот. Точно также ты не можешь из корутины на Го сделать DLL'ку, которую можно вызвать из Си, не запихав в неё весь гошный рантайм. И это даже вообще не проблема, но именно в Расте из этого раздувают драму.
>>306972
Корутины не вызываются, это просто стейтмашины. Токио тоже был до асинка.
477 3307016
>>307004
А что означает создать корутину вне контекста, в котором она будет исполняться?
478 3307064
>>307010

>Стек корутины где хранится и как устроен?


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

> И наоборот. Точно также ты не можешь из корутины на Го сделать DLL'ку, которую можно вызвать из Си


чего наоборот? из го вызывать сишные либы не проблема, если следить за памятью. вызывать из си гошные функции это никому не унужная хуйня.
479 3307077
>>306687
Не понял проблемы, tokio - опицональный рантайм, если не нравится замени его другим/своим. Вполне нормальная идея для системного языка как по мне.

Не юзал асинк раст для микроконтроллеров или подобных мест где важен размер рантайма, но полагаю примеры таких рантаймов есть:
https://github.com/embassy-rs/embassy
480 3307088
>>307064
>>307077
У вас длина контекста как у нейросетки. Был вопрос, что за хейт в сторону асинков. Я вспомнил про цветные функции, и полтреда пытаюсь объяснить, что так всё программирование работает, блять.
481 3307134
Как искать такие md-книжки? https://doc.rust-lang.ru/stable/rust-by-example/
Пробовал гуглить, но даже зная ссылку, гугл отказывается их искать. Есть какие-нибудь шаблоны по поиску md-книг?
482 3307247
>>307077

>Не понял проблемы, tokio - опицональный рантайм


Кстати выше джавапидарас говорил, что надо всё тащить в стандартную библиотеку, ваше ебало если бы токи был в ней?
483 3307261
>>307247
Нормальную реализацию как в каком-нибудь шарпе можно было бы и притащить. Но кроме дотнета никто не пилит стд, у всех всё в стиле Тодда "Сами допилят" Говарда.
484 3307268
>>307261
Ебать чурка.
485 3307275
>>307247

>джавапидарас


Это какой-то залетный студент услышал про DI когда обосрался с тестированием и начал искать джавистов под кроватью после первых ссылок в гугле.
Речь же выше шла про всякие коллекции типа вектора и хэшмапы, что для разработки в команде стандартные решения гораздо лучше самописных костылей васянов которые уволились год назад. А для всяких специфичных штук можно использовать no_std и запускать свой DOOM на тесте для беременности

>ваше ебало если бы токи был в ней


Не нужно его в стд, токио по сути нужен только для бекенда
486 3307284
>>307088
так ты свой пост перечитай что ты там утверждал. и хейт в сторону асинка обоснован. но не конкретного языка, а концепции в целом. потому что на го такой код пишется проще и не выглядит как кусок костыльного говна. но некоторые насктолько фанатично преданы своему любимому $language_name что будут даже костыли выставлять как достоинства.
487 3307288
>>307275
кто-то евреев ищет, а кто-то джавистов на дваче в треде про раст. лол
>>307247

>ваше ебало если бы токи был в ней?


охуенно, чем больше бы ныло, тем быстрее сделали бы ее адекатной. либо ушли бы писать другую, а растовцы потом бы спиздили себе.
488 3307290
Реализуются ли вообще на rust алгоритмы на графах без ансейфа? Дело в том, что в таких алгоритмах ноды связываются ссылками друг на друга и тут нарушается принцип владения раста.
489 3307305
>>307290
Без ансейфа реализуются, но для производительности лучше с ним

> в таких алгоритмах ноды связываются ссылками друг на друга


Ты совсем зелёный? Ну подожди, в универе на первом курсе расскажут что граф можно хранить и матрицей и списком ребер и тому подобным
490 3307306
>>307290
Какой конкретно?
Я так понял связи произвольные, тогда каждая нода содержит Vec<Optional<Node>> ну и проблем с редактированием и обходом таких нод без использования ансейфа не вижу
491 3307310
Зачем деда обидели?
https://www.youtube.com/watch?v=8VWC9toafz8
492 3307350
>>307290
Арены с индексами. Есть профит, что индексы не обязаны быть размером с указатель.
493 3307526
>>307306

>каждая нода содержит Vec<Optional<Node>>


Как раст поймет, кто владелец ноды и что можно высвободить память для них?
494 3307819
>>307350

>уиии васяны используют свои костыли(аллокаторы)


Джавапидорас и его подсос сисярпопидор выше не одобряют использование арен.
image.png42 Кб, 225x225
495 3307949
>>307819
Ты бы знал как нам насрать на ваши проблемы.
rusthellosize.jpg4 Кб, 270x24
496 3308081
Почему хеллоуворлд на расте весит 400Кб? Что там такого в бинарнике, что для того чтобы вывести два слова в консоль надо 400Кб кода!? И это релизный билд. Дебажный занимает 3,5Мбайта.
На си хеллоуворлды почему-то занимают всего 15Кб.
497 3308086
>>308081

> Почему хеллоуворлд на расте весит 400Кб?


Раст не умеет стд триммить, всегда всё с собой таскает.
image.png389 Кб, 640x640
498 3308089
>>308081

>Почему


Потому
499 3308091
>>308081
Бля ну потому что си использует системную библиотеку STD для вывода текста и так далее. Он не включает её в бинарник. А раст включает. Поэтому у него размер бинарника больше. Чтобы было честно, надо компилить с флагом no_STD https://docs.rust-embedded.org/book/intro/no-std.html
500 3308098
>>308081
Это бодипозитивный системный язык, ты не понимаешь.
501 3308130
>>308091
На винде сишнная либа весит 120 кб, раст её линкует динамически. Так что твоё объяснение не принимается.
502 3308141
>>308081
Чел, ты на это уже жаловался. Смени методичку.

>Что там такого в бинарнике, что для того чтобы вывести два слова в консоль надо 400Кб кода!?


Выведи LLVM IR и посмотри. Или вообще в хекс-редакторе бинарь открой.
503 3308248
>>308141
У меня до сих пор горит с этого
504 3308342
>>308248
Не гори, лучше скачай приложение Сбербанка на 400 метров.
505 3308371
>>308081
А у зига сколько бинарь?
506 3308401
for value in hash_map.values_mut() {
value.update_ref();
}

hash_map.values_mut().map(|value| value.update_ref());

в update_ref() передается &mut self и обновляются поля структуры, которая лежит в hash_map в качестве значения

в первом случае все ОК, а во втором ошибок не выдает, но update_ref не делает то, что требуется

вместо map надо юзать что-то другое?
507 3308433
>>308401
Ленивые итераторы. Ты создаёшь итератор, но ни разу не делаешь next(). На это должен быть ворнинг.
508 3308436
>>308371
Когда релизнется, тогда и будем замерять.
509 3308459
>>307949
Хуею с этой чурки, которая забегает в тред системного языка и рассказывает как ей не насрать.
510 3308543
>>308401
Как выше уже написали итераторы ленивые, тебе нужно вызвать next или делать collect и только тогда будет вызван метод, который ты передал.
Можно в код нырнуть и глянуть как оно там работает, там довольно все просто написано .map() просто делает обертку и возвращает эту структуру https://doc.rust-lang.org/src/core/iter/adapters/map.rs.html#61 чтобы произошел вызов твоей функции, нужно вызвать next(), тогда структура Map вызовет у итератора метод next() и если там есть что вернуть то в Option вызовется метод, который ты передал https://doc.rust-lang.org/src/core/iter/adapters/map.rs.html#106

>>308401

>вместо map надо юзать что-то другое?


Если тебе нужно в цикле просто вызывать что-то другое, то лучше первый вариант. А если надо манипулировать с данными и потом их во что-то собрать, то удобнее итераторы
511 3308546
>>307819
Уже не только джавистов, но и шарпистов под кроватью ищешь лол
512 3308616
513 3308652
Есть вектор из T (примитив, не структура), есть поинтер mut T

Как корректно забить нулями кусок заданной длины (в T) начиная с поинтера? Чтобы все остальное осталось в памяти нетронутым, т.к. на этот вектор еще дохуя
mut T.

Понятно, что это что-то типа from_raw_parts_mut в unsafe, но как конкретно?
514 3308654
>>308652
звездочки сожрало мразь
вы знаете, где их искать
image.png13 Кб, 602x182
515 3308658
>>308652
Не совсем понял чего ты хочешь, может тебе надо заранее выделить память под нужную длину вектора, тогда
Vec::with_capacity(длина)
517 3308665
>>308658
нет, есть вектор на 100000000 элементов
есть мутабельный указатель на абстрактный 10000ый элемент
надо следующие 100 элементов сделать нулями
при этом надо, чтобы этот вектор на 100000000 никуда не релоцировался, т.к. на него еще овердохуя указателей
518 3308667
>>308663
эту ссылку я ждал, спасибо)
519 3308976
>>308436
Реакт нейтив все еще 0.75, может пойдем скажем им чтобы не пользовались? и в доту не играли, которая еще в бете
520 3309001
>>308371
У зига как у сишки, даже чуть меньше, потому что нет жирного libc.
>>308976
У Шарпа сейчас ровно 1 мб у хеллоуворлда с АОТ-компиляцией. Не так уж далеко от раста, меньше чем у ГОвна.
521 3309006
>>309001

>У Шарпа сейчас ровно 1 мб у хеллоуворлда с АОТ-компиляцией.


Это прям без вирт машины? То есть автономный, можно переносить?
522 3309010
>>309006
Да. Компиляция в нативный код, пикрил, кроме winapi ничего не линкует. Для сравнения на втором пике с JIT.
523 3309016
>>309010
Выглядит годно, а какие ограничение есть в сравнение с jit?
524 3309022
>>309016
Принудительно выключена рефлексия. Из-за неё на этапе компиляции нельзя понять какой код используется, а какой нет. А без этого понимания нельзя тримить либы, соответственно рефлексия заставляет весь дотнет с собой таскать.
Т.е. все либы без рефлексии работают. Весь не-гуевый дотнет работает. С WPF ещё были проблемы, когда последний раз год назад чекал, из-за XAML, который через рефлексию в IL компилируется.
Из бонусов есть возможность вызывать дотнетовский код из сишки, делать нативные либы с FFI под другие ЯП. И потребление памяти в разы меньше чем в JIT. По скорости никаких изменений.
В целом профитов мало, разве что делать портабельные утилиты или всякие службы, постоянно висящие в фоне.
525 3309032
>>309022
В любом случае прикольно что они дотнет во все стороны развивают.

Я несколько лет назад писал веб-бота на селениуме, так вот там надо было цепочку действий делать (помимо авторизации) и каждый раз перезапускать и ждать все эти действие было проблемной (буквально вносишь строчку кода чтобы глянуть результат и минутами ждешь имитацию человека в браузере) и тут вижу что дотнет сделал горячую перезагрузку - ппц я тогда кайфанул с этого (и как вовремя для меня они это сделали).
526 3309130
>>309032

> дотнет сделал горячую перезагрузку


Да она и в крестах есть у майков.
527 3309458
А можно как-то выгрузить весь рантайм раста в runtime.so, а сами бинарники, чтобы остались легковесными на пару Кбайт?
528 3309465
>>309458
1. Нет (т.к. большая часть того что ты называешь рантаймом - это компайл-тайм)
2. Нахуя?
3. Выкидывай std вообще, дёргай libc напрямую из unsafe, еби гусей https://github.com/johnthagen/min-sized-rust?tab=readme-ov-file#removing-libstd-with-no_std
529 3309661
>>309458
ембеддед плюется от раста, нахер ты повелся на хайп
530 3309862
Если есть какой-то объект (хуй с ним, пусть будет вектор), с которым не делают операций, которые завязаны непосредственно на него (пуши, аппенды и пр.), то насколько безопасно давать на него поинтер?

При этом этот вектор является полем структуры, которую ебут в хвост и гриву, гоняют туда-сюда, но не удаляют и сам вектор, повторюсь, не трогают. И структуру не клонируют, а ебут через ссылки. Вектору похуй или есть шанс, что он куда-нибудь переедет?
531 3309863
>>309862

>гоняют туда-сюда


гоняют по функциям и методам, а не в памяти
532 3310065
>>309862
Если ты ничего с ним не делаешь, то ничего не произойдет, очевидно. А зачем тебе указатель на вектор, если ты будешь им пользоваться как иммутабельной ссылкой на слайс?
533 3310374
>>310065
ковыряю готовое, *mut T были до меня
# OP 534 3310722
Обновить тред
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски

Скачать тред только с превьюс превью и прикрепленными файлами

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