В этом ИТТ мы можем объяснить базовые и продвинутые концепции языка, и программирования в целом, поможем вкатывающимся, подскажем что выбрать для веба, игр или, прости Абу, блокчейна.
Вот есть у меня окно терминала - массив из u8 (использую только ascii пока что) и я хочу чтобы было несколько перелючаемых окон. На С я бы хуйнул массив для терминала, который я отображаю, а также еще n дополнительных массивов для "окон". А дальше сделал управляющую структуру с массивом указателей на все запасные окна, хранящую в себе активное окно. После этого каждый раз когда я захочу что-то написать в окно, я бы по факту писал в массив, на который указывает "активный" указатель в управляющей структуре, осталось тока организовать управление ими. Попытался сделать теперь тоже самое на Rust и хуйнулся об хуй пытаясь сделать это говно без поинтеров и ансейфа. Кто нибудь обьясните, как это нормально организовать в расте?
>>2722157 В чем проблема хранить индекс массива в массиве массивов, а не поинтер? Ты в принципе можешь и поинтер хранить через Rc<RefCel<>>, но это не крабовый путь. По-моему без пойнтеров можно сделать.
>>2722157 Поинтеры юзай. &mut - это не поинтер, это уникальная ссылка на объект. Одновременно иметь две уникальных ссылки на один объект в расте - UB.
Так что проще всего в твоём случае делать прямо как в C и использовать указатель, если индексы не подходят. Тем более все эти указатели должны спрятаться внутри кода управляющей структуры.
Если я прочёл растбук, написал 2 пета по базовым вещам + понтовая асинхронщина с мультипотоком я могу начинать искать работу? При том, что я начинал свой путь вайти с С/С++ и их тоже неплохо знаю + имею опыт работы фултакомакакой?
Привет, я новенький. Не бейте, обосыте, а ещё лучше посвятите меня по таким вопросам: 1. Меня в интернете пугают что раст это очень узконаправленная вешь и что угодно на нём не напишешь. Это правда? 2. Мне предлагаться использовать Clippy или Cargo Check, что нужно?
P.S Мне Раст как и другой любой язык программирования нужен просто для развлечения, это не больше чем просто хобби. Я люблю брать не очень популярные ЯП и изучать их. В планах на Раст у меня такое: написать простенькую игрушечку типа змейки (вроде Bevy самый нормальный для игр?), и впервые попробовать себя в бэкэнде. Это исполнимо?
>>2730439 А и ещй вопрос как дела у Раста обстоят в GUI? Есть хорошие библиотеки с современным интерфейсом? (я имею ввиду чисто на расте, без js и подобного)
>>2730439 1. Напишешь, но вот именно "что угодно" только когда ёбнешься и несколько лет похлебаешь борща. А если что-то конкретное, то зависит от задачи. 2. Ты будешь использовать оба, пролистай растбук по этому поводу.
>пришли пожрать проприетари нахаляву >засунули себе зонды поглубже >схавали кучу рекламы и уебищный интерфейс для детей аутистов и пришлось написать кучу сторонних приложений/фронтендов >схавали ЦРУ-ботов и повесточку >схавали анальную мочу >ОЙ, А КАК ЖЕ ТАК, ЧТО КОМПАНИЯ СТРЕМИТСЯ ЗАРАЬОТАТЬ НА ГОЯХ? СРОЧНО БАСТУЕМ Действительно большинство людей, скорее мать продаст, чем деньги из кармана.
>>2730815 Так это и не для куколдов сделано, а для рекламодателей. Сейчас откатят изменения, "извинятся" перед гоями и захреначат в 2 раза больше рекламы пол предлогом недостатка денег. Мол "парни, вы нам не платите, но хотя бы рекламку смотрите", а как нужный уровеь добьют и акции поднимут, то могут и продать всю эту помойку подороже.
>>2730828 А зачем им откатывать? Они далеко не первые и не последние с такими решениями. Твиттер не так давно провернул ту же историю без задней мысли, деньги то не лишние. Плюс сторонние клиенты похоронят, одни плюсы.
Взять хотя бы объявление переменных, параметров и методов. Нахуя писать variable : type, когда можно type variable? Нахуя нужно было переносить тип возвращаемого значения в конец и добавлять "->"? Нахуя fn, если процедур как в паскале нет?
>>2734690 >Обилие бессмысленных спецсимволов. Это ты еще до менеджмента памяти не дошел. >Нахуя писать variable : type, когда можно type variable? Это нужно только для констант. Ну и вообще строгие типы? не, не слышал. >Нахуя нужно было переносить тип возвращаемого значения в конец и добавлять "->"? На хуя ставить его в начало? >Нахуя fn, если процедур как в паскале нет? Что бы было ясно, что это поинтер функции. Функции могут быть аргументами других функций.
\>>2734690 >Нахуя писать variable : type, когда можно type variable? А можно типы не писать и там где это очевидно компилятор их выведет.
>Нахуя нужно было переносить тип возвращаемого значения в конец и добавлять "->"? Чисто вкусовщина, во многих языках сделано похожим способом, тот же go например
>>2734690 > Нахуя fn, если процедур как в паскале нет? Потому что это ключевое слово которое указывает что это функция, также как let, const, trait, struct указывают что это переменная, константа, трейт и структура. Тут как раз таки выглядит вполне логичено.
>>2736105 > спец символов А, ты до этого доебался лол. Открою тебе секрет что когда пишешь код это практически не замечаешь, да даже в том же php не замечаешь когда пишешь $ каждый раз где-то после пары дней работы с ним.
>>2735318 >А можно типы не писать и там где это очевидно компилятор их выведет. Потом сидишь в жирной IDE как у жабистов и, как додо, водишь мышком рассматривая какие типы там навозвращались.
>>2736411 > водишь мышком рассматривая какие типы там навозвращались Зачем? И так все видно, ты либо вимоеб, либо вкатун с блокнотом, даже самая простейшая ide это умеет.
>>2736877 Можно и на шарпах хуярить все объявлениями var'ами, и TS типы выводит. Только вот переменная без прибитого типа, где-то поменялся возвращаемый тип и сосёшь бибу.
> даже самая простейшая ide это умеет. Сейчас блядь ещё чтобы дифф пулреквеста посмотреть открывать целую IDE. Пиздец.
>>2736877 Лол, тогда какой смысл? Без IDE это так же не читабельно, тот же гитхлам откроешь и не прочитаешь, а отображение ровно такое же ка если бы сам объявил.
>>2736892 >где-то поменялся возвращаемый тип И как это возможно в расте?
>>2736892 >Сейчас блядь ещё чтобы дифф пулреквеста посмотреть открывать целую IDE. Пиздец. >>2736939 >Без IDE это так же не читабельно, тот же гитхлам откроешь и не прочитаешь Лол и так все понятно, когда смотрю другие проекты в нашем гитлабе ни разу проблем не возникало с типами. Когда пишешь код тебе критично знать что там u64 или i32, но когда читаешь нет. Вообще если бы вы хоть раз попробовали кроме жабошарпов пописать на чем-нибудь типа джавоскриптопитухоноруби как второй язык я использую js на нем удобно тех же ботов в телегу писать на коленке за пару часов у вас бы подобных вопросов не возникало бы, вот там реально по дороге тип может поменяться и вообще ничего не подписано, но при этом кроме жабодебилов ни у кого боли от этого нет
Аноны, есть тут те кто по работе за деньги на расте пишут, а не чисто как второй язык для всяких side projects используют? Чем вы занимаетесь? А то сложилось ощущение что бизнесс боится сложности разработки на сабже по сравенению с языками с GC и кроме крипты пока нигде адопшена не произошло...
>>2737029 > И как это возможно в расте? Также как в шарпах и ТС?
Вот абсолютно тот же механизм: переменная без аннотации получает то, что в нём прилетает. Конкретно в твоём примере с инициализацией либералами в одном месте - похуй, да.
>>2737032 На сабже пишет 3.5 калеки. Если исключать системщину, то скорее всякий гигахайлоад, куда-нибудь в кор блокчейна или что-нибудь в этом роде. Скорость разработки ниже чем на жабо-шарпах. Найти на замену шарпо-жабу - проще. Скорее шарпомух заставят GC открутить в узком месте.
>>2737102 >Скорее шарпомух заставят GC открутить в узком месте. Еще полгода назад заходил, тут какой-то додик из криокамеры говорил, что зачем твой моно на линуксах, не зная что шарп лет 6 на кроссплатформе. А теперь уже говорят про ансейф в шарпах.
К сожалению тоже не вижу профита в расте, на С++ то трудно спеца найти, а потом еще его за свои деньги и время обучать, когда неблагодарный срулит в любое время. Пока раст для самопиара могут позволить себе крупные кабанчики и хайпо ютуберы. Как и первым так и последнем, слишком легко спрыгнуть на другой хайп. А попенсорцы очень медленно с си на раст переписывают либы, а там уже всякие mojo костылят.
>>2737195 Бля вот тоже работаю в лохчейне за копейки, под солану в свое время смарты писал, но чёт эта тема заглохла, проектов хуй да нихуя. Под Substrate запросы есть, конечно, но не вникал в технологию, да и в целом в сфере так смердит, что думаю понемногу в жаву свалить и пердеть спокойно. Ты с чем работаешь?
Какая вообще мотивация изучать Раст помимо общего интереса? Открыл хх.рю, а там вакансий по России меньше сотни. Натурально язык, про который все говорят, но который никому не нужен.
>>2738649 Если бы посмотрел на компании у которых вакансии в эти самых блокчейнах... Казино на казино и казино погоняет. И это только вершина айсберга.
>>2741697 >Просто это очень не стандартное решение относительно других языков
...Нет? В Джаве тоже есть слайсы и тоже нет произвольного количества аргументов в функциях. Это наоборот эзотерическая штука, которая мало где есть и еще реже используется.
Бтв а чем плохо принимать вектор или impl Iterator? Слайс всё равно в отрыве от какой-то заранее аллоцированной последовательности не может существовать, так ведь? Тогда получается для вызова этой йобы всё равно придётся создавать вектор, на который слайс будет указывать?
>>2741602 Это язык не про "а я не знаю чо там будет, давайте потом по месту решим, а то я сейчас не могу определиться". Здесь нужно сесть и решить заранее, какие сценарии будут нужны и как их обрабатывать.
>>2741736 >чем плохо принимать вектор или impl Iterator Ничем не плохо.
Вектором владеешь, при передаче в ф-цию он туда уйдёт, либо придётся копировать (что не есть хорошо с точки зрения производительности). Слайс - просто ссылка на вектор (или его кусок), ф-ция отработала с вектором по ссылке, вектор остался там, где и был. Если тебе и дальше нужен этот вектор, ты в ф-цию кидаешь его ссылку. Если тебе он не нужен, отдай ф-ции, чтобы не висел в памяти, он очистится при выходе из этой ф-ции.
С Iter будет примерно то же самое, это по сути последовательность тех же элементов вектора, по которой ты проходишься. Насколько я знаю, сама конструкция for .. in имплицитно создаёт iter, так что если ты за в ф-цию закинешь всвой vec.iter(), и уже внутри по нему пробежишься, будет абсолютно то же самое, что передать в ф-цию slice, и там по нему пробежаться. Грубо говоря: for elem in &vec эквивалентно vec_iter = vec.iter() for vec_iter
Алсо, у iter те же 2 стула, с владением, либо через ссылки. В 1-м случае iter у тебя "забирает" твой вектор, во 2-м случае оставляет тебе. for owned_elem in vec эквивалентно vec_owned_iter = vec.into_iter() for owned_elem in vec_owned_iter
Насколько я понимаю iter, там суть в другом, ты этот же цикл можешь как-то "красиво" оформить через .map(), избегая "громоздкой" конструкции цикла (а скомпилироваться оно должно примерно в то же самое), хотя мне лично после си привычнее (и приятнее) видеть обычный for loop.
>придётся создавать вектор Зачем его создавать, если он уже есть? В любом случае, если у тебя несколько однотипных элементов не в коллекции, то это уже странно.
>>2741907 >Хотя я думал Растеанам такое не нравится. Судя по дискорд серверам раст сообщества - это самый пидорский ЯП на свете Я вообще мимо треда шел и на тяночку забайтился. Сам на плюсах и сишке пишу
>>2741942 Да, я вот покодил на Расте пару недель и вот недавно ещё зашёл на Раст серверы в дискорде. Теперь встаёт только на квир небинарных персон (they/them) gay furry porn futanari big cocks LGBTQ+++
>>2745599 Залез на хебр, и очередная статья "почаму я лублу хруст!". Действительно, почему?!
Нет банальной перегрузки функций, дефолтных параметров, произвольного числа аргументов. Даже гребанный принт написан через макрос. А чтобы что-то писать на ембеддед, надо навернуть такого костыля, что js для ардуины становится легче взять.
Но самое мое любимое это победа над злой памятью, причем чаще теми людьми, которые с ней никогда проблем не имели, мигрируя с очередного языка с GC.
Заметил что раст уже не торт, там новый хайп по mojo идет
>>2745623 >Нет банальной перегрузки функций, дефолтных параметров, произвольного числа аргументов. Нет, потому что ты должен явно все указать. Придут со своих js и начинают просить всякое
>>2745623 >там новый хайп по mojo идет Не взлетит так же как crystal, хотя на этот раз более продуманно к этому подходят
>>2745857 Не выебывайся. Оracle в доках называет это arbitrary number of arguments. Можешь ли ты определив method(Integer... args) вызывать method(1, 2) и method(1, 2, 3, 4)? Можешь. Какая разница, если это шорткат? Никакой.
>>2745623 > банальной перегрузки функций не нужно. >дефолтных параметров есть, но у структов. >произвольного числа аргументов не нужно >Даже гребанный принт написан через макрос можешь вызывать не через мкрос.
>>2745713 >Придут со своих js и начинают просить всякое Забавно, что как раз динамическим языкам перегрузка не нужна, пока не появляется пародия на типизацию.
>>2745713 >Не взлетит так же как crystal, хотя на этот раз более продуманно к этому подходят Все прямо зависит от того будет ли агрессивный маркетинг, чтобы натянуть хайп и тогда уже будет "модно" другое.
>>2746264 >с++, Костыльный кал, в котором можно виртуальные таблицы у объектов менять. >шарп, котлин, частично жаба. Скриптокал. >ппц у вас тут растеры сидят и эти люди будут вам писать все окружение? Хуя подрыв. >>2746274 Там где есть ооп.
>>2746291 >>шарп, котлин, частично жаба. >Скриптокал. То случай, когда прилюдно навалял в штаны, но чтобы не казаться ущербным, стал размазывать говно по телу и лицу, думая что так он будет выглядеть круче, хотя в реале сделал еще хуже.
>>2746346 Не обращай внимания, это местный шиз не первый тред тут срёт, в этом треде до перегрузки методов доебался, в предыдущих доказывал с пеной у рта что в расте есть сборщик мусора и прочий бред ученик Столярова между прочим
>>2746405 >>2746381 А что тебе интересно, то и пиши. Попробуй визуализатор для аудиофайлов написать, аля aimp visualization. Попробуй физический движок написать и смоделируй ударную волну от ЯО на разных обьектах, например, проверь аеродинамику объекта 279. Напиши очередной сервер для Gemini. Напиши генератор статичных html страничек из файлов markdown и свой веб-сервер Напиши аналог distcc для раста. Напиши свой стековый ЯП Напиши демку на расте.
>>2746485 >Напиши аналог distcc для раста. Сами себя обертки не напишутся, лол.
Если не знаешь что писать, то писать ты ничего и не хочешь. Так что уровень твоей мотивации, это поковыряться немного в коде, так что ковыряйся без "проекта". Все равно эта чепуха надоест быстро, но хватит чтобы себе в резюме добавить. Будешь говорить о самом любимом языке в мире, на котором никто не пишет.
>>2746503 >Если не знаешь что писать, то писать ты ничего и не хочешь. Так что уровень твоей мотивации, это поковыряться немного в коде, так что ковыряйся без "проекта". Да вот нифига. Код писать мне интересно, но с идеями совсем туго.
Агрессивный маркетинг, который привлекает только маргиналов с питона @ Проходит 8 лет @ Одна из самых пролайканых либ, это переписанная утилита grep @ Что мы делаем не так?
Этот язык обречен, не потому что плох, а просто он на дне из-за тупого руководства, тупого заезженного до дыр маркетинга, деньги на который могли бы пустить на либы, тулинг или еще что-то. Но нет, спустя 8 лет очередная статья - почему я люблю раст. Не, ну серьезно?
>>2746529 Ебло, мне нужно посидеть 2-3 недели поломать голову над чем-нибудь цельным чтобы зафиксировать полученные знания и бонусом иметь что-нибудь показать вместе с резюме. Какое мне блять дело до твоих борщей или окрошек, а?
>>2746503 >Если не знаешь что писать, то писать ты ничего и не хочешь. Так что уровень твоей мотивации, это поковыряться немного в коде, так что ковыряйся без "проекта". >Все равно эта чепуха надоест быстро, но хватит чтобы себе в резюме добавить. Будешь говорить о самом любимом языке в мире, на котором никто не пишет. Ты с кем общаешься, шиз?
>Сами себя обертки не напишутся, лол. Ну пиши не обертку, лол.
>>2746600 Зачем? Это же не либа. Я бы морду вообще на электроне написал. ппц растеры тупые, принес приложение и упрекнул есть ли такое на плюсах, лол. А есть ли на плюсах такой крутой grep что на расте??
>>2746603 Затем, что в топе пролайканого на С++ это учебники как изучить с++, а в топе С -- перепесинный текстовый редактор пятидесятилетней давности. Видимо не отстают загнивать.
>>2746608 Ну да, это же не grep. Но ты настолько туп, что даже не понял над чем сарказм.
Какая разница на чем написано, тебе как фанбою языка должны волновать написанные либы, а не приложения. На сях писалось такое, что тебе даже не снилось и еще не родился, ты даже не представляешь с чем мериться тут собрался, сидя в операционке и браузере, которая скорее всего на тех же плюсах если не мобильное нищебродное чмо, хотя и там глубоко капнув это будет на сях
Ребенок мерится хитхламом, но одним гитхламом фактически живет как раз раст. Какое же тупое поколение, ппц
>>2746647 Хз не застал сам диванон, но видел уже после, если есть в истории тредов погляди. В кратце шизик ученик Столярова, даже завел сайт такой "почему раст должен умереть" или типа того, тут спалили его вк и выкладывалие его фотки, в одном из перекатов даже был комикс с ним и Столяровым. Была серия тредов где он доказывал нам всякую хуйню, когда его окончательно обоссали он ушёл громко хлопнув дверью, судя по всему снова вышел на связь.
>>2746847 Наверняка придумали себе какую-то очередную гуманитарную философию для языка и решили именно тут упороться ментально, взамен практичности. Сейчас это нормально, художник так видит.
почему этот ответ (строка кода ниже) неверный, разве "s" не освободиться второй раз после выполнения main (что было бы undefinded behaviour)? Функция если что возвращает &str который "dangling pointer", т.е. уже указывает на освобождённую память.
"let s = make_separator("");"
Там даётся такая подсказка "the caller must use the result of make_separator, e.g. via println.", т.е. если "s" будет использован в println тогда только будет undefined behaviour, но почему так не понимаю.
>>2747403 Ну представь что dangling reference это такой классический бомж в оркостане. Пока он лежит обосранный, обоссаный и облёванный где-нибудь под деревом то ничего особенного не происходит. Но стоит его палкой ткнуть так сразу начинают исходить потоки говна, мата и визгов "подайте на похмелиться". В твоём случае от этого самого бомжа попросту избавится RAII aka инсульт и всё будет хорошо, ну а про то, что если его тронуть я уже написал.
>>2747419 хаха, гениальная аналогия, спасибо. буду опираться на неё, потому что RAII я еще не изучал. странно почему тогда этот вариант добавили в опросник, вроде не писали про такое поведение в предыдущих главах.
>>2747416 Создание ссылки - это поведение. Как unreachable_unchecked. Это признак того, что указатель валидный. Это компилятор может использовать для оптимизации и выпилить выпилить весь код, например.
>>2748091 Вопрос в тесте четко спрашивает, что было бы, если бы борроу чекер пропустил висячую ссылку. Твой пример вообще никак к этому не относится. И кто кого троллит?
>>2748866 Двачаю, там и не понял нахуя этому додику перегрузка нужна и что она может конкретно в этом месте исправить, в его примере не понятно что это говно делает, но скорее всего грубое нарушение банальных общепринятых принципов SOLID и KISS когда один метод делает дохуя всего. Да и в качестве агрумента структура напрашивается. Короче без остального кода тут не понять, в любом случае целовать руки молотком тому кто это писал не удивлюсь если этот си-шарповый столярыш сам же и написал
Это методы обертки для wasm, в данном случае не знаю надо ли делать именно так поскольку не знаком с wasm, но в обычном коде подобное решается оборачиванием аргументов в Option<> и не нужно делать перегрузок и плодить десятки методов я бы вообще в структуры поубирал все что больше 4 аргументов
>>2750105 Снова программисты плохие. Никогда такого не было и вот опять. дефолтные параметры и перегрузка решили бы эту проблему. Да и вообще не слушай меня, иди лучше проголосуй за любимый язык на SO.
>>2750285 >Снова программисты плохие. Если именно в таком виде требуется для того же wasm, то почему бы этот говнокод не сгенирировать приватным, а для публичного использования сделать методы с какими нибудь структурами в виде аргумента? Я кстати тут вообще вижу билдер для initMouseEvent. Если это сгенерировали, то и билдер тоже можно было легко сгенерировать. И потом в зависимости от полученной структуры вызывать нужный приватный метод. Как вариант
Да именно програмисты плохие, тех кто передает больше 4-5 аргументов надо бить головой об клавиатуру. Тех кто генерирует подобное говно, но не делает обертки чтобы ими было удобно пользоваться вообще об стену бить.
>дефолтные параметры Есть структутры с Default:default(), есть тот же Option который в данном случае бы зашел самый раз, есть множество вариантов.
>>2750363 Хороший программист рассказывает, как нужно создавать говноструктуру по типу антипатерна God object, даже не зная что структура это в первую очередь логический элемент бизнес модели, а не желание ржавого пропихнуть в метод структуру с рандомными полями.
То есть, вместо одной проблемы ты создал другую (даже не буду говорить какую, так как программистов тут почти нет в треде)
>кто передает больше 4-5 аргументов Ты сказал?
Язык это не твой господин, не надо защищать, вон гоферы выпросили себе дженерики за 10 лет, молодцы же, хера вы извиваетесь и стелетесь, вместо требований базового функционала. Ну типа раст не плохой язык, что плохого станет, если добавить фич из 80х годов?
>>2750888 >структура это в первую очередь логический элемент бизнес модели
Функция тоже, и если у тебя возникает потребность добавлять в неё какие-то дополнительные сущности, то в чем необходимость делать это через список аргументов, а не через структуру? Её можно собирать множеством разных способов, валидировать отдельно от бизнес-логики, кешировать.
> Ну типа раст не плохой язык, что плохого станет, если добавить фич из 80х годов?
В нём уже есть фичи аж из 90-х годов, которые перекрывают функционал 80-х и дают даже больше. И даже эти фичи будут доделываться ближайшие лет 50.
>>2750888 >логический элемент Чем тебе не логический элемент MouseEvent? С другой стороны дай определение что такое логический элемент, является ли метод им? Вообще с чего ты решил что структура это именно логический элемент бизнес модели, книжек из 90х начитался?
>>2750888 >God object Кстати пропустил, а где ты его увидел? Тут структура только под определенную задачу, она не хранит ничего лишнего и не делает ничего лишнего, а отвечает только за эвент мыши.
>>2750888 >>2750945 >>2750974 >>2750978 >>2751041 Ппц кодмонки порвались, готовы даже говнокодить, но не признавать нехватку функционала. Причем наследования то нет, и особых трудностей в технологиях древних, для разрабов компилятора нет. Как и с перегрузкой (там вообще банально постфикс добавляется к имени).
>>2751179 То есть, реально, как макаки готовы накручивать опрос на SO, о самом любимом языке, на котором никто не пишет. Но чтобы реально удобные вещи в язык принести, готовы с пенной у рта что-то там пытаться доказывать.
>>2751179 Лол, тебе ответить нечем, как обычно перешел на воду. Сам придумал про бизнес модели точнее прочитал из пожелтевшей от старости книги сам же и не можешь за неё пояснить
> но не признавать нехватку функционала Давай еще скажи что тебе динамической типизации не хватает и поэтому язык говно
>>2735318 > Потому что это ключевое слово которое указывает что это функция, также как let, const, trait, struct указывают что это переменная, константа, трейт и структура. Но функция - это значение. Часто константное. И что логично, так это val f = fn (x,y) => ... в SML.
>>2754866 Ну так он почти во всём прав, кроме двух пунктов.
Первый пункт в котором он неправ: >Cargo is mandatory Ну типа да, флаги компилятора не закреплены гвоздями, так ты ебучий системный программер, закрепи гвоздями версию компилятора в своём проекте, кто тебе мешает?
Второй пункт >Concurrency is generally a bad thing Тут он как бы прав, в том что параллельность — это говно. Проблема в том, что это не зависит от программеров, просто создатели процессоров не могут ускорять свою срань другим образом. Поэтому либо жрёшь параллельное говно, либо валишь нахуй отсюда, потому что твоя программа будет работать на камне из 2000 года быстрее, чем на камне из 2024.
Ну а так да, раст может заменять C, но не везде это хорошая замена (по крайней мере на текущий момент), об этом кроме шизиков спорить никто не будет.
>>2755112 Для экзотических архитектур, которыми пользуется полтора пингвина, и для которых у раста тир 3 саппорт, либо вообще нет саппорта. Там часто и сишка не обязана работать, по крайней мере в теории, но как-то похуй, потому что обычно работает.
Для мелких микроконтроллеров C всё ещё выглядит получше раста, насколько я знаю, хотя тут давно не тыкался, может что-то и поменялось.
RIIR большой сишной кодобазы в фулл раст - идея говна, но новые фичи можно на расте добавлять, но это обычно боль, и если у тебя вся команда сишников, то нахер оно нужно.
>>2755637 Пользоваться i32 вместо usize - очень плохая идея. Для задачки с литкода сойдёт, для реального кода за такую хуету тебя на любом ревью пизданут. В крайнем случае, если пиздец как надо именно число со знаком, используй isize вместо usize.
>>2762348 >нет у языка плюсов Тащемта, так оно и есть. А у C++ аж два плюса. Сосать, хипстеры! ахахахахаахачто, растовщики, не смеётесь? не смешно, да? это Россия!
>>2762204 Главная цель - избавиться от UB, из-за которого никакой анализ программы невозможен. Если есть просто дедлок - это неприятно, но решаемо. А вот дедлок, который происходит только на O2 - это можно сразу вешаться.
>>2762880 >Input: s = "catsandog", wordDict = ["cats","dog","sand","and","cat"] >Output: false Можно же разбить аж 2 вариантами: cats + and + dog cat + sand + dog Или я что-то не так понял в условии?
>>2762315 Они там якобы победили поинтеры, но в плюсах и так давно уже RAII юзают. Что касается страшных UB, там в js наверное не меньше подводных камней приходится так же знать. Да и в прикладных целях всякие шарпы могут тоже в unsafe и так же поинтеры тискать, да и без ГЦ работать в нужных местах, но только из каждого утюга это не доноситься, ибо реально редкая потребность.
В общем, очевидно, что успешные менеджеры просто пилят проект и вкладываются больше в маркетинг, отсюда мы имеем самый любимый язык и каждый раз громкие вскрики, но совершенное унылое состояние либ и окружения за 8 лет.
Сам смотрю на проект много лет, но пока потенцевала не вижу.
Зачем нужен раст, когда есть джава? Ну то есть я понимаю во времена динозавров пердолились с памятью и всё такое. Но сейчас и в будущем память будет фактически бесконечной и бесплатной. В чём суть ваших анальных игрищ с указателями, борроу чекерами и тд, когда гарбадж коллектор всё сделает намного лучше?
>>2765114 Плюсую, вчера довелось попердолить на шарпах, думал будут флэшбэки, но в реале поймал мысль - какого хера я страдал 7 лет на жабьем протухшем говне, вместо этого.
>>2765116 Как бы срать, смысл в том, что никто ручками уже указатели не "считает". А количество годных либ, просто тонна. Надо было просто сделать прокси язык как котлин или тайпскрипт для плюсов.
>>2764736 На объём занимаемой памяти в большинстве тырпрайзов похуй пока не придут счета за облако/новые серверы или не словишь OOM на проде лол. В джавашарпах три проблемы: 1. Или GC делает Stop-the-World, или ты вручную ебёшься с памятью посильнее, чем в Rust. А Stop-the-World для критичных к latency приложений - это какие-нибудь 10us на обработку торгового приказа в p99 (а то и в p95) превращаются в 50ms, и пизда KPI/OKR/SLA твоего проекта . 2. NullPointerException/NullReferenceException . В джавашарпах надо вручную слишком много мест обмазывать проверочками, в расте достаточно не пользоваться unwrap. 3. Слишком просто написать не-thread-safe код. Создал тред/фьючу/таску, передал ему ссылочку на объект, и всё вроде работает, пока где-то не ёбнется из-за race condition, и вперёд обмазываться локами и семафорами. В расте без относительно правильно расставленных Send/Sync у тебя оно даже не скомпилируется. С дедлоками - да, приходится по-старинке работать (лочить ресурсы всегда в одинаковом порядке).
Это я перечислил то, с чем в основном сталкивался в видеостриминге (раньше) и трейдинге (сейчас). Для большинства пректов в формошлёпстве/крудоёбстве/перекладывании джсонов джавашарпы/го-пыхо-питоно-ноды всё ещё более предпочтительны.
>>2765372 >NullPointerException/NullReferenceException . В джавашарпах После добавления nullable annotations в шарпе мы забыли что такое нре от слова совсем.
>>2765372 > NullPointerException/NullReferenceException . В джавашарпах надо вручную слишком много мест обмазывать проверочками Ну да, а в расте не вручную каждый резалт ветвить? Забавно что юзают почти тот же оператор ветвления, но думают что делают другое.
И да, в котлине и шарпах есть нуллабл типы, это оказалось куда удобнее опшенов.
>>2765372 >Слишком просто написать не-thread-safe код. Да блин можно даже на ноль в программе поделить и упрекнуть в этом язык. Или открыть 100500 дискрипторов.
Как бы работа программиста требует тонну скилла и отвественности и толку что твой раст там что-то может, никто условного джуна в такие кишки не пустит.
>>2765372 Ты не поверишь, есть в шарпах и unsafe и следовательно есть и возможность без ГЦ поработать.
То есть, если собрался писать дробилку, то возможности у тебя есть. Но в реальном прикладном мире трогать каждый кусок памяти вообще не нужно и даже вредно в долгоиграющим приложении (фрагментация). А засунуть раст в ембеддед так же сложно как и сишарп (жабу тоже вроде совали).
PS Нет ничего плохого в еще одном языке нет, но этот маркетинг убивает просто. Желторотики бегут рассказывают как же безопасна стала работа с памятью, при том что с памятью они и не работали никогда.
>>2766146 С памятью особо никогда не дрочился, но в целом возможность написать быстрый код да ещё и с гарантиями безопасности которых на этапе компиляции вагон подкупают. Ну про cargo даже говорить не нужно, после траханья с make/cmake что он что репозитории js/питона это просто сказка.
>>2766094 Закон Мерфи на помидоров распространяется так же, как и на ждунов, никакой опыт сам по себе избежать багов не поможет, максимум сократить частоту их возникновения. Это и Кармак подтверждает (в интервью Лексу Фридману), у которого опыта побольше, чем у 99% треда. Поэтому, например, что касается памяти, в С++ стараются с голыми пойнтерами не работать, а используют RAII, самописные системы управления объектами и смарт пойнтеры. Т.е. либо ты пишешь костыли, которые предотвращают стрельбу по ногам, либо необходимые механизмы встроены на уровне языка. Первый вариант не обязательно хуже второго.
Сап ржавые аноны, поясните как в вашем невероятно быстром языке сделать то что в питоне делается невероятно медленно с помощью numpy.transpose(arr, dims) То есть есть четырехмерный вектор либо ndarray, в целом поебать, отправляется в функцию вместе с индексами аргументом, например ,(3,1,2,0), и при проверке размера, например, размерность (10, 20, 30, 40) превращается в (40, 20, 30, 10). Ебучий чатгпт писал нерабочую хуиту, в интернетах не нашел. Уже довольно давно ебусь с этим в свободное время, и нихуя не выходит. С меня тонна нефти
(1) typeid (2) ошибки в конструкторах (3) делегация сестринскому типу (4) итераторы (5) полиморфизм (6) стдлиб пока расто-макаки не предоставят миру данные пункты, на их ворованный недоязычок стыдно даже смотреть.
>>2765439 >>2766077 Согласен, nullable в шарпе решили большинство проблем с NRE. Осталось дождаться, когда их в 3rdparty либы затащат. Ну и nullable заменяет Option, а для Result подходящей замены в дотнете ещё не сделали.
>>2765912 Для производительного кода - примерно одинаково. На шарпе быстрее писать и дольше тюнить, на расте медленнее писать и быстрее тюнить (прост GC внезапно не садится тебе на ебало). Для формошлёпства, если уж пришлось пилить на расте - сначала было медленно с непривычки, теперь примерно одинаково.
>>2766094 Когда тырпрайзы переезжали с плюсов/делфи на джавашарпы, заметно убавилось Access Violation Exception/Segmentation Fault прост из-за подхода к управлению памятью. Старички ворчали, что можно и на ноль делить. Кол-во новых проектов на плюсах заметно скукожилось, делфи умер к хуям. Теперь в расте есть способ заметно уменьшить количество гонок в многопоточном коде. Слышу знакомое ворчание.
>>2766114 > есть в шарпах и unsafe и следовательно есть и возможность без ГЦ поработать Есть возможность написать кусок кода, который не будет выделять память в куче. А практической возможности запустить дотнетное приложение без GC - нет. Просто потому, что AspNet/Grpc будет выделять память в куче, Newtonsoft/System.Text.Json/Protobuf будет выделять память в куче, все удобные методы из System.Linq будут выделять память в куче, и либо GC таки будет триггериться и руинить тебе latency, либо от сишарпа и дотнета у тебя останется нихуя не сишарп и дотнет, а какой-то обрубок, на котором придётся с нуля писать свой сетевой сервер, сериализаторы и всю хуйню. > трогать каждый кусок памяти вообще не нужно и даже вредно в долгоиграющим приложении (фрагментация) Каждый кусок памяти никто и не трогает - так же как и в сишарпе, ты либо делаешь свои дела на стеке, либо преаллоцируешь что-то крупное что тебе нужно в каком-то пуле и от туда таскаешь - при этом без внезапного GC. Ужосы с фрагментацией сильно преувеличены (jemalloc же). > засунуть раст в ембеддед так же сложно как и сишарп Если clang/llvm собирают твой код под твою платформу - то не сложно, если нет - то сложно. Рантайм то не нужно портировать, пушо его нет.
Основной головняк с растом в моих проектах - незрелая экосистема. Если в дотнете я могу взять aspnetcore/grpc.net со всеми батарейками вроде аутентификации, рейт-лимитера и телеметрии, newtonsoft.json/system.text.json/protobuf.net, disruptor.net/что-то-на-акторах, EFCore/Dapper, Polly, Faster.Net и ещё с десяток нужных либ и пилить проект, не ебя себе мозги, то в расте приходится очень внимательно изучать зависимости - то три года как протухло, это появилось пол-года назад и пилит один чувак, здесь у нас v0.1.11, а такого вообще пока не написали. Хотя сейчас уже лучше, чем было несколько лет назад.
>>2767030 >(прост GC внезапно не садится тебе на ебало) Как часто тебе в твоем мидловом проекте оно садилось на лицо?? Как уже затрахала эта маняфантазия. Там проблемы начинаются когда у тебя кластер размером с датацентр, а не пет проект на 100мбитном канале, с десятком других хостящихся.
Если в жабе начинают тюнить рычаги GC, в шарпах можешь затюнить код без GC (там после профелирования его не много).
Опшены и резалт кусок рудемента прошлого, забавно что в llvm есть эксепшены, просто геи не осилили. хз как там в llvm, но если в твоей голове эксепшены тормозят, то даже в жабе можно отключить стектрейс
>На шарпе быстрее писать и дольше тюнить, Ты сказал? Я видел как методом тыка епутся с языком там, где в нормальных языках уже потёют над логикой. Ну и костыли в виде .clone() где поплыли мозги с лайфтаймами - вообще шедевр.
>>2767030 >А практической возможности запустить дотнетное приложение без GC - нет. В этом и фишка, на программиста не перекладывает груз с лайфтаймами и владениями и работает почти так же быстро. В реальности в ты 99% пишешь подобие круда, перекладывая одни данные в другие и только в 1% пишешь дробилку. В случае RAII ты вообще не паришься и делаешь почти вечно живущие объекты.
Мне еще за 15 не приходилось писать ручками управлению с памятью, может потому что я не работают лидом в гугле, или же может я не школьник пересмотревший ютуб, хз.
>>2767030 >Каждый кусок памяти никто и не трогает Да, но на тебя накладываются солидные такие рамки языка. Если в шарпах ты просто паришься за логикой, то в расте тебе надо логику пропихнуть через парадигму ограничений, в итоге ты потеешь там, где шарпо-питона макака проходит моментом.
То есть, это все не бесплатно, как и в любом системной языке. И одно дело когда ты в ардуино код пишешь или реальное системное приложение и другое дело пет проекте, где клонируешь все подряд, ибо муторно переписывать уже.
>>2767030 >> засунуть раст в ембеддед так же сложно как и сишарп >Если clang/llvm собирают твой код под твою платформу - то не сложно, если нет - то сложно Ну конечно, если оно компилируется в натив, то сразу влезет в ембеддед. Там чтобы раст в это засунуть, надо выкинуть раст, лол. Очередные маняфантазии юношеского максимализма, не знаю но пишу.
>>2767103 > Как часто тебе в твоем мидловом проекте оно садилось на лицо?? Выше в >>2765372 я писал, что пилю код для трейдинга (биржевые/брокерские движки, торговые/маркетмейкинговые боты, всякая инфраструктурная и вспомогательная поебень - и это не HFT). Да, GC мне сильно портит жизнь. За 20-50мс, пока GC что-то помечает и компактит, бот может проебать выгодную сделку, маркетдата может протухнуть, top-of-the-book может уползти слишком далеко от заявки, и клиенты моей конторы проебут деньги.
До этого я пилил код для видеостриминга - там GC тоже создаёт проблемы. Когда у тебя сотни стримов и десятки Gb/s, из-за stop-the-world дропаются фреймы, из-за этого расстраиваются системы видеоаналитики, грустят кодеки, и потом уже и клиенты.
>>2767126 >работает почти так же быстро Недостаточно быстро > В реальности в ты 99% пишешь подобие круда, перекладывая одни данные в другие и только в 1% пишешь дробилку. Не угадал. Я как раз делаю так, чтобы перекладывать поменьше данных. > Мне еще за 15 не приходилось писать ручками управлению с памятью Что именно ты называешь управлением памятью? Кастомные аллокаторы? Так и я их не пишу. Ручную очистку после использования? Так в большинстве случаев при выходе из скоупа всё или сразу дропается, или в Rc/Arc что-то декрементится и потом может быть дропается. Ты ведь в шарпе IDisposable просто так не создаёшь, без using перед или .Dispose() после? Вот и в расте нужно за этим немного следить. Если речь о возврате использованного объекта/структуры в пул - то я это и на шарпе делал, и в расте - один раз сделал и забыл, прост пользуешься.
>>2767149 > Да, но на тебя накладываются солидные такие рамки языка А в шарпе - солидные рамки рантайма
Там же в >>2765372 я писал, что не стоит использовать раст для формошлёпства, так что все твои аргументы про рамки/удобство/перекладывание груза - всё мимо, когда GC мешает, и всё в точку, когда надо отдать на фронт джсонину с оперденью.
>>2767166 Я не понимаю, с чем ты споришь. Раст уже давно в embedded https://github.com/rust-embedded/awesome-embedded-rust , где-то ему лучше (ARM), где-то хуже (AVR). HAL есть, async есть (embassy-rs). Stdlib нет (зато есть no_std), но её нет и для плюсов, да и для си она очень куцая (newlib). Есть проекты, затащивщие libc на микроконтроллеры (embox например), но там и камни нужны жырные.
Проблема раста в embedded та же, что и в тырпрайзе - неразвитая экосистема. Вендоры пилят свои SDK и примерчики на сях, почти все драйверы тоже на сях, а те, что портируют на раст - не поддерживаются дольше неск месяцев. Хорошо, что я завязал с embedded лол
>>2767309 >Да, GC мне сильно портит жизнь. За 20-50мс, пока GC что-то помечает и компактит, бот может проебать выгодную сделку Фига там мега чеды покупки делают в наносекунду. Биржа таких гениев не банит что ли? У тебя приложуха может выпасть в просадок 50мс без ГЦ просто по логике. Тебе тут надо реалтайм приложение просто.
В любом случае это явно луп какой-то и как раз решается кэшами без ГЦ. Причем в шарпах сбросить кэш будет быстрее чем освобождение и выделение новой памяти у ОС.
В общем, очередной надмозг программирования нафантазировал задачу в вакууме и думают решил что-то.
Понимаешь нельзя просто взять си или раст и начать производительно писать, ну то есть наговнокодить тормозной код, который будет медленней динамических языков - нефиг делать, сам такое писал на сях что тормозило сильнее пхп, где местные надмозги высерали такие алгоритмы в сорцах, что обосраться можно. Даже подкрученные говнотесты в 100 строк допиливают месяцами, а ты такой гений у нас, взял низкоуровневый язык и сразу все быстро стало.
>>2767309 Я так понял у нас наконец-то появился аналог Илюши из го треда?
Расскажи о себе, какие олимпиады выиграл? Как старые тупые взрослые не понимают твоего юного гения? Расскажи как среднестатистические программисты, смеются над твоими идеями и даже не понимают где они, мидлово говно, а где ты, луч нового поколения?
>>2766475 Полная хуита, но кое как откопал swap_axis который делает примерно то же самое, правда кажись через жопу Алсо есть ли способ перегнать из питона pil image туда и обратно с минимумом восстановлений из байтов на стороне питона, если изображение перед отправкой обратно нужно вернуть из ndarray? Так то пытаюсь присобачить это модулем потому что numpy массивы в питоне жрут охуеть сколько оперативки как ни крутись, а очистка работает через жопу и замедляет выполнение. Видел где то что rust и быстрее в 100500 раз и памяти на матрицы жрет в разы меньше Или это все наебка для гоев и зря я сюда полез?
>>2767596 >перегнать из питона туда и обратно Я так понимаю, ты хочешь оставить питон, но заменить сишный numpy растом и надеешься от этого что-то выйграть? Скорее проиграешь, вряд ли напишешь лучше, чем в либе, которую разрабатывают с 95-го года). Пиши полностью на компилируемом языке, избавишься от оверхеда интерпретатора. Если с ML ебёшься, в сторону раста можешь не смотреть, онли C++. Не, ну можно дёргать сишные апи из раста, но зачем усложнять себе жизнь на ровном месте?
Прикольный язык, но почему синтаксис такой ужасный. Это просто больно читать. Почему нельзя было выбрать сишный стиль. Еще постоянное использование двойного двоеточия. В плюсах тоже раздражает. Неприятный для чтения символ. Вот шарп - очень приятный язык для чтения. А тут вот нет.
>>2769358 Ой, да ладно, там интереснее есть (это где-то в тестах компилятора) Но мне больше нравится, когда там касакад из вложений типа Arc<Option<Box<Vec<Rc<Jopa>>>>>>
>>2769937 Потому что можно. Это не реальный пример, но видел нечто подобное, уже не помню что там было. В любом случае спаггети код как есть, на такой цепочке можно долго повиснуть мозгами.
>>2775505 >сам тайпы Резальты, опшины такое говно если честно. Нуллабл типы оказались удобнее, а обработка ошибок руками не только не удобна, но бестолкова, так как в большой софтине требует стектрейс.
>>2777658 ХЗ, там они как-то варятся в собственной моче, жизнь идет мимо них. Когда вкатывался в 2020 залетел в жабаконтору на стажировку, там они пилили какую-то кривую crm, короче классика монолитище на спринге, хибернейт и все дела. Поддерживали древний код, я вносил правки в класс 2006 года, куча паттернов ради паттернов. Там даже html генерировался в виде классов, которых генерировали билдеры, а билдеры создавались фабрикой. А уже всякие сортировки по колонками таблицы и графики в виде картинок сделаны были солевыми наркоманами. А разворачивание софта отдельная песня: скачай jar, поставь такую либу.exe как это у тебя не винда? ну попробуй поставить libhuj-dev.so авось прокатит, скачай jboss лохматой версии, половину зависимостей поставь через maven, другую через ant, перекрестись и запускай. Я через месяц свалил к хуям.
>>2777736 >Там даже html генерировался в виде классов, Вот нашел кстати эту либу https://jakarta.apache.org/ecs/ эти элементы генерировались самописными билдерами. Сука, иной раз до маразма доходило класс билдер чекбокса формы настроек и фабрика для разных чекбоксов, которые различались атрибутами class, name и id но для каждого случая свой класс и иерархия наследований
>>2778171 Задроченных гиков, готовых посвящать фронт-енду все дни и ночи своей жинзи, на рынке труда предостаточно. А будет ещё больше. Компании разумно требуют при найме от кандидата соответствовать верху потенциальных кандидатов. Твои хотелки, твоё желание тихой спокойно жизни и оптимального ворк-лайф баланса никого не интересует. Работодателю есть из кого выбирать. Просто если ты можешь также, как они, то значит, тебе не место в профессии.
Есть профессии с риском для жизни (военные, внедренные менты, пожарные), с отлучением от дома на долгие месяцы (вахты, моряки), с постоянным получением пиздюлей и проведением большей части жизни в изнуряющих тренировочных лагерях на строго диете (спортсмены и мордобойцы). Это всё просто неотъемлемые особенности профессии. Так и в айти. Ну не нужен просто программист, который не горит своей профессией, не готов посвятить ей свою жизнь без остатка. Не будешь ты рядом с такими конкурентно способен.
>>2777817 >As of 2010-09-01, the ECS project is retired Уфф, анон, соболезную через какое дерьмо тебе пришлось пройти. Нюкните кто-нибудь Apache Foundation, это долбоебы основные поставщики говнокода на жабе в опенсорс.
Привет, мои маленькие любите засунуть себе под хвост ржавого. Принес тут вам хлебца поесть.
Вышло так, что планы на carbon оказались более влажными чем ожидалось, в общем, они там передвинули превью версию языка и сам релиз еще на 1-2 года. Видимо, в гугле наконец-то поняли, что чтобы пилить язык нужны соответствующие специалисты, а не только влажные фантазии и громкое название языка.
Так что релиз "запланирован" теперь аж на 2026 год. И зачем было вообще об этом говорить в том году?
>>2778641 > в гугле Неудивлюсь если карбон окажется здесь https://killedbygoogle.com/ Как-то наивно всерьез рассчитывать на гугл, вот когда выкатят, оно проработает пару лет, будет отдельный независимый фонд с другими спонсорами кроме гугла, тогда и можно этим пользоваться, как напремер было с го
>>2778681 Гугл не очень может в языки, все же яп это не игрушка в виде той политики 20% времени, в надежде что кто-то тебя на халяву высрет топ продукт.
Тут либо ты вливаешь туда тонну ресусров, либо получаешь говно.
>>2778876 > либо получаешь говно. Справедливости ради он довольно неплохо залетел в нишу микросервисов. Да и по сравнению с другим говном не такой уж и страшный. Простой как мясорубка можно посадить колотить код хоть пхпшника после цмс, работает шустро с небольшими тормозами на ГЦ, многопоточно мешать джсон туда-сюда можно из коробки с минимальными зависимостями.
>>2779415 As an AI language model developed by OpenAI, I'm designed to assist with a wide range of queries, providing information, generating text, answering questions, and more. I'm based on machine learning technology, and specifically the GPT-4 architecture, which uses patterns in the data it was trained on to generate responses. It's important to note that while I strive for accuracy, I don't have access to real-time data or personal data unless explicitly provided during our conversation. My primary function is to provide assistance and facilitate a more seamless interaction for users seeking information or help with various topics.
>>2779064 Еще один язык, который почти не используется кроме одной области. Это говно настолько примитивно, что безболезненно писать тонну бойлерплейта можно только в самом простом - микросервисы.
>>2779927 >Надо быть одаренным, чтобы всерьез вкатываться в язык, у которого нет кодокапитала и работы. Вкатываюсь на перспективу чтобы писать непробивной софт и фирмварь для военной диктатуры которая вскоре установится во всём мире. Вопросы?
>>2779940 >Ох, эти сложные круд сервисы Поменяй желтую и синюю фигурку местами и серьезно попробуй куда-нибудь устроиться. Микросервисы бывают разные, где-то в битриксопараше куда тебя возьмут могут быть 3,5 круда для сайта визитки, на проектах уровня озона один сервис это сотни файлов и десятки тысяч строк и их спокойно пилят на го
>>2780011 Это скорее всего один человек, который учился у Столярова, он набегает также и в другие треды, но почему-то здесь как-то усердно прописался не осили баран чекер и обижается на всех
>>2779927 За один только cargo и модульную систему можно отсосать у самой страшной небинарной телки из раст фандейшен. В плюсах просто поднять проект уже задача.
>>2780151 >Поменяй желтую и синюю фигурку местами Я рад что ты так легко справляешься с головоломками, но ненужно свои проблемы вкатуна проецировать на других, у меня есть работа, мне перезванивают.
>>2780151 > на проектах уровня озона один сервис это сотни файлов и десятки тысяч строк и их спокойно пилят на го Воу воу палегче, десятки тысяч строк, вот это го может!
А вообще пахнет уже избитой темой мартых, было 100500 микросервисов, стало 100500 монолитов.
>>2780011 В протухшем треде сёмен накидывает на вентилятор, чтобы реанимировать тред. Ему уже говорили хотя бы новости или лулзы кидать, а не бывших питонистов злить в треде.
>>2781164 >Воу воу палегче, десятки тысяч строк, вот это го может! Лол, сразу видно жабошарписта, если пишешь фабрики фабрик то это может показатся мало, сейчас ради примера в крейте tokio посчитал 108911 строк без остальных крейтов только сам токио https://github.com/tokio-rs/tokio/tree/master/tokio/src а это довольно внушительный проект. Еще раз говорю найди себе работу и не позорься
>>2781338 Обсирают го-монолитные микросервисы в десятки тысяч строк кода. @ Приносит опровержение @ код в 100К строк @ код нефига не микросервиса @ код вообще на расте
>>2781167 Год назад на гитхабе писали: >I'd tolerate rust learning curve complexity or go's garbage collector over carbon just because of the cross platform build system to be honest. It's a shame that this feature is not high priority in carbon. I think once Carbon gets beyond the super early experimental stages, this may well become a much higher priority. =] I think the real point here is that Carbon is in a much earlier project stage than Rust or Go, both of which are mature and ready for business. =]
>>2781690 Ну ты же доебался за количество строк кода, вот я тебе и привел пример что первое попалось под руку что в 100к кода влазит довольно серьезный проект, тут язык особой роли не играет. Ща я тут тебе выложу код из закрытого репозитория чтобы доказать что-то, ага
>-монолитные микросервисы Лол, в крупных проектах это именно микро
>>2781691 >Вообще, низко шутить про работу в раст треде. Не берут на расте начни с пхп
>>2781999 -Наш агрессивный маркетинг больше не работает миллорд. -Давайте накинем так, что мы хейтим язык, но на самом деле будем снова пиарить! -Ха-ха-ха, какой же вы гений, мой господин!
сова так туго уже лезет на глобус, что сам глобус скоро коллапсирует
Анончики которые в блокчейне работают, опишите плз самые типичные задачи разработчика в этой сфере. Ну вот например в бекенде это погрузка джсонов, в фронте - покраска кнопок там, а в блокчейне по аналогии с этим что???
>>2783884 Да это рофл походу, там чел удивляется что нет кнопки "ран" и нужно в консоли команду писать. Имагинируйте ебало тех кто всерьёз такое воспринимает
>>2784667 >>2784829 Я бы сказал даже постоянное охуевание от архитектуры эфира и вытаскивание нужных данных из гигабайтов говна, а в остальном обычный бекенд
>>2784671 Если по серьезному, то кнопка нужна чтобы через хоткей собирать, да и вообще сейчас не 85 год, чтобы радоваться консольной компиляцией, хотя бы базовый тулинг должен пресуствовать, это же самый любимый язык.
>>2784704 В шарпах есть консольная дрочка как и у всех, вылезай уже из криокамеры. неткор в релизе 7 лет, на год меньше чем раст, надо быть уж совсем некомпетентным говном, чтобы ничего не знать о новой технологии в 2023
>>2787328 Memory Safety: Rust has a unique feature called "ownership" with features like borrowing and lifetimes, which guarantees memory safety without needing a garbage collector. This can help prevent common programming errors like null pointer dereferencing, double free, etc.
Zero-Cost Abstraction: Rust, like C++, prides itself on "zero-cost abstractions", meaning you can write high-level abstracted code without having to worry about a performance cost. While Go also has good performance, it doesn't have this zero-cost abstraction principle.
Concurrency: Both Rust and Go provide excellent support for concurrent programming, but Rust's is more advanced. Rust's model allows for more fine-grained control and better performance in some cases, but it comes with increased complexity.
Interfacing with C: Both languages can interface with C, but Rust's FFI (Foreign Function Interface) is more straightforward and safer. Rust's type system and ownership model help ensure that the interface with C code is as safe as possible.
Control over Hardware: Rust gives more control over system resources which makes it a more suitable language for systems programming. It's a good fit for things like game engines, operating systems, and other low-level applications.
Package Manager: Rust's package manager, Cargo, is often cited as one of the best features of the Rust ecosystem. It's powerful, easy to use, and also handles building your code. Go's package management has historically been a point of contention, though this is less true now with the introduction of Go modules.
мимо чатгпт, тратить собственные калории на такие поверхностные вопросы лень
>>2787449 ChatGPT, Rust и Go служат разным целям. ChatGPT - это AI модель для генерации текста и поддержки беседы. Rust - это язык программирования для системных приложений, обеспечивающий безопасность памяти. Go, созданный Google, прост в использовании и поддерживает многопоточность "из коробки". Выбор зависит от задачи.
Rust и C++ предназначены для работы в схожих областях, включая системное программирование, но Rust имеет несколько преимуществ:
Безопасность памяти: Rust фокусируется на безопасности памяти без использования сборки мусора, что позволяет предотвращать ошибки вроде разыменования нулевых указателей и гонок данных.
Управление зависимостями: Система пакетов Cargo в Rust упрощает управление зависимостями и сборку проектов, в то время как в C++ отсутствует единая система пакетов.
Отсутствие неопределенного поведения: В C++ много случаев "неопределенного поведения", которые могут привести к сложно отлаживаемым ошибкам. Rust старается минимизировать такие случаи.
Управление жизненным циклом ресурсов: Механизм владения (ownership) и правил жизненного цикла в Rust обеспечивают точное управление ресурсами, что предотвращает утечки памяти и другие проблемы.
Инструменты: Средства разработки в Rust, включая форматирование кода, поддержку тестирования, генерацию документации, встроены в компилятор и обеспечивают единообразие и удобство работы.
Однако, стоит отметить, что C++ имеет более долгую историю, большую базу существующего кода и широкую поддержку в индустрии, что может быть важным при выборе языка для конкретного проекта.
>>2788239 -Тонна готовых решений -Работает на любом утюге -Тоже есть RAII, но из каждого курятника об этом не кричат. -Вменяемый синтаксис, такие забытые технологии древних, как аргументы по умолчанию и перегрузка функций. -Если нужно - есть ООП, что бывает нужно. -Есть работа. -Геймдев -Тысячи капитал кода. -В управление сидят люди заинтересованные в практическом развитие языка, так как сами его используют в продуктах, а не имитации бурной деятельности успешных менеджеров, с целью, вероятно, попила на технологии так как кроме агрессивного маркетинга я ничего не вижу
>>2788521 -Там где действительно будет нужен раст, то есть не крудошлебство и веб, скорее всего нужен будет С++ и будет С++ легаси. В общем, опять два языка за одну зарплату.
Я просто хочу разобраться: почему этот код работает если я отдаю овнершип pixel_color в write_color и не возвращаю его? Clone и Copy трейты же не про это?
>>2791113 Системный язык. Система владения стимулирует копировать все что шевелится. А это очень накладно в рамках большого софта.
Система владения перекладывает на юзера механизм сборки мусора, а так как в большом проекте хер знает сколько понадобиться тот или иной объект, то он создается фактически с (макисмальной) жизнью всей программы, что создает утечку памяти (либо очень короткоживущие).
Сама по себе иммутабельность так же стимулирует копирования объектов. Есть проверка границ массива. Есть сборка мусора Rc, Arc.
И как это шляпа в долгоиграющем проекте может быть быстрее С, кроме коротких искусственных тестов?
>>2791134 Что плохого в копировании? Просто пишу на C под микроконтроллеры и ты либо всю память выделяешь статически или на стеке, либо ебёшься потом неделям по логам и без нормального дебага в поисках ошибок в работе с указателями. MISRA C:2004, 20.4 - Dynamic heap memory allocation shall not be used.
Анончики кто профессионально (за деньги) на расте пишет, поясните плз - что в экосистеме раста с документацией происходит? Вот например тут -> https://docs.rs/termion/latest/termion/ - это что? Пара предложений о назначении крейта, и всё остальное это просто определения структур и их методов... как работать с этим? Где примеры, где quickstart? Мне по названиям структур и по сигнатурам методов догадываться что и как использовать? Что вы делаете если вам с таким надо разобраться? Неиронично спрашиваю. Я понимаю что это через rust doc сгенерировано, но толку-то?
Так же раст преподносится как альтернатива С++. И когда некий питонист слышит это, вспоминая в студенческие годы лабы на С++ и весь тот ужас древнего языка, он начинает восторгаться, мол как прекрасен раст, хотя ему системная разработка и не нужна была.
Все это заслуги маркетинга, мы видим что восторгаются, но кодовая база растет очень медленно, ибо хайп.
>>2793259 Забавно, что где-то недавно слышал очередную говорящую голову на ютубе и та говорила, мол что действительно круто в расте это очень полные документации на все случае жизни.
Так что помимо маркетинга, тут еще добавляются фанбои с напрочь отсутствующим критическим мышлением, воспринимающие технологию как догму.
>>2793278 >>2793279 Опять ты выполз со своим маркетингом, кто его хоть продвигает то? Чьи коммерческие интересы? Придумал себе маркетологов и носишься с не ими не один тред, одна история охуительней другой
>>2793259 Опенсорос хули, тут во всех языках такое. Тут хоть в код нырнуть можно, помню как с руби было там вообще все упражнялись в метапрограмировании и использовании синтаксического сахара и когда не было доки был пиздец. doc.rs на практике бесполезен, лучше открывай сразу репозиторий там больше информации и примеры бывают
>>2793259 Надо различать документацию и туториал. У термиона в доках есть ссылка на README, и там как есть ссылка и на примеры и на туториал. А в доках всё збс, хотя примеров почти нет.
Если бы ты работал за деньги, ты бы не задавал вопросов про эту доку, потому что за деньги очень часто и не делают комменты к функциям, по крайней мере если это говно для внутреннего пользования. Ну либо ты где-то в слишком хорошем месте работаешь, потому что меня на работе отсутствие комментов каждый день триггерит.
>>2793413 >>Вменяемый синтаксис >>Кресты >Лол, ты их хоть раз видел? Еще один пуганый питонщик, вы бы хоть молчали, чтобы свою некомпетентность публично не демонстрировать.
>>2793407 >>2793285 >кто его хоть продвигает то? Успешные менеджеры языка Классический попил на ИТ-проекте, просто раньше ты его не видел, он проходил не на языках, а на ИТ-продуктах и не каждому кодеру эта кухня понятна. Мозила дропнула, теперь с фонда сосут. Чем больше хайп, тем больше вокруг него баблом трясут. Или ты думал там за идею работают? кроме попенсорщиков, на тех вывозили всегда
>Придумал себе маркетологов То что фанбои по инерции с языком бегают, это понятно. Но ты реально думаешь, что весь хайп он естественный? Проекту уже не мало так лет (7-8) слишком много для естественного хайпа, но из всех щелей до сих пор втирают одну и туже методичку с релиза. Мол, почему раст молодой язык и почему он нужен тебе и как хорошо мы победили работу памяти.
Го стартанул где-то в тоже время и там тоже был поддув, но сейчас его уже нет, язык естественно живет своей жизнью без агрессивного-дегенеративного маркетинга.
>>2793589 >менеджеры >>2793589 >фанбои >>2793540 >питонщик >>2793279 >маркетинга >>2793279 >фанбои >>2793278 >Маркетинг, накрутка Узнаю шиза, ты же покинул тред громко пукнув хлопнув дверью. Да и сейчас не весна вроде для обострения
>>2794033 Почти дубляжи макака не помечает У меня еще остается надежда, что разгонят успешных менеджеров и ржавый прекратит стагнировать в содомии. Или же высрут альтернативу.
А что тред? Протух тред, если не накидывать, вообще все печально. Кроме пару школьников вкатунов и еще какого-то толстого сёмена тут никакой движухи нет.
Я не против языка, я против фанбойства с догматами, весь этот маркетинговый однообразный булшит немного поднадоел. Люди на полных щах говорят что перегрузка ненужна или зачем нам ваши дефольные параметры. А почему бы и нет?
>>2794089 >Я не против языка, я против фанбойства с догматами, весь этот маркетинговый однообразный булшит немного поднадоел. Я вообще этой хуйни не вижу, пчелы видят везде мед, а мухи говно. Хотя и работаю на расте уже 1,5 года и постоянно слежу за новыми версиями и крейтами. Если куда-то идти в определенное место за движухой, то возможно да трапики будут рассказывать как они дрочат друг другу на этот язык. Мне похую на это, я использую инструмент.
> Люди на полных щах говорят что перегрузка ненужна В текущей реализации и если исходить из концепций языка не нужна. Если нужно использовать разные типы для одного метода, то бери либо дженерики, либо enum где ты явно обработаешь каждый тип, не хочешь так делать бери другой язык. Для других языков с другой философией и где это будет уместно - нужна.
>зачем нам ваши дефольные параметры Тоже самое ты либо явно указывай при вызове, либо передавай Default::default(), либо используй Option и явно обрабатывай. Не нравится, возьми другой язык.
Вообще не понимаю нохуя ты уже который тред сову на глобус натягиваешь, у каждого языка есть своя концепция и иногда они могут не пересекаться с концепциями других языков и с твоими видениями прекрасного. Ты лучше зайди в жабатред и скажи что хочешь чтобы завезли функциональщины в язык хотя замыкания завезли лол не ООП единым можно же писать! Но нет тебя проклятые оракловские фанбои пошлют в скалу на хуй
>>2794215 >Почему такой ошибки не может быть в расте? Без понятия. Ты утверждаешь — ты и обосновывай. >И продолжая, как ошибка компиляции соотносится с темой синтаксиса С++? Ты там на картинке синтаксиса С++ не видишь что-ли?
>>2794134 >Мне похую на это, я использую инструмент. Что будет когда закроют доступ crates.io? Что что, а политика и общество их больше интересуют чем инструмент.
>Если нужно использовать разные типы для одного метода Какие еще типы, ну пчел, сигнатура метода вообще может иметь не связанный типы и тем более их может быть разное число. Уже обживали эту тему и показали апишечку с методом на пол страницы из вебассембли, пускай и автогенерацией, но все же апишечку. Никак там не фиксится перегрузка, кроме как изменение имени (на самом деле компилятор в плюсах делает тоже самое, тупо приписывает к имени постфикс). Серьезно, никакой полиморфизм не заменит перегрузку, хоть может показаться схожем решением.
>Не нравится, возьми другой язык. Почему нельзя требовать в текущем? Что за догма? Или если я буду это хотеть, меня отменят? С опшенами там тоже бойлерплейт выходит, мне просто лень демонстрировать.
>иногда они могут не пересекаться с концепциями других языков и с твоими видениями прекрасного Опять же, что мешает требовать? Сейчас реально нет альтернативы плюсам, так почему не сделать альтернативу лучше? Типа я не говорю про какой-то прям сахар-сахарный, есть проверенные подходы и дефолтные параметры разрывают мозг только при наследование в ООП, что расту не грозит. То что разработчики компилятора перекладывают работу на программиста (бойлерплейт) не есть хорошо. Ведь затрахались с возвратом и добавили оператор "вопрос". Или вон гошники почти лет 10 плакали как не нужны дженерики, а потом вроде и нужны были. Я не понимаю ваш догматизм, откровенно положили болт, имхо.
>>2794228 >Без понятия. Ты утверждаешь — ты и обосновывай. Так ты предоставил это как противовес расту. Почему обертка этой либы на расте не высрет такое же чудо? Явно картинка для воробушек, мол смотрите как С++ ругается от ошибка при использование какой-то графической либы, а мы вот знаем как красиво раст рисует ошибки баран-чекера хеллоуворда!
Там ошибка приведения одного типа к другому (причем достаточно номера строки в этом случае), у раста вообще может быть портянка вложений аля "Rc<Box<Cell<Jopa::S::Ruchkoy...", поэтому я продолжу и спрошу - каким волшебством раст решает проблему сложности системы? Или ты воробушек повелся на картинку с проявлением черрипикинга?
>>2794262 Я правильно понимаю, что если ввести перегрузку, то раст магическим образом станет лучше плюсов? Такая перегрузка тебя устроит? И типы разные принимает и количество аргументов сколько угодно. Ебать проблема. >>2794276 Слушай, у тебя у самого глубина стека какая? Раскрути по номерам постов, двач в этом помогает, можно просто мышку навести. Разговор был о вменяемости синтаксиса плюсов. На картинке "вменяемый" синтаксис плюсов, который регулярно видит разработчик. Я нашёл её за 5 секунд гугления. Пример конечно утрированный. Сравнивать его с растом зачем-то ты сам начал. Если тебе интересна эта тема, ты хоть реальный пример продемонстрируй, я тоже с интересом посмотрю, потому как сам пока ещё вкатываюсь и имею нулевой опыт с растом.
>>2794262 >Что будет когда закроют доступ crates.io? Кто закроет и почему?
>Какие еще типы, ну пчел, сигнатура метода вообще может иметь не связанный типы и тем более их может быть разное число. Уже обживали эту тему и показали апишечку с методом на пол страницы из вебассембли, пускай и автогенерацией, но все же апишечку. Вот пример https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=f5d6a6a321511b6bf6e69936721caa2c Через enum можно решить описанную тобой задачу без перегрузок, смысл тут в том что один метод принимает на вход один тип и другого не дано, все должно быть явным и очевидным. Просто твои разные сигнатуры в enum, который нужно обработать в match, то есть обойти все варианты
>Никак там не фиксится перегрузка, кроме как изменение имени (на самом деле компилятор в плюсах делает тоже самое, тупо приписывает к имени постфикс). Серьезно, никакой полиморфизм не заменит перегрузку, хоть может показаться схожем решением. На сколько помню дженерик при компиляции также делает, но если хочешь похожего как в плюсах то через enum
>Опять же, что мешает требовать? Потребуй в пятерочке на кассе пересчитать по ППС, никто же не запрещает. Создай ишью или на форуме каком-нибудь и сиди конструктивно предлагай, а не занимайся на двощах троллином тупостью
>>2794299 >Я правильно понимаю, что если ввести перегрузку, то раст магическим образом станет лучше плюсов? Такая перегрузка тебя устроит? И типы разные принимает и количество аргументов сколько угодно. Ебать проблема. Он будет требовать новое и заебывать всех как старуха в пенсионном фонде
>>2794299 >Такая перегрузка тебя устроит? Собственно я еще в том треде написал:
>PS на самом деле я ждал мантру про макросы, но местные растеры настолько далеки от реального кодинга, что начали мантру про то что программисты плохие, а не язык виноват. >>2703576 Меня там местные питоно-растеры вы заху..сосили, потому что я сказал что решение через макросы, ну и там началась олимпиада по говнокоду.
>>2794416 >Через enum можно решить описанную тобой задачу без перегрузок Нельзя в том треде даже разжевал и обоссал почему, вообще только джун может начать группировать рандомные значения в енам.
>>2794417 >Он будет требовать новое и заебывать всех как старуха в пенсионном фонде Ну в самом любимом языке важна же не накрутка SO рейтинга, а нужно делать его по-настоящему любимым и удобным. С каких пор стала норма радоваться бойлерплейту.
>>2794463 Ну меня в том треде не было, извиняй. Хотя я так и не понял чем макросы плохи. >вообще только джун может начать группировать рандомные значения в енам Сеньор группирует рандомное поведение под одним именем функции, судя по всему.
>>2794468 >Нельзя Ты скозал? Это тебя уже обоссали и объяснили почему в концепцию раста это не вписывается. Не согласен тогда бери другой язык или пиздуй создай ишью чтобы тебе такое добавили в Rust, можешь сам пару коммитов отправить, не хочешь или не можешь? Ну тогда хули ты тут пытаешься на двощах свою упоротость показывать. Тем более ты сам сказал что тут одни школьники в треде.
>а нужно делать его по-настоящему любимым и удобным. Ну так бери и делай, всё в твоих руках.
>С каких пор стала норма радоваться бойлерплейту. Так ты пиши по другому, вообще меня удивляет как так с маниакальным остервенением надо требовать перегрузку которая и так-то редко употребляется и легко заменяется дженериками. Нет выше высрал какие-то абстрактные примеры без практического применения, так и пояснить не мог нахуя они тебе
>заху..сосили, потому что я сказал что решение через макросы Потому что оно не всегда к месту и макросы сложнее поддерживать особенно если всякие солевые шизы пишут, они больше нужны для кодогенерации в компайлтайме
>>2794520 >создай ишью чтобы тебе такое добавили в Rust Этот малолетний наивняк об опенсорсе.
>можешь сам пару коммитов отправить, не хочешь или не можешь? Именно так и работает, вот так просто принимается новый синтаксис в продуктовый язык, никакого rfcs нет. Ну и конечно моя идея была первой, никто до этого ничего подобного не делал.
>перегрузку >легко заменяется дженериками Снова этот цирк компетентности. Ты же топил за енамы? Там еще кто-то топил за трейты, только один додумался до макросов.
Эх, Серега, Серега. За эти года уже мог бы устроиться программистом, вместо трёпа по тредам.
>>2794520 >они больше нужны для кодогенерации в компайлтайме В фонд золотых цитат. Мало того что просто капитан-очевидность, так еще в каком-то моменте усомнился и написал "больше", лол.
>>2794543 >>2794542 Ну и? Чего сказать хотел? Пока не увижу ишью от тебя можешь ебальник свой прикрыть, ты не хочешь чего-то принести в язык, а тупо ебешь мозги на ровном месте. А как до дела дошло так и пошли детские отмазки, кококо попенсорс не попенсорс. Я и про енамы и дженерики тебе говорил выше, но ты упоротый пиздец и даже не смог привести пример где тебе это надо
>>2794542 >Серега Таблетки не принял сегодня или по вене вдарил?
В сербском есть замечательное выражение описывающее мое отношение к тебе. Jeblo te veslo koje te prevezlo
>>2794638 Я же сказал, что япу мозг фанбоям с догматическим мышлением. Вчера говорил с обычным нормальным кодером, он про раст "залил" мне как и положительные моменты, так и явно что ему не хватает или не нравится.
Это нормально восприятие, но когда ограниченный говорит, что вот отсутствие дефолтных параметров или перегрузки это даже хорошо, вот это вызывает изумление. Хотя ты все равно не поймешь.
Серега, скажи, макросы правда нужны чтобы делать кодген в компилтайме, ты уверен?
>>2794638 >В сербском есть замечательное выражение описывающее мое отношение к тебе. Ты слишком веришь в двачера, ты реально думаешь что всем не насрать и кто-то пойдет гуглить эту жопу?
В ру сегменте есть шарп сообщество на ютубе (возможно единственное, слушаю их за новости), так те упоролись и начали пилить видосы по расту, ну собственно восхищаться им (за деньги или сами "осознались", непонятно).
Так вот, они запили видос с лайв-кодингом или местным литкодом (точно не помню). И все это происходит с периодическим "методом тыка". И так забавно смотреть, как, вероятно, серьезные разработчики, тыкаются в синтаксис аля школота и при этом восхищаются этим продуктом.
Как это работает? Чем больше тебя язык ущемляет, загоняет в рамки и заставляет себя чувствовать не комфортно, тем сильнее ты его любишь и считаешь его правильным?
Не знаю как задать вопрос таким образом, чтобы никого не задеть, но почему среди rust-разработчиков так много пидорасов, шизофреников и очень странных людей, которые зачем-то свой WEB CRUD пытаются переписать на Rust?
Я сначала думал что это какой-то мем, но часто стали попадаться видео из Rust-комьюнити типа @NoBoilerplate
Сначала парень записывал видосы про Rust, а потом - про полифазный сон (вредная хуйня вроде Малахова с уринотерапией), hack your brain with Soylent, что-то про то что он современный Прометей. Теперь взял имя Трисс, заходишь в дискорд -- там требуется указать какой ты сорт пидораса (pronounce).
Смотрю других - фронтендер переписывает свой crud с node на rust, требует фронт через wasm на rust, все переписывать на rust т тд.
Почему если Rust, то обязательно проблемы с головой? Что будет с этими людьми, когда из новой волны языков для замены C/C++ определится фаворит, у которого еще и будет двунаправленная совместимость со всей кодовой базой C/C++?
Всякой функциональщине тоже пророчили светлое будущее и рассказывали про невероятные фичи.
>>2795274 С одним промахнулся. То есть получается это вся я тебе одному отвечаю? Пиздец ты поехавший, ты сам пишешь по несколько сообщений, максимально набрасывая говна на вентилятор, я тут отвечаю думая что на разные от разных людей, ты меня этими ответами еще этим попрекаешь, хотя сам так делаешь и Серегой назвал. Неудивлюсь если ты в Бердянске в море срал
> тред ушел в лимит и перекат Чтобы что? Что тебе дают перекаты или там потенциальному Сереге они дадут, за это деньги платят? Вообще поебать на этот перекат треда бамплимиты и прочую хуйню, вон соседний жабатред вообще после 1000 перекатывают и тем не менее там сидят. Ты еще скажи что из-за кармы на хабре и за лайки в инсте трясешься. Да и в целом больше всех набиваешь посты именно ты, еще и набрасывая чтобы тебе как можно больше ответили, причем срешь по 10 сообщений за раз.
>>2795306 >Почему если Rust, то обязательно проблемы с головой? Агрессивный маркетинг, привлекает соответствующую аудиторию. Как пример маркетинг на хайпе модного движения с подмешиванием раста. Все эти изменения имен констант или слов типа slave/master, это как раз фокус на хайповую движуху, добавляя сюда скандалы и драмы, впоследствии привлекая еще более обостренные умы.
Забавно, но ранний раст хайповал еще на хипстоте, отсюда отсылка название раста к лофту (см первую картинку) и к стимпанку в целом (к его ржавому "rusty" подстилю)
К сожалению, долговременный агрессивный маркетинг свидетельствует, что техническое развитие их интересует меньше всего, так как привлекает в основном шумных маргиналов, а не технически грамотных разработчиков.
>>2795306 >Всякой функциональщине тоже пророчили светлое будущее и рассказывали про невероятные фичи. ФП был неким способом самоутвердиться, особенно яркий дрочь на хаскель, но не все могли осилить это говнище, поэтому брали что по легче, пока для самых тупеньких не завезли раст.
Но стоит отметить, что реально есть люди с другим складом ума, которые вдохновляются именно этой около математической красотой. В продакшене же эта хрень малопригодна, да и бизнесу нужен продукт, а не абстрактная красота кода ради кода.
>>2795412 Ты хотел сказать время которое тратиться на компиляцию? никаким образом одна только парадигма владения не решает тот груз проблем в программирование, которые есть сейчас
>>2795317 Уеду на пару дней, пока придумай проект для менторства. А лучше найди какие-нибудь простенькие сорцы, интересно как раст читается вообще, ибо сопровождение важнее написания для меня, можешь свои, в которых шаришь
Гоу только в дискорд? Пока в дороге почитаю про хруст, освежу память.
>>2795426 Ну да, там в дискорде тел привязывать не надо (по крайней мере раньше не надо было), можешь рандомный ник запилить. Чтоб без дианонов и прочего.
Может какие ньюфаги тоже захотят залететь, ибо вся инфа на ангельском, трудновато учить системный яп на английском. А тебе чсв погонять.
>>2795423 >никаким образом одна только парадигма владения не решает тот груз проблем в программирование, которые есть сейчас
Там еще однозначность синтаксиса, за счет которой нормально работает вывод типов и ты не листаешь 15 вариантов одной функции перед тем как понять, что нужной тебе там нет.
Ну и борроу чекер реально даёт много, когда ты знаешь, что объект, который ты используешь, никто не убьет в из рандомного коллбека.
>>2795426 Зачем Дискорд? Я тебе сейчас ссылочку дам там нужно номер карты и код из смс ввести для подтверждения возраста, всё безопасно, ну что согласен?
>>2794276 Примеров нечитаемых ошибок в расте я от тебя так и не дождался. Зато случайно получил задачку на литкоде с той самой портянкой вложений. В процессе конечно же получил 100500 ошибок и каких-то страданий от их чтения не испытал.
>>2795458 >и ты не листаешь 15 вариантов одной функции перед тем как понять, что нужной тебе там нет Ну если нет перегрузки, ты теперь листаешь 15 разных функций и теперь у тебя нет образца названия по которому можно найти схожее и эти 15 функций выглядят как остальные 50.
То есть, вместо листания 15 ты стал листать все функции - 65. Офигеть победа.
>>2795898 Судя по второй картинки, первые ошибки сводятся к муву переменных. То есть борьба с языком. Офигеть, мы еще сражаемся с самим языком, до настоящих ошибок не дошли еще. И да в твоем примере была полноценная либа и вероятно продакшен код, а не эти лабы, хотя уже и в них вложенность пугает.
И что за тупость в ошибках копировать сорцах "с рисунами". Это для самых маленьких или что? Уже как 10-15 лет IDE сами подкрашивают ошибку и приводят за ручку где она случилась. С чего вдруг портянка с рисунка для даунов стала читабельнее, типа строчка кода даст мне сразу представление где она там находится в реале, бред, дальше хелловорда ненужная херня?
>>2796078 >Ну если нет перегрузки, ты теперь листаешь 15 разных функций и теперь у тебя нет образца названия по которому можно найти схожее и эти 15 функций выглядят как остальные 50. >
Нет, я использую одну функцию, которая принимает лямбду и заменяет все 15.
>>2796092 Соглы, мне тоже не нравится. В каком языке работа с обобщёнными типами лаконичнее? Хаскелл какой-нибудь, наверное. >>2796117 Да ошибок там несколько было. Забыл кеш передавать по ссылке, выбрал итераторы по значениям вместо ссылок, в кеш помещал не копию, а искомый результат. Ну и вместо map надо было в том варианте for_each использовать, вообще глупо написал. В целом ошибки были понятны если вдумчиво их прочитать, а компилятор ткнул носом. При этом несмотря на активное использование стандартной библиотеки их не распидорасило на несколько экранов, как это было бы в случае с С++ даже для "лабы". >первые ошибки сводятся к муву переменных. То есть борьба с языком. Офигеть, мы еще сражаемся с самим языком, до настоящих ошибок не дошли еще. Они там все к этому свелись. Вообще-то, от компилятора раста я именно этого рода ошибок и ждал, это же основная фича языка, не понял в чём претензия. >И что за тупость в ошибках копировать сорцах "с рисунами". На вкус и цвет. Кому-то наверное и раскрашенный разными цветами выхлоп кажется слишком детским, и что?
>>2796201 Ну эта цитата встречается везде, он прямо говорит что "кажется я назвал его поэтому" и потом он высирает там тонно говна про грибы, хотя мог назвать язык fungi или прям pucciniales, раз ему так зашло. Вон PHP тоже переобули вовремя, успешные менеджеры же (которые и убили яп).
Вторая проблема, что Грэйдон там существует вроде как номинально, он как витрина. От изначальной задумки автора там мало что осталось в проекте. Это как сейчас от создателя колеса слушать про автомобили.
Я не могу доказать что маркетологи это переиграли, но я видел проблески этой движухи и там стимпанковского rusty стиля было больше чем грибка (его вообще не было), так что я оставлю свое субъективное мнение, а объективно я не прав, раз есть какая-то вырезка irc чата, которую, кстати, никто проверить не может, но выглядит убедительно, лол.
>>2796225 Мне эти высеры в раст ошибках читаются сложнее чем построковые ошибки с номерами строк и текста ошибки. Я прям визуально чувствую как пытаюсь искать проблему в этом "рисунке" и когда нахожу я иногда не совсем понимаю где это именно это все происходит, когда же в старом стиле я просто иду по номеру "Ctrl+G" и уже вижу весь контекст кода.
Конечно, я могу и тут увидеть текст ошибки и номер строки, но вот эти рисунки в моей голове создают лишний шум, да и непонятно зачем все это, когда у тебя есть номер строки и позиция и IDE может сама подчеркнуть уже в реальном коде. Наверное есть ключ компилитора, который убирает эти рисунки, но я не искал, я пытался понять раст как обычный потребитель, как есть, а не начинать его там поднастраивать под себя
В общем, кажется предвзято, но рисунки эти нихера не круто. Понятно что зумеры шарахаются от старых ошибок, но все же это задача тулинга, а не компилятора.
>>2796444 Сильно зависит от того, что именно ты делаешь. Но да, абсолютное большинство тех, кто пишет на расте и при этом не пишет на C или крестах, даже не знает, что такое "дамп памяти".
В целом, скажу, язык я хейтил зря. Не то, что я на нем не писал и вот мой первый восторг от хелловорда. Нет, скорее я слишком многое ожидал и даже не от языка, а скорее от его развития, а точнее популяризации, ибо слежу за ним не первый год.
Понятно, что для многих важна работа и прочее. Но думаю этот язык точно надо взять себе на вооружение как основной инструмент в "домашней делах" (личной автоматизации). Он реально может занять место хорошего универсального инструмента, стоит только набить мозги. Ну а дальше он сам по себе и выстрелит, когда станет таким "карманным" средством каждого кодера.
Скажите, есть возможно настроить карго так, чтобы он складировал зависимости в проекте, чтобы можно было скопировать проект (просто папку) и собрать потом без инета? Если есть, то просто ткните куда копать или что почитать.
>>2797820 >>2797942 Вот этот вариант больше отражает мою потребность (возможность настроить вендор папку в самом проекте) https://stackoverflow.com/a/65254702 Пока не пробовал, но вроде то что нужно мне. если кому интересно