В этом ИТТ мы можем объяснить базовые и продвинутые концепции языка, и программирования в целом, поможем вкатывающимся, подскажем что выбрать для веба, игр или, прости Абу, блокчейна.
>>2430106 И там и там unsafe есть, и там и там сборка мусора, и там и там дрочь на безопасность, и там и там проверяются индексы массива или юникод символа.
>>2430195 Вне unsafe раст даёт гарантии. А теперь пошёл нахуй.
!!! ВНИМАНИЕ, В ТРЕДЕ СРЁТ СТОЛЯРОВСКИЙ ШИЗИК! ЕСЛИ ВЫ ВИДИТЕ УПОМИНАНИЕ ШАРПА, СБОРКИ МУСОРА, И ХУЙНИ ПОДОБНОЙ ЭТОЙ >>2430195 ТО ИГНОРИРУЙТЕ ЕГО И НЕ ОТВЕЧАЙТЕ!!!
>>2430458 Зачем ты опять с шизом споришь? Шарп - параша с полноценным GC на виртуальной машине, раст - компилируемый язык без gc, такой же как плюсы. Это как плюсы с шарпом сравнивать.
>>2430458 Неуправляемый язык имеет больше безопасности, чем управляемый, ага.
>>2430469 >Шарп - параша с полноценным GC на виртуальной машине, раст - компилируемый язык без gc Обратите внимание как этот выдрессированный фанбой, на всякий случай использует фразу "полноценным GC"
>компилируемый язык без gc Там такой рантайм, что надо всю стандартную либу выкинуть. И все равно что-то останеся, потому что надо паники кидать. А теперь представьте раст без стандартной либы.
>>2430458 Неуправляемый язык имеет больше безопасности, чем управляемый, ага.
>>2430469 >Шарп - параша с полноценным GC на виртуальной машине, раст - компилируемый язык без gc Обратите внимание как этот выдрессированный фанбой, на всякий случай использует фразу "полноценным GC"
>компилируемый язык без gc Там такой рантайм, что надо всю стандартную либу выкинуть. И все равно что-то останеся, потому что надо паники кидать. А теперь представьте раст без стандартной либы.
>>2430658 >>2430657 Сьеби к своему старому пердуну и отьебись от треда. Как бот, блядь, одно и то же в каждом треде высираешь. Я просто охуеваю как Столяров мозги промывает, хотя нормальные к нему не пойдут изначально.
>>2431360 >неолуддит от мира айти Забавное сочетании. Я так понял это просто очередной инфоцыган, который накидывает на вентилятор, чтобы максимально привлечь к своей персоне, ради продажи книг и прочей чепухи. Знаю один уже довыеживался, отменили его.
>>2431508 >продажи книг Его книги доступны бесплатно. Это 3 книги про основы программирования, устройство пк и сеть. Весь хейт сводится к тому, что он дает основы паскаля и то что он не Кнут.
>>2431508 Книги у него годные и содержат много полезной инфы. Можно смело советовать новичкам, но главное их предупреждать, чтобы они философские вставки Столярова серьезно не воспринимали. Вот если его личную шизу убрать, то книги хорошие
>>2432141 Не войдёт, эксперименты с ним не более чем ублажение сжв-корпоратов.
0) Кроме крипты и драйверов FS, в ядре реально мало модулей, где есть смысл разворачиваться с разделением на safe и unsafe, оно слишком смешано все. Пробовать разделить искусственно, просто чтобы было - это как форсимые некоторыми шизами микроядра, крутая в теории, мёртвая на практике идея, никто не захочет ронять производительность на порядок и более.
1) Закон Мура - всё, чем дальше, тем важнее выносить все что можно на хардварные ускорители, Apple M1 яркий пример. Ебать байты на стыках этих сопроцессоров, DMA и системных вызовов/вызовов гипервизора и так непросто, ещё сюда только типов с лайфтаймами не хватало...
2) За 30 лет, вокруг топорного С в ядре выросла своя система сборки, в частности, на макросах построена вся модульность. Переписать на раст поэтапно означает десяток-другой лет пердолиться с двумя языками сразу, огребая все недостатки без преимуществ.
3) В ядре уже есть kmemleak, kasan, ubsan, недо-GC в виде devm_kzalloc(). А ещё есть проблемы, отличные от привычного юзерспейса, вроде очень маленького стека и необходимости делать все аллокации крупнее POD и указателей на куче, ещё и выбирая каждый раз, нужна ли физически-непрерывная память или сойдёт и виртуальная, нам важнее чтобы аллокация завершилась успешно, или чтобы она не требовала переключения контекста и была применима в обработчиках прерываний, делать ли блокировки мютексами или спинлоками,... Половина решаемых растом проблем решена своими санитайзерами, половина просто неактуальна или не покрываема NoStd подмножеством.
4) Общая проблема для эмбеддеда вообще: NoStd восимьлет не могли внести в мейнлайн. NoStd Раст неидиоматичен, пишущему на расте с Arc, Box<>, `thiserror` и прочим сахарком придётся туго, прикручивать самому аналоги обратно сложно. Nostdlib C полностью идиоматичный, и требует освоения только предметной области.
>>2432326 Частоты, латентность доступа к рам, производительность на Вт топчутся на месте. Да, уменьшение процессов позволяет напихать больше транзисторов, но процент одновременно работающих снижается, потому что происходит затык по тепловыделению, синхронизации шин и когеретности кешей. Средняя кодомакака даже с многопоточностью и атомиками с трудом справляется, от написания софта под NUMA на стены лезет, без когерентной памяти будет вообще пиздец, так что в рамках старой модели VM для С или раста наращивать производительность некуда.
С другой стороны, крипта, кодеки или (де)компрессоры часто далёки от затыков по памяти и их можно оффлоадить в железо. Причём оффлоадятся сами алгоритмы, то что вроде как удобно было бы писать на safe rust, а вот количество unsafe сопряжений, заливок фирмвари в железо и т.п. становится только больше. Раст сюда как седло на корове лезет.
>>2433354 Он его переплюнул. Если С++ это слоенное, многолетнее убожество, которое трахает целое комьюнити. То раст, это перделка с нуля, в которой даже нет ООП и которая могла тупо стать удобным инструментом, не смогла.
С++ победит только практичный, а не идеологичный язык. А пока идет битва уродов, шарп потехоньку отгрызает последний прикладной уровень - разработку игр (и не важно что это скриптовой уровень, важно что он становится языком/синтаксисом де-факто для игр).
PS Раст вообще непонятная шляпа. На ембеддед не тянет, на системщину (настоящую) только со звездежом и условностями, а на прикладной уровень он не годится вообще, потому как многократно проще взять управляемые языки за ту же производительность (techempower это доказывает).
В общем, раст, это удачная перделка, чтобы залочить себя у какого-нибудь кабанчика. И кстати, какая ирония, игра rust написана на юнити - шарпе.
>На ембеддед не тянет, на системщину (настоящую) только со звездежом и условностями, Пруфы? Он при отключении стандартной либы в Си превращается(но боров-checker продолжает работать). Да и в bare metal пишет, что тебе еще нужно?
>>2430322 >В ТРЕДЕ СРЁТ СТОЛЯРОВСКИЙ ШИЗИК! >ЕСЛИ ВЫ ВИДИТЕ УПОМИНАНИЕ ШАРПА, СБОРКИ МУСОРА Вообще говоря, это взаимоисключающих параграфы, по столярову этот кадр — тоже бездарная макака, тем более фанат спермы.
>>2432333 >латентность доступа к рам, производительность на Вт топчутся на месте Чел которому ты отвечал привёл в пример М1 — таки не топчутся, а конкретно упираются в дженерик интерфейсы.
Правда такой перформанс будет ебать как дорого стоить, но об этом пусть кабанчики задумываются, лол.
>Раст сюда как седло на корове лезет. На крипту прекрасно лезет, сейчас блокченый мягко говоря, очень далеко убежали от какой нибудь первой ревизии битка.
>>2433481 > Демагогия Пока такие как ты пиздят, другие просто пишут код. Раст хорошо вписался в блокчейн, байтоебить на нем кстати довольно удобно и ещё на нем пишут производительные микросервисы также как и на го, ну и в линуксе он вкатывается постепенно. Собственно вот его основные ниши которые сложились.
>>2433549 >Удачи Что удачи, блядь? Если тебе нужен НАСТОЛЬКО низкий уровень на нищей железке, то можно писать как на Си, только с проверками. Если железка на уровне ардуины за 4$, то можно и с std хуярить.
>>2433542 >Пока такие как ты пиздят, другие просто пишут код. Чел, я за этим говном с момента релиза слежу, он развивается скорее в рамках статистической погрешности. Языку, если что, 7 релизных лет. Ты посмотри на гитхламе сколько по тому же го высрали за эти года.
>Раст хорошо вписался в блокчейн Пузырь в пузыре. Это как радоваться что устроился в МММ работать, в девяностые.
>на нем пишут производительные микросервисы Пока нет стабильных асинков, пописать они могут себе только анус. Не путай пиар компании и реальным рынком. Если топ компании могут поиграться для пиара среди комьюнити, то обычному рынку срать на язык без разработчиков, тем более никто не хочет быть бесплатным бета-тестеров.
>>2433568 Как писать на низком уровне в языке, где проверяются доступ к индексам массива и utf-8 букв? Как писать на языке где нужно юзать сборку мусора в виде Rc?
Как писать на языке в котором у тебя 100500 опшеннов и резалтов, которые нефига не бесплатны и занимают ощутимо памяти? Я как-то на сях писал и случайно не уместился в 2кб флеш памяти, а ты мне хипсторную перделку предлагаешь (где еще свою стандартную либу придется писать).
>>2433612 А что не так? За все треды я не увидел реальный контраргумент кроме того, что в плюсах есть какой-то такой же поинтер? Для меня это тоже выглядит как костыль, мол затычка чтобы работала в рамках парадигмы.
>>2433615 Ага, только ты говорил, что в плюсах - это функция, а в расте обязательство. И что без этой херни программу не написать. Ну и пруфов не принес, конечно же.
>>2433645 Говна там поел? Ты вообще-то первый начал вбрасывать маняаргумент про обязательный ГЦ в расте, а когда с тебя спросили пруфов, то ты начал игнорировать и сливаться, как и сейчас, в общем-то. У нас в треде для обвинения нужно доказать вину, иначе я утвержаю, что ты пидор-копрофил, пока не докажешь обратного.
>>2433735 Блядь, а я все сомневался.... Буквально статью с rustmustdie.com пересказываешь....
> Но кроме столь запутанного и хрупкого механизма заимствований и владений Rust обладает ещё одним способом управлять значениями. Пускай его фанаты и маркетологи это отрицают, но в Rust есть и весьма распространён сборщик мусора — причём ладно бы он был один, но их даже несколько. Впрочем, давайте разбираться. Мы можем написать такую программу, отдав строку во власть встроенного в стандартную библиотеку сборщика мусора методом подсчёта ссылок: >... > Особо стоит подчеркнуть, что сборщик мусора встроен в стандартную библиотеку, которая неотделима от самого языка, а потому заявления, что Rust — это якобы язык без сборки мусора, — лживы. С таким же успехом это можно сказать про язык D. Да, вы можете писать программы без сборки мусора, если очень захотите. Но, во-первых, в случае Rust это будет тяжко, ведь язык накладывает на вас многочисленные ограничения. Во-вторых, даже если ваша программа не будет его использовать — ваши зависимости будут, и почти наверняка, ведь использовать его очень легко. Наконец, сборщик мусора просто-напросто встроен в Rust, он есть в вашей программе независимо от того, используете вы его или нет. >Но это, конечно, не волнует любителя Rust. Любителя Rust волнует то, что приведённый мной сборщик мусора работает только для последовательных программ. Как мы помним, Rust не предназначен для последовательных программ, ведь это язык будущего. И гениальные разработчики этого языка встроили асинхронную версию сборщика мусора, с тем подвохом, что его содержимое должно быть неизменяемым. Итого в Rust уже даже не один, а два сборщика мусора!
Иди на хуй в общем. Все твои утверждения про обязательный ГЦ исходят из одной причины: ТЫ НЕ ОСИЛИЛ
>>2433539 >таки не топчутся, а конкретно упираются в дженерик интерфейсы. Этот подход не масштабируется, нужный для современных серверов объем RAM напихать и развести в монолитной сборке просто не получится. >На крипту прекрасно лезет А крипта, в свою очередь, быстро оффлоадится в GPGPU, а если совсем взлетит, то и в ASIC-и. Оркестрировать эти ускорители на высоком уровне потом можно хоть на питоне с джавой, а вот для драйверов, которые распихивают через DMA данные, гарантии раста только мешаться будут. Ниша "безопасного числодробления" на CPU в целом отмирает, разве что научные расчёты, но там ещё не все с Фортрана на С слезли, Раст они точно не потянут.
>>2433809 >, а вот для драйверов, которые распихивают через DMA данные, гарантии раста только мешаться будут. >Дополнительно можно отметить инициативу по использованию языка Rust для написания работающего на уровне ядра Linux драйвера для GPU Apple AGX, используемого в чипах Apple M1 и M2. Отмечается, что GPU Apple AGX выполняет прошивку и использует достаточно сложные совместно используемые структуры данных. Реализация управления прошивками и структурами на Rust позволила бы упростить разработку и добиться более высокой безопасности. Рассматриваются два варианта разработки: написание основой части на Си, но использование компонентов на Rust для взаимодействия с прошивкой и управления структурами данных в разделяемой памяти, или написание всего драйвера на Rust и создание Rust-обвязки для подсистемы DRM. https://www.opennet.ru/opennews/art.shtml?num=57628 Поживем, увидим
>>2433757 Ну вот смотри, опять, маневры, а не контраргументы. >Буквально статью с rustmustdie.com Да ну понятно, что кто-то будет иметь такую же мысль, ибо ловят фрустрацию, когда маркетинг создает одно ожидание, а в реале муть какая-то выходит, а когда пытаешься в дисскус, все оправдание у макак сводится к мантрам - "а вы видели что С++ небезопасный! Или у него тоже есть умные поинтеры с гц". В общем, ожидание создают одно, а потом тебе говорят, что сам виноват что так ожидал.
Я еще в дни релиза говорил, что раст это экспериментальный язык, который пытаются натянуть на прод. Тогда он еще и по тестам смешил народ, благо под тесты они оптимизировали за 7 лет, а продуктов так и нет (потому что маркетинг и попил бабла важнее чем твои продукты). И я же тогда говорил что мозила их выкинет и серво загнется.
Во много такую же фрустрацию я и с котлином поймал, но это другая история. Мы живем в эпоху где маркетинг важнее продукта, это ужасно.
>>2433821 >контраргументы На что? На твое личное мнение, которое ты даже примером не подкрепил? Ну тогда я скажу, что у меня все нормально без Ar/arc работает. Достаточно контраргументированно?
>Да ну понятно, что кто-то будет иметь такую же мысль, ))))))))
>когда пытаешься в дисскус, все оправдание у макак сводится к мантрам Напоминаю, что накидывание безпруфного говна с твоей стороны на вентилятор - это не дисскус.
>а вы видели что С++ небезопасный! И в чем не правы?
>-Или у него тоже есть умные поинтеры с гц". Аргумент с поинтерами был приведен в ответ на твой наброс про сьорщик мусора в расте и его отсутствия в плюсах. А когда тебе припомнили умные указатели в плюсах, то ты начал маняврировать и говорить, что в расте без них нельзя, а в пллюсах это как опция только. Из чего можно уже сделать вывод, что ты неосилятор.
>смешил народ Видимо Торвальдсу очень такая шутка понравилась, что он его в яядро добавил. Ну и в NASA тоже шутники сидят.
Ограничения и ебля в жопу тупых прогеров борроучекером - это благо. Иначе вы долбаебы будете стрелять себе в обе ноги и по окружающим попадет. Блять какие же тупые макаки.
>>2433855 Можешь пару тредов назад посмотреть, где я сборку проектов на расте и плюсах сравнивал. У меня проект на расте с 20мб при компиляции до 1.2Гб раздувался. Как выяснилось, компилируется вообще все зависимости из исходников, когда у плюсов часть зависимостей уже встроена в систему. После сборки всех зависомостей на плюсах(glib-ы, хуибы и прочие штуки) +- столько же места заняло.
>>2433856 >Ограничения и ебля в жопу тупых прогеров борроучекером - это благо. Иначе вы долбаебы будете стрелять себе в обе ноги и по окружающим попадет. Получается не макак не существует? Ибо даже у даже у дидов-атлантов с PhD находят дыры в ногах.
РЕШИЛ В КАТИТЬСЯ В КРИПТУ НА РАСТЕ ЗА 100500$ В НАНОСЕКУНДУ @ ПРИЯТНО УРЧИШЬ, ПИШЕШЬ КОД, ПОПУКИВАЯ В СТУЛЬЧИК @ КОНТОРА РЕЗКО СХЛОПЫВАЕТСЯ @ ВСЕ КРОМЕ ТЕБЯ КУДА-ТО УЛЕТУЧИВАЮТСЯ @ ЗА ЖАБРЫ ХВАТАЮТ ТОЛЬКО ТЕБЯ @ НА ЗОНЕ УЗНАЮТ ЧТО ТЫ ПИСАЛ НА ГЕЙСКОМ ЯЗЫКЕ @ ТЕБЕ УКАЗЫВАЮТ НОВОЕ МЕСТО РАЗРАБОТЧИКА У ПАРАШИ @ ТЕПЕРЬ ВМЕСТО КОДА РАЗРАБАТЫВАЕШЬ СЕБЕ ОЧКО
>>2433868 Глупенький, там нету господина нашего Борроучекера, чтобы ебать в жопу макак. Следовательно напрашивается ввод о том, что только RUST обеспечивает разработку безопасного ПО. Славься Борроучекер!
Расту уже много лет, но в 2022 году у меня нет ни одной программы на расте для десктопа. Все написаны на других языках, несмотря на то, что они гораздо хуже раста. Задумался, почему так получилось. С виндой всё понятно, там расту ничего не светит. Но у меня-то линукс, где старьё на десктопе безжалостно выкидывают в угоду продвинутым новинкам. Это в винде одну кнопочку поменял и у людей уже паника, а на линуксе народ готов к экспериментам. Итак, минимально необходимый мне десктопный набор того, что не нашлось на расте: файловый менеджер, оконный менеджер, текстовый редактор, редактор изображений, просмотрщик изображений, видеоредактор, конвертация аудио/видео/изображений (типа ffmpeg), видео- и аудио- записывалка, видеоплеер, аудиоплеер, читалки epub/fb2/pdf/djvu, мультипротокольный мессенджер, оффлайновый словарь, торрент-клиент. Если это всё не нужно растоманам, то зачем тогда нужен раст?
>>2434792 >С виндой всё понятно, там расту ничего не светит. Они как бы тоже начали в свои проекты раст внедрять... >что не нашлось на расте: файловый менеджер, оконный менеджер, текстовый редактор, редактор изображений, просмотрщик изображений, видеоредактор, конвертация аудио/видео/изображений (типа ffmpeg), видео- и аудио- записывалка, видеоплеер, аудиоплеер, читалки epub/fb2/pdf/djvu, мультипротокольный мессенджер, оффлайновый словарь, торрент-клиент. Лол, блядь, вест гитхаб завален подобным говном на расте. Иди на хуй, жирный.
>>2434111 Оно и логично, если осилил и работаешь, то какой смысл срать на двощах. В тренде срут либо вкатуны, либо объебанные столярным клеем религиозные фанатики
А на расте вообще реально работу найти? Просто вижу 3 с половиной вакансии в России. Просто хотелось бы попробовать, в идеале, простит меня бог, в блокчейн. А то сейчас бэк пишу и как-то подзаебало
[code]err("Don't use magic numbers that spell things (consider 0x12345678)");[/code]
Какие же растодауны инфантильные обиженки, пиздец просто. Как будто у языка не осталось никаких проблем, вроде сахарка проброса ошибок, обязательной плавучки и паников в no_std...
>>2430658 >Неуправляемый язык имеет больше безопасности, чем управляемый, ага. Но ведь он прав, С# не защищает от гонок по данным. А в остальном то же самое.
>>2444088 Гугл говорит, что это из жабы какая-то константа. Так что, тут надо бы ещё и до оракла доебаться (хз, может уже). Алсо, раст зависит от спонсоров, а спонсоры спонсируют всё, что как им видится, уравнивает в правах расы и гендеры. Вот фаундейшены и лезут из кожи вон, доказывая, что они достойны подачек.
>>2446846 Есть мнение, что раст околопопильная технология, собственно, цель которой пилить бабло с кабанчиков. Если посмотреть с этой стороны, многие происходящие процессы становятся более понятными (хипсто геи просто будут фаниться, прожирая ресы спонсоров, или делать то что надо каждому спонсору)
>>2447409 Почему эта топ компания не запилила свой язык? Сейчас бы за мизерную зарплату, прототипировать алгоритмы, на языке, на котором гвоздями прибили любое самовыражение в коде.
>>2447662 Никто не говорил, что нельзя, говорили что придется навернуть костыли, что ты и показал. А вообще ты в курсе, что опшены не бесплатные? Сам факт что для простейшей структуры приходится прибегать к абстракциям уже говорит, о том, что любые экзотические, тестовые алгоритмы придется писать через тотальное костылеварение.
>>2447743 >А вообще ты в курсе, что опшены не бесплатные? Да, как и null иногда не бесплатный в прямом смысле этого слова. Если нужно что-то пиздец быстрое оберни в unsafe и делай что хочешь. Ты не понимаешь или понимаешь но пытаешься троллить философии языка и пытаешься её натянуть на своё мировоззрение из C, это как ты пытался бы сравнить перфоратор и шуруповёрт, отверстия сверлит и то и то, но у инструментов разные цели. Вот ты и пытаешься долбить бетон шуруповертом. Все эти Option нужны в первую очередь для безопасности, в расте меньше способов выстрелить себе в ногу, просто в разы меньше и безопасная работа с памятью, но за это приходиться жертвовать и делать лишние телодвижения, это не хорошо и не плохо
>>2447750 >философии языка Маркетинг языка, пофиксил.
>перфоратор и шуруповёрт Эта дилетантская попытка сравнивать с инструментами. На собесе такое не ляпни. Это уже становиться де-факто стандартном некомпетентности.
>>2447836 >C/C++ У тебя опшены с оверхедом, проверка границ у фундаментальной структуры, обязательный сборщик мусора для совместного владения, проверка юникод символа во время произвольного доступа.
Ты уверен что ты имеешь право сравнивать его с Си, где Си фактически ассемблер в другом синтаксисе?
Или с С++ где у тебя есть ООП, да и вообще херова туча парадигм, есть даже исключения, которое не могут осилить современные разработчики языков (технология древних!)
Этот управляемый язык, как и сишарп, у которого тоже есть ансейф и прямое управление памятью.
>>2447819 >Маркетинг языка, пофиксил. Можно и так, что плохого в маркетинге?
>Эта дилетантская попытка сравнивать с инструментами. На собесе такое не ляпни. Это уже становиться де-факто стандартном некомпетентности. Нет, я на собесе так и говорю когда меня спрашивают на каких языках пишешь и к этому все относятся нормально. Да и вообще судя по тому как ты говоришь про собесы, видно что для тебя это какая-то дрочка с экзаменовкой, у меня это тупо беседа последние разы я там говорю все что хочу и не трясусь как ты. Прикинь я даже js иногда беру и пишу на ноде всякие вещи которые нужно быстро наговнякать и не нужно поддерживать, для меня это просто инструмент. Вообще странный подход использовать языки как религию, а не как инструмент для решения задач.
>Остальное вода, от фанбоя. Что-то неудобное и ты не хочешь отвечать? Или тебе нужно больше возможностей стрелять в ногу? Да и вообще кто из нас фанбой, мне кажется ты фанбой Столярова, который промыл тебе мозги.
>>2447840 >с С++ где у тебя есть ООП Обзмеился с этого оопшника. Какое нахуй ооп ау, у тебя багованная программа может переписать какую угодно память, про инкапсуляцию слышал? Так вот, в ООП она должна быть.
>>2447934 Так ты сам пишешь >в процедурном Он разве претендует на ООП? А в джавошарпах действительно не получится написать такой код, который из-за бага перепишет чужой объект. Сознательно - да, можно, случайно - никак. Хотя конечно и в крестах когда ты ступаешь на территорию адресной арифметики это уже расценивается как использование unsafe и рефлексии в джаве, так что я всё же сгустил краски.
>>2447995 >крестах когда ты ступаешь на территорию адресной арифметики это уже расценивается как использование unsafe и рефлексии в джаве В этом весь сюр, когда агрессивный маркетинг привлекает вот таких экспертов.
>>2448006 Не может, он даже или не он не показал линкедлист на крестах. Вообще больше похож на вкатуна, который начитался opennet и говорит какими-то абстрактными словами
>>2448039 >Вообще больше похож на вкатуна, который начитался opennet и говорит какими-то абстрактными словами Этот шизик, который 24/7 мониторит данный тред и срет в нем последние 5 тредов минимум, является одним из подсосов-ученичков Столярова и по совместительству автором таких статей как rustmustdie.com и cmustdie.com. Узнать его можно по однотипным высерам, которые не меняются из треда в тред, а именно: сравнение раста с Сишарпом и безпруфные заявления про GC в расте(на самом деле он не осилил раст и начал кидаться говном, заявляя, что Arc - это обязательный сборщик мусора. А когда ему привели в пример умные указатели в плюсах, то начались виляния жоплй в духе "ряяя в плюсах это как опция, а в расте обязательство потому что я не осилил, поэтому раст - язык с ГЦ). Ну и за все время, этот додик ни разу не доказал свои слова пруфами, вместо этого начиная набрасывать говно на вентилятор и уводить диалог на другую тему
>>2448039 > и говорит какими-то абстрактными словами Абстрактные слова, лол)) >У тебя опшены с оверхедом, проверка границ у фундаментальной структуры, обязательный сборщик мусора для совместного владения, проверка юникод символа во время произвольного доступа. Когда очень не приятно, то факты из списка становятся "какими-то абстрактными непонятными словами".
>>2448291 Зумерки не знают про разного рода ГЦ, например что вообще существуют даже реал-тайм ГЦ. Arc это сборка мусора, просто в самой сборке мусора, с точки зрения компьютерной науки ничего плохого нет, это негативный раздутый маркетинговый ход. И если язык обязывает использовать Rc, а в С++ это опционально, раст является ГЦ языком.
>>2448726 >И если язык обязывает использовать Rc, а в С++ это опционально, раст является ГЦ языком. Животное, ты за последние 2 треда так и не доказал свои слова, а посему идешь на хуй. Если ты неосилил, то просто закрой вкладку и забудь про данный язык.
>>2448718 Без бенчмарков это абстрактные слова, ты ни строчки кода в тред не написал, ни одной ссылки не приложил. Показал бы хоть насколько небесплатны опшены. Только срешь круглосуточно. И вообще покажи свой линкедлист на плюсах о котором ты выше говорил, я погляжу твою на реализацию на правильном языке
>>2448747 Кратко, в своей статье про раст этот додик не осилил включить флаг оптимизации -O и назвал выхлоп огромным оверхедом. Охуевшие пользователи ЛОРа взбугуртили, написали и доказали автору статьи(нашему шизу), что с этим флагом код на расте 1 в 1 построчно соответствует выхлопу компилятора на Си/Плюсах. На что наш пациент ответил >Мне кажется нерепрезентативен как раз оптимизированный код, но спасибо за предложение. Поясню почему оптимизированный код мне сравнивать кажется неверным решением: >Прежде всего, он менее ясен, часто существенно менее ясен -- разобраться и понять, как исходный код стал полученным машинным становится сложно. Поэтому и разобраться в нём становится сложней, а значит и сравнивать. >Кроме того, тогда вместо языков мы скорее сравниваем искусство оптимизации компиляторощиков -- чего мне тоже не хотелось бы. >Наконец -- можно и включить оптимизации, результат изменится не принципиально -- код будет всё так же больше и всё так же медленней в случае Раста, особенно в случае Раста "эталонного". ЕБАЛО ПРЕДСТАВИЛИ? Какой это уровень верчения жопой? А если наш додик будет говорить, что это не он, то пояитаем другие его высказывания >Вопрос: с каких пор библиотечные примитивы стали сборщиком мусора? >С тех пор как они стали исполнять алгоритмы сборки мусора, не поверите. Как именно сборщик мусора включён в программу -- абсолютно не важно, важно что если он в ней по итогу есть, то он в ней есть. То что раст позволяет писать программы без сборщика мусора -- это конечно замечательно, но ровно в той же степени, в какой это позволяет делать D. Предупреждая линию мысли "но в D это часть языка, а тут лишь часть стандартной библиотеки" -- стандартная библиотека Rust неотделима от языка, как было показано в статье. Никого не напоминает? Можете почитать про него вот здесь(http://stolyarov.info/node/342), жаль, что его ебанутый учитель почистил все неудобные комментарии.
>>2448800 Подсчет ссылок(тобишь Arc в Расте и shared_ptr в плюсах) для него это ГЦ. Но так как в расте без Arc нельзя писать код(по его словам), а в плюсах можно(в плюсах это опция), то раст - это язык с ГЦ.
>>2448729 >Опшены и резалты мы будем игнорить А что с ними не так? Если ты программист, то увидишь логику: - Если у тебя объект, то ты не используешь резалт или опшн но и NULL(VOID) ты туда не впихнешь как в небезопасном языке. - Если у тебя может быть NULL(VOID) (как в небезопасном языке) то ты обернешь в резалт или опшн, и в необходимом месте проверишь, вывернешь объект.
В отличии от небезопасного языка тебе тут не надо помнить делал ли ты уже проверку на валидность объекта или нет (бывает в сложном коде проверки идут излишние "просто на всякий случай, мало ли вызывающий код не проверял еще"). Отсюда получается что Option / Result экономят циклы процессора.
Дальше, для них существует оптимизация - если T в Option<T> / Result<T> содержит в себе указатель, то Option / Result становится бесплатным по-памяти.
// As of Rust 1.22.1 Type T Option<T> i32 4 8 &i32 8 8 Box<i32> 8 8 &[i32] 16 16 Vec<i32> 24 24 Result<(), Box<i32>> 8 16
>>2448726 >И если язык обязывает использовать Rc Вот и выяснили, слава Богу rust не обязывает использовать Rc. Он обязывает выделять потенциально небезопасный код, чтобы все такие места можно было тщательно проинспектировать.
У чела вероятно дислексия, ему трудно дается возможность формировать мысль или же трудно ее в текст перенести, потому что порой у него получается и мысль то сама правильная (см на пик). Это типичная болезнь гениев, особенно математиков (где-то прибыло, где-то убыло). и я серьезно
Вот кстати на тему сишников и раста, они хуями покрывают, хотя сами нихуя не осилили.
Вот пример нужна либа которая сохраняет html со всей статикой (css, js, картинки) вроде нашел консольную утилиту, которая это делает. На crates.io она есть, думаю зеабись ща себе встрою и будет тихонько пердеть работать. Открываю lib.rs, а там хуй https://github.com/Y2Z/monolith/blob/master/src/lib.rs Сразу вопрос нахуя тогда на crates.io выложили, ладно хуй с ним, думаю погляжу в main что там, может пару методов надо дернуть. А там сука портянка в 267 строк https://github.com/Y2Z/monolith/blob/master/src/main.rs#L66 ладно, хуй с ним начинаю читать обилие clone() и parse() одного и того же url просто зашкаливает, хуй с ним. Вроде нашел метод который обходит DOM и пиздит ссылки walk_and_embed_assets туда чего-то по мутабельным ссылкам передается, хз как работает нырнул туда, а там ебуться черти в огненном котле https://github.com/Y2Z/monolith/blob/master/src/html.rs#L707 Даже cargo clippy не удосужился запустить, он мне целую портянку высрал. Думаю погляжу на ебало додика авторы либы, прошлые проекты C/C++ https://github.com/orgs/Y2Z/repositories
Почему так? Вот каждый раз когда вижу говнокод автор обязательно писал до этого на правильных православных языках C/C++ или битриксоид пхпшник. Всякие питонисты, джавоскриптизеры и рубисты пишут более грамотный и читабельный код чем настоящие программисты. Да и как на C не открою чего так и глаза кровью обливаются какие-то нечитаемые портянки в пару сотен строк, которые нужно компилировать в голове чтобы прочитать.
>>2450002 Столяров относится хуёво ко всему, кроме C, C++ (с отключёнными исключениями и без STL, даже #pragma once презирает) и Лиспа. Причина - если ты опустился до того, чтобы писать код на управляемом языке, то лучше писать в функциональном стиле, а не ебаться с императивщиной.
Подождите... Ваш охуенный функциональный язык что, не оптимизирует хвостовую рекурсию? А что мне делать, если я шиз и хочу писать в декларативном стиле?
>>2450581 >often produces larger binaries По умолчанию да, так как все зависимости собираются статически в один бинарник, но при желании можно подрубить динамическую линковку, либо вообще либы на Си/Плюсах дергать. Также размер бинарника снижается при использовании некоторых флагов при компиляции и удалении отладочных символов. >less efficient code Чет пиздеж, там llvm все оптимизирует и итоговый бинарник генерирует. Такой же бекэнд как на плюсах.
>the compiler is also considerably slower. На мелких проектах заметно, да, но на больших разница с плюсами минимальна. Да и медлительность обусловлена преверками при компиляции, а не потому что компилятор говно.
>>2450328 Потому что на маркетинговый буллшит ведутся только додики. Вменяемый кодер открыл раст, потыкал (да или просто увидел что обычный принт через макрос сделан) словил фрустрацию и молча ушел. А всякие фанбои, бывшие скрипт-киди они же не понимают, они ведутся на это все, плюс там же еще повесточка, в общем все модно и молодежно.
>>2450524 Будешь бета тестером кустарный либ гейского комьюнити. Выше чел уже поел говна парсера на расте. Ждем карбон через 10 лет, а пока пишем на шарпе.
>>2450640 >бывшие скрипт-киди Ты жопой читал? Вот они как раз нормальный код пишут. Вот такое говно чаще от всяких сишников. Да и в целом этот говнокод сишный стиль писать методы одной портянкой в сотрудничестве и строк
>>2450642 Допустим в твоей столярной религии это ГЦ, не буду что-то доказывать. Кто тебя заставляет его везде пихать? Взял первое попавшееся что-то крупное что в голову пришло https://github.com/serde-rs/serde погрепал 3 места Rc< и 3 места Arc<, а Rc:: и Arc:: по 1 разу в довольно крупной библиотеке. Где есть асинхронность будет побольше, но тоже не в каждой дырке. Может у тебя руки кривые что ты его везде пихаешь?
>>2450689 >бывшие скрипт-киди Декомпозиция предметной области, требует соответствующего уровня навыка. Само по себе программирования на си или расте не делает тебя профессионалом и как раз скрипт-киди либо начинает творить портянку, либо наоборот чрезмерно размазывать логику по функциям.
>>2450697 >Допустим в твоей столярной религии это ГЦ ГЦ это в computer science, анальный ты глиномес. Проблема в том, что в расте это затычка, которая невписалась в парадигму. Именно эту проблему пыталась решить МС в своем экспериментальном языке (верона, что ли), который они прикрыли.
>Где есть асинхронность будет побольше Сейчас, когда ядер больше чем у тебя извилин в мозгах, асинхронность нужна везде.
>погрепал 3 места Rc< и 3 места Arc<, а Rc:: и Arc:: по 1 разу в довольно крупной библиотеке Там может быть одна функция, но вызываться она может 10.000-100.000 раз в узком месте. Тогда плюсовик поинтер выкинет и растер соснет тунца.
>>2450732 >асинхронность нужна везде Сразу видно вкатунишку. Асинхронность нужно брать только в тех случаях, когда это действительно нужно. Когда есть ощутимая нагрузка и нужно лучше утилизировать время CPU. Асинхронный код писать и поддерживать намного сложнее чем обычный синхронный, так что всюду впиливать асинхронщину не нужно, только если ты не фронтендер.
>>2450743 >и нужно лучше утилизировать время CPU. >ну да, зачем нам на около-системном языке утилизировать время ЦПУ, бред какой-то придумал. Сразу видно вкатунишку
>>2450745 >>2450747 Что сказать-то хотел? Внезапно на C++ и Rust пишут не только веб сервера, где иногда имеет смысл дрочиться в утилизацию IO, есть еще CPU-bound задачи, которые нужно решать на системных тредах, и где асинхронщина в привычном понимании бесполезна. А так это все жидкий пердеж с твоей стороны, так как epoll или io_uring никто не запрещает дергать из раста или плюсов. И асинхронных либ полно что для раста, что для плюсов. В чем бугурт я так и не понял.
>>2450760 Если С++ это историческое говно, которому приходится костылить, то раст это новый язык, у которого мало того кривая асинхронщина с каким-то UB, так еще и потребность в ARc, потому что эксперементальный язык натянули на рынок.
Мы берем системные языки, чтобы выжить максимум с железки и пукать в тред о том что "ненужно", это крайняя стадия идиотизма. Если тебе ненужно реально, то скорее всего ты зря слез с петухона.
>>2450743 >Асинхронный код писать и поддерживать намного сложнее чем обычный синхронный
Я тебе больше скажу - если ты ни разу в жизни не писал асинхронщину - это для тебя будет не "намного сложнее", а "непосильно". Так что покорми собак и ничего не трогай.
>>2450732 >Тогда плюсовик поинтер выкинет Передай поинтер/ссылку в расте, кто тебе мешает?
>когда ядер больше чем у тебя извилин в мозгах, асинхронность нужна везде. Какок отношение асинхронность имеет к количеству ядер, болезный? Ты с мультипотоком спутал?
>>2450775 >Мы берем системные языки, чтобы выжить максимум с железки и пукать в тред о том что "ненужно", это крайняя стадия идиотизма. Если тебе ненужно реально, то скорее всего ты зря слез с петухона. Тогда бери и на АСМе пиши, чтобы максимум из железки выжать. Зачем тебе какие-то высокоуровневые костыли? А всякие расты оставь додикам, которые врего лишь ценят свое личное время и не хотят бороться с языком, исправляя ошибки и костыли языка
>>2450805 >Как у любого языка без сборки мусора в асинхронной среде. Важно понимать, что shared_ptr в плюсах - это опция, а вот Arc в расте - это обязательный элемент языка без которого невозможно написать программу. И нет, это не потому что он не осилил или ему насрал Столяров, а потому что просто верь ему, бро. Разве может человек, написавщий ЦЕЛУЮ СТАТЬЮ врать? Вот и я так думаю.
>>2450732 >Там может быть одна функция, но вызываться она может 10.000-100.000 раз в узком месте. Тогда плюсовик поинтер выкинет и растер соснет тунца. Ну что за виляния жопой? Может быть иуды сюды, дай ссылку на код да и все, ты только пиздеть умеешь. За асинхронность и многопоточность обссали уже. Иди к столярову под стол опыта набираться
>>2450849 О, Господи, а как же так? Неужели Си и Плюсы такие же языки с ГЦ как и раст? Неужели Страуструп и Ритчи не смогли натянуть парадигму на язык и пришлось использовать костыли? Пойду писать на божественном и свободном шарпе.
Ппц анальников порвало, один даже нашел рефкоуны в файле рефкоунах. Писали уже что в ГЦ ничего плохого нет и так делают когда нужно. Но когда критично, его можно выкинуть, но не растеру.
>>2450903 >и так делают когда нужно. Но когда критично, его можно выкинуть, Т.е. рантайм ЯП, финансовая хуйня и ядро ОС - это не критично? Понятно, так и запишем. Они могли выкинуть, но не захотели. Ну либо не такие профи программирования на Си как Столяров и его миньоны.
>>2450937 Ничего плохого нет, просто раст получается как морская свинка - и не свинья и не морская. Раст и не системный язык и как прикладной избыточно сложный
>>2450954 Полегче С++ на порядок. Борроу чекер делает из программиста дауна. Больше не надо думать про всякие юз афтер фри и проблемы конкуррентности. Скомпилировалось - значит работает.
>>2451058 >Больше не надо думать про всякие юз афтер фри Только проблема в том, что такие языки уже придумали (жабы, решетки). Там даже эксепшены осилили. Не думаю что нужен бы какой-то слой языков между С++ и шарпом, да еще и синхронный.
>>2451064 Там нет возможности полностью выкинуть окружение без костылей из ночной сборки, а значит до сих пор никаких возможностей для полной байторадости нет. Только на пол шишечки, для маркетинга хватает.
>>2430195 В Rust нет сборщика мусора(По крайней мере насколько мне известно). Там используется модель памяти с временем жизни на основе !права собственности!.
>>2451601 >Так они же делают медленные программы techempower говорит что норм, не надо жрать напрямую память, чтобы писать более менее быстрый код. Заплатишь только оверхедом на ОЗУ и небольшими всплесками.
>>2451702 Ну, "опционально" подразумевает, либо используешь, либо нет. Это не говорит о том, что не используют вообще. Мне правда нужно опускаться до самых низов, чтобы объяснять элементарную логику? Почему нынешнее поколение такое тупое?
Пищу на с++, на питоне. Решил посмотреть на эту вашу диковинку раст - почтиал растбук, полистал репы на гитхабе. Мое мнение - ну и хуита же. Зачем оно нужно? Ну серьезно. Больше похоже на фанатский языки, тип https://github.com/Ky6uk/PETOOH Чем вам с++ не угодил? Уже сколько времени умные указатели есть. А с новыми редакциями так вообще все отлично, можно хоть как первый язык учить, постепенно углубляясь. Словно bolgenos продвигается насильно. Вроде и работает, но зачем оно нужно? Тут срачи шарповиков еще видел, какое-то время пользовался и впечатлений куда больше, хотя все равно на любите как по мне.
>>2451746 Ты же понимаешь, что у тебя в коде может быть критичные участки, а может быть и нет. Например, отрисовка пикселей, которых может быть миллионы, скорее всего критична к проверке на границу или подсчету ссылок. Так же и тут надо смотреть где этот код участвует. Так же, возможно, уровень разработки падает и люди чаще прибегают к ГЦ. НО! Это ГЦ не обязательно языковыми рамками, это уже выбор разработчика хочешь используй, хочешь нет.
>>2451773 Да, мы поняли, да. Ядро, биток и рантайм языка - это не критично, да и вообще уровень разработки упал. Не то, что деды, которые хуярили сплошное UB и благодаря которым дааж в 2022 году находят уязвимости в ядрах и протуктах того времени. Куда нам до самих ДИДОВ, верно? Ну и главное запомнить, что в расте гс - обязаловка, а в плюсах - опция. Just trust me, bro
>>2451773 Дядь, критичные участки могут быть и на расте так же написаны. Правда почему-то авторы технологий, вроде JIT в шарпе (достаточно перформансно-зависимая штука, не?), почему-то предпочитают так не делать. Почему же? Потому что код паралелиться перестаёт, блять.
>>2451775 Я вообще с тобой уже давно не разговариваю и не обижался, я на убогих не обижаюсь. Просто подметил что столярошизы такие же упоротые религиозные фанатики, которые с особым упорством видят каждую соринку в чужом глазу, но у себя бревна огромного не видят, даже когда их тыкают в лужу собственной мочи. Также как и комми в /po мимо
У меня три основные претензии к расту, но они очень субьективные: 1) Нет стандарта. 2) Эта причина вытекает из первой, так как на данный момент стандарт == текущая версия компилятора, то у языка один "хозяин" и один компилятор. Можете закидывать говном и просить меня надеть шапочку из фольги, но для меня это большая проблема. Хотя компилятор раста в GCC может исправить эту ситуацию. 3) Подход "сверху вниз", а не "снизу вверх" в вопросе подключения библиотек. Если в плюсах\сишке\zig ты подключаешь необходимые тебе библиотеки по мере надобности, то в расте тебе искаробки дают кучу всего и при необходимости придется это отключать. Но на сколько я знаю, все говно, которые ты не используешь при компиляции выкидывается автоматически.
Ну и пару слов по поводу байтоебства на расте. Советую посмотреть вам на библиотеки, написанные на расте, под различные МК на гитхабе. Достаточно отключить std и оставить core и ты уже можешь писать bare metal в любую железку.
>>2451743 Но вот тебе причина номер раз, осознавай: На расте менеджер зависимостей на голову выше не то, что питоновского с отсутствующим плюсовым, но и даже нодовского.
Аноны, реквестирую макоёбов втред. есть такая штука: https://zed.dev/ - позиционируется, как WIP IDE написанная на расте с поддержкой нескольких ЯП на старте, в том числе и самого раста. Очень хочется глянуть хотя бы одним глазком, но дают пощупать только макоёбам в режиме закрытого тестирования. Процесс идёт, баги репортятся https://github.com/zed-industries/feedback/issues
но нашему треду нужен свой инсайдер, который чётко раскидает за то, как оно vs Vscode/Idea, и порадует скринами/видосами того, как оно работает.
>>2451981 >1) Нет стандарта. Дядь, вылезь из криокамеры, оно так во всех новых языках лет 20-30 уже как. И это хорошо, и то что это хорошо не доходит только до ГНУтых уебанов.
>Хотя компилятор раста в GCC может исправить эту ситуацию. Проблемы которую ГНУтые долбоёбы сами же себе создают.
Вообще, идеальный кейс — фронтенд языка должен быть полностью абстрагирован от таргетов, и под ним уже должно лежать что угодно (по факту конечно таргета всего 2 — gcc и llvm, ещё полтора спермовора про msvc могут что-то пёрнуть, но на них похую). Но подход со стандартами — говно ебаное, не надо его воспроизводить.
>то в расте тебе искаробки дают кучу всего Это уже твои маняфантазии, с го не попутал тред?
>>2452605 >оно так во всех новых языках лет 20-30 уже как И? Это не показатель "хорошести". Потому что как минимум не позволяет создать аналогичный по качеству компилятор, так как все аналоги будут "запаздывать" от основного.
> Но подход со стандартами — говно ебаное, не надо его воспроизводить. Так без стандартов в серьезном "железном" мире делать нечего. Тебя кабанчики и их бюрократы просто на хуй пошлют, и правильно сделают, потому что это серьезная область, а не хипстерское говно, где все меняется каждый день. Тогда зачем, собственно, заявлять, что ты язык, который production ready?
>Вообще, идеальный кейс — фронтенд языка должен быть полностью абстрагирован от таргетов, и под ним уже должно лежать что угодно И есть идеи как реализовать? gcc и llvm - вообще разные вещи.
>И это хорошо, и то что это хорошо не доходит только до ГНУтых уебанов. >Проблемы которую ГНУтые долбоёбы сами же себе создают. Причина подрыва? Тебя Столлман в подворотне обоссал или Линукс неосилил? мимо
>>2452858 >gcc и llvm - вообще разные вещи. Почему разные, обоснуй. А то тут у нас один был, который думал что llvm запихивает в таргет виртуальную машину
>>2452922 >Почему разные, обоснуй. Если кратко, то промежуточное представление кода в компиляторах разное. Фронтенды llvm генерируют IR-код и у gcc тоже генерируют в собственный формат. Конечно, в теории это можно сделать, тогда придется пердолить и раздувать фронтенд, а при компилиции выбирать бекенд через ключи, но зачем? Причина чисто идеологическая. GCC не примут чужой фронтенд из-за не православной лицензии, а проект rust не будет пилить поддержку бекенда gcc, потому что им это не нужно. Поэтому каждый будет пилить свой компилятор(https://github.com/Rust-GCC/gccrs)
>А то тут у нас один был, который думал что llvm запихивает в таргет виртуальную машину Справедливости ради, llvm с некоторыми ключами может работать почти как виртуальная машина.
>>2451987 >Тебя там за котлин обоссали Кто обоссал? Тебя же и обоссали, techempower шизик, иди наверни своего любимого шарпа и успокойся уже наконец, не засирай треды.
>>2452858 >Потому что как минимум не позволяет создать аналогичный по качеству компилятор, так как все аналоги будут "запаздывать" от основного. Покеж-ка такие компиляторы в мире си/плюсов, очень интересно.
>Так без стандартов в серьезном "железном" мире делать нечего И чем же определяется сурьёзность области? По моему в первую очередь количеством бабла — и по этому показателю твоя "сурьёзная железячная" отрасль сосёт хуец.
>И есть идеи как реализовать? gcc и llvm - вообще разные вещи. Оно там и так частично реализовано, у раста 2 или 3 своих промежуточных представления.
>Причина подрыва? А об был? Я просто констатирую факт.
>>2452948 >Если кратко, то промежуточное представление кода в компиляторах разное. Если кратко, то ты обосрался только вступив в эту дискуссию.
>тогда придется пердолить и раздувать фронтенд Уже раздули, нет вариантов не раздувать его для современных языков, все хотелки всех языков в один бэкэнд всё равно не влезут.
>Причина чисто идеологическая. И ты потом спрашиваешь почему кто-то считает ГНУтых уебанов уебанами, лол.
>>2453976 Жду уже когда раст активно начнут использовать в больших продуктах (а не очередной самописной ОСи или там утилиты grep или crud микросервисе), причем настоящие программисты , а не фанатики. Так как искренни считаю (но не хочу доказывать), что раст разменивает ручную работу с памятью на техническую утечку памяти, ибо язык накладывает на программиста оверхед, а получит он с этого копейки (в плане утилизации железа). А для размера памяти на производительность есть уже всякие решетки (или же древняя жаба)
Ладно я набрасывал, ибо раст с натягом можно назвать системным языком, особенно в сравнение с Си. Но эти чудики реально решили это говно противопоставить управляемым языкам.
Знаете, это как современному трактористу, у которого в машине чуть ли не автопилот с кондиционером, показать трактор, который заводится рукоятью и тот скажет - "как же хорошо и практично руками заводить трактор, каждый импульс руки у тебя под контролем, не то что ваша (GC) кнопка с зажиганием, где не знаешь что у тебя под капотом происходит!"
>>2456471 >Тебе не надоело кажый раз заходить в этот тред и писать, что он не нужен? Прекрати всякой херней бампать тред и тебе тут же перестанут ссать в лицо.
Чтобы вы понимали, маркетологи котлина долгое время преподносили, как на котлине продуктивнее писать, в отличии от джавы ага, когда котлин юзает 90-99% все ту же инфраструктуру жабы, но маркетологам раста нехватило мозгов и они тупо присосаться к этому тезису котлина и высрали "это".
>>2456486 >>2456489 А чего ты испугался, ну будут некоторые критичные к скорости исполнения программы с Java и C#, теперь не на С++ а на Раст переписывать. Не со всеми же так будет.
Вот процы уперлись в потолок по ядру, и прирастают теперь ядрами, а раст дает больше чем управляемые языки в многопоточности. Защищает еще и от гонок по данным, ничего когда-нибудь и у вас борроу-чекер приделают. Тогда вам больше не понадобится всюду GC юзать, а только (A)RC в некоторых местах.
>>2456489 >как на котлине продуктивнее писать, в отличии от джавы На расте также, вот пример распарсить json и отфильтровать https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=e0b0cf01bbf7edc19845e061f5e9567d Тут код такой же как на котлине и js, все делается легко и в одно выражение, напиши также не плюсах. Если прямые руки и до этого писал на "неправильных" "не православных" языках по столярову, то легко будешь пользоваться этими конструкциями, особенно после руби. С длиной опечатался впадлу исправлять
>>2456510 >.unwrap() К сожалению, в языке где ручками надо пробрасывать ошибки, невозможно промышленное программирование. Я уже представляю стек из 160 функций и в каждой ручками прокидывают ошибки, или проверяют через условный оператор (match, if, пофиг) на ошибку. В общем в жабах и шарпах твой раст нужен как весло кораблю.
>>2456523 В продакшене был бы Resul и ? чтобы пробросить нахуя в каждом месте проверять это же не go. А теперь к сути вопроса, напиши такой же код на C++ который распарсит json и отфильтрует или лучше даже на C. НО ты ничего писать не будешь, да? Потому что не умеешь даже на C писать.
А ты реально грязноштаных комми из /po напоминаешь, вычленяешь что-то удобное из текста не отвечая на остальной вопрос и бросаешься категоричными словами типа "никогда", "невозможно". Вас там в одном месте обучают? Или тоже штаны постирать не можешь?
>>2456536 >напиши такой же код на C++ который распарсит json Как можно сравнивать системный язык с прикладным? И да, в том сообщение же с котлином сравнивали, иди посмотри как делают в нормальных языках и сравни сколько ты бойлерплейта написал.
>>2456584 Это приводит к гонкам по данным, что нарушает принцип безопасной работы с памятью. Поэтому в рсате это разрешено через использование unsafe чтобы явно показать что использовать нужно с остапожностью. Примитив называется UnsafeCell.
>>2456606 Ко-ко-ко, у нас самый безопасный язык. @ А, ну, в этом случае нужно использовать ансейф. @ Что, упало? Так это не мы виноваты, это ты сам виноват использовал ансейф.
>>2456617 Кто о о чем, а подстолыш столярова о гомоебле. Логику тебе выше скинули что ГЦ shared_ptr в плюсах используют повсеместно, но ты не видишь из-под стола
>>2456614 Так ведь это правда, самый безопасный. А что бы ты улучшил, самое главное как бы ты это реализовал? Можешь сколько угодно здесь клоуна корчить, но лучше ничего пока нет.
Все твои аргументы звучат как "А почему вы неидеально сделали? Я хочу идеально"
Но ведь это физическое ограничение архитектуры современных компьютеров. Раст это ответ на вопрос как в таких условиях обеспечить удобный, непротиворечивый доступ к памяти без ущерба производительности.
>>2456745 Кстати, живой пример. Гоферы же тоже бегали и кричали что джаве хана, заменятор приехал, но на деле оказалось, что дальше круд-микросервисов на этом писать больно. Так и осталась это говно узко специфичным. Так же вымерло checked exceptions в джаве, по сути это та же проброска ручками (естественно во всяких котлинах и шарпах его сразу выпилил). И кстати, был человеческий фактор, на практике checked exceptions приводили к пустым заглушкам. Но благо в го ошибки бесплатные, а в расте результ это опшен с оверхедом.
>>2456767 >Гоферы же тоже бегали и кричали что джаве хана Ну там да, загнивает потихоньку, монолиты теперь пишут самые упоротые > но на деле оказалось, что дальше круд-микросервисов на этом писать больно Да, сейчас все в облаках, докерах, распилено на сервисы, каждый делает свое дело вместо огромнейшего монолитного говна. Тем более в зависимости от потребностей можно использовать разный стек не одним go живут микросервисы. И я бы не сказал что это очень узкая ниша микросервисы сейчас везде от крупных банков до стартапов. Ты видимо теоретик, который ни дня не работал вот и пишешь всякую хуйню что услышал от замшелых преподов шизиков.
>>2456843 > приходится прибегать к макросам Ты долбоеб? Нахуя ты там понаписал говна println!("{:<22} {:>4} Option<T>", "Type", "T"); println!("{:<22} {:4} {:4}", "i32", size_of::<i32>(), size_of::<Option<i32>>()); println!("{:<22} {:4} {:4}", "Result<(), Box<i32>>", size_of::<Result<(), Box<i32>>>(), size_of::<Option<Result<(), Box<i32>>>>());
Само собой будут затраты по памяти на опшены и резалты, надо быть совсем долбоебом чтобы не понимать что им нужно место в памяти. Но ты так и не принес бенчмарков показывающих насколько это оверхэд, судя по тому как ты кукарекаешь разница должна быть в разы, напиши какое-нибудь байтоебство на плюсах и на расте, выложи сюда и покажи что там пиздец какое все тормозное, но проблема в том что ты не умеешь писать код и не можешь свои слова ничем подкрепить, даже линкедлист не показал на плюсах
>>2456978 >Дурачок заинлайнил макрос, нарушив DRY. Дурачок, наколхозил макросов вместо того чтобы сделать проще, нарушив KISS. Сразу видно любителя "красивого" кода, который потому хуй прочитаешь. Я бы тебя с этими макросами на пустом месте на ревью завернул
>>2456973 >Я и не отрицал Ты может нет, но местный петух кудахтал, а потом пруфы стал просить на "базу" из доков.
>Что ты подразумеваешь под этим понятием Это вы там придумываете понятия, а основной показатель системного языка это максимальная утилизация ресурсов, та самая зеро кост абстракшен, или ранее - "не платить за то, что не используется" никакое языковое средство не должно приводить к снижению производительности программ, не использующих его.
>>2456987 > никакое языковое средство не должно приводить к снижению производительности программ, не использующих его. Неси бенчмарки заебал, посмотрим сколько стоит null safe тогда и поговорим о ресурсах в обмен на безопасность. Хули воздух сотрясать вхолостую
>>2456982 Ты похоже тот додик, которого обоссали в шарп треде и окунули в котлин треде. Понимаешь, хоть ты и владеешь частично теорией, но у тебя очень сильно выделяют все эти моменты, которые показывают, что ты кодер любитель и от скуки срешься во многих тредах за разные языки .
>>2457010 >Ты похоже тот додик, которого обоссали в шарп треде и окунули в котлин треде. Нет
>DRY - это такой тонкий подход Охуеть какие тонкости не писать повторяющийся код
>А теперь смотри как в моем примере легко добавить случаи, с нулевым оверхедом. Хуясе магия, ебать колотить, а я ж не знал, охуеть можно
А теперь смотри какая штука с этими макросами: 1. Их плохо читать 2. Они генерируют код в компайлтайме, когда ты их пишешь ты должен понимать что ты делаешь 3. Они плохо подсвечиваются IDE У тебя еще простой вариант, но есть любители которые пишут сложнее и там целые проблемы, их следует избегать по возможности. Хотя я не знаю как у вас в плюсах там наверное никак без них как и с ГЦ.
>>2457078 >ненужный Сам придумал, сам опроверг. Иди просохни сначала. В жабу 8 (2014г) тоже Optional добавили, но костыль оказался настолько ущербный в проде, что уже никто и не помнит сей бред-оверхед. Один котлин залил годное решение с нуллами (или где-то вдохновился) без необходимости гонять опшены по всему языку.
>>2457094 >Один котлин залил годное решение с нуллами (или где-то вдохновился) без необходимости гонять опшены по всему языку. Это называется nullable type. Но не сравнивай жопу с пальцем. В котлине каждый объект находится за ссылкой. В расте тоже так, ЕСЛИ объект в себе имеет ссылку, то она будет использоваться для нивелирования оверхеда Option/Result. https://play.rust-lang.org/?version=stable&mode=release&edition=2021&gist=1d525d8290f94af4ebcad7340a1c52f3 Выше уже джва раза писали, не игнорируй очевидное.
В расте сделано так, как если бы ты перешел на лоу-левел и ручками это написал если бы стал оптимизировать.
>>2456487 Это не я вообще был. Пррсто охуеваю с такого дурачка как ты, которому "похуй" на "ненужный тред", но сам сидишь ИТТ 27/4 и отвечаешь на каждый пук.
А теперь имаджинируйте ебало дурачка, которого обоссывают последние 3 треда все кому не лень, а он продолжает маневрировать своим очком, делая вид, что не обосрался. Этот додик ни на один неудоьный вопрос не ответил, а вместо переводил стрелки в духе "а вот у вас". Тьфу на ничтожество.
>>2457122 Да ну надо быть совсем хлебушком, чтобы понять что твой "?" костыль и тебе все равно ручками придется переписать все сигнатуры методов в цепочке.
>>2457398 Стоит поссать в нору так сразу повылазило. Какие неудобные вопросы ты задавал? Типа линкед лист на плюсах? Троолинг тупостью это не вопрос, а диагноз
>>2457243 Можно сколько угодное придумывать оправданий, но стоит признать что решение котлина с нулами куда практичнее опшинов с древне-костыльного ФП, а ссылки не ссылки можно адаптировать.
>>2457414 Какие? Типа очевидных, когда необходим Rc? Я вообще не понял меня троллили тупостью или здешние растеры больше скриптов не писали. И каждый додик приводит в противовес поинтеры с С++.
И вот непонятно это такой троллинг или этих хлебушков знаний уровня "сказали на конференции".
>>2457435 Мы конкретно обоссываем одну тему, додик используя тупые приемы демагогии, неожиданно врывается в тред и пытается перевести тему в другое русло. А потом такой - "ну почему мне не отвечают", может быть нахуй? ты, по-моему, тот же додик который неожиданно требует гитхаб показать
>>2457462 Да мне насрать как бы тоже, я на полном серьезе считаю, все эти тезисы надо обсудить, но с фанатиками это делать трудно. Я ливну и смотри как протухнет тред.
>>2457451 Я тут давно сижу и был ОП прошлого треда, а ты пришел сюда и воняешь, собственно как мы выяснили ты даже код писать не умеешь.
>ну почему мне не отвечают Наоборот ты как раз таки и отвечаешь, много и жидко, но почему-то твои ответы максимум сотрясение воздуха. А вот по делу ты нихуя не смог, кроме того как скопипастить со стековефлоу даже не понимая что там написано.
0 постов с кодом, 0 вопросов по коду, 0 ответов зачем нужен раст. Получается язык не нужен, а тред является чатиком из /b, тут даже аватарки свои есть.
>>2458801 >пок-пок-пок Сорта хуйни, что столярный, что итт шизики. Чем здесь лучше, чем на /b/реддите или стаке? хоть бы макабу хрустящую попиливали, было бы не так убого.
>>2459541 >Чем здесь лучше, чем на /b/реддите или стаке? Ничем, я на бреддите и сижу. Здесь даже Си и плюсотреды мертвы, а что тогда про раст говорить? Просто посрать зайти.
>>2457411 Если только твои структуры иммутабельны. В другом случае тебе везде приходится тыкать проверки. Мало ли что там поменялось в процессе работы программы.
В расте просто достал объект один раз и работай спокойно.
>>2457032 >их плохо читать Приходит с практикой >когда ты их пишешь ты должен понимать что ты делаешь А когда не макросы пишешь, то можно не понимать? >Они плохо подсвечиваются IDE Old news. В последних версиях rust-analyzer это исправили. Не знаю как сегодня, но несколько месяцев назад мне пришлось ручками с гитхаба качать плагин для VSCode и устанавливать, иначе проц.макросы не раскрывались.
>>2456514 Пока не распространилась повсеместно архитектура, которая бы обеспечивала непротиворечивый асинхронный доступ к памяти (CHERI architecture) будете кушать что дают.
Интересно, как на Си/С++ будет выглядеть многопотоко-безопасный двусвязный список ? А то столько говна вылили на то что уже есть, а как надо показать не могут почему-то.
>>2459994 >Приходит с практикой Одно дело когда у тебя простой метод с дженериком и ты одним взглядом за секунду понял что оно делает, другое дело макрос в который нужно вчитываться
>А когда не макросы пишешь, то можно не понимать? Так этот долбоеб и не понимает ничего весь тред засрал, с простым кодом с дженериком все более очевидным выглядит для новичков
>Old news. В последних версиях rust-analyzer это исправили. Не знаю как сегодня, но несколько месяцев назад мне пришлось ручками с гитхаба качать плагин для VSCode и устанавливать, иначе проц.макросы не раскрывались. ХЗ у jetbrains до сих пор как-то через жопу они работают, хотя и не обновлялся давно надо проверить
>>2460216 Я специально написал макрос и был уверен что половина здешних споткнется на этом и скорее всего заигнорит этот пост (как и вышло). Но один чудик умудрился высрать портянку из принтов с моего же примера, нарушив саму основу разработки (DRY) и когда его ткунли носом в эту лужу, он убежал просвещаться и через пару дней высрал вариант с дженериками. И теперь же это чудо, бегает этим кичиться, переписываясь самим с собой уже полтреда (но никто этого ущерба все похвалит, кроме самого себя).
Что собственно и нужно знать о местных растерах, они на своем языки практически не пишут, а некоторые вообще даже не программисты.
Чего стоят лузлы, когда никто не понимал зачем нужна заглушка с Rc, но зато как дрессированные сразу же вставляли плюсовый шаред поинтер, потому что только в таком контексте о нем и слышали. Или же тот же пример, что енамы имеют оверхеды по памяти, а это, ведь, прям в доках описано.
В общем, тут сидит пару очередных вкатунов и шизик-инвалид, который со скуки лазает по всем тредам и со всеми в полемику вступает. Тред ценности вообще не имеет.
>>2460317 >Но один чудик умудрился высрать портянку из принтов с моего же примера, нарушив саму основу разработки (DRY) и когда его ткунли носом в эту лужу, он убежал просвещаться и через пару дней высрал вариант с дженериками Лол в течение часа, вот все посты: >>2456940 >>2456978 >>2456982 И то запилил после того как ты показал это >>2457010 Вот и то получилось полчаса потому что занят был: >>2457032
Хули там с дженериками просвещаться? Что ты в них видишь сложного требующего просвещения? Если бы ты попробовал на расте пописать хотябы день, то познакомился бы с ними, я вообще не понимаю почему вкатуны писуются из-за дженериков, довольно простой инструмент
>>2460317 >Тред ценности вообще не имеет. Вот именно поэтому ты и ушёл хлопнув дверью и оборвались, но почему-то вернулся обратно. Хули тебя порвало, ушёл и ушёл хуй с тобой, но за что то живое тебя задели раз ты никак не можешь уйти Ещё и запизделся, вон я выше написал как.
>>2460392 >Это ты писал? Да, по памяти, там, наверное, строчек 15-20. Ты бы еще к хеллоувордам докопался за копипаст (изначально пример был в какой-то статье или examples, не помню).
>Отдельная тема, насколько выразительный раст, приходится прибегать к макросам. У тебя базовый хеллоуворд на макросе, о чем тут говорить?
>>2460398 Аватарко дебила репортнул, я вернулся, потому что ко мне обратились. Сережа, выпей таблетки уже Вообще снес подписку, тоните.
>>2460619 >Да, по памяти, там, наверное, строчек 15-20. Ты бы еще к хеллоувордам докопался за копипаст (изначально пример был в какой-то статье или examples, не помню). Да хорош пиздеть тут уже всё понятно с тобой, ладно хоть не с вопросов копируешь, а с ответов это уже хорошо
>Аватарко дебила репортнул В прокуратуру и спортлото не забудь написать Йобу прилепляю чтобы ты знал что именно со мной говоришь а не с Сережей или Андреем Викторовичем
>Вообще снес подписку, тоните. Послезавтра прибежишь обратно
Вот кстати интересная статья попалась на тему которую поднял столяровский шиз https://discord.com/blog/why-discord-is-switching-from-go-to-rust Короче в кратце они писали на go типа все заебись, но когда начинал работать gc это был адовый пиздец на пике 1 график, где видно как он работал. Короче как они только с бубном не танцевали описано в половине статьи, нашли какое-то решение типа запускать чаще и уменьшить кэш LRU, но один хуй было говнясто. Кто-то там у них пилил на расте и они решили попробовать написать этот сервис на расте и в итоге все заработало как и было, только без этих скачков как были с gc на пике 2 видно сравнение синий Rust, фиолетовый Go Короче теперь хлопают в ладоши, пьют шампанское и подобные сервисы пишут на расте.
Вот это практический опыт людей которые столкнулись с проблемами из-за gc и исправили эту проблему переписав на rust. Так что слова этого боевого петушка засравшего не один тред этой темой можно считать обоссаными вдоль и поперёк, жаль что он отписался и не увидит лол
>>2464274 >Pidora Дали даже название своей прокси, но кодов, я так понимаю, не дали? В общем, очередной раз покатались на хайпе раста, или порекламили себя на хейтерстве (черный пиар) топ продукте на рынке. Но на деле вообще обосрались lua (см пик).
>>2464360 Опять покатушки на хайпе. То-то их нагрузки 20-40% так напрягали и задержки раз в ~2минуты в 300мс так пугали (для чатика с делеем), что пришлось тратить время на новую неизвестную технологию да еще сразу в прод.
Статья древняя и помню где-то гоферы её как-то обоссали. Но суть не в этом, говно уже вентиляторе, маркетологи счастливы.
Жалко гоферов, еще лет 5 назад ровно такой же хайп на историях успеха был их в сторон, а теперь жертвы они.
>>2464941 >>2465023 >>2465026 Хейтеры рассудительно комментирует статьи/новости, фанбои флудят, кривляются и гадят в своем же треде. Что с этим миром не так??
>>2465731 >>2465606 Да мне как бы похер вообще. Просто, какой-то хер бампает контентом дохлый тред, но местные как обезьяны начинают скакать как макаки и нести какую-то шизу про хейтера. То есть, выходит, хейт и по-обезьянничать куда важнее контента по самому расту. Вот я и охереваю с вас
Итак господа, нужно считать из файла объемную структуру, которая из себя двумерный массив, каждый элемент которого двумерный массив + еще пара полей - что-то типа struct { header: u32, l1: [[ [[InnerStruct; 8];8 ]; 1000]; 1000], }
Обмазавшись repr(C, packed) добился размера в байтах такого же как файл на диске, тут все ок. Но попытки разместить ее с помощью Box::new([....]) приводят к переполнению стека. Какие есть варианты добиться желаемого? Я пока смотрю в сторону разбиения внешнего массив на вектора и их последовательное заполнение, но это лишние сложности, фрагментация памяти и тп. Логично разместить ее одним непрерывным куском. Посматриваю в стороню unsafe, но все же надеюсь, что найдется идеологический правильный способ.
>>2468072 Вопрос между С++ и растом даже не стоит, у раста банально даже нет глубокой документации, чтобы сразу взять системный уровень с нуля. Но самое забавное, что и С++ в 90% тебе не нужен будет, в большинстве случаем у вкатунов неправильное восприятие мира и они считают что чем "ниже" язык тем круче (самые упоротые вообще за ассемблер топят), ну а про страшный ГЦ, вообще можно не рассказывать, потому что все мы пишем только в реалтайм операционках.
>>2468072 Вопрос между С++ и растом даже не стоит, у раста банально даже нет глубокой документации, чтобы сразу взять системный уровень с нуля. Но самое забавное, что и С++ в 90% тебе не нужен будет, в большинстве случаем у вкатунов неправильное восприятие мира и они считают что чем "ниже" язык тем круче (самые упоротые вообще за ассемблер топят), ну а про страшный ГЦ, вообще можно не рассказывать, потому что все мы пишем только в реалтайм операционках.
>>2467832 ну давай разберём по частям тобою написанное 8x8x1000x1000 ~ 61 МБ стека - нихуя ты баклажан, а ulimit -s ты тоже через ансейф обходить собрался? создание структуры в любом случае породит её сначала на стеке, и лишь потом её можно отбоксировать в кучу
давай ебош вектора и не выёбуйся тут стековыми бигдатами
>>2468688 >8x8x1000x1000 ~ 61 МБ стека - нихуя ты баклажан Ты забыл про InnerStruct! Но там не сильно много байт.
Я не хочу его размещать на стеке, мне его нужно в кучу. Но пожалуй самое простое решение, развернуть это все в линейный вектор и самом пересчитывать индексы в итоговый "плоский" индекс. Впрочем не уверен, что это сильно по растомански. Ну и как запасной вариант, можно аллоцировать нужный кусок и сделать Box::from_raw, причем такой вариант мне кажется более правильным.
struct foo get_next(struct foo val) { if (val == 0 || val->next == 0) / Ну тут есть кстати вариант что мы / return 0; / делаем кольцевой, но там суть та же/ return val->next; }
>>2476804 Заменили if на match и думают что всех переиграли? У тебя опшены с оверхедами и проверка юникод символов и массивов в рантайме, успокойся уже со своим залупа-костом.
Это тейк этого шизика >>2456841 . Мол, для енамы не используют магию варпа, а требуют для хранения дополнительного состояния дополнительную память, следовательно не зирокост.
Набросились на человека https://habr.com/ru/post/598219/ >Вся эта история с доцентом, студентом МГУ и статьёй https://rustmustdie.com/ показывает, что где-то внутри вуза построен странный образовательный процесс, который мешает студентам получать актуальную информацию и формировать независимое мнение.
>Я бы мог пройтись практически по всем пунктам студента: толстые бинари, медленный код, сборщик мусора, что времена жизни — это хак компилятора, что заимствования слабее указателей. Но это бы лишний раз показало, что преподаватель, который влил эту чушь в голову студентам МГУ, не просто находится не на своем месте, он вообще ничего не смыслит в системном программировании.
>Я бы хотел, чтобы в МГУ (самом МГУ!) ученые и студенты были открыты к познанию. Ведь в этом и есть суть университетов, нет? Слишком многого хочу?..
>>2479865 >второй язык разработки для ядра Линукс >почти вся крипта >создается спецификация для использования раста в аерокосмической сфере >стабильно выпукаются патчи и обновы к компилятору и тулчейну >ряяяя мертвый и не нужный Понимаю.
>>2479989 Не, ты не понимаешь. ТАКОГО обсирания раста нигде больше нет кроме Россиюшки. Это настолько выделяется, что складывается впечатление о проплаченности ивента. Чем-то вроде https://pvs-studio.com/ru/
>>2479989 >второй язык разработки для ядра Линукс Просто через дикие патчи кое-как подпустили к драйверам >почти вся крипта На деле часть на сях >создается спецификация для использования раста в аерокосмической сфере Когда будет там, напиши. >стабильно выпукаются патчи и обновы к компилятору и тулчейну Страдают херней и постоянно что-то ломают. >ряяяя мертвый и не нужный Нет реально ниши для языка.
>>2479989 >>второй язык разработки для ядра Линукс >>почти вся крипта >>создается спецификация для использования раста в аерокосмической сфере >>стабильно выпукаются патчи и обновы к компилятору и тулчейну а тред всё равно мертвый. как так-то? видимо не так уж и нужна эта хуйня, как ты пытаешься представить
>>2480207 Чем раньше раст попадет на прод, тем быстрее многим станет ясно о низкой продуктивности на нем. Не просто так же серво загнулся. Раст сейчас идет только на энтузиазме фанбоев на какой-нибудь крипте или пет проектов и агрессивном маркетинге.
>>2480462 >Не просто так же серво загнулся. Экспериментальный проект, над которым на фуллтайме работали что-то в районе 5 человек загнулся, да так что его куски уже не первый год как работают в фф, лул.
>Раст сейчас идет только на энтузиазме фанбоев Скорее агрессивный маркетинг создают хейтеры своей жопной тягой.
>>2480533 >Скорее агрессивный маркетинг создают хейтеры своей жопной тягой. Двачаю, этот тред поднимают больше столяровские шизики, они сюда пишут больше чем в C тред, который умер
>>2480462 Уже много раз писали. Servo был исследовательским проектом отдела Emerging Team (Раньше называлась Mozilla Reserach -- попытка исследования интернет трендов на 5-10 лет в будущее). Который закрыли из-за недостатка средств в т.ч. в связи с коронокризисом.
>>2481196 Бегали с этим сервом в грудь били, а сейчас, "мням мням, это было не серьезно и вообще игрались и деньги то не наши, а гугла и вон даже в лисе пару строк кода переписали".
Гугл загнул FF теперь загнет и лису, а потом появиться модная молодежная фуксия, в ядре которой запретили на расте писать и всех спасет, лол.
>>2481450 >линукс Ебало представили? Зачем загибать то, чем пользуешься сам и остальные корпорации? Как бы это не звучало бредово, но GPL только помог корпорация сэкономить. Нахрена тратить деньги на разработку серверов/рабочих станций для личного пользования, если можно всем корпам скинуться и пилить один проект? Внутри компании используешь бесплатное открытое ПО, которое можешь сам изменить в случае чего, а пользователям продаешь проприетарные сервисы, услуги и устройства.
>>2481869 Ты же понимаешь, что они именно запретили, поэтому звездеж на тему, "у нас на нем никто не пишет, поэтому запрещаем", выглядит натянутым?
Я уверен, что они раст пощупали и сделали определенные выводы. И был бы он так крут, как носятся с ним фанбои, не думаю, что они стали бы его выкидывать.
>>2481919 И в чём заключается попущение? Люди лезут в ядро не зная правил программирования в ядре. Такие же люди могли лезть с коммитами на Си. Пошёл нахуй в общем, обосрыш.
Сап. Я к вам из /b/. Мне там ананий сказал, что написал свою программу для торгов акциями через api брокера на расте.
Если я последний раз погроммировал в школе в 2007 году на паскаль абс - стоит ли мне влезать в это всё? Почитал тред и охуел с количества срачей.
Мне не особо умная программа нужна, я расчёты делаю в экселе и покупаю продаю вручную с шагом в неделю. Бот, написанный мимокроком на расте, сможет справиться с этой задачей?
https://www.opennet.ru/opennews/art.shtml?num=57876 >Предлагаемая модель безопасного программирования для C++ предполагает использование предоставляемых стандартной библиотекой классов при работе с буферами вместо манипуляций с голыми указателями. Например, предлагается использовать классы std::array, std::vector и std::span, в которые будет добавлена проверка выхода за границы выделенной памяти, производимая во время выполнения. >В libc++ планируется реализовать опциональный режим усиленной защиты, при включении которого во время выполнения будут отлавливаться некоторые ситуации, приводящие к неопределённому поведению. Например, в классах std::span и std::vector будет отслеживаться обращение за пределы выделенной области памяти, в случае выявления которого программа будет аварийно завершаться. >Производимые во время выполнения проверки в libc++ планируют разделить на категории, которые можно будет включать по отдельности. Некоторые из предложенных проверок, которые не приводят к усложнению операций или изменению ABI, уже реализованы в рамках безопасного режима libc++ (safe mode).
Ахах, ккак же llvm ебет столяровских шизов. Сто процентов подлые растоманы пробрались в проект и портят креств
>>2482593 >я расчёты делаю в экселе Что те херню посоветовали что эти, бери шарп, я серьезно, как минимум у тебя будут не кустарные библиотеки и больше фич. Игрушечный питон не бери эта хрень тормозит аки слон и не может в мультипаточность. С большими объемами данных сразу это заметишь.
>>2482751 >хрень тормозит Все еще 3.4 используешь? >мультипаточность Мультипроцессинг бери тогда. >С большими объемами данных сразу это заметишь. С ними нужно уметь работать. Обосраться можно хоть плюсами, хоть с питоном
>>2482820 Когда ты берешь ссылку на переменную, создаётся лайтайм. Лайфтайм - это конкретный участок твоего кода, на котором ссылка гарантированно валидна. В нормальных условиях лайфтайм - это участок от let до конца скоупа (т.е. до }), но он может преждевременно прерваться, если родительский объект был перемещен (присвоен другой переменной или передан в функцию по ссылке или изменен (т.е. создана ссылка с &mut). При попытке использоваться ссылку после окончания её лайфтайма будет ошибка компиляция.
Еще есть сложные лайфтаймы и особенности с мутабельными ссылками в структурах, но они нужны реже, и я рекомендую пока не лезть в залупу.
Дошёл до 12 главы в растпуке и наткнулся на метод .collect() у итераторов. Насколько я понимаю, явно нигде в нём указывать не нужно, в какую коллекцию он будет перерабатывать мою итерационную цепочку. Как эта хуйня реализована вообще? Может это что-то очевидное, но я со своим плюсовым мышлением чёт ничего особо придумать не могу.
>>2482820 Это буквально время жизни. Ссылка должна указывать на живую структуру или примитив. Если есть вероятность, что указываемая структура умрёт (будет перемещена, освободится память для неё, время жизни уменьшится из-за смешения разных лайфтаймов в один, etc.) до момента как ссылка будет использована, борроу чекер пошлёт тебя на хуй.
БЧ просто не даёт тебе трахать трупы, потому что в программировании из-за секса с трупами рождаются назальные демоны.
При этом БЧ консервативен, и если что-то пахнет как труп, то он не даст это трахать, даже если оно случайно живым. Он считает, что лучше иногда не трахнуть живое, чем случайно трахнуть мёртвое.
>>2484082 Удваиваю. Какие современные программисты заморачиваются например о поддержании когерентности кеша? А ведь даже это полезней чем думать постоянно о том, как бы не наступить на граблю и не выстрелить себе в ногу.
Сап, растеры-крастеры. Решил вкатиться. Почему все ресурсы по расту ориентированы на то, что читатель уже писал на с/с++? Как вкатиться в этот язык, если до этого не писал на си? Посоветуйте ресурсы для изучения, если я до этого не писал на вышеупомянутых языках и вообще во всем этом низкоуровневом плохо понимаю. Что можно паралельно читать вместе с rust book?
>>2485900 > >Почему все ресурсы по расту ориентированы на то, что читатель уже писал на с/с++? Просто рассчитаны что ты не полный нуб.
>Посоветуйте ресурсы для изучения, если я до этого не писал на вышеупомянутых языках и вообще во всем этом низкоуровневом плохо понимаю. Что можно паралельно читать вместе с rust book? Просто начни что-то делать на нем да и всё, он легче всего учиться на практике
>>2485900 Если по котлин книжке понятно, что разработчики может умеют делать языки, но не особо умеют писать учебный материал, то растбук откровенно халтура. Основной парадигме владения и лайфтаймам посвящено пару страничек и не раскрывается мысль как на этом вообще писать, если у тебя что-то больше чем хеллоуворд. И было бы как бы похер, но эту книгу советуют почти всегда и до фанбоев просто не достучаться. Хотя они же жалуются на кривую обучения, конечно, откуда взяться ровному обучению, когда по новой парадигме нет толком никакой информации как лучше строит сложные архитектуры, чтобы потом из-за чекера все заново не переписывать.
Speaking of languages, it's time to halt starting any new projects in C/C++ and use Rust for those scenarios where a non-GC language is required. For the sake of security and reliability. the industry should declare those languages as deprecated.
— Mark Russinovich, CTO of Microsoft Azure
Хейтеркам Раста вырасшем на ковырянии винды от этой цитаты может стать неприятно.
Rust is weirdly all-level programming language. You literally can have pointer arithmetic, iterator transformations, and inline python macro back to back in the same function.
If your code is expected to be a bottleneck in terms of CPU usage, memory usage, latency or bug-fixing, then Rust is a very strong contender. It can save you money and effort in the long run.
I wrote a bespoke time-series database in Rust a few years ago, and it has had exactly one issue since I stood it up in production, and that was due to pessimistic filesystem access patterns, rather than the language. This thing is handling hundreds of thousands of inserts per second, and it's even threaded.
Given that I've been programming professionally for over a decade in Python, Perl, Ruby, C, C++, Javascript, Java, and Rust, I'll pick Rust absolutely any time that I want something running that I won't get called at 3 AM to fix. It probably took me 5 times as long to write it as if I did it in Go or Python, but I guarantee it's saved me 10 times as much time I would have otherwise spent triaging, debugging, and running disaster recovery.
Rust has a curse (it has many, but this one is critical): inefficient code is generally visible. Experienced developers hate to notice that their code is inefficient. They will recoil at seeing Arc<RefCell<T>> , but won't bat an eye at using Python.