В этом ИТТ мы можем объяснить базовые и продвинутые концепции языка, и программирования в целом, поможем вкатывающимся, подскажем что выбрать для веба, игр или, прости Абу, блокчейна.
>>3371071 >С++ > С# >Раст На скольки из этих языках ты писал коммерческий код и как долго, сколько человек было в команде? Иногда мне кажется, что здесь вкатуны-хэллоувордщики одни остались, которые неистово дрочат на то, какой хэллоуворд на их любимом языке получился простой и лаконичный, а главное безопасный.
>>3371092 Причем тут хэллоуворд? Все ровно наоборот - все что проще калькулятора, какая-нибудь laba1.cpp в любом случае уместится на +- одинаковом количестве строк на почти любом языке, а вот дальше уже начинается разница.
>>3371041 (OP) Что мы имеем в сухом остатке по прошествии 36 тредов? - В Расте нельзя реализовать графы аналогично другим нормальным языкам. Для этого придется пердолить unsafe код, а это плохая практика по заверению самих разрабов Раста. - В Расте нельзя сделать нормальный 2D-массив как в других нормальных языках. Нужно использовать костыль. Ну или сделать 2D-вектор, потеряв в производительности. - В Расте нельзя реализовать систему взаимных ссылок между объектами, как в других нормальных языках.
Просто пиздец. Язык-ГУЛАГ, язык-НИНУЖНО.
Знаете какой единстенный плюс у Раста? Зато со сборкой как в плюсах пердолиться не надо, только-выиграли!
>>3372310 Аргументы нужны чтобы доказать что что можно оспорить Ты же не можешь хеллоу ворд написать, и Раст бук дальше трёх страничек пролистать
Кроме как skill issue это не назвать
Можешь чтобы ещё сильнее опозориться написать в треде что конкретно не получается у тебя сделать, на каком моменте твой мозг прекращает функционировать и ты начинаешь считать что то элементарное невозможным?
>>3372311 Так сможешь ответить на вопросы из пункта или так и будешь дальше позориться? Если бы у тебя было бы что аргументированно ответить на вопросы отсюда >>3372300, то ты бы сразу ответил.
>>3372330 В большинстве популярных книг и руководств по Расту не рекомендуется брать Раст в качестве первого языка, т.к многие из концепций объясняются довольно сложно для тех, кто до этого не изучал программирование.
>>3372330 Раст решает в первую очередь проблему безопасности памяти, но из этого следует в том числе информационная безопасность, т.к многие проблемы инфобеза (утечки данных и тд) следуют из эксплоитов с утечками памяти.
>>3372300 >- В Расте нельзя реализовать графы аналогично другим нормальным языкам. Нельзя реализовать графы по модели Си, когда у каждого узла свой лайфтайм, а связи между узлами делаются сырыми указателями. Но такая схема - это пизда производительности, и с тем же успехом можно писать на Питоне. >В Расте нельзя сделать нормальный 2D-массив как в других нормальных языках. Если ты не знаешь, как разделить одномерный массив на строки, то я тебе не доктор. >- В Расте нельзя реализовать систему взаимных ссылок между объектами, как в других нормальных языках. См. пункт про графы.
>>3372452 >А если с ансейфом написать? Ты же не какой-то хлебушек, чтобы писать баги в ансейфе? Баги нужно писать стратегически, чтобы когда припрёт, их можно было легко воспроизвести.
>>3373298 А нахуй нужен Раст, если даже Сишарп выдает ту же самую производительность и протребляемость памяти (в режиме Native AOT), но не требует ебли с борроучекером? Раст говнина без задач в реальных кейсах.
>>3373258 Нижний медведь - это растан пытающийся писать на крестах? Потому что я не представляю каким надо быть дегенератом, чтоб использовать std С++23, но не использовать фичи языка и писать как на сишке. Разница только в том что раст функциональный язык и лямбды покороче.
>>3373305 Это потому что в расте сидят дауны из js, не умеющие в многопоточность и обмазывающие всё тормозной асинхронщиной. Но раст и шарп - это две крайности. Первый сел на функциональщину и дрочит на академическую хуйню, забив хуй на практическое использование языка без боли. Второй обмазался ООПом и никак не может хотя бы немного функциональщины завести, особенно грустно на шарп смотреть после котлина, только LINQ-параша есть, являющаяся SQL-выродком.
>>3376505 Сдох давно ещё после прихода шиза, который срет без остановки. Долбоебы продолжают его кормить, а все остальные уже поставили свечку за упокой треда
Пиздос, надеялся что перейдя с крестов на раст перестану ебаться со сборкой, но тут ещё хуже, блять. Если собирать просто через cargo build, то эта хуита на каждое изменение пересобирается по несколько минут, пересобирая половину зависимостей которых 350 штук тянется из карги, lto естественно выключено, если врубить динамическую линковку, то оказывается она вообще не работает под виндой не может найти dll, которую он сам же собрал и которая лежит рядом с экзешником. Ебался с динамической линковкой, т.к. пишут тогда сборка быстрая станет, но в итоге только смог найти заброшенные issues из 2018 года, всем просто похуй, как будто в багтрекер Dlang зашёл. Сука, в крестах в 2025 есть хотрелоад, а тут как деды сидим по 5 минут компилим и даже прилинковать нормально не можем. Ебал рот трапов, придумавших эту хуйню.
>>3379287 Алсо, у меня ещё вот эта хуйня лезет, иногда надо 5 раз запускать сборку чтобы успешно прошла. https://github.com/rust-lang/rust/issues/135114 По поиску пять issue ищется с декабря на эту хуйню, до сих пор нет фикса. Имедженируйте какой безопасный язык, если у него компилятор с сегфорты улетает через раз.
>>3379287 >Если собирать просто через cargo build, то эта хуита на каждое изменение пересобирается по несколько минут, пересобирая половину зависимостей Ты в Cargo.toml новые зависимости добавляешь?
>>3379307 Да. Они жирнющие, итоговый бинарник на 80 мб. А с динамической линковкой он даже std не может нормально прилинковать. Алсо, я ещё вынужден дебаг собирать с opt-level = 1, потому что с 0 ошибка линковки, лол. Большой проект на UE5 быстрее собирается, чем это говно.
>>3379309 Ну вот именно поэтому у тебя каждый раз дохуя всего собирается, в продакшене когда редко чего-то новое тащишь собирается моментально не так быстро как гошка, но все же шустро >Винда Страдай хули, сам выбрал такой путь. Там с многими языками приключения
Вопрос по алгоритмам. Есть два массива/вектора с одинаковой длинной 1000 забитые f32 от 0. до 1. Мне надо как-то их сравнить. Пока написал такую шнягу: let mut ret = 0.0; for i in 0..1000 { let min = f32::min(вектор1, вектор2); let max = f32::max(вектор1, вектор2); if min != 0. { ret += min / max; } } ret / 1000.
Проблема в том, что этот алгоритм не учитывает момент, если в одной ячейке одного вектора 0., а во втором не 0. Т.е. оценивает только общее (пересекающееся) множество (логическое И?). Если сравниваю массив где три элемента не 0. с массивом из 1.0, то я получу такой же резултат, где тот же массив я сравниваю с массивом, где 5 элементов из всех 1.0 (в эти пять входит три из первого), что не подходит.
Были мысли элементы вычитать и брать разницу по модулю (.abs()), но что-то ничего годного высрать не получилось.
>>3371092 >Иногда мне кажется, что здесь вкатуны-хэллоувордщики одни остались, которые неистово дрочат на то, какой хэллоуворд на их любимом языке получился простой и лаконичный, а главное безопасный. Дрочь на кресты кстати является маркером вкатуна. Почему-то все восторженные отзывы об этом языке идут исключительно со стороны тех, кто лабораторки делает или читает метанит. Те, кто на это языке реально работает и не первый год почему-то не сильно рады этой хуете. Особенно это хорошо видно по комментариям типа: >Ряя вышел новый стандарт, стало лучьше, исправили косяки Вкатун даже не в курсе, что скорее всего никогда этот стандарт не увидит, а в реальной работе будет ковырять легаси кал и воевать с компилятором и сборкой.
>>3379453 >Вкатун даже не в курсе, что скорее всего никогда этот стандарт не увидит, а в реальной работе будет ковырять легаси кал и воевать с компилятором и сборкой. Ну ты всего-то не рассказывай, пусть пока походит в розовых очках, а разочаруется уже на первой работе
>>3379453 А раст увидит? Ты то сам где работаешь, синьер-балабол?
Лично я сам стараюсь не использовать стандарт выше 11го, там дальше не настолько нужные изменения что бы без них нельзя было обойтись. Вот с++20 уже другое дело, там и корутины и в библиотеку напихали дохуя всего. Надобудет примерить на какой нибудь заброшенный проект.
>>3379494 >Лично я сам стараюсь Ты у себя дома стараться можешь сколько угодно. А в командной разработке ты будешь писать на чем скажут, а скорее всего на чем проект уже написан. И свое "фи, я не использую это я использую вот это" можешь себе в жопу засунуть.
Здаров, задроты. Думал посмотреть раст, но как только увидел, что там нет сборщика мусора, сразу отказался от идеи. Сейчас где-то увидел, что чел говорит про "безопасность памяти", отсутствие утечек и т.д.
Внимание вопрос - Как без сборщика, обеспечена безопасность памяти?
>>3379494 >А раст увидит? Сейчас в продакшене все без проблем обновляется, обратная совместимость работает в Dockerfile для прода только циферки меняю. Другое дело когда будет версия 2.0 тогда уже можно будет что-то говорить. И везде по-разному происходит такое где-то гладко, а где-то с большой болью как например переход со 2 на 3 питон, который лет на 10 затянулся
>>3379499 Да мне как то похуй на ваш говнопрод. Но однако я ком в свободные проекты и естественно что бы изменения приняли нужно подстраиваться и под стиль кода и правки разделять на отдельные комиты. Чем тут пидораст принципиально отличается - непонятно. >>3379512 >в продакшене все без проблем обновляется Один говорит "будешь писать на чем прикажут" другой говорит все спокойно переписывается@обновляется вы как то меж собой договоритесь что ли.
И как это все увязано с плюсами или растом так и не понял.
>>3379553 >Да мне как то похуй на ваш говнопрод Ну так и надо было с самого начала писать, что ты сидишь хэллоу ворлды дома лепишь и никаких рабочих задач не решаешь. А не сидеть тут с ебалом знатока рассказывать как ты на новенький стандарт пересел.
>>3379505 Встроенным санитайзером (который впрочем можно отключить, что все и делают) Сборщик мусора это не про безопасность а про чистку памяти от долгоживущих объектов. В расте как в плюсах предполагается семантически вычислять моменты когда объект больше не нужен. Этому так же способствует и то что раст не линкуется ни с какими модулями а собирает все из своих репозиториев (как жаваскрипт хаскель)
>>3379608 Хоть я пидораст и не жалую, но идеи то оно преследовало верные.
Вот ты просишь сборщик мусор, а как он будет себя чувствовать на обработке длиннющих векторов в несколько проходов? Нормально? Ты просишь вещи из мира где быстрой обработкой данных не занимаются, языки они так или иначе создаются для определенных задачь.
>>3379671 При малом объёме данных GC быстрее чем RAII, потому что не делает деаллокаций сразу же. Посмотри хотя бы как джава или шарп поёбывают тот же actix по производительности.
>>3379553 >Один говорит "будешь писать на чем прикажут" другой говорит все спокойно переписывается@обновляется вы как то меж собой договоритесь что ли. Если обновляется без проблем, то никто тебе не запретит обновляться бери да обновляйся. Если обновление требует трудозатрат, то это уже другое и в большинстве случаев на больших проектах все будут сидеть на старой версии. Пока все в рамках версии 1.xx обновляется без проблем, у раста с обратной совместимостью сейчас все хорошо, я же нельзя тебе сказал что нужно ждать версии 2.0. И привел пример с питоном, тоже не просто так, хотя ты наверное в силу возраста не застал этот переход
>>3379716 > у раста с обратной совместимостью сейчас все хорошо > каждые 3 года новые эдишены без обратной совместимости > ABI раста не совместимо с растом Вот это наверное самое смешное за весь тред.
>>3379768 Чел, ты бредишь? В следующем релизе раста добавляют 2024 эдишен, код из 2021 эдишена не совместим с ним. Почитай документацию по миграции, у тебя старый код под 2024 эдишеном даже компилироваться не будет.
>>3379814 >у тебя старый код под 2024 эдишеном даже компилироваться не будет У тебя я как понимаю что-то не компилируется? Воспроизвел бы хоть для приличия
>>3379874 Чухан, что ты воспроизводить собрался? Берёшь любую либу старше 3 лет, меняешь эдишен на 2021 и всё. Нахуй ты пиздишь об обратной совместимости, если её официально никогда не было. Это тебе не кресты, где заботятся о совместимости и в теории ты можешь на С++26 собирать код от С++03 на практике нюансы есть. А в расте никто даже не заморачивался над совместимостью, просто каждые три года новый несовместимый эдишен. Например в 2024 эдишене любой старый код с extern надо будет править: > Starting with the 2024 Edition, it is now required to include the unsafe keyword on an extern block. Или, например, слово "gen" теперь зарезервировано и если в коде есть его использование, то тоже ошибка компиляции.
>>3379716 >Если обновляется без проблем, то никто тебе не запретит Насколько я знаю в продах не пишут на ванильном стандарте, а стабильно обмазываются среймворками и библиотеками что потом приводит к тому что обновится невозможно.
>>3381215 Если регулярно обновлять версии зависимостей, то никаких проблем, просто по-мелочи код правишь под изменения. На днях буквально обновлялся и проблемы были только в rand в версии 0.9 некоторые методы деприкейтед стали, cargo clippy все показал я за 5 минут поправил и погнали дальше. А пару недель назад обновлял версию раста на 1.84 опять же clippy показал что можно упростить часть бойлерплейта с лайфтаймами тоже минут 5-10 ушло. Бывает проблемы когда axum обновляешь там побольше надо возится, но тоже не особо много гемороя. Проекту уже 3 года и все версии свежие
>>3381907 Так и есть. Надо пользоваться тем что удобнее, а не то что быстрее/идиоматичнее. Вот в крестах на макросы постоянно гонят, но когда смотришь на макросы в UE5, то понимаешь насколько они ахуенные и делаю жизнь проще.
Как победить медленный запуск бинарника при куче зависимостей? Динамическая линковка в расте не поддерживается, пока бинарник не прочитается с диска и не смапится в память, код не начнёт выполняться. Если зависимостями насрёт на 100 мб, то это секунды перед запуском. Почему крестовики могут запускать огромные комбайны мгновенно, а растанам приходится страдать с запуском медленнее питона?
>>3383212 Вот пока в rust не завезут динамическую линковку, будет такая фигня.
А вот же логика rust'а в области отказа понятна - сделать бинарниу как можно менее зависимым на всего внешнего, чтобы не надеяться, что на машине, на которой запускают бинарник, нашлись все либы.
>>3383275 >А вот же логика rust'а в области отказа понятна - сделать бинарниу как можно менее зависимым на всего внешнего, чтобы не надеяться, что на машине, на которой запускают бинарник, нашлись все либы. Это пиздец боль когда запускаешь что-то на сишке в докере, хуева туча всяких зависимостей в стиле lib-zaup.13.666 и не все еще пишут что надо поставить. Запускаешь на локальной машине все работает, запускаешь в докере и получаешь хуй. Надо было как-то imagemagick крутить определенной версии, приходилось из исходников собирать этот тот еще пиздец смотреть по полчаса как собирается докер и получать залупу на воротник. Благо с растом кроме гита потому что часть зависимостей в приватном репозитории и openssl больше нихуя не надо тащить и все собирается охуенно и просто cargo build --release
>>3383362 Докер та ещё беда: в докере нормально работают(по крайней мере у меня) всякие java/kotlin/scala и python. И при этом все, что на jvm крутится, надо заворачивать в jar-ники. И когда я пишу про "все", я имею ввиду буквально весь набор классов(даже тех, что в обычные jar не вставляют по типу String). Может тут беда в моей криворукости, а может беда именно в докерах.
>>3372300 Самый главный недостаток пропукал анон несколькими тредами назад. Но был смело забыт ввиду отсутствие промышленных (реальных) программистов тут.
В расте недостижима (по средствам бч) основа основ программирования, внутренняя изменчивость (и как следствие одной из форм инкапсуляции). То есть, современная разработка без костылей Rc<Refcell>> там невозможна. А само Rc<Refcell>> это динамическая дресня вне комптайма (от чего еще больше противно становится).
>>3383459 jvm в докере это отдельная тема, благо я с этим не работаю, но наш девопс на старой работе ебался именно с этим. Плюс у джавистов мода вместо зависимостей просто тянуть jar файлы, там целый анал-карнавал
>Может тут беда в моей криворукости, а может беда именно в докерах. Тут надо понимать как он работает, по сути это голая операционная система без нихуя, которая крутится изолированно. Языки, которые используют минимум внешних зависимостей и качают все сами внутри своей экосистемы там работают отлично php, python, js, ruby. rust, go и тому подобные имеют минимум проблем потому что есть свои composer, cargo, npm, pip, гошка с гита качает и тд. Как только с докером соприкасается язык, который вместо своих пакетных менеджеров требует каких-то внешних зависимостей случается лютый пиздец. Зато с докерами удобно в плане девопса, я пишу докерфайл, а девопсы уже куда надо и как надо разворачивают без проблем, любой деплой в пару кликов работает Ci/CD и вся красота, плюс разделена зона ответственности
>>3383553 Нет, тут другое. Ну типа у тебя есть радио, ты дергаешь регуляторы и там что-то меняется, но сам ты вскрыть и паяльником менять частоты резистора не можешь (и не нужно абстракция по средствам инкапсуляции, если я завтра поменяю начинку с аналогового на цифровое - ты даже не заметишь, рычаги все те же).
Если ты создаешь иммутаебельное радио, он работать не будет, то есть ты буквально внешним факторам нарушаешь работу внутренних частей. Нужна внутренняя изменчивость и тут весь раст сыпется в говно (та картинка показывает степени безумства сего костылеварения).
>>3383683 >частоты резистора Еще бы написал стрелка осциллографа. Там сопротивление, если ты крутишь переменный резистор у тебя меняется сопротивление. Такое применяется в ручках громкости и эквалайзера. Чтобы изменять частоту используется переменный конденсатор, который изменяет емкость когда ты крутишь, совместно с катушкой индуктивности создают колебательный контур и в зависимости от емкости и индуктивности настраивается резонансная частота.
> если я завтра поменяю начинку с аналогового на цифровое - ты даже не заметишь, рычаги все те же Если ты заменишь начинку на цифровую, но оставишь те же ручки, то тебе придется ставить дополнительно ставить АЦП чтобы от переменного резистора и переменного конденсатора получать значения и прописывать это в прошивке, что сильно удорожает твой радиоприемник, особенно АЦП для измерения емкости. Либо пойти простым путем убрать эти ручки, поставив на место них энекодеры (в данном случае подойдет валкодер, который считает количество импульсов, когда ты крутишь) и уже прошивкой решать что делать при изменении положения.
>то есть ты буквально внешним факторам нарушаешь работу внутренних частей Так и есть, когда ты крутишь ручку выбора частоты ты изменяешь емкость в колебательном контуре. Когда ты переключаешь диапазоны AM/FM ты переключаешь катушки, изменяя индуктивность на самом деле может быть всяко-разно в зависимости от приемника и начинка куда сложнее, но общий принцип такой. Так устроена вся аналоговая техника, где органами управления ты меняешь те или иные характеристики непосредственно в схеме. Цифровая техника уже устроена иначе ты посылаешь сигналы, а прошивка их уже обрабатывает и органы управления у них, мягко говоря несовместимы
>>3371041 (OP) Из ядра пердоликса вас выкидывают. Не можете свое ядро написать, так не продвигайте свою повесточку в чужое. Педеrustы воистину как ЛГБТ+, без внешней поддержки властей не выживут.
>>3383790 >частоты резистора Я там хотел про частоту радио что-то написать потом про резистор высрал и спутал. А ты, паялка домашняя, целую простыню выдул. Ты же понимаешь, суть не в этом и аналогия не должна быть точной (ибо аналогия не есть доказательство).
>>3384161 >хотел про частоту радио что-то написать потом про резистор высрал и спутал Ты так уже не один тред делаешь лол, засрал всё как голуби чердак
>суть не в этом Суть как раз таки в этом, жизнь сложная штука. Для начала чтобы получать ответы на вопросы научись излагать чего ты хочешь спросить, а не высирать чего-то, показывая свой уровень IQ на общее обозрение
>>3384203 Ну тот шизик не хочет объяснить чего он там пытается спросить, чего-то там про радио спрашивает, пытаясь высрать аналогии. Пока у него только высраться получается, так что можешь не читать
>>3384203 Он срёт про то что если ты хочешь иметь внутреннюю изменяемость, изменяя при этом значение не-Copy типа, то можно получить панику т.к. придётся использовать RefCell.
>>3384235 Теперь дошло, ему надо везде и всюду пихать немутабельную ссылку на объект и при этом его изменять, а то хуйню про какие-то частоты резисторов спрашивает что само по себе комично, какое-то иммутаебельное радио, клею обнюхался там похоже. Ну так пусть оборачивает нужные поля структуры во всякие мьютексы и рефселы, картинку выше прикрепили как и для чего использовать или вообще передает владение лучший вариант, а на выходе уже получает результат. Эти все телодвижения стоят копейки по ресурсам, зато не дают выстрелить себе в ногу как в си или js. Не понимаю зачем ебать мозги себе и окружающим, еще и вопросы задает каким-то извращенным способом.
>>3384220 >>3384235 К сожалению, попуки в воздух это все на что способен средний растер (не только на харкаче). Они реально действуют только в рамках известного паттерна, например услышав про refcell сработал защитный попук про сборку мусора, хотя проблема другом вообще.
Будем смотреть как будет развиваться раст после закрытие финансирования USAID, без искусственного поддува.
>>3384470 >хотя проблема другом вообще. Например у тебя с головой, собственно какие вопросы задаешь - такие ответы и получаешь. Научись задавать нормальные вопросы не набросы говном и будешь получать нормальные ответы. Естественно если срешь из треда в тред всякой шизой, то с тобой никто не будет нормально разговаривать
Кстати про usaid с растом гуглятся всякие форумы, борды и прочее говно. Есть какой-нибудь более вменяемый источник, там СМИ какое-нибудь? Похоже опять набросы шизов
>>3384525 Это на форче выдумали всё. Раст только всякие Гуглы/Майки/Амазоны спонсировали. Вот можешь посмотреть внизу спонсоров, так же список тех кто рулит баблом. https://rustfoundation.org/about/
>>3384525 Создаешь свой rust-initiative-team делаешь несколько оберток над сишными библиотеками, бодро и громко об этом рапортуешь, вешаешь лгбт флажки, пишешь в поддержку повесточки итд итп, потом когда юсад закрывается пишешь что раст-сообщество против, поскольку вам тоже старик сорос давал деньги на имитацию бурного развития раста.
>>3384525 А ты реально хочешь увидеть прямые ссылки с именами и счетами в теневой организации, может еще дату и время когда в n-пакете включался и выключался бэкдор для китайского трафика?
Ну вот собственно и публикация за 2024 https://rustfoundation.org/wp-content/uploads/2025/01/Annual-Report-2024.pdf То есть основные спонсоры это крупные компании, с бюджетам все заебись полляма за прошлый год осталось. Короче высеры про USAID это выдумки сишных членодевок, тем более эта контора занималась в первую очередь внешней политикой и по большей части финансировала политиков и медиа с нужной повесточкой за пределами США. Так что пусть дальше фантазируют в своем петушином углу, буквально за 2 клика вся их ложь вскрывается
>>3385176 Выслалил тебе защеку документы, проверяй. Только никому не говори, а то подорвешь всю нашу многолетнюю работу по внедрению бэкдоров в третьи страны.
>>3387396 > vs Go Можно даже не смотреть. Как же у меня сгорела жопа это этого GOвна в свое время, надо было на коленке наклепать один сервис похуй на чем там пара крудов и небольшая логика, для проекта который если взлетит, то будет переписываться с нуля и чисто по фану взял эту хуйню всегда хотел попробовать. Он не взлетел и дальше не стали продолжать Если с обработкой ошибок хуй с ним куда не шло ide этот бойлерплейт генерирует, то остальное сущий пиздец. Хуй ты один и тот же код используешь для разных типов как например имплементация трейта для дженерика или наследование как в ООП языках, копируй код сука или пиши функции с аргументом в виде интерфейса. Утиная типизация это адовое говнище, если пишешь имплементации на готовый интерфейс, то куда не шло жить можно, но когда ты вносишь изменение в интерфейс, то тут начинается вся веселуха. Благо тут код писал полностью сам и у меня везде нормальные типы указаны и начинает отваливаться если ты передал тип не имплементировавший интерфейс, но вот в сторонних библиотеках часто есть аргумент в виде пустого интерфейса и хуй знает как с этим гошники работают. Бойлерплейт с тегами для json пиздец как бесит из-за того что поля структуры нужно писать с большой буквы чтобы они стали публичными вместо модификаторов доступа приходится городить огород из тегов. Ну и прочие прелести
>>3387449 > Утиная типизация это адовое говнище Если нормальная компайл-тайм реализация, то наоборот ахуенно. В ГОвне просто ничего не смогли сделать как надо.
>>3387449 >Если с обработкой ошибок хуй с ним куда не шло Но в расте тоже обработка ошибок через оператор ветвления. За исключением сахара "?". И создавать кастомные ошибки без макросов - больнее.
Забавно как дрессируются мартышки, в обоих языках чеккед ошибки (через боль выпиливаемая в начале двухтысячных в жабах и потом шарпах) снова завозятся зумерами, но в го они плохие, а в расте хорошие. Какие же вы тупые.
>>3387564 >За исключением сахара "?" Он как раз и применяется в 99% случаев это и есть кардинальное отличие от го.
>И создавать кастомные ошибки без макросов - больнее. Иди в пизду шиз, ты 2 + 2 без макроса не сложишь лол, создаешь enum и имплементируешь Error из обязательного надо только Display, вот тебе и кастомная ошибка. Буквально один метод написать и пару строчек имплементаций. Нахуй ты здесь в треде свое невежество показываешь?
>Какие же вы тупые. Я почему-то представил какую-то ноющую бабу в соплях с размазанной тушью, которая говорит это сквозь слезы. Но ты там вроде мальчик школьник или студент на сколько помню
>>3387594 Этот выпук не исключает того что в расте и го чеккед ошибки. И когда ты поносишь го за ошибки, ты автоматом поносишь и раст. Но интеллект не вывозит это понять. и то что 25 лет назад пришли к выводу что чеккед ошибки больше мешают
>Я почему-то представил Где должно быть обидно? Что за графоманию я сейчас прочитал?
>>3387662 >Но интеллект не вывозит это понять. Ну так прокачай его чтобы понимать разницу между го и растом. В целом у меня как таковых претензий к обработки ошибок нет, там просто излишне примитивная реализация. У меня больше претензий к остальному. Если тебе мозга не хватило прочитать все остальное к чему у меня реально были претензии это не мои проблемы
>Где должно быть обидно? Это не обидно, а забавно со стороны выглядит. Ноешь и топаешь ножкой тут как баба лол
>>3387733 > Это не обидно, а забавно со стороны выглядит. Ноешь и топаешь ножкой тут как баба лол Мне, читая ваш срач, тоже забавно со стороны, ведь это ты первый начал ныть про говно.
>>3387741 Флешбеки от его использования, принесли говно в тред, собственно и прокомментировал. Я в отличии от шизика не кричу в соплях что все тут тупые и меня не понимают
>>3387733 >Если тебе мозга не хватило прочитать все остальное Зачем мне все остальное, когда мы конкретно один тезис обсуждаем?
>а забавно со стороны выглядит. Ноешь и топаешь ножкой тут как баба лол Ты же понимаешь, что это только у тебя в голове? Попытка в каждом предложение спуститься до личностей, лишь показывает насколько это все примитивно, а эта графомания еще раскрывает твой юный возраст.
>В целом у меня как таковых претензий к обработки ошибок нет, там просто излишне примитивная реализация. Переобувка налету признак гибкого интеллекта, мог бы и рогом упереться. Это радует.
>>3387758 >Переобувка налету Это твоя фантазия не более того, у меня речь изначально была о реализации.
>Попытка в каждом предложение спуститься до личностей Это было бы интересно сдиванонить тебя, даже какое-то любопытство есть от столь одиозной личности, которая уже больше года срет в треде как на работе. С другой стороны с тобой чего-то обсуждать всерьёз бессмысленно, как только разговор куда-то уходит в неудобную для тебя позицию сразу игнорируешь и возвращаешься в тред с новым набросом спустя какое-то время или вырываешь что-то из контекста, переводя в другое русло. Остается вот так вот, потешаться иногда как с мартышки в зоопарке.
>>3371041 (OP) Есть какие-нибудь гайды по солане? Чтобы прям для дебилов было разжёвано. А то мне кажется что мои смарт-контракты не смарт, а хуйня полная. Хоть и работают. Но мне не нравится цена за их размещение. Кажется что где-то наёбка.
Может кто знает где можно посмотреть реальный проект на солане? Чтобы можно было напиздить оттуда примеров и уже разбираться походу.
sui от соланы сильно отличается? Можно ли умея в солану вкатиться в хуй суй в чай?
На расте до этого был только опыт с крудами и мелкой хуйнёй десктопной. Тема с блокчейнами для меня абсолютной террой инкогнитой была в начале недели, а надо вкатиться до конца следующей
>>3388503 >Есть какие-нибудь гайды по солане? Дохуя гайдов, гугли на английском. Это один из самых известных блокчейнов.
>где можно посмотреть реальный проект на солане? Чел... Ну открой гитхаб нахуй. Там 36 тысяч репозиториев, ты в глаза ебёшься что ли --> https://github.com/search?q=solana
>sui от соланы сильно отличается? Конечно! Посмотри год когда вышла солана и когда вышел суи. Естественно он уже учёл все предыдущие грабли соланы. Так что да, сильно.
>Тема с блокчейнами для меня абсолютной террой инкогнитой была в начале недели, а надо вкатиться до конца следующей Блокчейн - это как криптография скрещенная с вебом и embedded-разработкой. На любителя. Embedded - в том смысле, что для веба там слишком много дрочки с битами-байтами.
>>3391853 Да углубляться в это желания 0 что дальше? как в паскале будут : или в пыхе $ или все вместе взятое? Еще и регистр небось соблюдать тьфу блять
>>3391871 Ниче не поделаешь. Зато например руст умеет типы выводить задом наперед, слева направо. Или со следующего выражения. А жава плюсы с остальными тайпскриптами так не могут.
let mut people_ages = HashMap::new(); people_ages.insert("Вася", 34);
И уже не можешь вставить people_ages.insert(42, "Петя");
>>3391884 > умеет типы выводить задом наперед В твоём примере просто костыль из-за отсутствия конструктора. Лучше бы в расте научились выводить типы в дженериках нормально.
Научите меня идиоматическому расту. Вот например у меня сейчас в коде месиво из if let Some() = ..., анврап-елсов и прочих защит от дебила. Как например всё это сделать красивее? Да и в целом может есть какие-нибудь гайды как из кода сделать конфетку?
>>3391959 Чел, это и есть раст, сделать красивее можно только выкинув раст. Лесенки и псевдофункциональная лапша - это с тобой в расте навсегда. Причём если в тех же крестах можно писать в разных стилях, то тут за тебя уже всё решили.
>>3392154 Все через жопу, даже print! через сраный макрос сделан, приходится восклицательный знак ебашить как дебил. Вот в питоне другое дело, там только отступы кумарят, все для людей сделано
>>3392154 Ну это же не макрос, тут скорее синдром утенка как ты привык. Я могу понять почему это сделано, но фишка зига не в синтаксисе, а в том что это современный си с поддержкой си.
>>3392838 >котлин Это медленное говно с мусоросборщиком, на нём только круд-контроллеры писать. Ты не напишешь операционную систему на котлине. К сожалению, реальность такова, что альтернатив си сегодня нет - пидораст так и не взлетел, поскольку сделан вебмакаками-джаваскрипстерами со всеми вытекающими (включая модную сжв-повесточ_ку прямо в ченджлогах), а сиси плюс - жуткое монструозное убожество, и с каждым новым шизостандартом дела только хуже.
>>3392852 >В вебе Я думал, мы про программирование, а ты действительно про веб-кодирование круд-контроллеров. Тогда вопросов не имею, хоть и не до конца понимаю, зачем для веб-обезьянинга вообще использовать генератор ассемблера.
>>3392861 Я не знаю, где используют пидораст — думал, что нигде, ведь это кал от вебмакак, который другим вебмакакам оказался не нужен, потому что есть пайтухон и жс. Но точно знаю, что на нём писали юникс-подобную ось игрушечную какую-то, забыл как называется. Энивей, мы говорили про си. Си в вебе, надо полагать, не особо используют, а там, где си используют, альтернатив ему пока нет.
Глав-вебмастер и основатель самого популярного фреймворка для хостинга круд-контроллеров заявляет, что расту в вебе быть, и похуй на вскукареки менее главных веб-мастеров @ Всполохи жоп растохейтеров освещают наш тёмный уютный тредик @ От такой жары даже приходится снять чулочки с жырных волосатых ног
Разминайте жопы и готовьтесь к trap driven development, или уёбуйте на freebsd
>>3392930 Да похуй. Финский нацик уже совсем под старость поехал. Он теперь на любое говно пойдёт, чтоб выдавить неугодных людей из ядра, заменив на своих трапов.
>>3393047 > веб-мастеров и маститсых крудошлёпов > Security Team Это звучит скорее как "заебали дыры делать, пишите без дыр". Сами они естественно писать на нём не собираются.
>>3371092 Прямо сейчас? 40 мегабайт исходного кода на C++, команда в районе пары десятков человек. До того были ещё проекты аналогичного размера, на C++, с командой человек в 50. На C# был проект на десяток мегабайт исходного кода, командой так же человек в 20. Примерно половина проблем - это тип проблем которые невозможно совершить на расте. >>3383533 То что называют "современная разработка" это рак. Одно из последствий которого это проблемы с производительностью и с использованием многопоточности. Современный компьютер это давно уже не просто быстрый PDP-11, для которого и был создан C. Если ты хочешь производительность и многопоточность то тебе придётся писать так же как на расте всё равно. С иммутабельностью и всем остальным. >>3384130 Никто никого не выкидывают, алё. Там добрая половина топовых майнтенеров хочет раст. >>3388503 Если ты дебил то тебе лучше держаться подальше от смарт-контрактов. А то напишешь говно и у тебя всё бабло спиздят к хуям.
>>3393249 Сейчас время такое, что вкатываться тяжело, даже на популярных стеках вроде > Js/ts, джавашарпы, гошка Вкатывайся через них, потом перекатывайся в раст То же касается всяких других не-мейнстрим штук вроде Scala, Elixir, F#, Closure, Haskell, Zig и что там ещё PHP сожрал гошка и остались только wordpress, laravel и bitrix плюс горы легаси, которые ещё на гошке не переписали Python сейчас в основном или в машобчике/девопсинге/датаинжиниринге, или плюсом к какому-то другому основному стеку, чисто питонячих вакансий относительно мало Си в основном в эмбеддеде - просто знания языка мало, надо уметь в микроконтроллеры/схемотехнику/какую-то конкретную системщину
>>3392838 >котлин Забавно что во всяких монолиях типа шарпов тенденция к универсальности, а у дохлой жабы наоборот все прибивается к одной IDE. Вендерлок в 2025 это уже смешно.
Хватит что все сидят на пакетах с моно репозитарий (где когда надо прокси сервера предоставляет версии с бэкдором, как в том видео с го)
>>3393249 >А как вкатываться-то тогда? Для чего? Раст не занял никакой ниши кроме крипто-скама. В соло веб макакинге ты быстрее упрешься в базу (или даже тупо пинг) чем в вычисление своего круда (да и тесты показываешь что выиграша или нет или на спичках).
>>3393395 Господи, да кому не срать на твое мнение.
Главное то, сколько спецов, а именно мозгового капитала, потеряет линупс. То что они (якобы) боялись, постепенная утрата спецов, случится на их веку, да еще в масштабе.
Честно говоря конкуренция бы не помешала, а то забавно как носились с попенсорсом, а он превратился в тоталитарную корпоративщину, в то время как корпораты стали больше потеть за фидбэк.
>>3393407 Слабоватый тейк. Он уже теряет разрабов из-за консервативных мейнтейнеров, боящихся лишний шаг сделать в сторону, недавняя драма с Hector Martin тому подтверждение. Но это не так важно на самом деле, разрабов дохуя, если уходят самые некоммуникабильные и токсичные — это даже на руку проекту. В той же драме Линус не зря этого Гектора нахуй послал.
>>3393407 >, боящихся лишний шаг сделать в сторону Это типа раст современный, модный, моложеный? Этой херне уже с десяток лет, на ней нехрена нет, только хайп (в исконном понятии) и срач. И все равно приходится костылить и ансейвить
Тот же ущербный го, за тот же период нехило так смог.
>>3393432 Тогда поведай нам свое уникальное не шаблонное мнение, зачем тебе раст? За условием возьмем, что раст нормальный обычный яп. Скажи - зачем он тебе?
>>3393445 1) Чтобы собирать бинарники 2) Чтобы не ебаться с плюсами 3) Чтобы иметь патетный менеджер изи ту инстал с кучей говна для ленивых 4) Чтобы не ебаться с протухшими либами 5) чтобы либы в репзитории были для актуальных задач: вебмакакин, крипта и пр 6) Чтобы не ебаться с системами сборки 7) Чтобы многопоточность и асинхронность была доступной для даунов
>>3393467 >5) чтобы либы в репзитории были для актуальных задач: >вебмакакин, крипта и пр Собственно, ЦА пидораста, кто бы сомневался. А чем пайтухон и жс не устраивают?
>>3393484 Я не тот анон, но.. ты же ведь небось не будешь писать код для расчета генома, космического спутника Юпитера или игровой движок. А будешь какой-то сайтик или скриптик, с чем и так справится вот просто что угодно.
>>3393480 Жс не устраивает тем что я кабанские задачи на нем решаю. Как в анекдоте про гинеколога...
Вообще я сипласплас мурыжу, потому что уже лень новое изучать.
К расту принюхиваюсь. Раст привлекает именно актуальностью либ и решаемых задач. Люди что-то пилят, можно нахаляву воспользоваться. Плюсвоые репы на гитхабе как древние айсберги в антарктиде застыли в веках.
>>3393451 То есть, вместо пласта готовый проверенных годами либ на плюсах, ты решил выбрать пласт заброшенных врапперов на расте. Но при этом "пердолиться" ты относишь именно к С++? Так и запишем.
>>3393498 Откуда ты взял идею про враперы? Ставлю взякие тулзы на расте в систему с помощью карго. Оно качает тонны исходников и комилит, там никакого компилящегося с++ кода нет.
>>3393488 Так если мне по кайфу это писать на пидорасте, а не сраном питухоне, который потом дебажить то еще удовольствие, зачем выбирать питухон и тем более жс, для которого аж тс придумали, потому что всех доебало в говне копаться?
>>3393467 >1) Чтобы собирать бинарники Там уже даже шарпы собирают бинарник двухкратно меньше чем го. У жабы тоже какой-то проект с громким названием есть (как они любят)
>3) Чтобы иметь патетный менеджер изи ту инстал с кучей говна для ленивых JS-господа одобряют.
>2) Чтобы не ебаться с плюсами Рано ты их выбросил в серьезной разработке.
>4) Чтобы не ебаться с протухшими либами Тут надо поосторожнее с растом.
>7) Чтобы многопоточность и асинхронность была доступной для даунов А здесь тебя ждет много чудес. Та еще нора.
>вебмакакин Этого было достаточно мог и не писать эту пасту.
>>3393484 >ко-ко-компиляцией Компилируй на пайтухон, в чём проблема? Зачем тебе вообще компилировать круд-контроллеры, лол? Ничего другого ты, как мы выяснили, делать не умеешь и не хочешь, а для покраски джсонов производительности ноды или пайтухон хватит за глаза - основным боттлнеком будет пинг и транзакции в базу, как тебе выше уже написали.
>>3393562 Птенчик, который буквально кудахтнул на борде, пытается видеть в людях своих сородичей. Но это не так, спокнись, пернатый. Все тут видели, что ты из себя представляешь)
Я сейчас короче бч разраб, хочу гошником стать (место работы позволяет), а там в педераст повторно окунуться, ибо далеко востребован в сфере и неплохо оплачивается. Какие подводные?
>>3394427 В плюсах у тебя в шаблонах вообще ничего не выводит, это тупо плейн текст, в auto в данном случае тоже, а раст ругается что произвольный тип может неуметь в оператор +
>>3394432 Но нахуя? А если там ещё операции над инпутом? Писать лапшу со списком трейтов на 5 строчек как в мемных картинках про раст? >>3394435 > В плюсах у тебя в шаблонах вообще ничего не выводит Схуяли не выводит. Если затолкаешь туда то что нельзя сложить, то получишь ошибку "_T0 does not define this operator or a conversion to a type acceptable to the predefined operator". Все типы чекаются и выводятся, ничего не надо дополнительно указывать. Это в расте заставляют вприсядку дрочить, чтоб очевидный тип вывести. В крестах можно и пикрил сделать - если не будет нужного метода, то не скомпилится. Как ты в расте такое сделаешь?
>>3394480 В самих шаблонах не выводит. У тебя в мейн уже потставился инстанс шаблона. Прочитай как шаблоны работают в плюсах.
Thus, templates are “compiled” in two phases: 1. Without instantiation at definition time, the template code itself is checked for correctness ignoring the template parameters. This includes: – Syntax errors are discovered, such as missing semicolons. – Using unknown names (type names, function names, ...) that don’t depend on template para- meters are discovered. – Static assertions that don’t depend on template parameters are checked. 2. At instantiation time, the template code is checked (again) to ensure that all code is valid
>>3394480 >Но нахуя? Ты почему не можешь прочитать что тебе пишут? Чтобы в методе использовать полюсик для сложения, дженерики это не тоже самое что auto в плюсах. Зачем ты все время пытаешься всем доказать свою тупость?
> А если там ещё операции над инпутом? Писать лапшу со списком трейтов на 5 строчек как в мемных картинках про раст? В данном случае одна, но если возникает необходимость писать 5, то пользуйся алиасами и вообще пересмотри свои взгляды на жизнь, возможно тебе стоит взяться за другую сферу деятельности
>>3394483 А теперь прочитай что значит слово "instantiation". Если ты передаёшь какой-то тип в дженерик, то у тебя пункт 2 уже. Если ты не передал ничего в дженерик, то естественно никакой тип не чекается. В том же VS ты можешь подставить любой тип при декларации, если нужен статический анализ на первом пункте. Сам шаблон и не компилируется, компилируется его инстанс. >>3394492 > дженерики это не тоже самое что auto в плюсах Представь себе - то же самое. Это просто сахар над дженериками, их в стандарте называют анонимными параметрами шаблона, при компиляции auto считается дженериком и им даются имена _T0 и дале по порядку. В современных крестах есть два варианта писать дженерики - старый через template<> и современный через auto и концепты, пикрил литералли как в расте с Add вариант.
>>3394515 >А теперь прочитай что значит слово "instantiation". Чел я тебе выжимку из джосатиса дал, где черным по белому сказано что на шаблонах тип параметров не анализируется. Он анализируется в месте где подставляется инстанс шаблона с подходящими типами. Он не может ругаться на тип в шаблоне, просто потому что у тебя негде его инстанцировать. Он будет ругаться только там где некий шаблон применяется , что не может подходящего шаблона найти с таким именем
Констрейнты опять же ограничивают инстанцирование, просто специализируют шаблон еще уже.
Вообще спор выеденого яйца не стоит. Ты сказал что руст ругается потому что не может тип вывести, а плюсы якобы не ругаются потому что заранее тип вывели в шаблоне. Тебе сказали что все наоборот. Руст озабочен анализом типов в дженерике, поэтому ругается в дженерике на сложение, а плюсам похуй на то что в шаблоне происходит с параметрами, поэтому не ругается в том примере который ты дал в начале.
>>3394527 >Руст озабочен анализом типов в дженерике, поэтому ругается в дженерике на сложение, а плюсам похуй на то что в шаблоне происходит с параметрами, поэтому не ругается в том примере который ты дал в начале. Двачаю Но он не поймет потому что болен на всю голову
>>3394527 Забавно как растаны начинали с проблем памяти, а закончили вот такой шизой с решением несуществующих проблем, делая ограничения там где никто кроме них не делает. А потом удивляются почему язык полумёртвый и даже в топ 20 языков на гитхабе не попадает.
Кстати в тему тупого троллинга с неспособностью раста к автоматическому выведению типов. Случайно получилось так, что решая задачку сегодняшний дейли для литкода первый раз в жизни столкнулся со случаем, когда растовый компилятор не смог вывести тип. Если убрать явное указание типа для вектора stack будет ошибка компиляции.
До этого я явно указывал типы переменных только когда использовал функции вроде collect() или parse(), потому что мне не нравится синтаксис turbofish или как он там называется.
Появилось желание написать 1 програмку, web панелька с небольшим функционалом выполняющая кое какую хуету на хосте под линуксом, нужно минимальное потребление ram. Rust пойдет для этого? Раньше не кодомакакствовал, но как хобби админю линукс и учу калпуктер сайн.
>>3395882 >Появилось желание написать 1 програмку, web панелька с небольшим функционалом выполняющая кое какую хуету на хосте под линуксом, нужно минимальное потребление ram Да вполне
>Раньше не кодомакакствовал Сюда лучше заходить более подготовленным
>>3395983 >USAID Шиз опять выполз из под шконки, почитай тред выше. Кроме твоих братьев по разуму на форумах и бордах нет ни одного упоминания USAID в контексте раста, это была политическая контора. Перестань уже жрать говно, мой юный петушок.
>>3395987 >zig Мертворожденная хуйня без задач, которую полюбили школьники
>>3396121 Раст убили сами растопетушки-вебмакаки, могли бы тихо пердеть и делать небольшие чёткие дерзкие библиотеки. >Servo Бля как же я помню эту хуйню на щиты поднимали в 2018. А скажите как там у webgpu дела? Потомки, уже стандартизовали его?
>>3379814 >>3379908 Чмошник теоретик, пошел ты на хуй со своими фантазиями. Сегодня за 10 минут и еще полчаса ждал билд докеров перевел весь код с 2021 на 2024. Проект живет уже 3 года, разбит на несколько крейтов, объединен в воркспейс, там сотни файлов если не тысячи. Даже код править не пришлось, в коммите только изменения в Cargo.toml, Cargo.lock и Dockerfile. Тесты не падают, clippy не ругается, докер собирается, на деве накатил и все работает как раньше, QA ручник потестит и уже на прод можно будет выкатывать. Вообще ничего не сломалось, ничего не поменялось.
>и в теории ты можешь на С++26 собирать код от С++03 А теперь попробуй на практике этой хуйней позаниматься
>>3396244 Нихуя ты как порвался с простого факта что в расте нет обратной совместимости. Тебе повезло что ничего не сломалось, а может не повезти, никаких гарантий. > А теперь попробуй на практике этой хуйней позаниматься На практике все либы собираются на нужном стандарте, а потом линкуются. В крестах ABI не менялось 30 лет. Жаль что в расте ABI в принципе нет.
>>3396244 >Сегодня за 10 минут Не раз видел как в расте подменяют понятие успешные менеджеры же А если на полшишечки, это не считается? Это не нарушение обратной совместимости тогда? Наверное, это прелюдия обратной совместимости? Да?
>перевел весь код с 2021 на 2024. А как будет с 2015 на 2024? Поглубже уже?
>>3397029 > пиздёж? Да. Он высокий только если у тебя травма мозга и ты прочитав три раза растбук так и не смог понять как боровчеккер работает. Всё остальное там простое.
>>3397177 Лол в какой-то степени так и есть, после других языков все просто и логично, есть пару вещей которые сходу непонятны, но в остальном вообще без проблем. За плюсы же берешься, там сущий пиздец и выглядит говнокод от чего вызывает отвращение и нежелание в это говно погружаться
>>3397200 >сущий пиздец и выглядит говнокод Плюсы сильно изуродовали ебанутым синтаксисом, это да. Все эти std:::<<>>>:::: хз в чью больную голову пришла идея что это классно. А ведь были когда-то вполне изящным языком.
>>3397210 > Все эти std:::<<>>>:::: В современных крестах всё это легко скрывается, шаблонные параметры в 99% сами выводятся, а auto вообще позволяет забить на ручное указание типов. Алсо, крестовый код UE5 - это всё ещё самый красивый код что я видел среди всех языков. Всё от рук зависит.
>>3397029 >мол порог вхождение высокий Маркетологи обернули неудобство в якобы фактор скилла. То есть, не язык говно, а ты слабенький. На самом деле ничего сложного нет.
>>3396752 Потому что clone - идиоматический способ передавать ссылки на объекты в расте лул. >>3397117 >Всё остальное там простое Как же я проигрываю с даунов. Линкед лист уже написал? >>3397200 >чего вызывает отвращение и нежелание в это говно погружаться Такая же хуйня с нескучным синтаксисом и свистелками/перделками как и в пидорасте, странно, чего же ты ебало воротишь.
>>3397671 Потому что динамические абстракции, работающие только в рантайме, вида rc refcell смотрятся еще хуже. А где-нибудь в число дробилке это будет ппц какие накладные расходы.
Поясните зачем нужен раст? Серьезно и без тротлинга спрашиваю. Для больших и крупных бизнес-проектов нельзя использовать, да и ниша уже занята шарпами, жабами и прочими языками с ГЦ. Для пердольного распределенного бека используют Говно Для формошлепста в вебе аналогов ts\js нет. В геймдеве нихрена нет и кресты все еще заруливают. Эмбеду хватает Сишки, да и эмбед инженеры просто неосилят раст. Для скриптинга есть пистон и прочие подобные языки. Для ИИ тот же питон и сишка\цпп.
Зачем нужен раст? Выглядит как язык для очень узкого круга задач, с которыми большинство никогда не столкнется. А учитывая, что подгонка под концепцию раста замедляет разработку по определению, то это еще и попаболи добавляет. Можно ли на расте быстренько написать PoC, а затем превратить его в прод за относительно небольшое время и ресурсы? Или сначала нужно написать прототип на условном питоне, составить четкое ТЗ и только потом реализовать на расте?
Вот, например, Zig может зайти железячникам, потому что дополнительных мозговых ресурсов не задействует, но при этом является инструментом с современным подходом. На нем можно писать быстрые прототипы и делать именно то, что ты хочешь.
Это я все к тому вопросу, а стоит ли лишняя мозгоебля тряски на проблемами, которые пытается решить раст?
>>3398357 Из моего опыта - в блокчейн проектах нередкий гость. Там и Substrate/Solana, и reth, и в целом бэкенд нередко именно на нём пишется. Для последнего реальных причин особо не вижу, впрочем.
>>3398357 Какая нахуй разница. Весь тред - это переливание из пустого в порожнее. Нужен - не нужен... лучше бы пошли, сделали бы какой-нибудь проект. Вам делать что ли нехуй? Какой-то бесконечный бессмысленный срач идёт. Доказывание незнакомым людям непонятно чего. Так можно про что угодно сказать - зачем нужен мерседес, если есть ауди? Или зачем нужен mysql, если есть postgres. Или зачем нужен vue и angular, если есть реакт? Для нюфагов видимо очень сложная идея, что всегда есть 10 одинаково правильных способов создания чего угодно.
Если тебя чего-то не устраивает - не используй. Это же так просто. Тебя никто под пистолетом не тащит писать на расте. Заткни ебальник и дай людям спокойно пописать свои проекты на расте. Меня он полностью устраивает, я не хочу переходить на питон, я не хочу джаву, не хочу сишарп.
Чем мне нравится раст - бодрое коммьюнити, много новых крутых библиотек. Крутая документация, много примеров, хороший перфоманс, строгое приведение типов.
Typescript у меня на нём есть проекты. Я одновременно ts + rust использую. Он никак не мешает. Или чё прям должен чисто ts или чисто rust должен быть?
Zig интересная концепция, но пока на нём 0 целых хрен десятых библиотек, поэтому он отпадает.
С++ не устраивает потому что там каждая крохотуля ебёт мозги, все эти makefile'ы, autoconf, там из коробки нет ничего, нет ни линтеров, ни юнит тестов, это всё вручную надо устанавливать, мне тупо лень. Да и новых проектов тупо нет.
Gamedev - нахуй не обосрался, я в финансовой сфере варюсь.
Golang почти тоже самое что раст, только более тормозной.
Python - хуёвый перфоманс, неприятный синтаксис, не нравится.
>>3398501 Да это местный шизик вопросы задает, а потом боевые картиночки кидает
>Для нюфагов видимо очень сложная идея, что всегда есть 10 одинаково правильных способов создания чего угодно. Вот именно в этом и весь смысл, этот шиз ни дня не работал, у более менее взрослого человека с опытом не возникает подобных вопросов
>>3398357 >Поясните зачем нужен раст? Чтобы тебя трясло
>Zig Умер так и не родившись, держится чисто на энтузиазме фанбоев, ни одного нормального спонсора типа гугла и MS у него нет. Отсюда и около нулевое количество библиотек и проектов
>>3398771 Прости, не хотел тебя обидеть. Ты не подумай что я тут глумлюсь над детьми, но всё же я ожидал увидеть в треде взрослого человека с большей компетенцией
Чё за вопрос такой даурский вообще зачем нужен язык-нейм? Если он тебе нужен, ты и сам знаешь, зачем. Если не нужен, то иди пиши на питоне скрипты свои и в хуй не дуй.
>>3398803 >Чё за вопрос такой даурский вообще зачем нужен язык-нейм? Мб потому что раст евангелизм существует? Вместо тихого написания когда в каждой затычке пиздят о расте, а затем спрашивают отккда столько хейта и внимания. Хейт не к языку, а тупой и жирной пропаганде, которая зачастую пидорская.
>>3398844 С тейпскриптом примерно то же самое было, ходили проповедники рассказывали про ужасы ЖС и как тейпскрипт наставит на путь праведный. До сих пор лолирую с их расширения (.ts) они везде отображаются как видео в формате Transport Stream.
Причем ладно бы этот формат был какой то мертвый, но это действующий формат потокового видео, причем не свободного а проприетарного от консорциума MPEG куда входит и МС, как так можно было самим себе на голову насрать я не понимаю.
>>3398963 Тайпскрипт провалился потому что там ебучий велосипед с трансляцией в js. Вместо нормальной компиляции какие-то рантайм костыли, ты не можешь просто взять и пользоваться тайпскриптом вместо js. Ни компилятора, ни интерпретатора нет.
>>3398969>>3398970 Есть там какой то велосипедный аналог ноды (Bun, на зиге кстати написан, удивлен что не на расте) который умеет запускать тейпскрипт как родной.
Но проблема то в том что системный джаваскрипт без вебстека оказался нахуй никому не нужен, это мягко говоря не подходящий язык что бы на нем что то системное писать, там банально флоат и инт не различаются. А что толку от тейпскрипта у которого своих стандартов.правил на числа и преобразования нет он просто нахлабучивает сверху какую то бессмысленную типизацию для фак-чекинга.
>>3398969 >Тайпскрипт провалился Лол, как забавно рассуждает свинья об апельсинах
> там ебучий велосипед с трансляцией в js >пользоваться тайпскриптом вместо js >Ни компилятора, ни интерпретатора нет Если почитать как и для чего он создавался, то я думаю станет понятнее почему так. Ты прежде чем писать поинтересуйся о предмете.
>>3399022 > аналог ноды (Bun, на зиге кстати написан, удивлен что не на расте) Есть еще Deno на расте, там под капотом один хуй транслируется в js и крутится на V8
>>3399022 >джаваскрипт без вебстека оказался нахуй никому не нужен На электроне десктопные приложения пилят тот же VSCode или Spotify. Для мобилок есть React Native некоторые задачи вполне себе закрывает. Тут внезапно узнал для себя что его применяют для написания программы к станкам с ЧПУ, типа каждый разберется, легко править и тд.
>>3398969 >Тайпскрипт провалился Личералли основной язык фронта, последние лет 5. Ангуляр на тс, вуе3 на тс, на реакте проектов без тс просто не существует. На ноде уже почти везде нест, а там тс из коробки. Я хз пишет ли сейчас кто-то на чистом жс.
>>3398357 Раст заменит С++, когда последние плюсовики вымрут. Сейчас раст потихоньку внедряют в обучение в американских вузах, потихоньку внедряют линупс, новые проекты в соответствующих предметных областях стараются на нем создавать. Весь этот процесс очень медленный, и внедряться это все будет очень долго.
Сейчас ржавый норм в блокчейне используется, хотя там это не основная технология.
>>3399052 Электрон это и есть вебстек вкоряченый на ноду, в которой никаких браузерных апи изначально не поддерживается. Там своя системная обвязка и свои fs http модули, отсутствует xml/html/dom и их базовые классы. Это низкоуровневая (в прикладном смысле) хуита на которой предполагалось бакенды писать как на джаве.
По факту нода используется как компилятор-пакетайзер для говнофреймворков с недоязыками. Только электрон и nwjs вернувшие вебстек ее из этого унизительного положения говноду и спасают.
>>3399059 > Я хз пишет ли сейчас кто-то на чистом жс. Все кроме макак пишут на нём. Это индусы макакам TS кинули, чтоб те перестали совсем нерабочее говно писать.
>>3398501 Срач раста позволил сэкономить мне тонну времени. За всеми этими маркетинговыми лобызаниями у новых языков (не только у раста) не видны многие крупные подводные камни.
>>3398969 >Тайпскрипт провалился Там какой-то небывалый рост, китайцы даже свою VM написали (был тред, у них там свой мир). Вообще такое ощущение что будущее за js-стеком.
>>3399022 >там банально флоат и инт не различаются Идеально для геймдева где повсеместно с флоат работают. Но увы де-факто мейнстримомом стал C# (где нет С++ динозавров)
Какой долбаёб вообще придумал Rеsult и двойную проверку ошибок? Первый раз в кишках примерно такая хуйня: if error { Err() } else { Ok() } А потом второй раз получивший ошибку: match result { Ok() => ... Err() => ... } Причём "?" тут вообще никак не помогает, он так же ветвление делает. И так каждый раз по цепочке вызовов. Это же пиздец как медленно. Даже крестовые эксепшены выглядят чем-то хорошим по сравнению с этим.
>>3400119 >Идеально для геймдева где повсеместно с флоат работают Ага, особенно спрайты на флоатах удобно и экран на 1919.9999999999x1080.0000000001 точек
>>3400120 Раст может себе это позволить, так как собирается полностью из исходников и с lto во время линковки, там лишнее по идее выпиливается а то и вообще инлайнится
>>3400279 Бля я думал у наших крыша едет со всеми этими мемами и смехуечками, а там уже трансы-косплееры на конференциях выступают, скоро конференция превратится в конкурс трапоты. Впрочем даже это наверное лучше чем мемы и смехуйки.
>>3400314 Как он тебе рантайм чек оптимизирует, лол? Везде где ты делаешь match или проверяешь результат на Ok ставя вопросик, у тебя бранч в коде. При этом с эксепшенами нет такого, по скорости код выполняется как будто нет вообще проверок на результат, платишь хоть и дорого только когда есть ошибка.
>>3400320 >При этом с эксепшенами нет такого, по скорости код выполняется как будто нет вообще проверок на результат А как они появляются без проверок?
>>3400320 Не совсем понимаю про какой рантайм чек ты чешешь, в компиляторе есть оптимизации которые например выносят проверки из функций где например сплошной цикл или где есть ранний выход после проверок каких то аргументов, что бы не штрафится на пустопорожний вызов. И это можно делать не только для исходников но и для объектных файлов/статиклиб на этапе линковки https://llvm.org/docs/LinkTimeOptimization.html
В общем то в расте в целом хорошо подумали над тем что бы дать компилятору максимальный простор для оптимизаций, иначе бы он уступал плюсам в 10 раз со всеми этими его clone().sort().reverse(). Над этим хорошо подумали а над всем остальным похожи думали не очень, пидораст выглядит как типичная node-параша типа пикрил. Конфигурируется через какие то файлики/конфиги, я как первый раз его увидел у меня тупо пердак отлетел. Говнодеры-тайпскриптеры добрались до системного программирования.
>>3400619 Какая-то желтушная хуйня. АНБ выпустила бумагу и теперь каждый умник хуярит свое БЕЗОПАСНОЕ решение, чтобы к госухе присосаться, параллельно набрасывая на текущие языки, чтобы значимость своего поделия поднять.
>>3400586 > указали на отсутствие строгой типизации что существенно осложняет работу с числовыми данными > начал придлагать костыли для борьбы с конвертацией чисел > закономерно получил струю в еблет > обиделся
в чем особенности системного программирования и языков под него? то что он на более низком уровне работает с памятью и системными вызовами + компилируемый и это делается из расчета, чтобы системное ПО не отнимало много времени у прикладных программ? (например какой нибудь Docker)
в прошлом треде анон (разработчик игрового движка) писал, что в Rust есть замыкания и это как плюс. Возможно, я слаб в этом вопросе. просто я не понимаю зачем они нужны? какое конкретное применение? всю жизнь жил без них и норм...
>>3401060 >лямбдами называют ну это немного то. лямбды все таки это "чистые функции" из функционального программирования. и цели были у них соответсвующие, а не просто чтобы упростить читаемость/код. Но потом зачем то, добавили замыкания и получили "функцию с контекстом/состоянием" и по сути нивелировали изначальную идею. я просто хочу понять зачем все это. так это конечно все выглядит как пляски с бубнами от нехуй делать.
В треде сидят 2-3 человека, которые говорят по существу используя корректные термины. Остальные - черви пидоры, несущие какой-то шизобред с интеллектом уровня чатгпт которому дали задачу к которой он не обучен. Аналитика тайпскрипта (который провалился), кто-то в окружении трапов сидит (они сейчас с тобой в комнате?). Третий замыкания от лямбды отличить не может. Вы че суки, Вы че
>>3401337 >>3401337 Ебаный рот этого казино. Что ты мне тут показываешь? Что это за пидорскин графики для умственно отсталых? В каких ларьках вы их заряжаете?
Был бы ты человек, ты бы знал что ни один большой коммерческий проект на жс без типизации не делается.
Но ты мне показываешь график без легенды. Че это за опрашиваемая группа? Вкатуны из очередной площадки с курсами? Твои соседи?
Что тут делают HTML/CSS, SQL, Bash и PS? Ебаный осел. Пиздуй смотреть вакансии на позицию js разработчика (не в своем колхозе) и приведи статистику сколько из вакансий имеют ts в требованиях.
>>3401296 Я это ты. Пишу проект на расте. За плечами 4+ лет опыта js. Добавил несколько каналов в тг и дискорде с постами о работе. Как не читаю новую вакаху хочу плакать. 90% блокчейн, 10% МЛ и блядь абсолютно везде 3+ лет миддл/сеньер
>>3401893 >Как не читаю новую вакаху хочу плакать. >90% блокчейн, 10% МЛ и блядь абсолютно везде 3+ лет миддл/сеньер ОЙ ВСЁ. Ебать их в жопу с ихним блокчейном. Мне их эллиптические функции нахер не обосрались. Поиск работы на расте - это боль. Когда-нибудь я разбогатею и открою компанию, где будет просто обычный бекенд на расте, без всякой блокчейн веб3 нфт децентрализованной dapps смузи параши.
>>3398501 >Zig интересная концепция Это какая? >но пока на нём 0 целых хрен десятых библиотек, поэтому он отпадает. Проигрунькал с дауна. >С++ не устраивает потому что там каждая крохотуля ебёт мозги, все эти makefile'ы, autoconf, там из коробки нет ничего, нет ни линтеров, ни юнит тестов, это всё вручную надо устанавливать, мне тупо лень. Да и новых проектов тупо нет. Какой же даун.
>>3371041 (OP) Приветствую всех, решил войти в айти, выбрал пал на rust, из-за смешных крабов в мемах, подскажите пожалуйста, по каком плану обучение проходить? Сейчас советуют обучать при поддержке ИИ. Заранее благодарен за советы, аноны.
>>3403781 Тебе никто не скажет, но язык программирования Rust, на самом деле, — древнее тайное знание даосов. Зафиксировал? Всё. Можешь изучать теперь как хочешь.
Нужно писать новый проект и хотел на плюсах его писать, но что-то в последнее время часто натыкаюсь на статьи, что все проблемы в мире из-за того, что С++ не memory safe. Из-за чего появился вопрос почему Rust не взлетел? И верите ли вы в Carbon от гугла?
>>3404248 >Из-за чего появился вопрос почему Rust не взлетел? Из-за кучи легаси. >верите ли вы в Carbon от гугла? Нет. >хотел на плюсах его писать Пиши, ничего не случится плохого.
>>3404251 > >Из-за чего появился вопрос почему Rust не взлетел? > Из-за кучи легаси. > >верите ли вы в Carbon от гугла? > Нет. Но ведь карбон как раз должен решить проблему с легаси, потому что он позволяет работать в одной кодовой базе с С++
>>3404253 Из недавнего, что я читал про карбон - он переводит не весь C++ код, а только часть, которую они считают "идиоматической". И конкретных критериев этой "идиоматичности" я не нашёл. Может плохо искал. А так интероп с плюсами есть у кучи языков.
>>3404248 >смотрит в рот журнашлюхам Охуеть ты додик, конечно, наверное чем питаться, что носить тоже у журнашлюх спрашиваешь? Rust не взлетел, потому что растоунтерки, запихивают раст себе в анал, а не используют его по назначению ну и основа: memory safety, про которую тебе напели журшнашлюхи, переоценена
>>3404317 Нет не переоценена. Десктопные операционные системы вынуждены городить гига-костыли для защиты областей памяти, а в эмбедщине голая срака которая защищена только тем что работает в изолированном от пользователя и сторонних программ окружении.
Если бы все процессоры умели в безопасное обращение к областям памяти, то это привело бы к масштабному пересмотру концепции ядер и как следствие выкидывание оттуда большей части функционала в юзерспейс, а это в свою очередь ускорение загрузки уменьшение потребления памяти самим ядром и увеличение отказоустойчивости.
>>3404675 дрочу спины и их аналоги за основу взял этот солвер https://github.com/b-inary/postflop-solver префлоп спарсил с сайта GTO Wizard лутаю 300k$/сек поэтому работа на расте мне и не нужна. завидуйте чмони
>>3404680 Мой бот играет по ГТО. У него просчитаны все споты. У него посчитаны все спектры.
Ему абсолютно индиффирентны твои жалкие потуги и эксплойты. хошь колль-хошь не колль, ему похуй, он эксперт гто. Ему до этого дела нет. У него просчитаны все спектры.
Он посчитал покер. зачем ему майнинг, нотсы и попапы? Они абсолютно ему ни к чему. Лучше он создаст еще одну папку в эквилабе и начнет считать ренджи борда.
Он создает папки ренджей в эквилабе каждый день и считает все спектры. У него посчитаны все спектры. Он прямо сейчас посчитает доску А37 радугой. Он высчитет диапазоны CO, защиты блайндов и рейза лимпера в эту доску. Он высчитает ренджи бета, колла и бет колла. У него уйдет целый день на это. Хошь колль, хошь не колль. Ему похуй. Похуй ему. У него рассчитаны все спектры.
У него просчитаны все спектры. Он создаст еще одну папку и начнет считать борды терна в ней. Он посчитает все терны борда. У него просчитаны все спектры. У него уйдет еще один день на это.
Он спокойно коллит 3х овербеты на бродвейном борде по 8 хай. Он улыбается карете королей и беззвучно смеется глядя на уплывающие фишки. Ему до них дела нет. Ведь он играет по гто. И у него посчитаны все спектры.
Он защищает Q2o от мин 5 бета. Он защищет эту руку в плюс и на дистанции. У него посчитаны все спектры. Он посчитал покер!
У него посчитаны все спектры. Он подбирает руки для трибет пота по масти, секундомеру, времени года, лунному календарю и прогнозу погоды на завтра. Он гений покера. Никто не может эксплуатировать его! У него посчитаны все спектры.
Он не боится ни дисперсии, ни дьявола, ни бога, ни людей. У него посчитаны все спектры. Он понял покер он посчитал его! Никто не сможет больше причинить ему ущерб. У него посчитаны все спектры. Он постиг покер и познал его диапазоны, он понял его! Он его понял. Ему индиффирентны людские муки, тяготы жизни и боль. Они ему безразличны. Он посчитал спектры! Он счастлив! Завтра он снова будет считать спектры! Послезавтра тоже! Он посчитал их! Он будет их считать! Он будет считать их каждый день!
не совсем в тему треда, но вдруг кто подскажет. задача упрощенно на псведопримере. есть очень большой файл/поток данных, необходимо посчитать кол-во последовательностей из 4 символов (например $$$$) и достичь максимального быстродействия не прибегая к многопоточке, т.е. все в одном процессе. Допустим в среднем $$$$ встречается каждые 2000-3000 символов. Но редко примерно 1-2% эти последовательности могут стоять буквально рядом(через 100 символов) - это скажем шум. Единственный верный вариант который есть - это последовательное сканирование за O(n). Так вот есть ли еще какие-нибудь концептуальные/алгоритмические подходы как ускорить обработку? Второй вариант, который я пока вижу это статистический подход в два прохода: вначале предварительное , затем точное значение + корректировка. Собираем статистику.Скажем в среднем $$$$ встречается раз в 2500 символов. Когда к нам приходит следующий файл, мы уже сканим с "пропусками" в 2000 символов. Выдаем предварительное значение. Запускаем другой процесс в парралель, который посчитает/проверит (посимвольно) точный результат (с большой вероятность он не измениться). Если будет "шум" , то корректируем значение. Вообщем есть другие способы/концепции решения задачи?
>>3404730 Твой второй вариант тоже имеет сложность O(n) даже в первом проходе. Самый быстрый алгоритм поиска подстроки в строке Бойера-Мура имеет такую сложность для поиска подстрок из разных символов. Но у тебя подстрока из одинаковых символов, я бы просто проверял каждые четыре символа на совпадение с $, а потом чекал влево-вправо на соответствие последовательности. Точно подстрока из одинаковых символов состоит? А какой общий объём данных, хотя бы порядок?
>>3404743 проверял каждые четыре символа на совпадение с $ как вариант да. >А какой общий объём данных, хотя бы порядок? условно HD >Точно подстрока из одинаковых символов состоит? нет, это для упрощения, просто разве это имеет большое значение?
тут суть в том, что сама подстрока встречается редко, а шум - когда следующая подстрока "выбивается из общего графика" еще реже. Допустим подстрока каждый 6 ms, а шум на несколько порядков больше.
>>3404766 >просто разве это имеет большое значение Поиск одинаковых символов проще в наивной реализации. Впрочем если искомая подстрока фиксированного размера это действительно не важно. >ладно, думаю тут ничего особо не придумать. Если нужен точный и полный поиск, то да, придумать что-то другое сложно.
>>3379494 Блять ты видел какие там охуенные корутины? Этож пздц. Я уже заебался с этим Лего дрочиттся Госпади. Хоть ща концепты спасибо. Ну и там барьеры тоже тема.
>>3405643 Я когда вижу C++ и NULL для тех кто не в курсе - NULL это макрос из сишки в одном предложении - сразу закрываю вкладку. Если челы не знают как нулевые указатели называются в С++, то что от них ещё можно ожидать? За NULL в крестовом коде обычно пиздят ногами, даже шланг-тиди всегда орёт чтоб ты убрал эту хуйню.
>>3405681 В том то и дело что плюсы это отдельный язык который просто не противоречит/не конфликтует с Сишной семантикой, из за чего люди делают вывод что это просто сишечка с классами и начинают городить какие то непонятные конструкции используя сишные функций и поинтеры намазав на все это сверху темплейты и/или класс
>>3405709 Ясное дело. Но когда лди начинают городить указатель с NULL, когда там по смыслу нужно значение optional с nullopt то видно уже что сишкой намазано
>>3405709 >ноль разницы Написал hello world и калькулятор, — вот и молодец. На этом стоп. Не стоит вскрывать эти конпеляторы и стандарты. Это тебе не интерпретатор Лиспа в 100 строк, даже не макросы Си, не уютненький питон. В сферу C++ лучше не лезть. Серьезно, любой из вас будет жалеть. Лучше закройте двач и забудьте, что тут писалось. Это все вранье, чтобы привлечь как можно больше новых макак на рабочие места и создать демпинг зарплат. Я вполне понимаю, что данным сообщением вызову дополнительный интерес у воротил из Microsoft, Apple и IBM, но хочу сразу предостеречь пытливых — стоп. Зарплаты у cpp-шников очень унылые. Остальным их просто не дают.
>>3405736 А если серьезно, то с 11 стандарта NULL определяется как #define NULL nullprt, чтобы Сишные долбоебы не срали себе в штаны, да и сам NULL нужен только для совместимости с легаси. Но по факту это ебучий макрос, который когда-то указывал на целочисленный тип из-за чего происходил отрыв жопы в некоторых случаях, например, в шаблонах и при выводе типов. Когда же nullptr в свою очередь это ключевое слово, часть языка, а не просто макрос, который всегда работает с указателями, что гарантирует типобезопасность и корректную работу с шаблонами. Поэтому если вы пишите на 11 стандарте или выше и хуярите NULL, то это повод разогнаться и уебаться об стену. И напоследок https://en.cppreference.com/w/cpp/language/nullptr
>>3405709 NULL обрабатывает препроцессор а nullptr - компилятор, в этом разница и она существенная.
В первом случае компилятору прилетает исходный код уже с заменами в которых из числа делают поинтер а может и что то другое (например в эльбрусе в тегированном режиме нельзя из числа делать поинтер, поэтому там скорее всего какая нибудь функция которая возвращает нулевой указатель) что было изначально и что нужно с этим делать компилятор знать не может. Во втором случае он имеет дело с родным типом nullptr для которого у него есть правила замены.подстановки в зависимости от случаев.
Пример NULL + 4 для компилятора вообще не очевидно, а с nullptr можно просто на уровне стандарта запретить любую арифметику.
>>3405755 Препроцессор тупо в исходный код тыкает замены и все, компилятор же его полностью парсит, вычисляет все размеры все операции на основе типов. В случае NULL имеем некие адресные данные (указатель) с типом voidx с которым разрешена поинтерная арифметика, в случае nullptr имеем метку которая во время парсинга вычисляется и заменяется на нужное. Если с ней совершают непредусмотренные языком операции парсер выкидывает соответствующую ошибку.
>>3405680 И вот эти люди потом жалуются на кресты, игнорируя весь их прогресс за 20 лет. Банальные смарт-поинтеры покрывают 90% сишных проблем с памятью, но нет, будем сидеть на С++11 в 2024 и убиваться об NULL, а потом рассказывать как же заебись после перехода на Раст. Они там написали про реальные проблемы крестов типа зоопарка тулинга - это реально пизда, особенно на линуксе/бсд и прочих UNIX-извращениях. Но половина из написанного просто бред сишников, мимикрирующих под крестовиков. У линуксоидов традиционная боль от крестов из-за устаревших компиляторов и libc/musl. Я сам как-то пытался поставить свежий gcc на старый пердоликс и чуть не сгорел, после этого хочется смеяться в лицо линуксоидам, рассказывающим как заебись жить с менеджером пакетов. >>3405755 NULL это макрос на 0. С NULL можно как с обычным интом работать. А nullptr отдельная конструкция языка, позволяющая компилятору понимать что это такое и делать кучу чеков при компиляции. Большинство операций, которые ты можешь сделать с NULL, нельзя сделать с nullptr. Компилятор отлавливает кучу очевидных выстрелов в ногу, которые c NULL скомпилировались бы и приводили к сегфолтам. В свежих стандартах вообще всё больше и больше ограничений на void* накладывают, чтоб его не использовали.
>>3405740 > с 11 стандарта NULL определяется как #define NULL nullprt Это где ты такое нашёл? В C++23 пикрил - для крестов 0, для сишки void*. И в стандарте крестов ничего про NULL нет.
>>3406065 Ну это как обычно какие-то костыли от gcc, они там любят изобретать свои кресты для сишников. __null очевидно не скомпилится на любом другом компиляторе.
>>3406047 Фактическая разница зависит от использования. На эльбрусе скомпилируется и заработает все что предусмотрено стандартом, в том числе с жирными указателями -mptr128. Сюрпризы ждут во время исполнения, допустим:
a->data_ptr = (voidx)0; //ок
a->data_ptr += start_ptr; //возможно ок, но это не точно
for(; a->data_ptr != NULL // ok xa->data_ptr; // пук a->data_ptr++// ok ){}
Произойдет так потому что указатель должен содержать теги, если его инициализировали невалидным указателем без тегов (таким как NULL которому на самом деле и не нужно быть валидным), то его надо будет переинициализировать правильным иначе ничего загрузить/записать по нему не получится.
>>3404248 >Из-за чего появился вопрос почему Rust не взлетел? С чего не взлетел? Ты по какому признаку судишь? Группа по rust - прекрасная, живая, каждый день вижу новые проекты. А то что работодатели не используют rust - так это их проблемы. Я чё должен бегать за каждым работодателем и доказывать ему, что rust - это гуд? Честно говоря, мне влом кому-то чего-то доказывать. Не верят - и хуй с ними. Решили писать проект на с++ - ну и хуй с ними.
Это вопрос из серии А ПОЧЕМУ АЗИАТСКАЯ КУХНЯ НЕ ВЗЛЕТЕЛА? ПОЧЕМУ ВСЕ ЛЮБЯТ ПИЦЦУ И РИЗОТТО, А НЕ ФО БО И КХАУ ПХАТ? Вопрос не к нам, пойди и сам у работодателей спроси.
Насчёт carbon - нууу бля это тот же rust по сути. Я лично не вижу смысла в carbon.
>>3406208 Ну да, вопрос был по сути про работодателей. > carbon тот же rust Он предлагает возможность работать с существующим С++ кодом и Carbon в одном проекте. Раст такой возможности не предоставляет.
>>3406277 Если я правильно понял рекламку, то можно будет в одном и том же файле писать и С++ и карбон код. То есть буквально продолжать добавлять новые фичи в проект уже на карбоне не трогая уже написанное на плюсах
>>3406277 Ну, вызвать плюсовый код можно хоть в питоне. Разрабатывать программу в двойной кодовой базе так, чтобы один метод класса был написан на крестах, а второй на языке Х нет.
>>3406283 >чтобы один метод класса был написан на крестах, а второй на языке Х нет Я прошёлся по докам на гитхабе и пролистал слайды презентаций, и пока что не вижу, чтобы можно было прямо где хочешь перемешивать карбон и плюсы в любом месте, в том числе в одном классе.
Вообще, даже сами разрабы пишут >Existing modern languages already provide an excellent developer experience: Go, Swift, Kotlin, Rust, and many more. Developers that can use one of these existing languages should
>>3406322 Ну, карбон даже ещё не в бета версии, так что да. Если и выбирать сейчас язык, то не его, а раст если нужна memory safey из коробки и высокая производительность.
>>3406208 > Насчёт carbon - нууу бля это тот же rust по сути. В Карбоне как минимум нет боров-чекера, это уже сразу ставит его на уровень выше раста. А во-вторых, совместимость с крестовым кодом, т.е. не надо заниматься еблей с переписыванием того что и так работает. >>3406277 Раст? Биндинги к плюсам в расте говно, даже с С++11 ёбнешься насколько всё криво. А если там С++20, то вообще никак не вызвать.
>>3406326 Для игры на bevy нужна мумори сефети? На плюсах тоже память не течет и все не падает через каждую минуту, достаточно просто нормально код писать используя стандартные возможности языка. В 99% процентов сырые указатели не нужны, если не будешь пользоваться либами которые плохо задизайнены типа box2d (все сделано на указателях, классическая сишка с классами)
>>3406340 > На плюсах тоже память не течет и все не падает через каждую минуту, достаточно просто нормально код писать используя стандартные возможности языка. Я также думал, но статистика CVE указывает на то, что почему-то люди не пишут нормально. Кажется, что всё таки нормально на плюсах не напишешь сложный проект.
>>3406373 Так это геттеры-сеттеры, нахуя их в структуре городить, вы что ебанутые? 8 байт можно спокойно копией передавать как число, нахуя тут ООП то городить?
Не говоря уже о том что твоя хуйня ничего не решает, ты предлагаешь аргументом индекс вбивать ну и что помешает передать число рандомного размера? Или раст вставит провер-очку и будет ее дрочить везде где пытаются считать или записать обоссаные 8байт?
>>3406381 Ну то что в веб смотрит переписываем на безопасный язык джаву и всё. Для всего остального безопасность памяти не нужна. Какие ты собрался искать уязвимости в игровом движке или системной утилите? В статистике же речь идёт про классические атаки типа переполнения буфера и прочего, такое действительно сложно продумать на сишке/крестах, когда с другой стороны хитрожопые будут абузить всё вплоть до оптимизаций компилятора и UB, тут только анальное огораживание памяти спасёт. Алсо, гринтекст от того чела полностью валиден, если речь не про целенаправленные атаки: > На плюсах тоже память не течет и все не падает через каждую минуту, достаточно просто нормально код писать используя стандартные возможности языка.
Опять плюсодебилы со своими "новыми удобными возможностями новых версий языка" прибежали. В реальной жизни в реальных проектах вы не увидите своих 23+ версий. Вы будете в 95+% случае работать на старом кале, уймитесь уже.
>>3406418 Кто предлагает в геттер и сеттер цикл въебать я или ты? Кому в голову придет заменять явные поля на массив с условиями вебмакаке или системщику?
Или это ты этот ебанутый с чатомжпт вместо мозгов?
>>3406421 Вебмакака, нахуй ты мне хуйню пишешь, ты выше там обосрался >>3404417 про это речь. Вебмакака-теоретик. >>3406424 Пруфай, что хуйня, хуйня ты ёбаная.
>>3406413 > В реальной жизни в реальных проектах вы не увидите своих 23+ версий. От проекта зависит. В опенсорсе все новые проекты минимум С++17. Какой-нибудь UE5 уже давно полностью на С++20 сидит, готовятся к С++23. CUDA давно на С++20 перешла. На самом деле С++11 и ниже только пердоли-линуксоиды используют. В реальном проекте нет никаких проблем старое легаси собирать под С++03 и линковать к новому на С++23.
>>3406452 >Ты кукарекнул, что rce в утилитах были, а не в движке. Пруфай. Ебанаш, тебе моча залила глаза, я про rce в движках ничего не говорил. >>3406453 Нихуя, тебе дауну, до сих пор подпекает.
>>3406472 Разницу между "все процессоры" и в "каждом макпуке" (и то по факту нет) чувствуешь? Когда тебе надо и старые и новые-тегированные поддерживать ты не будешь архитектуру ядер менять и убирать внедренные в них режимы безопасности, типа виртуальной памяти.
Придется ждать 10-20 лет как при переходе с 32 на 64. Главное теперь в компьютерном мире есть общее понимание зачем нужны вот эти вот изъебства с тегими и фат-поинтерами как в эльбрусе, на это недвусмысленно указывает и появление в арме MTE и ECC-only DDR5.
>>3406338 >совместимость с крестовым кодом, т.е. не надо заниматься еблей с переписыванием того что и так работает >>3406271 >Он предлагает возможность работать с существующим С++ Ой бля, прям весь мир сошёлся на этом с++! Ваще бля без крестов же жить нельзя! Честно говоря, мне нахуй не обосрался ни с++ ни питон. Но некоторые ебанаты делают биндинги только на определенных языках. Типа того же apache spark. Лично я не вижу чем мне может быть полезна совместимость с с++. К тому же, есть тестовые проекты по автоматической конвертации с/с++ в rust. Они спонсируются дарпа, амазоном, гугл вкинул сколько-то миллионов, чтобы была совместимость с с++. Так что это тоже будет, но не сразу.
>>3406702 > прям весь мир сошёлся на этом с++ Пока большинство низкоуровневого кода написано на С/С++ - ты идёшь нахуй и переписываешь крестовый код, вместо того чтобы решать задачу. > автоматической конвертации с/с++ в rust Биндинги на autocxx работают фактически только с сишкой с классами, с крестами позже С++11 там нихуя не поддерживается. > чтобы была совместимость с с++ У раста нет ABI, лучшее что ты можешь сделать - выкинуть наружу сишное API. > Так что это тоже будет, но не сразу. В расте никогда не будет, пока они не напишут компилятор крестов. За 5 лет только полурабочий кусок говна смогли высрать.
>>3406708 Чувак, это общие фразы без конкретики. Большинство того... большинство сего... Надо говорить конкретно - отсутствует qt или нет нормальной libxml на расте. Это уже понятнее. Ну да, согласен, есть некоторые неудобства. Но в целом, похуй. Не конец света, что-нибудь придумаем. Всё что ты говоришь относится к категории "некритические недостатки, неудобства, мелкие жалобы на какую-то ёбанную хуйню, которая проявляется только на проектах с бюджетами 10+ миллионов долларов".
>У раста нет ABI >пока они не напишут компилятор крестов Запили сам ABI, в чём проблема? Если оно тебе нужно, ну так сделай. Ктоооо яяяяя!?!?
>>3406911 Что плохого в выражении литерал с типом? Литерал тоже может тип иметь. 1.0f вот тебе литерал с типом. По ссылке выше так и написано тип - nullptr_t. Пиздец шизики, не о чем больше спорить. Или голенгеры со своими безтиповыми литералами и то там есть дефолтный тип
>>3406931 Так nullptr это не литерал, это выражение которое несет в себе как литерал (0 то есть) так и тип. И не nullptr_t а pointer type (указатель) >1.0f вот тебе литерал с типом. Да и 1ULL литерал с типом, конечно, но только не true/false/nullptr
>>3406988 > 8 февраля 2021 года пять компаний-учредителей (AWS, Huawei, Google, Microsoft и Mozilla) официально объявили о создании Rust Foundation[16][17]. Рептилоидами.
>>3406984 >это не литерал, это выражение которое несет в себе как литерал (0 то есть) так и тип И как это понять и проверить что это не шизофазия, а содердательнная фраза? 1) Где в заголовках определяется что nullptr имеет значение 0? Ответ нигде. Эта хуйня компиляторе обрабатывается как свой собственный литерал 2) У тебя же в статье https://en.cppreference.com/w/cpp/language/nullptr определение типа nullptr_t using nullptr_t = decltype(nullptr);
>>3407009 Еще раз у литерала есть четкое конкретное определение, не надо в литералы записывать все подряд. а по всем остальным уже можно дискутировать о терминах.
>>3407028 Ну и почему 0 это литерал а nullptr нет? Тебе кусок кода из сканера gcc найти где он обрабатывается в одну лексему самостоятельную? У меня столько времени нет но я уверен. Разубеди.
>>3407028 >у литерала есть четкое конкретное определение под которое nullptr и подпадает, тупая собака, ты же сам блять ссылки кидаешь ну так прочитай там буковки одну за другой
>>3406445 в чем проблема писать новый код на новом стандарте, если все они имеют обратную совместимость? к примеру легаси на С++11, новая фича условно на С++ 20. Почему так не делают? я просто не очень понимаю всю эту возню со стандартами...
>>3414665 ну я вот только что тестировал. все новые фичи собирал в 11 стандарт, да выдал предупреждение. но проект скомпилировался и сработал. опять же, даже с теми конструкциями которые не поддерживаются 11 стандартом, типа такого: auto lambda2 = []<typename T>(T x) { return x; };
>>3414654 > в чем проблема писать новый код на новом стандарте, если все они имеют обратную совместимость? Потому что не имеют. > к примеру легаси на С++11, новая фича условно на С++ 20. Почему так не делают? Есть шанс, что где-то что-то сломалось, а ты этого не узнаешь. Мертвецы не поймут объяснение почему упал самолёт из-за каких-то там стандартов. В военке до сих пор пишут на стандарте 98 года по этой причине. > я просто не очень понимаю всю эту возню со стандартами... Ну, для своего пет проекта или какой-нибудь опенсоурсной либы я бы юзал последний стандарт. Для медицинского оборудования, авиа-астронавтики, ракет, ядерных реакторов и так далее я бы использовал, то что уже было проверено. И иногда это стандарте 98 года.
>>3415122 - export удалили в C++ 11 - auto_ptr удалили в C++ 17 - throw удалили в С++ 17 - триграфы удалили в C++ 17 И это только поломки обратной совместимости на уровне синтаксиса, которые легко гуглятся. Есть поломки обратной совместимости на уровне поведения, когда функция X делает почти тоже самое, что в прошлом стандарте, но немного по другому. Это немного по другому может поломать логику конкретно твоей программы, не ломая её у большинства других программ.
>>3415133 >на уровне синтаксиса и тем не менее все это собирается, компилируется и работает на 17 стандарте и выше. >Есть поломки обратной совместимости на уровне поведения тут тоже примеры гуглить/гопотить будешь? или может знаешь конкретные случаи?
>>3415170 > все это собирается, компилируется и работает на 17 стандарте и выше На всех компиляторах надеюсь проверил? На всех версиях? Ты ещё скажи что Аби в плюсах стабильное
>>3415412 >На чем ты проверил? На лабе? Да >Тебя слова депрекейтеб цппреференсе даже не удивляют? на заборе тоже много что написано >На всех компиляторах надеюсь проверил? На всех версиях? нахуя на всех? gcc и llvm последней версии достаточно
>>3415422 >на заборе тоже много что написано ахуенно ты стандарт с забором сравнил >нахуя на всех? потому что тебе никто не гарантирует что они будут работать вообще, буквально в следующей версии уберут поддержку старого, а если будешь ныть тебя тупого в стандарт носом ткнут
Пописал на расте называется. Он оказывается не умеет работать с CUDA (да, есть прокладка CUDA-RUST, но она не официальная и сами разработчики говорят, что забагованная).
>>3416159>>3415535 Куда это проприетарная технология нвидиа, библиотеки предоставляются в бинарном виде, используется d jcyjdyjv в кластерах для научных расчетов, что ты на этой куде собрался делать, шизик?
>>3416286 Во-первых, ты сам шизик. Во-вторых, параллельные расчёты. В моей работе нужно с 50 секунд уменьшить время обработки данных до 10 секунд. Этого можно достичь покупкой 32 ядерного процессора или переписыванием алгоритма на ГПУ. При этом ГПУ предпочтительней потому что по научным статьям модно уменьшить время расчёта до 1 секунды даже на слабой видеокарте.
>>3416302 > В моей работе нужно с 50 секунд уменьшить время обработки данных до 10 секунд Во первых о каких данных какого размера речь? И с чего такой уверенный оптимизм по поводу расчетов на gpu с cuda ты думаешь это какая то серебрянная пуля которая ускорит твой говнокод в 5-50 раз?
>>3416356 Во-первых, мой код не говно. Во-вторых, иди нахуй. В-третьих, да, уверен, потому что похожий алгоритм реализовали в научной статье и получили 100 краткое ускорение на ГПУ.
>>3416302 > похожий алгоритм реализовали в научной статье и получили 100 краткое ускорение на ГПУ Ускорение чего? Ты не можешь внятно сформулировать что ты там делаешь и почему это все занимает целую минуту.
Если ты не хочешь определить проблему и найти узкое место (в профайлер заглядывал хоть раз?) а хочешь найти волшебный инструмент как например тот же пидораст или вон cuda которая кому то там что-то ускорила, значит и тебе тоже, то у меня есть сомнения в уровне твоей даже не компетентности, а адекватности. Иди короче дальше на джаве/питоне своем пиши и не еби мозги себе и людям.
>>3416473 > > похожий алгоритм реализовали в научной статье и получили 100 краткое ускорение на ГПУ > Ускорение чего? Работы алгоритма. > Ты не можешь внятно сформулировать что ты там делаешь и почему это все занимает целую минуту. Не хочу вдаваться в подробности потому что данные удалены. По сути задача состоит в построении и нескольких обходов дерева. Размерность полного дерева 2^52 степени. Конкретно ращмерность части дерева про которую я указывал латенси в 50 секунд я не помню. > Если ты не хочешь определить проблему и найти узкое место (в профайлер заглядывал хоть раз?) Всё оптимизировать до предела не мной, а предыдущим разработчиком. Он решил писать на расте, вот приходиться на нем тоже писать теперь. > а хочешь найти волшебный инструмент как например тот же пидораст или вон cuda Ещё раз: есть научная статья где добились 100х ускорения на ГПУ похожего алгоритма. Алгоритм действительно хорошо параллелиться. Не вижу смысла не верить, что я могу получить похожее ускорение если перепишу алгоритм для запуска на видеокарте.
>>3416715 А у тебя? BLAS только за алгебраические операции отвечает. Всё остальное ты сам делаешь. Раст почему-то не справился просто взять BLAS и сделать числодробилку быстрее питона.
>>3416734 У меня обход деревьев, что ты и реквестировал, если ты сам не понимаешь что пизданул, и куду приплел по такому же принципу что и нампи то у меня вопросов больше нет.
>>3436388 Котлин тоже экспрешион бэйсд язык, но в нем нет точки с запятой в конце каждого экспрешион. Да и дофтга других языков где от этого реликта древности избавились.
>>3436129 Ты на расте-то хоть писал чтобы такие вопросы задавать? В расте опциональный return, это активно используется в лямбдах. Точка с запятой помогает отделить вычисления от собственно возвращаемого результата.
>>3439260 > Ты на расте-то хоть писал чтобы такие вопросы задавать? Да. > В расте опциональный return, это активно используется в лямбдах. Точка с запятой помогает отделить вычисления от собственно возвращаемого результата. Хм, писать 200 ";", чтобы не писать один return в конце функции. Умно, эффективно.
>>3439425 Да не хочу я смотреть на твой котлин, заебал. Почему раст должен быть похожим на котлин? Нет бы хаскелл в пример приводил, у них больше общего.
>>3439635 > Почему раст должен быть похожим на котлин? Не должен. Просто так совпало, что котлин реализует, то что я хочу видеть в расте. Отсутствие точек с запятой и опциональный return. > Нет бы хаскелл в пример приводил, у них больше общего. Я хаскель не знаю, так что ничего не могу про него сказать.