Сохранен 513
https://2ch.hk/pr/res/2655915.html
24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

RUST #25 Rust /rust/

 Аноним 29/03/23 Срд 10:43:54 #1 №2655915 
изображение.png
RUST #25

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

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

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

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

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

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

Предыдущий: >>2490347 (OP)
Аноним 29/03/23 Срд 10:47:57 #2 №2655923 
Стикер
Интересно в этом треде будут душевнобольные?
Аноним 29/03/23 Срд 13:28:52 #3 №2656104 
>>2655923
Всех мастей. У нас инклюзивный тред.
Аноним 29/03/23 Срд 19:57:06 #4 №2656605 
Растаман со стажем сравнивает с зигом.

https://matklad.github.io/2023/03/26/zig-and-rust.html

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

Раст — это обратная история, модуль на модуле и модулем погоняет, падаем от OOM и ничего не можем с этим сделать, на ёбку каждого байта нет желания или времени.
Аноним 29/03/23 Срд 23:03:04 #5 №2656740 
>>2656605
С и С++?
Аноним 30/03/23 Чтв 00:14:00 #6 №2656787 
>>2656605
>сравнивает мем и язык программирования
он не растаман, а норкоман
Аноним 30/03/23 Чтв 01:03:48 #7 №2656807 
>>2656605
Неблохо, значит самы интересные фичи перетащит в раст.
Аноним 30/03/23 Чтв 12:33:32 #8 №2657087 
image.png
>>2655923
Сами себе пишут одно и тоже трололо, чтобы тред не создавал впечатление протухшего куска говна.
Аноним 30/03/23 Чтв 13:57:00 #9 №2657165 
https://github.com/rust-lang/rust/blob/d0ea1d767925d53b2230e2ba81197821514781f0/src/tools/tidy/src/style.rs#L59

Вы нормальные?
Аноним 30/03/23 Чтв 15:43:12 #10 №2657279 
image.png
>>2657165
Какой-то неисчерпывающий список.
Можешь закоммитить ещё несколько возможных сочетаний: abadd00d, deadd00d, deadb00b, f00db00b, beefd00d и т.д.
Аноним 30/03/23 Чтв 15:43:41 #11 №2657281 
Нахуя пидораст?
Аноним 30/03/23 Чтв 15:45:23 #12 №2657284 
>>2657165
Политкорректные
Аноним 30/03/23 Чтв 15:46:51 #13 №2657286 
>>2657279
И еще 3735928559 deadbeef
Аноним 31/03/23 Птн 11:35:36 #14 №2658035 
>>2657165
Нормальные люди не хотят всяких петухов и баребухов в открытом доступе от лица компании.
Аноним 31/03/23 Птн 12:00:21 #15 №2658052 
Не для троллинга вопрос - какие перспективы у Раст на данный момент?
То, что про него кричат изо всех программерски щелей уже лет 7 подряд - это толком ему не помогло
а вот по более материальным вещам:
1) Вроде как использование в компаниях увеличивается, судя по всяким ресурсам, например https://github.com/omarabid/rust-companies
2) Добавили в ядро Линухи (сейчас насколько я помню только по плагинам? но тем не менее)
3) Появились фреймворки для веба, но честно говоря, чот это прям остается нишево, хоть сколько-нибудь значимой доли пока не видно
4) геймдев как и веб - вроде есть что-то, вроде развивается, но относительно доли плюсов и шарпа, на расте похоже пишут условно также частно как на JSе

по тому что я читал и слышал - пока что Раст больше занимает область C, вытесняя его в ряде задач

поправьте, где я не прав и какие у вас мысли?
Аноним 31/03/23 Птн 12:18:05 #16 №2658061 
>>2658052
По такой логике все должны веб делать исключительно на пхп. Я долго на это вёлся, потом перекатился на другие языки, и ни о чём не жалею. Работы хватит всем, и на расте, и на сишке, и на плюсах, и на шарпе. Долгосрочно раст интереснее, всё-таки он даёт фундаментальные преимущества.
Аноним 31/03/23 Птн 12:33:48 #17 №2658080 
>>2658061
>Работы хватит всем
GPT входит в чат
Аноним 31/03/23 Птн 12:40:12 #18 №2658091 
>>2658061
Не понял, ты с пыха на раст ушел работать? Это вне РФ?
Аноним 31/03/23 Птн 14:05:14 #19 №2658206 
>>2657279
Пиздануться просто, уже шестнадцатиричными цифрами научились оскорбляться. Надо им предложить еще последовательности нулей и единиц в константах интерпретировать через морзянку - ух, сколько там оскорблений можно найти!
Аноним 31/03/23 Птн 14:19:06 #20 №2658222 
>>2658052
>какие у вас мысли
Раст постепенно движется во всякие safety-critical области - там где царят MISRA C/C++ и Ada. Сейчас идут какие-то подвижки по сертификации Ferrocene (тулсет на расте).

Переписывание каких-то требовательных к производительности частей других платформ на расте - pgx для postgres (см postgres-ml например), PyO3 для пейтона (polars). Раньше всё это делалось на сях и плюсах, но было несколько мозгоёбнее из-за фрагментации тулинга (делать что-то кросс-платформенное и дистрибутиво-независимое без одного пакетного менеджера - то ещё развлечение), а у раста есть удобный cargo.

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

Много всякого на расте написано для web assembly, но я этой темой не сильно интересуюсь.
Аноним 31/03/23 Птн 15:41:40 #21 №2658313 
>>2658222
>там где царят MISRA C/C++ и Ada
Пока нет стандарта языка, все это как умножение на ноль.
Аноним 31/03/23 Птн 15:56:03 #22 №2658338 
Screenshot2023-03-31-15-55-00-766com.android.chrome.png
>>2658313
В процессе
Аноним 31/03/23 Птн 17:24:48 #23 №2658490 
>>2658206
>морзянку
Ну зачем так далеко ходить, можно начать с того же юникода. Позапрещать непотребные &str-константы.
Аноним 01/04/23 Суб 09:02:01 #24 №2659030 
>>2657279
>>2657165
А что этот список делает-то? В коде нельзя что-ли будет константу такую объявить?
Аноним 01/04/23 Суб 10:13:00 #25 №2659055 
image.png
>>2659030
Скорее варнинг со стилистической рекомендацией.
Аноним 01/04/23 Суб 10:19:43 #26 №2659064 
>>2659030
В самом коде компилятора нельзя будет deedbeef, b00bie3 итд. https://github.com/rust-lang/rust/pull/92469
Аноним 01/04/23 Суб 19:01:17 #27 №2659567 
Объясните JS-макаке - зачем нужны enum'ы, особенно с кортежными значениями
типа всегда, чтобы получить какой-то эффект надо всегда сравнивать enum c enum'ом?

пример:

enum Example {
North,
Greet(String),
Ip(u32,u32,u32,u32)
}

и чтобы получить результат мне например надо

let matchStr = Example::Greet("Hello".to_string())

match matchStr {
Example::Greet(_) => // result
}

но тогда Example::Greet(_) будет всегда срабатывать
но как я понимаю я не могу делать вещи типа
if matchStr == "Hello"
для сравнения

и я не понимаю, как в итоге использовать, такие enum'ы, что строковый, что картежный, чтобы сравнивать данные с другими, или могу ли я получить из картежного enum'а первое значение?
Аноним 01/04/23 Суб 19:26:12 #28 №2659604 
>>2659567
> Объясните JS-макаке - зачем нужны enum'ы, особенно с кортежными значениями
Для написания конечных автоматов по любому поводу. Конечный автомат — это вершина программирования. Там рассмотрены все случаи, учтены все ситуации, и ничего не может случиться неожиданно.
Аноним 01/04/23 Суб 19:31:09 #29 №2659620 
>>2659567
Всё можно. В растбуке много примеров
https://doc.rust-lang.org/book/ch18-03-pattern-syntax.html

Для матчинга строк нужно немного поприседать
https://stackoverflow.com/questions/25383488/how-to-match-a-string-against-string-literals

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

В каждой ветке матча можно дописать произвольное выражение с if.
Аноним 01/04/23 Суб 19:33:52 #30 №2659629 
>>2659567
>let matchStr = Example::Greet("Hello".to_string())
>
>match matchStr {
>Example::Greet(_) => // result
>}
>но тогда Example::Greet(_) будет всегда срабатывать
Естественно он у тебя будет всегда срабатывать, ты только его одного и зпрограммировал. Они для случая, когда ты не знаешь заранее North, Greet() или Ip() у тебя будет.
Аноним 01/04/23 Суб 19:34:40 #31 №2659631 
>>2659567
Что касается enum и зачем они нужны. В расте отказались от null и исключений. Везде, где что-то может пойти не так, ты это видишь в типе возвращаемого значения. Это теперь не скрыто где-то глубоко и не выстреливает внезапно на проде. Никаких больше undefined is not a function и необработанных эксепшенов. Хотя все пишут не думая unwrap, но этим ты как бы явно соглашаешься крешнуть программу.
Аноним 01/04/23 Суб 20:05:39 #32 №2659699 
>>2659604
>>2659620
>>2659629
>>2659631
примерно понятно, спасибо всем
Аноним 02/04/23 Вск 15:25:08 #33 №2660552 
image.png
Помогите, почему у меня
https://docs.rs/embedded-sdmmc/latest/src/embedded_sdmmc/sdmmc.rs.html#173-268
не работает, а
https://github.com/arduino-libraries/SD/blob/master/src/utility/Sd2Card.cpp#L257
отрабатывает нормально. Как фиксить?
Плата китайский клон ардуино нано, модуль сд какой-то стандартный, как на картинках в интернете.
Аноним 03/04/23 Пнд 19:23:34 #34 №2661973 
>>2660552
хз, подробней опиши проблему
Аноним 03/04/23 Пнд 21:06:33 #35 №2662058 
>>2661973
Ну а что я могу написать?
Если просто пытаюсь применить библиотеку, то просто возвращает Error::CardNotFound

Если делаю руками, пишу в spi 0xFF 10 раз, пишу 0x00 0x00 0x00 0x00 0x00 0x95, то получаю бесконечный 0xFF в ответ.

Хз, что я ещё могу сделать, и так уже для второго пришлось библиотеку патчить, потому что нана ни defmt, ни тем более стандартный fmt не потянет.
Аноним 04/04/23 Втр 01:58:34 #36 №2662206 
Ребят, привет. Я питонодебил синиор, в питон вкатился из жавы лет шесть назад, на жаве года полтора просидел. Потыкал этот ваш раст, понравилось, думаю из гвидопыха перекатываться. Какие техи у вас котируются в вебдёве и при этом не говно? Что на интервью любят спрашивать? Как нынче ситуация с работкой ваще?
Аноним 04/04/23 Втр 14:04:15 #37 №2662475 
>>2662206
> в вебдёве и при этом не говно?
В основном actix https://actix.rs/ для клепания микросервисов ну есть и прочее говно для джейсономешалок, но в большинстве случаев годным и работоспособным будет actix. Из популярных есть еще зумерский rocket, но там скорее для бета тестеров, как только тебе что-то нужно больше чем крудошлепство начинается боль, а так красивое и лаконичное.
Для БД https://crates.io/crates/sqlx и https://diesel.rs/ sqlx больше подходит для написания запросов руками, дизель это типа ORM.

И де-факто стандарт библиотек, который у нас в каждом проекте:
для ковыряния json serde на самом деле умеет больше, но чаще используется для преобразования json в структуры с ним работает много библиотек типа chrono, uuid, url и тп
для асинхронности tokio и futures
для работы с датами и временем chrono
и всякие мелочи типа dotenv, log, itertools, rand тоже в каждом проекте
Есть прочее говно redis, rabbitmq, mongo и graphql тут как бы всё стандартно и по задачам.

>Что на интервью любят спрашивать?
В душе не ебу. У меня получился разговор в телеге мол сможешь эту хуйню сделать на расте, ну я накидал чисто из спортивного интереса там надо было хитрым образом из sdt читать выхлоп у запущенного из-под раста процесса, потом уже даже вдвоем код дорабатывали. Как всё заработало "О заебись, давай к нам". Какая спецолимпиада у корпоротивных корпораций в душе не ебу, но мне чаще попадаются небольшие конторы, где обычно собесы проходят в разы проще.

>Как нынче ситуация с работкой ваще?
Работы не много, по сравнению с тем же пистоном или жабой, но большинство мест с хорошей зарплатой. Большая часть вакансий всякая крипта и бекенд, иногда встречается байтоебство с железом, но опять же для пионера-юниора с улицы нихуя нет, обычно приходят те кто перекатывается из других языков. Если у тебя опыт о котором ты писал не из резюме, а настоящий, то вполне можешь куда-нибудь вкатиться. Сам сейчас бекенд пилю, иногда с эфиром дружу, перекатился из руби имея за плечами пару лет опыта.
Аноним 04/04/23 Втр 17:27:33 #38 №2662643 
>>2662475
Даже аксум не упомянул. А ты точно шаришь?
Аноним 04/04/23 Втр 17:32:00 #39 №2662645 
>>2662475
Чаю, анон, хорошо расписал, для старта хватит. Посру в опенсорс какой для резюмехи да для скиллухи и пошуршу, авось чего-нибудь найду. Я со своим гвидопыхом по-моему упёрся в относительный потолок зряплатный (300к рублёв в USDT из шкуры вон не вылезая), да и язык уже заебать успел, честно говоря. Как раз щас около крипты и варюсь, авось смогу даже по блату пролететь, лмао.

>Если у тебя опыт о котором ты писал не из резюме, а настоящий
Скорее даже настоящего побольше, в код ебусь лет 12, это именно профессионального.
Аноним 04/04/23 Втр 17:42:45 #40 №2662653 
>>2662643
>Даже аксум не упомянул
Мы его как-то попробовали и в первый же день отказались, только уже не помню почему, чего-то было не реализовано из коробки и пришлось руками писать каждый раз
Аноним 05/04/23 Срд 11:45:26 #41 №2663254 
1648003668956.png
>>2662653
Ну как минимум популярнее актикса и на порядок больше загрузок чем у рокета. Для бд еще есть sea-orm, tokio-postgres (аксум кстати от разрабов токио).

Но вообще веб имеет совать или чтобы побаловаться, или какой-то оче хитрый веб (ну как тот же дискорд всё переписывает что-то), или мб просто какую-то отдельную хероту отдельно вывести где оче хайлоад. Как замена рельсам/вп/джанге/микрофреймворкам любым такое себе.
Аноним 05/04/23 Срд 13:12:28 #42 №2663315 
>>2663254
>Ну как минимум популярнее актикса и на порядок больше загрузок чем у рокета.
Мне похуй на популярность и вообще это не показатель, он может быть много где в зависимостях. Мне важно чтобы всё работало из коробки и было удобно поддерживать, в этом плане у actix проблем вообще не было. Это как сравнивать hyper и reqwest, у hyper загрузок больше по причине того что он много где в зависимостях, но если ты хочешь скачать json откуда-то тебе надо написать с десяток строчек, с reqwest ты это реализуешь написав в одну строчку, а если надо запрос через прокси сделать, то история с hyper становится веселее. То есть hyper удобно для использования внутри библиотек где нужны оптимизации и байтоебля, но неудобно использовать в продакшене где тебе нужно просто отправлять запросы и парсить json. Так же и тут у actix уровень абстракций выше с ним удобнее работать.

>sea-orm
Извращение какое-то поверх sqlx, даже глядя на пример из readme понимаешь что проще руками написать sql запрос и еще ide не всегда может сообразить что за говнокод там создается макросами, в итоге печатаешь как в виме. Для вчерашних битриксоидов пойдет Сравни это говно с дизелем и все станет понятно, я вообще удивлен почему оно взлетело и кто этим в здравом уме пользуется.

> Как замена рельсам/вп/джанге/микрофреймворкам любым такое себе.
Никто не заменяет рельсы, скорее область применения такая же как у go. У нас много парсинга и обращений к сторонним апи, блокчейну эфира и все это асинхронно плюс постоянно пишет в БД, всякие скриптовые языки при таком режиме работы по памяти утекают, собственно часть софта переписали с node.js по этой причине.
Аноним 06/04/23 Чтв 21:29:13 #43 №2664571 
image
Смотрю пример и не понимаю, почему он работает, а мой вариант (пикрил) нет. Объясните плз
Пример: https://github.com/tokio-rs/tokio/blob/master/examples/proxy.rs
Аноним 06/04/23 Чтв 21:35:06 #44 №2664580 
>>2664571
а ещё в примере почему-то shutdown вызывается только если всё ок, а в случае ошибки нет, тоже непонятен этот момент
Аноним 06/04/23 Чтв 22:07:05 #45 №2664608 
>>2664580
>а ещё в примере почему-то shutdown вызывается только если всё ок,
Закончили — закрыли стрим

>мой вариант (пикрил) нет
Ты закончил и не закрыл

>а в случае ошибки нет
Всё сломалось, ничего не закрыть.
Аноним 06/04/23 Чтв 22:09:43 #46 №2664609 
>>2659631
>Везде, где что-то может пойти не так, ты это видишь в типе возвращаемого значения. Это теперь не скрыто где-то глубоко и не выстреливает внезапно на проде.

Уже проходили много лет назад, но выросло свежее поколение и пошло по тем же граблям.
На практике получая ошибку тут и сейчас человек/функция не всегда знает что с ней делать и по факту получается заглушение проблемы путем маневров с операторами ветвления (if...else, match, идт). И снова выходи программисты плохие, а язык хороший. Хотя в реальности проигнорировав проблему, слой выше по стеку отловил бы её и залогировал проблему, если такая в динамической среде случилась (а иногда даже по еирархии вложение программа может решить проблему, например продолжить работу и дать, скажем, страничку с 404/5xx, если речь про веб).

В итоге исключения это этап эволюции разработки, ценой производительности. Но текущие программисты уже не могут осилить это древнее умение и новые яп появляются с костылями 70х годов (обработку ошибок операторами ветвления) и статьями, как исключение ненужно.
Аноним 06/04/23 Чтв 22:13:24 #47 №2664613 
>>2664609
>Хотя в реальности проигнорировав проблему, слой выше по стеку отловил бы её и залогировал проблему, если такая в динамической среде случилась (а иногда даже по еирархии вложение программа может решить проблему, например продолжить работу и дать, скажем, страничку с 404/5xx, если речь про веб).
Так прокинь её выше.
Аноним 06/04/23 Чтв 23:07:22 #48 №2664648 
>>2664613
Кто-то сказал Голенг?
Аноним 06/04/23 Чтв 23:10:10 #49 №2664651 
>>2664648
Как и раст (поменьше бойлерплейта в коде, побольше в сигнатурах)
Аноним 07/04/23 Птн 00:58:59 #50 №2664697 
>>2664571
Кажется понял. В примере оба таска выполняются в одном треде и таким образом они поочередно используют incoming/outgoing переменные. Если вызвать spawn, они могут выполниться в разных тредах и тогда будет гонка + непонятно какое время жизни у объекта. Тип без арка+мютекса тут не обойтись, или как..
Аноним 07/04/23 Птн 01:04:25 #51 №2664698 
хотя каждый поток будет использовать свою половину, нахуя мне лочить весь объект
Аноним 07/04/23 Птн 10:53:00 #52 №2664770 
изображение.png
>>2664648
Тоже сравнил, тут не нужно писать if err != nil на каждый чих, достаточно написать знак вопроса чтобы пробросить выше, а если взять anyhow, то это можно делать вообще не задумываясь о типе ошибки. По сути выглядит почти как исключения только для проброса ставишь знак вопроса, но при этом с явной обработкой как в go
Аноним 07/04/23 Птн 11:25:26 #53 №2664778 
>>2664770
>По сути выглядит почти как исключения
Сделали сахарок для бойлерплейта и радуются что у них лучше тоже самое что и в гошке.

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

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

Приятно видеть, когда новое поколение проходит тем же путем что и 40 лет назад.
Аноним 07/04/23 Птн 12:50:39 #54 №2664887 
>>2664778
В anyhow есть context, передавай туда что нужно, чтобы понять че происходило в случае ошибки.
Да и ты скорее не про сложные с точки зрения поставленной задачи приложения пишешь, а про легаси говнокод, который собрал в себе все возможные антипатерны за годы "развития", не покрыт тестами и т.д.
Аноним 07/04/23 Птн 12:58:57 #55 №2664902 
>>2664778
Разумеется если ты после js руки не мыл и пишешь код с таким же подходом как там, то будешь абсолютно всё наверх пробрасывать знаком вопроса и потом страдать в поисках где что упало. После этого ныть и размазывать сопли на двощах.

>высрать тебе стэк
Мне не надо высирать стек, мне нужно знать в каком месте оно может упасть и это место обработать чтобы не крякнуло в неизвестном месте в неожиданный момент. Там где не нужно это обрабатывать пробрасываешь наверх знаком вопроса.
Разные подходы просто в той же жабе ты всё оборачиваешь в try catch наверху ждешь чуда и читаешь родословные классов логах, а тут ты всегда обрабатываешь ошибку и пробрасываешь её наверх если конкретно в этом месте не нужно обрабатывать. Когда у тебя все ошибки на виду ты немного по-другому начинаешь их обрабатывать даже с точки зрения бизнеслогики, а когда тебе в самом верху нужно обернуть в try catch и похуй что там происходит ты некоторые ошибки просто не видишь.
Аноним 07/04/23 Птн 13:01:31 #56 №2664906 
>>2664778
>>2664887
>В anyhow есть context
Кстати да можно его использовать, если совсем привык к исключениям и без них жить не можешь
Аноним 07/04/23 Птн 15:36:41 #57 №2665099 
image
>>2664571
Решением оказалась функция into_split, вместо split
Аноним 08/04/23 Суб 00:38:14 #58 №2665689 
>>2664902
>Мне не надо высирать стек
>мне нужно знать в каком месте оно может упасть
Стектрейс нужен чтобы локализовать место ошибки, но ему он ненужен.
Тут вообще реальные программисты есть?
Аноним 08/04/23 Суб 01:34:14 #59 №2665705 
>>2665689
И? Ты без стектрейса никак не узнаешь где упадет? Не сможешь в лог написать так чтобы было сразу всё понятно? Нужно обязательно высрать всю родословную всех вызовов чтобы что-то понять, а иначе ты не настоящий программист. Ты хоть раз видел стектрейс в каком нибудь спринге? Ну насрет тебе содержимым фреймворка где в середине этого говна будет нужный тебе класс и метод с NullPointerException, так станешь настоящим программистом лол.
Аноним 09/04/23 Вск 11:30:26 #60 №2666985 
>>2663315
> >sea-orm
> Извращение какое-то поверх sqlx, даже глядя на пример из readme понимаешь что проще руками написать sql запрос и еще ide не всегда может сообразить что за говнокод там создается макросами, в итоге печатаешь как в виме. Для вчерашних битриксоидов пойдет Сравни это говно с дизелем и все станет понятно, я вообще удивлен почему оно взлетело и кто этим в здравом уме пользуется.

Очень удобный micro-ORM, ХЗ чего тебе с него подгорело. Diesel - это какой-то дичайший оверинжиниринг со своим тулчейном, миграциями и прочей хуетой кто этим всем вообще пользуется?, тогда как с sea-orm надо лишь немного почесать репу и оно заработает. Я посмотрел на дизелевский хэлловорлд из кучи нетривиальных шагов и закрыл его нахуй, юзаю sea-orm и в ус не дую.
Аноним 09/04/23 Вск 11:44:05 #61 №2666990 
Какие нынче RPC котируются для Rust? Накопал следующие:

- Tonic
- Cap'n'proto
- Prost-simple-rpc
- Tarpc

Чисто по юзабилити мне больше всех понравился prost-simple-rpc, но он, походу, давно умер и современными версиями компилятора даже не собирается уже (нужно 2018 редакцию выставлять), а самому поддерживать неохота. Ну и поиск по гитхабу показал ровно 1 проект, в котором он используется, причём от того же самого автора.

Cap'n'proto при прочтении документации произвёл приятное впечатление, но при попытке копнуть глубже вызвал неконтролируемые рвотные позывы - слишком дохера кривокостыльного кода приходится писать, да и логика работы какая-то наркоманская. Когда твой код выглядит как pry!(pry!(pry!(request.get()).make_response()).init_response().get_message()).get().get_field()).set_field("nigger") просто чтобы установить значение поля - ну как-то это не очень.

Tonic чисто по использованию очень приятен и прост, единственный нюанс - в накладных расходах. Я так понимаю, они там довольно немаленькие. Ну и тянет он за собой 150+ зависимостей...

Tarpc пока не успел попробовать, но вроде выглядит неплохо. Хотя там нет IDL, что в целом скорее минус.

Может есть ещё какие-то библиотеки, которые я пропустил?
Аноним 09/04/23 Вск 21:05:52 #62 №2667591 
Вот эти махинации RF не приведут к тому, что раст только начинает раскрывать крылья нормально, а кор команда внезапно решила проебать все полимеры и оттолкнуть от себя сообщество и конторы?
Аноним 09/04/23 Вск 21:54:40 #63 №2667628 
>>2667591
> махинации RF
??
Аноним 09/04/23 Вск 22:00:39 #64 №2667632 
>>2667628
Rust Foundation
Аноним 09/04/23 Вск 22:02:21 #65 №2667635 
>>2667632
Это я понял, а чего там такого мутят то?
Аноним 09/04/23 Вск 22:04:49 #66 №2667640 
>>2667591
Кор тим это разве не пидорасы-манагеры из мозилы, которые себе премии выписывают? Мне казалось я пару лет назад с ними какой-то зашквар уже слышал. Про то, что челик какую-то бабу через знакомство закинул и она на говно исходить начала.
Аноним 09/04/23 Вск 22:14:01 #67 №2667646 
>>2667635
всякие приколы с трейдмаркой и прочим
вот ссылка на док
https://docs.google.com/forms/d/e/1FAIpQLSdaM4pdWFsLJ8GHIUFIhepuq0lfTg_b0mJ-hvwPdHa4UTRaAg/viewform

>>2667640
вполне похоже, но я как понимаю там не только мозилла а еще и часть других компаний - типа мелкомягких и других
Аноним 10/04/23 Пнд 18:55:01 #68 №2668330 
https://www.youtube.com/watch?v=2oh7MoEvJ88

Гы
Аноним 11/04/23 Втр 13:33:57 #69 №2668907 
>>2668330
У этого клоуна утечки памяти и тормознутость jsa компенсируются ЛЯМБДОЙ, сука, ну просто наплодили миллиард короткоживущих функций, горизонтал скэйлинг у крутых продвинутых челов🙂🙂🙂
Аноним 13/04/23 Чтв 21:40:04 #70 №2671572 
пора признать что плюсы просто лучше чем раст :(
Аноним 13/04/23 Чтв 21:56:36 #71 №2671587 
>>2671572
подожди до понедельника
Аноним 14/04/23 Птн 03:41:59 #72 №2671746 
Фонд Rust был основан в 2021 году как автономная некоммерческая организация, созданная усилиями AWS, Microsoft, Google, Mozilla и Huawei; ему были переданы все торговые марки и активы инфраструктуры языка программирования Rust, разрабатываемого Mozilla с 2015 года.

Краткая сводка по новой политике товарных знаков:

При сомнениях в соблюдении новой политики разработчикам рекомендуется использовать сокращение RS вместо Rust для обозначения того, что проект основан на Rust, совместим с Rust и имеет отношение к Rust. Например, crate-пакеты рекомендовано именовать "имя-rs" вместо "rust-имя".
Продажа товаров - без прямого одобрения использование имени и логотипа Rust запрещено для продажи или рекламы товаров с целью получения выгоды. Например, запрещено продажа наклеек с логотипом Rust для получения личной выгоды.
Демонстрация поддержки проекта - осуществление поддержки на персональном сайте или в блоге с использованием имени и логотипа Rust разрешено только при учёте всех требований, указанных в новой политике.
Имя Rust разрешено использовать в заголовках статей, книг и обучающих материалов, при явном указании, что проект Rust и организация Rust Foundation не вовлечены в создание и рецензирование содержимого.
Использование имени и логотипа Rust запрещено в качестве средств персонализации в корпоративных социальных сетях.
Использование логотипа Rust запрещено при какой-либо модификации самого логотипа помимо 'масштабирования'; в будущем организация будет самостоятельно публиковать новые версии логотипа с учётом текущих общественных движений (таких, как LGBTQIA+ Pride Month, Black Lives Matter и т.д.)
'Ferris' (краб, талисман проекта) не принадлежит организации и организация не в праве ограничивать в использовании данного товарного знака.
На конференциях и мероприятиях, связанных с языком Rust и другими продуктами организации, должно быть запрещено ношение огнестрельного оружия, должны учитываться местные санитарные ограничения и использоваться ясные нормы поведения (robust CoC).

Е.АЛО ПРЕДСТАВИЛИ?
Хорошо, что это говно уже сейчас всплывает, а не потом, когда на этот вендорлок дохрена софта подсядет.
Аноним 14/04/23 Птн 05:25:39 #73 №2671753 
>>2666990
Зачем искать непонятную хуйню, если есть реббит/грпц? На реальных проектах никто не использует никому неизвестный рпц от васяна
Аноним 14/04/23 Птн 07:52:08 #74 №2671776 
>>2671746
Это норма, go, swift итд затрейдмарканы, даже ллвм и линукс. С/С++ наверное из-за древности как-то без этого обошлись, но может и тоже есть какие-то нюансы.
Аноним 14/04/23 Птн 10:08:01 #75 №2671837 
>>2671776
но эти совсем ебнутую политику выкатили
Аноним 14/04/23 Птн 11:40:03 #76 №2671883 
>>2671753
зато на некоторых реальных проектах велосипедят свои рпцы, очереди, скедулеры базы данных слава богу не встречал и тд, что с учётом того что это не главное направление даёт результат уровня васянов, если не хуже
Аноним 14/04/23 Птн 11:51:43 #77 №2671897 
>>2671776
>Это норма
Это залупа.

>go
Телеметрия прямиком в компиляторе

>swift
Не язык общего назначения
Аноним 14/04/23 Птн 12:14:34 #78 №2671923 
>>2671897
Продолжай про ллвм и линукс.
Аноним 14/04/23 Птн 12:36:07 #79 №2671946 
image.png
image.png
>>2671923
>линукс.
Политизированная корпоративная залупа.

>ллвм
Корпоративный копромпилятор, который может насрать в штаны своими охуительными оптимизациями под охуительные блеяния про "следование стандарту" (в ГЦЦ такой хуйни нет, если что)(см. пикрилы)
Аноним 14/04/23 Птн 15:35:53 #80 №2672099 
>>2671946
>пик
Погоди, это реально?
По каким ключевым словам можно почитать про такие охуительные оптимизации?
Аноним 14/04/23 Птн 16:35:18 #81 №2672182 
>>2672099
>По каким ключевым словам можно почитать про такие охуительные оптимизации?
https://github.com/llvm/llvm-project/issues/60622
Аноним 14/04/23 Птн 17:50:49 #82 №2672290 
>>2671946
И как спокойно спать, зная что такая хуйня существует?
Аноним 15/04/23 Суб 10:08:43 #83 №2672754 
>>2656807
Делаю себе либу, и вот захотелось чтобы она прям для встроек могла работать.
Суть в чем - как мне в либу принять от Сишного кода аллокатор (думал передавать структуру с указателями на функции аллоцирования и освобождения памяти) и привести его к GlobalAlloc, чтобы не таскать его повсюду? Также нужно i/o, поэтому надо сишные функции ака read/write превратить в Rust-овские impl Read Write.
Нашел пока какие-то ну максимально простые примеры, которые в моем случае вообще не помогают.
Аноним 16/04/23 Вск 15:28:01 #84 №2673782 
image.png
>>2671946
>в ГЦЦ такой хуйни нет
ну по ссылку что ты выше дал такое можно сделать
Аноним 16/04/23 Вск 16:10:04 #85 №2673814 
>>2655915 (OP)
Посоветуйте, пожалуйста, книгу/ютуб по программированию с примерами Раста. Не книгу по Расту, а книгу по программированию, если такая есть.
Аноним 16/04/23 Вск 19:12:33 #86 №2674005 
В общем. Смотрите. Я сишник с большим стажем. Работаю на заводе.
Ну так вот. Наш главный - сошел с ума. Хочет жаву впихнуть в девайсы. Я про это плакался уже в другом треде. Но не суть.
Я че думаю. Думаю подсунуть ему раст. Под предлогом того, что он типа безопасный и все дела, но быстрый как си.
Никто тута на расте работать не умеет.
Вопросы следующие. Насколько это будет правдой? Нижняя граница железяк - это всякие STM32 c Armv7.

Так-то код на си - всем подходит, но типа молодежь не заманишь, а дедов - мало осталось, деды убегают в финтехи всякие. И в результате - поддерживать уже почти некому, а нужно не только поддерживать, но и развивать.
Жава - ну СИЛЬНО плохо показывает себя.
Я думал раст, как модная-молодежная замена сей, чтобы зумеров приманить. Но чет не знаю. Сам я в расте не силен, только видел всякие сравнения и по графикам - производительность вроде близкая к си, уверен, что это пиздеж, но надеюсь, что не такой сильный.
Собственно - да. Расскажите че да как. Не хочу вдаваться в подробности, но коротко - железки это всякие контроллеры для шкафов заводских. Текущий стек - это си+луа+на пхп веб+vue - чтобы рисовать морду. Думаю си как раз заменить на раст, а луа на питон, мож зумерам интереснее будет.
Аноним 16/04/23 Вск 19:37:58 #87 №2674039 
>>2674005
В чем смысл перехода на джаву, чем он это мотивирует?
Теоретически вместо джавы можно подсунуть ему любой компилируемый язык, да тот же С++ наконец.
Аноним 16/04/23 Вск 19:51:53 #88 №2674050 
>>2674039
Мотвивирует тем, что у нас 150 прикладных программиста на джаве. А встройщиков на си осталось 10 человек, и второй год не можем даже мидла найти нормального.
Аноним 16/04/23 Вск 20:10:32 #89 №2674056 
>>2674050
Ну видимо просто платите мало.
При таком раскладе на расте кодеров не сильно больше у вас будет, так что фиг знает. Возможно ваш главный даже прав т.к. на джаве много легаси и джава кодеры должны быть более умерены в своих запросах чем хипстеры на расте.
Тем более что
>150 прикладных программиста на джаве
А так выбор языков невелик: Java. С++, Rust или Go.
Аноним 16/04/23 Вск 20:20:41 #90 №2674058 
>>2674056
Та не то чтобы мало.
Просто была неприятная история, которая репутацию подпортила.
Коротко суть - в древние времена было такое развлечение у дедов: раз в квартал - выбирали 1-2 самых низкорезультативных, и МЯГКО намекали им съебывать нахуй.
Проблема была ессно в том, что т.к. мы все люди - частоы случалось так, что выбор не всегда был честным, типа кто в хороших отношениях с людьми повыше - не рисковал и мог проебываться.
Ну. Часть людей это заебло - они съебались в закат, прихватив с собой тех кому тоже это не нравилось. Стали конкурентами. Причем успешно.
Ну. А люди снаружи организации - прознали и репутация так же была убита. Студентота - перестала активно идти сюда работать.
Я - пришел позже. Когда я пришел - я про все это дело - только со слов дедов узнал.
Ну. Так вот. Среди местных - хуй найдешь тех кто готов был бы сюда идти и при этом годный.
Годы шли. Деды - постепенно то в финтех сбегали, то еще куда-нибудь. В итоге имеем, что по сути - у нас сейчас даже на поддержку существующего - не очень хватает людей.
Но блядь. ДЖАВА на встройках. Ну блядь. Ну серьезно.
Аноним 16/04/23 Вск 20:23:38 #91 №2674064 
>>2674050
>встройщиков на си осталось 10 человек

>Переходишь на раст
>Увольняешь последних 10 сишных кодеров

Отличный план. Надежный блять как швейцарские часы.
Аноним 16/04/23 Вск 20:30:34 #92 №2674078 
>>2674064
Ну а как ты предлагаешь?
Люди просто не идут сюда. Аутсорсить - да. Но на постоянку - нет.
Аноним 16/04/23 Вск 21:18:27 #93 №2674100 
>>2674058
Кулстори, бро.
Не понимаю только каким образом при таком раскладе вам должен помочь раст. Он магически исправит вам репутацию и все побегут подавать резюме? А может проще на hh поискать сишных кодеров?
Ну а так раст подходит под ваши задачи конечно, но непонятно кто будет переписывать весь софт с Си на Раст.
Аноним 16/04/23 Вск 21:23:44 #94 №2674106 
>>2674100
Он должен создать имидж модного-молодежного коллектива с интересным стеком и задачами.
Переписывать будем частями.
Со стороны - никто не хочет переезжать к нам, люди из других регионов хотят на удаленку. А принципиальная позиция владельца бизнеса - никакой удаленки.
Аноним 16/04/23 Вск 22:14:40 #95 №2674162 
>>2674005
А это вообще реально?
Ну запихнуть на микроконтроллер жаба вм чтобы ещё место и мощности под программу остались?
Если да и жаба позволяет байтоебить на уровне С, то почему нет? Взять джависта, анально (но с вазелином) показать ему прогу и сказать "придумай как переписать на жабу".

Да, это будет ебануто, но раз ты говоришь что 10 сишников и куча джавистов, то почему нет?


С другой стороны наверное ещё проще обучить джавистов писать код под МК.
Аноним 16/04/23 Вск 22:36:14 #96 №2674181 
>>2674005
>>2674162
Забыл добавить, что смотрел чё там на расте с armv7 (отправлял данные по UART и потом на SPI дисплей), вроде работало и на том спасибо.
Аноним 16/04/23 Вск 23:31:40 #97 №2674234 
>>2674005
>всякие STM32 c Armv7
Ну насколько можно судить по табличкам с оф сайта, поддержка 32 arm 7 - это Tier 2-3 для разработчиков раста, т.е. они не гарантируют тебе там беспроблемной сборки твоего кода под эти архитектуры. Tier 1 это только arm64 по понятным причинам. Хз насколько в реальности будут серьезны твои проблемы, но скорее всего попердолиться придется знатно.
Аноним 17/04/23 Пнд 11:29:51 #98 №2674457 
>>2674100
два плюса господину
вам начальство либо привести в чувства надо, либо вообще новое
потому что пока вы выглядите как Rust Foundation - продолжаете отстреливать себе ноги, но при этом хотите, чтобы смотрели на это и восторженно злопали
Аноним 17/04/23 Пнд 11:44:31 #99 №2674462 
>>2674162
>А это вообще реально?
Java ME
Аноним 17/04/23 Пнд 23:31:07 #100 №2675012 
1538636583734.png
>>2655915 (OP)
господи какой же Кладов няшка я каждый раз когда смотрю его лекции представляю как он после лекции вернется к себе домой наденет чулочки и начнет программировать :3
Аноним 18/04/23 Втр 02:54:50 #101 №2675062 
>>2674162
Нахуй жабу, шарп пизже. Есть нано для эмбеда
Аноним 18/04/23 Втр 12:13:34 #102 №2675272 
>>2675012
Зачем вам этот раст вообще нужен? Сделали бы тупо гей-сообщество и жахались в анусы, не напрягая мозг кодингом.
Аноним 18/04/23 Втр 12:15:11 #103 №2675274 
>>2674162
>А это вообще реально?
https://en.wikipedia.org/wiki/Java_Card
Аноним 18/04/23 Втр 15:07:09 #104 №2675427 
https://github.com/crablang/crab
Аноним 18/04/23 Втр 15:47:07 #105 №2675450 
image.png
>>2675427
уважаемый человек в контрибьюторах, уважаем
Аноним 19/04/23 Срд 01:56:17 #106 №2675872 
С чего начинать учиться, чтобы уметь в системное программирование?
Сам фронтедер,но оче хочется медленно вкатываться в компилируемое что-то
Аноним 19/04/23 Срд 07:23:34 #107 №2675920 
>>2675872
Явно не с раста. На раст перематываются обычно только в рамках компании, ибо работы на нем НЕТУ
Аноним 20/04/23 Чтв 16:00:50 #108 №2677148 
Да всё кирдык ржавому, факндейшн скурвились, пора валить
Аноним 20/04/23 Чтв 17:41:03 #109 №2677241 
maxresdefault.jpg
>>2677148
Аноним 20/04/23 Чтв 22:03:56 #110 №2677516 
>>2673782
>Ставишь unreachable
>Включаешь оптимизацию
>Код доходит до unreachable
>Происходит хуйня
Кто бы мог подумать
Аноним 20/04/23 Чтв 23:17:57 #111 №2677595 
image.png
>>2675427
Полгода не интересовался ржавым грибом, зашел, а тут снова драма.
И вот непонятно, что глупее? Менагерская утопия, которая как танцовщица прогибается под шелест бабла корпораций, или зрелые люди, которые на полном серьезе делают форк, не имея даже процентра ресурса, как у попильного гриба.

Что там слышна про убивцу от гугла? Обосрались? Трудно круд-зумер-программистами овладеть технологией древних?
Аноним 21/04/23 Птн 06:13:10 #112 №2677676 
>>2677595
>Что там слышна про убивцу от гугла? Обосрались? Трудно круд-зумер-программистами овладеть технологией древних?
Так он же очень активно вроде набирает щас популярность, не?
Аноним 21/04/23 Птн 12:59:39 #113 №2677843 
>>2675920
Да,шокич конечно. Вакансий просто 0,против golang 1000.
Хотя на Гитхабе проектов больше
Аноним 21/04/23 Птн 14:12:05 #114 №2677891 
>>2677676
Ничего с анонса не слышал, даже лень гуглить. Уже тогда насторожило, что у них кроме идей ничего нет, акромя "вдохновленного" синтаксиса с раста.
Аноним 21/04/23 Птн 15:40:54 #115 №2677963 
>>2677843
>Да,шокич конечно. Вакансий просто 0,против golang 1000.
>Хотя на Гитхабе проектов больше
Никто не хочет вступать в политическую партию для того, чтобы программировать.
Аноним 21/04/23 Птн 16:53:03 #116 №2678025 
1625671273465.jpg
>>2677595
Всё как всегда, пошумят и успокоятся.
Аноним 22/04/23 Суб 07:12:55 #117 №2678387 
>>2677891
Ты точно про тот гугл говоришь? У гугла голенг как бы
Аноним 22/04/23 Суб 12:10:24 #118 №2678480 
image.png
>>2678387
Аноним 22/04/23 Суб 17:47:56 #119 №2678740 
9a96e1eef0ab5723965787b4b5ca194a.jpg
>>2664778
Способов замедлить код ради удобства программиста можно найти 100 000 000 штук. Главное что язык показывает хорошие дефолты под свою целевую аудиторию.
Аноним 22/04/23 Суб 19:38:40 #120 №2678806 
Аноны, раст вообще имеет будущее или как? Смотря на обсеры фонда в коммьюнити, кажется керосином пахнет.
Аноним 23/04/23 Вск 09:00:07 #121 №2679003 
>>2678480
Так его даже не доделали еще
>Note that Carbon is not ready for use.
Аноним 23/04/23 Вск 12:15:53 #122 №2679112 
>>2678806
Вся суть ржавого это попил бобла, просто раньше это делали корпоротивными приложениями для корпораций и соевые додики такого в живую не видели, ибо кровавый тырпрайз это отдельный мир, в отличие от крудов на питоне. То вот сейчас такое провернули через язык программирования, отсюда столько драмы, которая языка как инструмента касаться никак не должн.

Если ли у хруста будущее? Так тут нужно понять есть ли ниша у языка.

Про прикладной уровень.
Они рассказывают про победы на управлению памятью как что-то невероятное, но в реале во всех управляемых языках давно же победили эти проблемы с памятью, но самих проблем от этого меньше не стало, а сами управляемые языки давно уже стали высокопроизводительными. Трахаться на низкоуровневом языке для прикладных задач, это просто тупость, жаба/котлин, шарп, куда комфортнее. Даже го, издевательство над дизайном, намного удобнее будет

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

Нет ниши, нет будущего, языку уже лет 8-9, так что смотри сам.
Аноним 23/04/23 Вск 15:17:43 #123 №2679232 
>>2679112
>во всех управляемых языках давно же победили эти проблемы с памятью
да?
Аноним 23/04/23 Вск 15:25:43 #124 №2679240 
>>2679232
Ты из тех самых людей, не знающих про RAII и что он есть буквально везде? В плюсах как раз
Аноним 23/04/23 Вск 15:28:00 #125 №2679245 
>>2679240
Ааааа, RAII оказывается у нас все проблемы с памятью давно решили?
каждый тред одно и тоже...
Аноним 23/04/23 Вск 15:54:34 #126 №2679269 
>>2679245
Ну изволь рассказать тогда, как же ты эти самые проблемы с памятью ты создаешь, только давай тут не высирай про резкий терминейт тредов, я просто других методов вообще ну никак придумать не могу
Аноним 23/04/23 Вск 16:03:01 #127 №2679284 
>>2679269
>как же ты эти самые проблемы с памятью ты создаешь
Да просто статистику глянь какие самые частые ошибки
Аноним 23/04/23 Вск 16:39:56 #128 №2679306 
998743DA-FBFC-4F35-A2EE-523EB16EB601.jpeg
>>2679284
>проблемы есть
>но я вам их не покажу
Аноним 23/04/23 Вск 18:36:43 #129 №2679447 
image.png
>>2679232
Иди гугли что такое управляемые языки.
Аноним 23/04/23 Вск 18:39:16 #130 №2679450 
image.png
>>2679284
>Да просто статистику глянь какие самые частые ошибки
Забыл поставить ";"?
После языков где этой фигни нет, быстро отвыкаешь от точки с запятой, вот моя проблема на миллиард долларов, а не ваши наллы.
Аноним 23/04/23 Вск 20:20:38 #131 №2679530 
>>2679450
>Забыл поставить ";"?
не про лабы речь
Аноним 23/04/23 Вск 20:57:35 #132 №2679561 
hip-tlm.gif
>>2679450
>>2679530
>Хороший синтаксис
https://www.opennet.ru/opennews/art.shtml?num=56470
Аноним 23/04/23 Вск 21:16:30 #133 №2679583 
>>2679561
>opennet
)
Аноним 23/04/23 Вск 23:23:20 #134 №2679644 
show.png
>>2679561
Я про котлин, кто вообще после школы пишет на питоне?
Аноним 24/04/23 Пнд 01:15:25 #135 №2679680 
image.png
image.png
image.png
image.png
Зашел посмотреть о чем там люди на SO спрашивают и чет проиграл с раста, пока у других какие-то вопросы про технологии у растаманов о баран-чекере, об карго который лучше всех, но почему-то в топе по вопросам, об лайфтаймах.

Я реально ожидал там что-то по крипте или по играм, а тут вопросы по синтаксису, лол.
Аноним 25/04/23 Втр 13:27:08 #136 №2680778 
Напишите что-то вдохновлящие чтобы захотеть вкатиться в раст? Что вас там вставляет. Похер на вакансии и еще что-то, я писарь для души.
Аноним 25/04/23 Втр 15:06:36 #137 №2680867 
>>2680778
Вдохновляла критика от плюсовиков и ее разбор - типа челы кидают тейки, а на каждый тейкт люди давали адекватные ответы, чем раст хорошо и инетересен
Также немного вдохновляет, то как геймдев на расте развивается потихоньку и можно самому что-то попилить попробовать
Очень сильно не вдохновляет херня от дефективных манагеров
Аноним 25/04/23 Втр 19:11:35 #138 №2681141 
>>2680778
Мне понравился баран чекер и макросы, и наверно всё, но я пока что только хеловорлд написал
Аноним 26/04/23 Срд 03:38:33 #139 №2681465 
>>2680867
>Вдохновляла критика от плюсовиков и ее разбор
Это где такое
Аноним 26/04/23 Срд 03:46:36 #140 №2681467 
>>2681181
Мне вот как раз интересно как раст чувствует себя больших проектах. Понятно что фанатики даже на го большие проекты пишут, но вот интересно мнение обывателя, насколько сложнее сопровождать, проект становится, в сравнение с управляемыми языки и тем же ООП, без которого, якобы, все плохо будет.

А так где не послушаешь везде какое-то лобызания, даже в сишарп подкастах завезли и там соевые сидят восхищаются, вроде уже взрослые дядьки, а несут бред на уровне школьников, типа вот "ппц любимый и офигенный ваще"
Аноним 26/04/23 Срд 08:28:14 #141 №2681519 
>>2680778
Пиздец как нравится то, что если оно компилируется - оно работает. Не вылетит нигде со словами "Segfault".

А так - ну система типов для метапрограммирования, но я вообще на С и изредка С++11 пишу, так что не думаю что это что-то прям уникальное, просто у меня такого нет.

Ну и для меня то что это в теории и на практике простых примеров пригодно в ембеде
Аноним 26/04/23 Срд 13:09:06 #142 №2681730 
6amcity.brightspotcdn.jpg
>>2681519
>нравится то, что если оно компилируется - оно работает.
Аноним 26/04/23 Срд 13:50:03 #143 №2681766 
>>2681519
>Пиздец как нравится то, что если оно компилируется - оно работает. Не вылетит нигде со словами "Segfault".
А это далеко не только в расте есть.
Аноним 26/04/23 Срд 14:12:42 #144 №2681783 
>>2681766
Ну хз, не видел таких. Правда я кроме С/С++/Rust/Go особо компилируемых языков не смотрел

Возможно ты о чистых ФП языках, но там другой стул со своими проблемами
Аноним 26/04/23 Срд 15:02:02 #145 №2681829 
Зумеры переизобратают Аду...
Аноним 26/04/23 Срд 16:45:37 #146 №2681984 
>>2681783
Ну почему — в джавашарпах та же история. Если оно компилируется — оно почти всегда работает.
Аноним 26/04/23 Срд 18:40:36 #147 №2682036 
>>2681984
В джавашарпах внезапные npe/nre, в расте для такого надо специально писать unwrap()
Аноним 26/04/23 Срд 20:39:32 #148 №2682114 
>>2682036
Это не настолько часто случается в сравнении в динамическими яп
Аноним 26/04/23 Срд 23:18:05 #149 №2682186 
>>2681519
>segfault
>работаю с плюсами
Кто то явно пиздит
Аноним 27/04/23 Чтв 01:22:26 #150 №2682233 
>>2682114
Одинаково часто, пушо джавашарповые null в динамических яп присутствуют в виде None/null/undefined/nil, а в довесок в них еще и AttributeError: Pupa object has no attribute Lupa/TypeError: pupa.lupa is not a function из-за их динамической природы.
Аноним 27/04/23 Чтв 04:08:02 #151 №2682242 
>>2682233
Там как раз есть нуллабл типы, в жабу даже опшены в 8 версии вроде завезли, но так как это просто костыль, а не решение проблемы, это не прижилось как фп-дрочеры думали.

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

Тут просто исключение в том, что раст довольно низкоуровневый и там говнопляски все еще больше чем в прикладном мире управляемых языков. Тут раст не нужен 90% вкатунов. Юзать его в прикладном уровне стоит лет через 5-10, когда завезут нормально готовых отлаженных либ.
Аноним 29/04/23 Суб 20:56:53 #152 №2684608 
Когда это будет? https://news.ycombinator.com/item?id=25624538

За растом и тредом особо не следил давно
Аноним 29/04/23 Суб 21:01:24 #153 №2684611 
Языку 7 лет, да? ^_^
https://tomaszs2.medium.com/how-rust-1-64-became-10-20-faster-on-windows-3a8bb5e81d70
Аноним 29/04/23 Суб 22:11:17 #154 №2684660 
>>2684611
Объясни, я тупой
Аноним 29/04/23 Суб 22:28:46 #155 №2684669 
>>2684660

Раст наконец-то стал нормально работать под виендой
Аноним 02/05/23 Втр 22:03:25 #156 №2686856 
>>2684669
> под виендой
Под ней постоянная ебля со всеми языками, тот же руби уже помирает, но так и нормально под виндой не работал никогда
Аноним 02/05/23 Втр 23:43:03 #157 №2686910 
>>2686856
>со всеми языками
Ты явно что то путаешь
Аноним 02/05/23 Втр 23:44:19 #158 №2686912 
>>2655915 (OP)
GNU начали переписывать на раст. Скоро и линукс репу Торвальдса перепишем.
Аноним 03/05/23 Срд 00:14:04 #159 №2686922 
>>2686912
>GNU начали переписывать на раст
Наркоман? Кто начал? Где начал? Ты про coreutils? Ну так это вообще не проект ГНУтых. Это очередные шизы занимаются переписыванием работающих программ.
Аноним 03/05/23 Срд 16:42:27 #160 №2687434 
>>2686910
Нихуя не путаю, с виндой вечно какая-то ебля чтобы заставить что-то работать, для этого даже костыль в виде WSL придумали.
Аноним 03/05/23 Срд 18:05:37 #161 №2687527 
>>2687434
>для этого wsl
А ты совсем далек от разработки, да? Не все пишут кросс-платформу, некоторый софт требует всякие прямые сисколлы и нахуй он не нужен на условной винде, да банально ебанный докер тот же есть, который заводится в WSL
Аноним 03/05/23 Срд 18:52:36 #162 №2687567 
>>2687527
>А ты совсем далек от разработки, да?
Далек, но от винды лол, последний раз это говно 3 года назад видел, да и вообще десктопный софт для винды ни разу не пробовал писать. Но флешбеки от того как вкатывался сидя на винде остались
Аноним 04/05/23 Чтв 15:04:37 #163 №2688105 
rusth.png
Что думаете?
Аноним 04/05/23 Чтв 15:32:31 #164 №2688132 
1682265558636.png
>>2688105
Типичный опеннет. Каждый пункт уже везде обсудили по десятку или сотне раз.
Аноним 04/05/23 Чтв 16:16:39 #165 №2688180 
>>2688105
В голос поста, как сказали выше типичный опеннет
Со временем привыкаешь просто игнорировать таких шизов
Аноним 04/05/23 Чтв 16:24:03 #166 №2688189 
>>2688132
>>2688180
Первый слив растоманек пошел.
Аноним 04/05/23 Чтв 16:35:42 #167 №2688203 
Бля, аноны, я уже заебался с дегенеративной моделью памяти в расте при ffi. Нужно кинуть байтики из массива на кучу и отдать мне указатель на них, дальше забыть нахуй про их существование, они пойдут в другой ЯП. Как это сделать нормально? Ебучий массив лежит на стеке, компилятор пиздит что оно не живёт достаточно долго да неужели блять, Box/Pin пиздит что не знает размера данных и шлёт нахуй ему не похуй ли?. Как забороть эту соевую систему? Такое ощущение что специально сделали всё для того чтобы невозможно было использовать раст для либ.
Аноним 04/05/23 Чтв 16:41:10 #168 №2688207 
>>2688203
>Нужно кинуть байтики из массива на кучу
Box::new(array)
> дальше забыть нахуй про их существование
std::mem::forget(heap_pointer);


не оч понимаю в чем проблема и почему тебе бокс что то говорит
Аноним 04/05/23 Чтв 16:42:30 #169 №2688210 
А стоп, есть же Box::leak
Аноним 04/05/23 Чтв 16:44:00 #170 №2688212 
image.png
>>2688210
>>2688207
С ума схожу, просто достаточно into_raw сделать
Аноним 04/05/23 Чтв 17:11:33 #171 №2688244 
>>2688207
> Box::new(array)
Только вот после as_ptr() и передачи его за пределы раста по этому указателю нихуя нет, на пустой участок памяти указывает. То что это тот же указатель и его ffi не испортило я естественно проверил.
> std::mem::forget(heap_pointer);
Не вижу никаких изменений после этого.
>>2688212
> into_raw
cannot return value referencing local variable
returns a value referencing data owned by the current function
>>2688210
> Box::leak
Вот такой пиздец получается - &mut &[u32]. Всё так же эту лапшу из функции не даёт вернуть.

Я уже просто ахуеваю с этого. Там массив "принадлежит" либе, все эти боксы просто "перемещают" его на кучу и он всё так же принадлежит ей, borrow-checker ебёт в очко, а копирование пишет не реализовано для этого дерьма. А если я даже как-то наёбываю компилятор, он что-то делает с данными, при том что в самой функции указатель указывает корректно на данные. Хоть memcpy дали бы, ну что за дроч ебаный.
Аноним 04/05/23 Чтв 17:26:13 #172 №2688256 
>>2688244
В общем вариант как в сишке с передачей указателя в функцию и потом копированием массива вот так unsafe { std::ptr::copy_nonoverlapping(src, dst, size); } работает, всё заебись. Но вы же сами понимаете какая это хуита, да?
Аноним 04/05/23 Чтв 17:34:43 #173 №2688265 
>>2688244
Честно, нихуя не понято что ты делаешь, покеж код

>Там массив "принадлежит" либе
Тебе это никак не должно мешать, ты же со стака копируешь массив в кучу, копия массива не может принадлежать кому то кроме тебя
Аноним 04/05/23 Чтв 17:55:28 #174 №2688291 
1669376217337.png
>>2688265
> покеж код
Ну вот например код. И как без ансейфа массив передать за пределы раста? И чтоб он не подчистил данные, когда код раста завершит работу, как это получается с простым боксом и as_ptr().
Аноним 04/05/23 Чтв 18:11:12 #175 №2688309 
image.png
>>2688291
Набросал подобное
Подправьте если в чем то тут не прав

https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=bf00fae826f1e27f68df787fe53d004d
Аноним 04/05/23 Чтв 18:13:41 #176 №2688316 
image.png
Ну вроде работает
Аноним 04/05/23 Чтв 18:43:00 #177 №2688363 
>>2688309
>>2688316
Оно работает только потому что компилятор знает размер массива при компиляции. С рантайм-массивами не работает, если убрать из функции инициализацию массива код даже не скомпилируется.
Аноним 04/05/23 Чтв 18:45:46 #178 №2688367 
>>2688363
>Оно работает только потому что компилятор знает размер массива при компиляции
Нихуя не понимаю, а что тебе компилятор то выдает?
да и почему его тут должно ебать размер массива
Аноним 04/05/23 Чтв 19:11:00 #179 №2688402 
>>2688367
> что тебе компилятор то выдает?
the size for values of type `[u32]` cannot be known at compilation time
the trait `Sized` is not implemented for `[u32]`
Аноним 04/05/23 Чтв 19:14:08 #180 №2688407 
>>2688402
Слушай, что я у тебя всё должен вытягивать
Ты бы скинул где конкретно у тебя это происходит

Если кратко ответ: компилятору должно быть похуй на размер слайса на всех операциях
Скопировать слайс в кучу - Без проблем, размер слайса не нужен
Засунуть в бокс? - Аналогично
Достать из слайса поинтер? - Там вобще размер никак не задействуется
Аноним 04/05/23 Чтв 19:21:36 #181 №2688411 
>>2688407
> Засунуть в бокс? - Аналогично
Так это ошибка самого бокса, бокс и пиздит на размер. Это буквально твой код, но массив из либы, а не создан на месте.
Аноним 04/05/23 Чтв 19:34:58 #182 №2688426 
>>2688411
Ты что то делаешь не то, скинуть нормально код с ошибкой ты не можешь, так что справляйся сам

максимум чем могу помочь смотри
https://doc.rust-lang.org/std/borrow/trait.ToOwned.html#tymethod.to_owned
https://doc.rust-lang.org/std/vec/struct.Vec.html#method.into_boxed_slice
Аноним 04/05/23 Чтв 19:42:19 #183 №2688435 
>>2688426
Так вектор и массив - это разные вещи. На вектор нет нормального ffi.
Аноним 04/05/23 Чтв 19:50:38 #184 №2688442 
>>2688435
> https://doc.rust-lang.org/std/vec/struct.Vec.html#method.into_boxed_slice
> https://doc.rust-lang.org/alloc/boxed/struct.Box.html#method.into_raw
Аноним 04/05/23 Чтв 19:56:02 #185 №2688447 
1591129615748.png
>>2688442
Ну ты тогда расскажи как мне пользоваться тем что даже не компилируется.
Аноним 04/05/23 Чтв 20:03:50 #186 №2688455 
>>2688447
Ты меня троллишь так?
Аноним 04/05/23 Чтв 22:34:48 #187 №2688601 
В чём поинт знака ! в println?
Аноним 04/05/23 Чтв 23:24:25 #188 №2688640 
>>2688601
Макрос. Чтобы сделать много аргументов, у обычных функций нельзя.
Аноним 04/05/23 Чтв 23:41:34 #189 №2688651 
show.png
>>2688132
>Каждый пункт уже везде обсудили по десятку или сотне раз.
Не по одному пункту не слышал ничего вменяемого, что лет 6 назад, что сейчас, одни фанбойские вскукареки.

Ну типа, что можно сказать, если компилиться долго - ну правда и что?
Что подход из js когда чуть ли не функция, то пакет и тянет сотню таких пакетов и где там дырку засунули - почему это не ужаснейший подход в плане безопасности?
Ну или типа мысль, мол числодробилки лучше на неуправляемом коде делать, а бизнес-дресня на всяких джава-питонах пишутся, где нет натянутых проблем с памятью. В тот же шарп столько низкоуровневой херни запихали, что может даже себе область без ГЦ собрать и подергать каждый байт, в одинокие дни в узких местах.
Аноним 04/05/23 Чтв 23:51:47 #190 №2688655 
Вы заебали бугурты разводить, ответьте нормально - мне перекатываться из плюсо-шарпов в вашу хуйню или нет?
Аноним 05/05/23 Птн 00:02:40 #191 №2688663 
show.png
>>2688655
>плюсо-шарпов
У тебя все есть. Пойдет тренд, например сделают игровой движок на вебассембле или еще что-то. То сам перекатишься за конфеткой.
Переписывать написанный код по фану и быть бесплатным бета-тестором, та еще радость.
Хотя я думаю раньше появиться какой-нибудь порт юнити в вебассембле, чем фанбои вообще какой-то самостоятельный продукт высрут.

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

В общем, вдохновляйся продуктами и результатом, а не языком, ради языка.
Аноним 05/05/23 Птн 00:09:02 #192 №2688667 
>>2688663
Ну доступим. А в плане машоба у сабжа есть перспективы? Сейчас как раз в этом направлении развиваюсь, могу на перспективу потыкать вашего ржавого
Аноним 05/05/23 Птн 00:36:47 #193 №2688687 
>>2688667
>А в плане машоба у сабжа есть перспективы?
Машоб - это ансейф числодробилка на сях/цпп + динамикадрисня в виде питона. Какой смысл писать такую же небезопасную числодробилку на расте?
Аноним 05/05/23 Птн 00:54:09 #194 №2688695 
>>2688687
В каком таком месте линейная алгебра это ансейф?
Аноним 05/05/23 Птн 01:08:24 #195 №2688701 
>>2688695
>В каком таком месте линейная алгебра это ансейф?
В таком, когда йоба-оптимизации будешь мутить, чтобы ускорить нейронку.
Аноним 05/05/23 Птн 08:59:58 #196 №2688777 
>>2688701
Но ведь Rust — невероятно быстрый язык, зачем мне ещё трахаться с ансейф оптимизациями?
Аноним 05/05/23 Птн 09:28:28 #197 №2688785 
image.png
А ведь по идее если я сильный ждун да ещё и с 1-2 петами меня должны взять на зп повыше чем в других технологиях? Популярность языка вроде раскручивается, а спецов явно не хватает.
Аноним 05/05/23 Птн 10:26:26 #198 №2688810 
>>2688695
Когда начнёшь принтерами вертеть или какие нибудь симд использовать

ну ансейф и ансейф, что бухтеть
Аноним 05/05/23 Птн 10:54:04 #199 №2688833 
>>2688105
1) 2) 3) 9) Почему тебе должно быть не похуй на копошения непонятных нормисов? Компилятор и без пронаунов в твиттере скачивается.
4) Любая либа сложнее хештаблицы на любом другом языке точно также тянет дохерища всякого. Или реализует свои коллекции, что просто охрененно помогает безопасности. И у каждой либы еще своя особенная система сборки. Может бесить, что один и тот же крейт скачивается в пяти разных версиях, но с этим ничего не поделаешь, если не пихать каждую мелочь в std.
5) Ебал Питон и ему подобные, готов использовать Раст для самых простых скриптов, чтобы поссать на его могилу. Дата, подпись.
6) Она везде отвратная. Всё, что более продвинутое, чем С ABI либо пиздец хрупкое как в Плюсах, либо сложнее чем операционная система как в Swift.
7) Во-первых, наверняка Сишный код не проверяет ошибки, при некорректном вводе выплевывает на вывод сатанинские письмена и так далее. Так что насчет аналогичного функционала уже пиздеж. Во-вторых, в нормальном проекте разница уже будет 50 МБ и 51.4 МБ, так что вообще плевать.
8) This is fair.


Покормил.
Аноним 05/05/23 Птн 11:07:48 #200 №2688842 
На чём мультиплатформенный гуй писать?
Аноним 05/05/23 Птн 11:08:33 #201 №2688844 
>>2688842
На электроне и ему подобном
Аноним 05/05/23 Птн 11:34:12 #202 №2688867 
>>2688844
Хуя толсто
Аноним 05/05/23 Птн 12:01:04 #203 №2688881 
>>2688833
>1) 2) 3) 9) Почему тебе должно быть не похуй на копошения непонятных нормисов?
Это прямое руководство влияющие на язык в целом.
К примеру, видел 19 лет назад, как в пхп не пошли по пути развития нативного веб-фреймворка, а стали мимикрировать под джаву, что пхп и убило (не считая что он там из-за капитала кода до сих пор по инерции жив).

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

> Ебал Питон и ему подобные
Речь там про управляемые языки, нах свои питон достал.
7. пункт вообще не понял, или ты промахнулся, хз.
6. Я тут не компетентен, не поспорю, может и прав.

>Покормил
Мне рассказывали что тут сидит скучающая коляска, которая по тредам лазает и просто вступает в любую полемику со скуки, поэтому ты даже не покормил, а просто накинул свое виденье, не убедительно ни разу.
Аноним 05/05/23 Птн 12:03:04 #204 №2688882 
>>2688867
Это объективная реально.

мимокрок
Аноним 05/05/23 Птн 13:47:17 #205 №2688961 
>>2688833
Ну и зачем ты ебал чей-то питон, пидор грязный?
Аноним 05/05/23 Птн 14:57:31 #206 №2689014 
>>2688842
https://github.com/emilk/egui
https://iced.rs (сразу замечу, что нет многострочного поля ввода)
Аноним 05/05/23 Птн 15:10:58 #207 №2689024 
image.png
>>2689014
>нет многострочного поля ввода
Аноним 05/05/23 Птн 18:06:19 #208 №2689251 
Если я 5 yo плюсовик и прочитаю раст бук - я буду готов вкатываться в работку хотя бы мидлом?
Аноним 05/05/23 Птн 19:45:41 #209 №2689376 
show.png
>>2689251
>я буду готов вкатываться в работку хотя бы мидлом?
Где? Где ты собрался работать?

Вижу, что его только в больших корпах намазывают и то без пруфов, скорее, 70%, для пиара в молодом тесном комьюнити.
Аноним 05/05/23 Птн 19:51:02 #210 №2689383 
>>2689251
Нет
Напиши что-нибудь типично-плюсовое на расте, чтоб подружиться с лайфтаймами, трейтами и борроучекером - тогда будешь готов.
Аноним 05/05/23 Птн 21:13:40 #211 №2689460 
Почему вместо божественного Си-синтаксиса разрабы языка придумали взять какую-то непонятную жс-петухон хуйню? Вот это -<'a> вот что за хуйня?
Аноним 05/05/23 Птн 22:13:27 #212 №2689513 
>>2689460
> божественного си синтаксиса
Утёнок, ты когда начнёшь на мир смотреть не через призму фанатизма?
Аноним 06/05/23 Суб 00:07:11 #213 №2689586 
>>2689460
Кхм, раст, жс и питухон - это и есть Си-подобный синтаксис
Аноним 06/05/23 Суб 05:33:45 #214 №2689686 
>>2689460
В СИ-синтаксисе нет похожего на <'a>. СИ программист вынужден держать сабж в уме.

95/100 тех, кто бугуртит на раст-синтаксис не может предложить обоснованный альтернативный вариант своего замечания, который бы не стал двусмысленным в другом контексте.
Аноним 06/05/23 Суб 07:03:13 #215 №2689700 
https://youtu.be/M6hzeWjL1Ic
tl;dr
Rust: auth server on http server, with graphql endpoint, connected to mongodb, passhashing witb bcrypt, returns jwt (json web token) -- 1,7mb of RAM on macbook
C#: webapi that simply fetches weather data (json req to weather service) -- 79,3mb of RAM on macbook

И прекращайте вилять филейной частью в этом треде. Лучше продолжайте как раньше, советовать IT-вкатунам почитать СКИП, начинать с хаскелла и тому подобное. Потому что на Раст это уже не прокатит.

/без троллинга, не обижайтесь
Аноним 06/05/23 Суб 08:11:18 #216 №2689713 
>>2689686
Так в си и семантического аналога нет
Аноним 06/05/23 Суб 08:54:27 #217 №2689717 
>>2689700
Ну и почему мне должно быть не похуй? По-твоему я этот сервер на ардуино собираюсь запускать? У меня в компе установлено 256 гигов 5 ддр памяти. Она забивается полностью только когда я нейронки гоняю. На серваках кол-во памяти уже терабайтами измеряется. Почему в 2023 году кому-то должно быть не похуй на 77 мб?
Аноним 06/05/23 Суб 09:03:12 #218 №2689721 
>>2689717
Масштабировать надеюсь тоже ничего не будешь?
Аноним 06/05/23 Суб 09:45:56 #219 №2689745 
>>2689721
Да как нефиг. Вертикальное масштабирование наше всё.
Аноним 06/05/23 Суб 10:26:21 #220 №2689767 
>>2689745
👍
Аноним 06/05/23 Суб 11:12:19 #221 №2689788 
mailto: C++ лучше чем раст
Аноним 06/05/23 Суб 13:50:30 #222 №2689899 
>>2662206

Если ты в РФ, то не советую вкатываться в Rust целиком - лучше оставь его для pet-project всяких.
Аноним 06/05/23 Суб 15:30:22 #223 №2689959 
>>2689899
А если я в Gayrope?
Аноним 06/05/23 Суб 21:18:44 #224 №2690339 
>>2689700
Для сервиса это нормально, но тут скорее дело в другом, на жабе точно гц не собирается просто так, то есть оно будет накапливаться сколько посчитает нужным (сколько настроено) и потом начнет жарить. Зачем дергать гц, когда это не нужно и места еще дофига.
Плюс еще всякие кэши, jit'ы, поколения в памяти и т.д.

Думаю в долгосрочной перспективе, на расте будет жратся больше памяти, так как подход иммутабельности и еще владения, просто заставляет дублировать сотни килотонн мелочи.
Аноним 06/05/23 Суб 21:27:05 #225 №2690344 
>>2689700
Это не значит что приложение в 1000мб будет жрать
1700мб на расте, а на шарпе 79000мб.

Будет на расте 1001, а на шарпе 1079. И теперь чувствуешь как меняется восприятие твоих цифр?
Ну и на шарпе там фулл-вебфреймворк, а на расте скорее всего пустой веб костыль, без нечего.
Аноним 07/05/23 Вск 02:29:22 #226 №2690484 
>>2690344
>а на расте скорее всего пустой веб костыль, без нечего.
https://github.com/seanmonstar/warp

Просто раст может в dead code elimination, а C#-машина подгружает половину винды.
Аноним 07/05/23 Вск 18:03:18 #227 №2691038 
Так блять, вы заебали, мне учить раст или нет?
Аноним 07/05/23 Вск 18:14:25 #228 №2691055 
image
>>2690484
C# давно уже умеет создавать нативные бинарники, образая всё лишнее. И с каждом релизом бинарники становятся всё тоньше, а производительность и скорость запуска - всё меньше.
Пердолинг с растом или С++ в обозримом будущем будет давать не более 3-5% в производительности или иной метрике по сравнению с божественными шарпами. Так что за пределы железячников и драйверописов, а также сообществ снобирующих борщехлёбов расту видимо так и не суждено выйти.
Аноним 07/05/23 Вск 18:27:09 #229 №2691081 
16834724660020.png
>>2691055
>C# давно уже умеет создавать нативные бинарники, образая всё лишнее. И с каждом релизом бинарники становятся всё тоньше, а производительность и скорость запуска - всё меньше.
>Пердолинг с растом или С++ в обозримом будущем будет давать не более 3-5% в производительности или иной метрике по сравнению с божественными шарпами. Так что за пределы железячников и драйверописов, а также сообществ снобирующих борщехлёбов расту видимо так и не суждено выйти.
Аноним 07/05/23 Вск 19:00:31 #230 №2691140 
>>2691055
Не в ту сторону лижешь, дегенерат. Я понимаю, что блохирам майки платят, но ты как попугайчик зачем это повторяешь? Шарпы и Раст вместе под Макрософаком ходят и с одной кормушки питаются. Пруфы? На винде часть кода переписана на раст о чем недавно заявлял какой-то индус из МС на своем выступлении. Поэтому +15 ms coin за пиар шарпов и -25 ms coin за обсер раста.
Аноним 07/05/23 Вск 19:58:44 #231 №2691220 
>>2691038
Бамп
Аноним 07/05/23 Вск 20:46:04 #232 №2691289 
>>2691140
> На винде часть кода переписана на раст
На богоподную Java если что, держу в курсе
Аноним 07/05/23 Вск 21:24:25 #233 №2691342 
>>2691038
>>2691220
Мне тоже интересно. Говорят от раста "говной ваняет", СЖВ всех скуколживает, генных трансгенндеров подкладывают и вообще политизированный продукт.

мимо
Аноним 07/05/23 Вск 21:27:59 #234 №2691344 
>>2691342
>Говорят от раста "говной ваняет", СЖВ всех скуколживает, генных трансгенндеров подкладывают и вообще политизированный продукт.
Конец прошлого треда почитай.
Аноним 07/05/23 Вск 21:29:37 #235 №2691345 
>>2691342
Короче мне похуй на чужое мнение, я затарил редбулла, накатил шлайно и попробую ща ночью заспидранить хотя бы треть растбука.
Аноним 07/05/23 Вск 21:32:08 #236 №2691346 
>>2691344
Гляну, спасибо

>>2691345
Тоже хочу потыкать ржавый, надо только до свободного времени дотянуть. Но не нравится говно-риторика вокруг языка.
Аноним 07/05/23 Вск 23:36:48 #237 №2691473 
show.png
>>2691140
Дети не знают что такое EEE от мягких.
>кококо, нас даже мягкие поддерживают.
Сейчас эти чэды втиснутся в сообщество, потом настругают снова свой компилятор, который будет сначала совместим и давать буст в окошко-сборке, а потом по классики навернут несовместимого говна.
Аноним 08/05/23 Пнд 09:59:12 #238 №2691679 
>>2691345
Не, ну в целом всё круто. После плюсов так почти всё по диагонали учится. Боров - прикольная хуйня, надо привыкнуть только будет. Хз короче, попробую недельку потыкаться в остальные штуки, замутить пет-второй и по приколу пойду херкам написывать.
Аноним 08/05/23 Пнд 16:53:02 #239 №2692127 
Ух, и не просто вкатываться в раст, уже весь гугл перегуглил и заодно чатжпт отдолбал, но так ответа и не нашел.

Вот у меня есть функция a, которая принимает io::stdin() и io::stdout().

Мне нужно для нее написать тесты.

На какие типы мне нужно поменять Stdin и Stdout, чтобы все продолжило работать, но я мог сам записать в in буффер, а потом проверить, что записалось в out buffer?
Аноним 08/05/23 Пнд 17:23:55 #240 №2692152 
>>2692127
> io::stdin() и io::stdout()
Зачем твоя функция принимает стандартные потоки ввода и вывода?
Наверное ты хочешь чтобы твоя функция принимала трейты std::io::BufRead и std::io::Write
https://doc.rust-lang.org/std/io/trait.BufRead.html
https://doc.rust-lang.org/std/io/trait.Write.html

Ну и вместо них можешь пихать всё что угодно из чего можно читать и записывать
Аноним 08/05/23 Пнд 20:43:38 #241 №2692342 
Вроде растотред здесь, а линуксойды обсуждают его более яро.
Аноним 08/05/23 Пнд 21:10:48 #242 №2692369 
>>2692342
В опеннете еще чаще
Аноним 09/05/23 Втр 20:02:55 #243 №2693297 
Покидайте идей какой бы пет замутить чтобы херка/лид потом зашёл в репу, охуел от моей крутизны и сразу позвали меня на котлету в лохчейн
Аноним 09/05/23 Втр 20:26:51 #244 №2693320 
>>2693297
Биржевой движок (как https://github.com/exchange-core/exchange-core например).
Если твой пет (пусть даже без риск-менеджмента) обгонит хоть в каких-то бенчмарках этот пример на джаве - тебя с руками оторвут.
Аноним 09/05/23 Втр 20:38:26 #245 №2693327 
>>2693320
>Биржевой движок
Это же его сколько писать придётся по времени...
Аноним 09/05/23 Втр 20:52:44 #246 №2693346 
>>2693327
Напиши сначала примитивный - прост с выставлением, снятием и схлопыванием заявок быстрее чем за O(n), где n - кол-во заявок в стакане. В моём сишарпо-лохчейне это задание на полуторачасовой лайвкодинг/тестовое задание. Я справился за 3 часа (1.5ч на лайвкодинге, остальное сам доделал, с тестами), некоторые кандидаты за час управляются.
Потом наверни дизраптор или еще какую штуку для распараллеливания - готовые есть на гитхабе. Это от одного до неск дней.
Потом сделай это доступным по rest/grpc/kafka/etc. Еще пара-тройка дней.
А дальше вылизывание и причесывание - можно годами заниматься.
Аноним 09/05/23 Втр 21:08:28 #247 №2693370 
image.png
Заборол бинарный пошук, первая литкодовская задачка решённая на расте. Поздравьте меня
Аноним 09/05/23 Втр 22:35:22 #248 №2693485 
Безымянный.png
>>2693370
>as f64
Аноним 09/05/23 Втр 22:39:46 #249 №2693494 
>>2693485
Причина тряски?
Аноним 09/05/23 Втр 22:46:48 #250 №2693508 
>>2693494
Целочисленное деление делает то же самое, только без непонятных кастов.

Олсо, к i32 проще кастовать один раз на ретурне, а промежуточные значения оставить как есть usize.

Олсо олсо, у тебя let right переполняется на пустом векторе.
Аноним 09/05/23 Втр 22:49:45 #251 №2693512 
>>2693508
>Олсо олсо, у тебя let right переполняется на пустом векторе.

А, нет, вру, но будет переполняться, если убрать i32.
Аноним 10/05/23 Срд 06:09:46 #252 №2693654 
>>2693370
mid = (left + right) /2
Аноним 10/05/23 Срд 09:42:54 #253 №2693822 
image.png
Лел. Чел жалуется на то, что раст создан для малварей, из-за того что хуй поймёшь что происходит в декомпиленном коде.
https://www.youtube.com/watch?v=11raTwzQVn4

Не только трансформеры террористы, но ещё и в код насрали.
Аноним 10/05/23 Срд 11:35:46 #254 №2693961 
>>2693822
Надо срочно писать книгу Black hat Rust и фармить роялти вместо ебучих собесов.
Аноним 10/05/23 Срд 12:30:43 #255 №2694016 
Мимоскуф 40++.
Програмулькиваю уже лет 20.
Дохера на чем, последние 5 лет на жявке в банке. Жява пиздец заебала. Да и выше 300к надо идти в лиды, а мне впадлу уже. Мне и сеньером норм.

Есть варики в ржавого переехать? Или там эйджизм во все поля и хуй найду работку?
Аноним 10/05/23 Срд 12:34:52 #256 №2694022 
>>2694016
Перекатился из приевшихся шарпов за ~1.5 месяца ленивого почитывания доки и написания разного говнокода со 2 собеса в Крипто NFT MLG стартап. Можешь задавать вопросы.
Аноним 10/05/23 Срд 12:38:36 #257 №2694032 
>>2694022
Да я про эйджизм прост.
Возьмут ли 45 years old boomer в молодежный стартап?
У меня ж все минусы старичка.
Люблю бухтеть и доебываться до хуевого кода и покрытия тестами.
Не люблю кранчевать.

Я не решил прост еще. Потому в саи язык даж не смотрел.
Аноним 10/05/23 Срд 12:40:59 #258 №2694035 
>>2694032
Какой нахуй эйджизм? Спецов не хватает вообще ни в одном направлении. Если ты реально 20 лет квасишь код значит ты как минимум должен шарить за структуры, алгосы и дизайн. Выучи необходимую базу языка и в путь.
Аноним 10/05/23 Срд 12:46:09 #259 №2694041 
>>2694035
Ты не поверишь, но года 2 назад, когда менял жяваконтору поймал на собесике эйджизм.
Типа ну ты нам не подходишь, а почему - не скажем, иди нахуй.
С учетом того, что я собеседоватора заставил самому зафейлиться на собесике, так что доеба до тех уровня у них точно не могло быть.
Так что это эйджизм явный.

Ладно почитаю бук из шапки. Надеюсь не сложнее крестов, на которых я лет 10 назад ебашил под гнилукс какую то многопоточную хуйню на сокетах.
Аноним 10/05/23 Срд 12:50:11 #260 №2694046 
>>2694041
Значит не вкатывайся в конторы к узким. У тебя 20 лет опыта. Курва, перед тобой весь мир открыт.
Аноним 10/05/23 Срд 16:33:14 #261 №2694283 
Чёт я нихуя не понял про модули. Почему в растбуке весь код пишется в lib.rs но отдельные папочки в src всё равно создаются? Как мне выделить логические блоки в отдельные файлы и главное как их потом правильно заюзать в других? И как в сабже решается вопрос цикличных зависимостей?
Аноним 10/05/23 Срд 16:44:02 #262 №2694293 
>>2694283
> как в сабже решается вопрос цикличных зависимостей?
Единственное правильное решение - отказ от циклических зависимостей
Аноним 10/05/23 Срд 16:48:08 #263 №2694297 
>>2694293
А если очень хочется?
Аноним 10/05/23 Срд 17:14:52 #264 №2694334 
Хочу пилить супербыстрые рест-апишечки.
Раст норм?
Какой фреймворк взять?
Чтоб асинхронность была, и все такое.
Чтоб на 128 Мб озу и 1 ядре тянуло 1000рпс
Аноним 10/05/23 Срд 17:24:34 #265 №2694344 
>>2694334
>Чтоб на 128 Мб озу и 1 ядре тянуло 1000рпс
Нахуя тебе столько? Такого даже у визы и мастеркарда
Аноним 10/05/23 Срд 17:25:00 #266 №2694345 
>>2694344
>Такого даже у визы и мастеркарда
Нет*
Аноним 10/05/23 Срд 23:20:38 #267 №2694563 
show.png
Чет достали толстить и разгонять тред.
Один синьер помидор с 300к наносек с жирной жабы решил под старую жопу пойти нахер на раст, где 1,5 работы, хер пойми где, вместо того чтобы сидеть в теплой конторке и попукивать бойлерплейт на говножабе. а не просто взять и дома попилить свои говновысеры и забить как 90% растадаунов

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

Третий очередной заскучавший по пет-проектам вкатун, ибо только у вкатунов вечная проблема "что написать", потому как учат язык ради языка бабла.

Хватит жир лить, лучше новостями или лулзами побампайте, чтобы тред было приятно заходить.
Аноним 11/05/23 Чтв 03:39:28 #268 №2694607 
>>2694563
Да не трясись ты, трясунок. Радовался бы что к твоему говноязыку интерес у кого-то имеется.
Аноним 11/05/23 Чтв 07:21:40 #269 №2694634 
>>2694563
Что плохого в перекате?
Если вспомнить все на чем я пилил за денежку - делфя, визуал фокспро, си, кресты, питухон2, эрланг, дарт, жявка, может еще что пропустил. На заводе, на одеске(жалко забаненый акк сука), в галерах.

Жава в банках это ебаное легаси. Причем лично я на самом некроговне уже второй проект. Jsp, xslt, xml уже тошнит этот кал мигрировать на 11 жявку и бут.
Тот_жява_скуф
Аноним 11/05/23 Чтв 07:26:53 #270 №2694635 
1674120741794.jpg
>>2694563
Бампай и пости сам.
Аноним 11/05/23 Чтв 09:19:41 #271 №2694667 
Я тут чекнул хх.
И там одна вакансия на расте.
С вилкой 2000-4000.
Чет как то не особо после жявы....

А если с забугром работать за усдт, то как легализовать и налить зп?

Рассказывайте.
Аноним 11/05/23 Чтв 09:37:13 #272 №2694679 
image.png
И сразу вопрос по буку.
Почему это работает?
Разве five не должен был разыменоваться после захвата функцией?
Аноним 11/05/23 Чтв 09:43:49 #273 №2694684 
>>2694679
Copy?
Аноним 11/05/23 Чтв 09:45:14 #274 №2694685 
image.png
>>2694684
Да ты прав.
Аноним 12/05/23 Птн 00:02:32 #275 №2695575 
>>2679583
что не так с данным ресурсом? тот же двач только в профиль
Аноним 12/05/23 Птн 00:18:32 #276 №2695592 
>>2691140
>На винде часть кода переписана на раст о чем недавно заявлял какой-то индус из МС на своем выступлении.
бабки во дворе тоже много чего тебе интересного поведать могут. Никто не знает на чем и как написан виндовс и уж тем более какой-то там индус
Аноним 12/05/23 Птн 05:47:04 #277 №2695630 
>>2695575
>что не так с данным ресурсом?
шизики обсуждают годами вещи которые им не нравятся
Аноним 12/05/23 Птн 06:42:31 #278 №2695639 
>>2695592
>Никто не знает на чем и как написан виндовс и уж тем более какой-то там индус
Как индус, который работает в МС и пишет код для винды, не может знать об этом?
Аноним 12/05/23 Птн 13:48:09 #279 №2695976 
Что там за тряска по поводу ООМ в пинуксе и какие есть решения этой проблемы?
Аноним 12/05/23 Птн 14:29:54 #280 №2696024 
>>2695976
а? ты о чем?
Аноним 12/05/23 Птн 15:53:09 #281 №2696127 
ВКАТ есть?

Мимо макака, 4 года опыта работы с PHP, 1 год на Golang. Хочеца раст, но вакансий не вижу. Стоит ли учить или хуй пососу?
Аноним 12/05/23 Птн 16:32:14 #282 №2696207 
>>2695639
Он может писать какую-то малую часть или сервис, там же ядро гибридное, вряд ли индуса до того самого ядра допустили бы, которое со времен nt ещё
Аноним 12/05/23 Птн 20:21:52 #283 №2696525 
>>2696127
>ВКАТ есть?
>>2694022
Аноним 12/05/23 Птн 20:25:15 #284 №2696532 
Кто что может сказать по поводу скорости разработки на сабже? По первым ощущениям особо от С/С++ не отличается. Так ли это или всё же быстрее?
Аноним 12/05/23 Птн 21:07:12 #285 №2696603 
>>2696532
Персонально же для каждого, у меня быстрее

не знаю как можно разрабатывать медленнее чем на плюсах или си
Аноним 12/05/23 Птн 21:52:00 #286 №2696662 
>>2696603
>не знаю как можно разрабатывать медленнее чем на плюсах или си
На АСМе вставки не писал?
Аноним 13/05/23 Суб 01:19:58 #287 №2696828 
dfh.png
>>2694685
Возможно тут нужно уточнение, что Option просто дерайвит Copy.
Если сам Т не Copy-тип, то ничего не выйдет.

Могу быть не прав.

Если прав, то это еще одна классная фича, если не хочешь чтобы копировалось без твоего ведома.
Аноним 13/05/23 Суб 03:11:26 #288 №2696848 
>>2696662
Про него забыл, да
Аноним 13/05/23 Суб 08:35:15 #289 №2696938 
>>2696525

Где вы мля работу находите, на ХХ нет. НеТвОрКиНг?

Вся работа с выездом из Рашки, я так не умею
Аноним 13/05/23 Суб 09:26:14 #290 №2696963 
>>2696938
1. Линдекин
2. Я не на рашке
Аноним 13/05/23 Суб 12:54:01 #291 №2697090 
Почему когда я чейню .join().unwrap() сразу за thread::spawn то у меня основной поток блочится пока новый тред не отработает (а он не отработает, там лупа), но когда я пушу заспавленные треды в вектор и потом бегу по нему форичём и джойню то ничего не блочится?
Аноним 13/05/23 Суб 14:48:45 #292 №2697187 
>>2697090
>но когда я пушу заспавленные треды в вектор и потом бегу по нему форичём и джойню то ничего не блочится?

Всё блочится, ты что-то попутал.
https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=faab3ce69efe482d13dbe760c558fff8
Аноним 13/05/23 Суб 15:02:21 #293 №2697204 
>>2696963

Пиздец это шо язык для хохлов?
Аноним 13/05/23 Суб 17:26:20 #294 №2697345 
>>2697204
Как и всё в этом мире
Аноним 14/05/23 Вск 18:43:55 #295 №2698439 
Какую классную штуку пропустил https://github.com/pop-os/cosmic-text
Аноним 14/05/23 Вск 20:16:30 #296 №2698544 
В копилку LLVM против GCC ? https://www.phoronix.com/review/gcc13-clang16-raptorlake
Аноним 14/05/23 Вск 20:50:33 #297 №2698583 
image.png
>>2698544
У гентушников праздник, время всё пересобирать?
Аноним 15/05/23 Пнд 08:22:24 #298 №2698943 
>>2698439
Обьясни плез.
Зачем нужна либа рендера шрефтов?
Я всю жизнь бекенды пилю, а когда пилил фронты мобильные или на пека, то всегда использовал либы операционки, в которых рендер шрифтов встроеный.
Или ты свой набор виджетов/тулкит/де делаешь?
Аноним 15/05/23 Пнд 14:38:53 #299 №2699325 
>>2694563
вкатываюсь в раст потому что у нас весь тулинг переползает на него + по работе надо. Слишком жирно для тебя?

мимо фронтендмакака
Аноним 15/05/23 Пнд 14:56:06 #300 №2699353 
>>2699325
Тулинг какой? Кроме какого-нибудь SWC. И Deno вместо ноды?
Аноним 15/05/23 Пнд 19:16:21 #301 №2699776 
>>2698943
Мне незачем, просто проект полезный сам по себе.

Он no-std, соотв. его можно пробовать запускать на ардуинах. Если тебе нужно запилить гуй в 3D-мире. HUD в прошивке монитора etc. WASM тот же.

Почему кажется полезным - написан на сопоставимом с С++ по скорости исполнения языке, но при том безопасном. А сама задача рендеринга шрифтов, штука подверженная уязвимостям, поскольку требует инпут с большим количеством возможных состояний и RCE-шек уже много скопилось (по крайней мере на винде наслышан).

Кстати, там рендеринг только часть всего этого пакета.
Аноним 16/05/23 Втр 14:09:00 #302 №2700642 
show.png
>>2699325
Если это так, то представь в какой ты жопе. Сидел себе пердел на жопоскрипте, а теперь за те же деньги надо раста навернуть. Причем раст это ни разу не какой-то там тайпскрипт, там впервые тебе фронтенд макаке придется думать.

и конечно, твой пост не отменяет того, что коляска периодично от скуки набрасывает в этот тред, и предыдущие посты были откровеhttps://2ch.hk/api/captcha/2chcaptcha/show?id=8bfe979a8fad97ae812c1046fcf6f067f1d798f974b4cc7006f223cafcf2bcc7ce3ba34f59a4172f75f865b42bbf8e739931317980982e596e7027f9dc50ccecbea7нной толстотой, хотя судя по реакции, ты он и есть
Аноним 16/05/23 Втр 14:10:27 #303 №2700645 
>>2700642
>fixprice
и конечно, твой пост не отменяет того, что коляска периодично от скуки набрасывает в этот тред, и предыдущие посты были откровенной толстотой, хотя судя по реакции, ты он и есть
Аноним 16/05/23 Втр 15:38:40 #304 №2700760 
image.png
Вот сижу и думаю, чтобы сейчас выбрать под основной и универсальный яп. На работу насрать, работа есть, это для души.

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

Го - вроде и можно, но в тоже время какая-то откровенная не допиленная бойлерплейт халтура и издевка над всей индустрией программирования за 40 лет.

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

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

В общем, анонче, вдохнови на раст, в основном я вижу там сишники чето тряпками бросаются друг в друга, а вот для меня эта победа над памятью не сильно то и радует, ибо с ней никогда и не боролся.
Почему раст может сойти за универсальный язык, или для универсала он слишком низкоуровневый?
Аноним 16/05/23 Втр 16:11:00 #305 №2700800 
>>2700760
Для ДУШИ лучше попиши на Сишке или лиспе, а лучше на двух сразу.
Аноним 16/05/23 Втр 20:00:13 #306 №2701183 
>>2700800
Как-то заглядывался на кложу, мне нравится концепция - данные важнее алгоритмов, я даже 15 назад ковырялся в проекте, где все было вокруг ассоциативных массивов построено и это был интересный опыт. Но! Знакомый сказал что все это туфта и в кложе все вокруг макросов вертеться, мол не все так радужно как заливают.

Что любить в сях? Не против них, просто вот не тепло не холодно от него.
Аноним 16/05/23 Втр 22:13:37 #307 №2701322 
>>2701183
Если реально для души, как ты пишешь, то остается только хаскелл. Но если тебя волнует результат твоей писанины, тогда конечно надо выбирать под твою задачу. Сперва определись с архитектурой, в которой будут исполняться твои программы, их предметная область, и возможность расширения твоего прототипа в будущем (надо тебе это или нет, только маленькие PoC).

У тебя вопрос подходит под Ньюби-тред.
Аноним 16/05/23 Втр 22:19:48 #308 №2701326 
>>2700760
Короче на данный момент расклад таков, что наши дети будут юзать связку из TS+Rust+Mojo для любого плана проектов и это есть хорошо.
Аноним 17/05/23 Срд 00:39:08 #309 №2701490 
>>2701326
А почему TS ? Сколько, кстати, V8 весит? И как его интегрировать в свой проект быстро и безболезненно?

Про Mojo пока непонятно что это, кроме громких заявлений и имен ничего не видно.

Либо он будет с синтаксисом питона, но не general purpose, как они заявляют, а урезанный по возможностям.
Либо синтаксис будет просторный и многословный, вместо компактного вырвиглазия Rust'a и надо будет много больше печатать, чтобы описать то же самое. Точно больше и шире чем в С, С++. Может как в SPARK по объему.
Либо он будет медленный в исполнении кода (медленней С, С++ и Раст) но зато действительно, с синтаксисом питона.
Аноним 17/05/23 Срд 01:34:37 #310 №2701503 
>>2701326
Такое только в растошизотреде можно увидеть.
Наши дети будут писать на c++32 возможно на cpp2 или circle, и на питоне 4.
Аноним 17/05/23 Срд 01:38:51 #311 №2701506 
>>2701183
Копай в сторону AGDA, Coq, Idris, Lean, SAT solvers. Вся душа там.
Аноним 17/05/23 Срд 01:44:53 #312 №2701510 
>>2701506
Я слышал что просто берут нормальный язык и подключают z3 по мере надобности. (может и неправ)
Аноним 17/05/23 Срд 10:15:42 #313 №2701670 
>>2701490
>А почему TS ?
А потому что чистый JS - полнейшее говно.
>Сколько, кстати, V8 весит? И как его интегрировать в свой проект быстро и безболезненно?
Юзать ноду или дено?
>>2701503
>c++32
Я конечно ни на что не намекаю, но даже сейчас наиболее распространённые стандарты это 11 и 14. Ну и какие к чёрту плюсы во второй половине 21 века, ты дебил или да?
Аноним 17/05/23 Срд 19:56:26 #314 №2702354 
>>2701670
>> дебил или да?
сам такой
плюсы вечны
Аноним 17/05/23 Срд 19:56:49 #315 №2702355 
>>2701670
>> дебил или да?
сам такой
плюсы вечны
Аноним 17/05/23 Срд 22:00:40 #316 №2702557 
>>2702355
Чел, они вечны исключительно из-за легаси и то я детей буду натаскивать на то, чтобы где бы они не оказались сопротивлялись пинанию трупа и переписывали всё на нормальные языки.
Аноним 17/05/23 Срд 23:09:04 #317 №2702625 
Аноны, а каков ваш выбор в плане IDE? Что используете? Мне неиронично интересно.
Аноним 17/05/23 Срд 23:16:11 #318 №2702631 
>>2702625
Vim
Аноним 17/05/23 Срд 23:18:06 #319 №2702636 
>>2702631
Надеюсь, ты не тротллишь.
Аноним 17/05/23 Срд 23:22:06 #320 №2702638 
>>2702636
Вим это лучшая и универсальная иде
Аноним 17/05/23 Срд 23:51:51 #321 №2702665 
>>2702625
clion, хорошо зделоли
Аноним 17/05/23 Срд 23:54:29 #322 №2702669 
>>2702665
ммм, джет брейнс, спосиб
Аноним 18/05/23 Чтв 00:03:40 #323 №2702682 
>>2702636
>ты не тротллишь.
Конечто он рофлит, лол, какой ВИМ, когда есть ЕМАКС?
Аноним 18/05/23 Чтв 00:26:07 #324 №2702705 
haskell.jpg
>>2701322
>Но если тебя волнует результат твоей писанины
Все что нужно знать про всяких хаскелистов и им подобных. Код ради кода, зачем тебе результат, закрылся в шкафу и дрочи в колготках.
Аноним 18/05/23 Чтв 00:32:24 #325 №2702709 
>>2701326
>TS
"Компилировать" в javascript, это, наверное, самая забавная глупость последнего десятилетия. Ну нафига вам прокси языки? Из этого все равно получается два языка на одной зарплате.
Аноним 18/05/23 Чтв 00:34:36 #326 №2702711 
>>2701490
>>2701326
>Mojo
>Либо он будет с синтаксисом питона
Любовь к питону проходит ровно до первой копипасты. Если бы не машинное обучение, так и был бы на дне индустрии с убогой джангой.
Аноним 18/05/23 Чтв 00:46:46 #327 №2702727 
>>2702557
Нет, они вечны потому что все еще требуется неуправляемая архитектура. Просто в 90е годы плюсы были всем, но со временем их просто сместили с прикладного уровня. То есть он сейчас в той позиции что на вряд ли что его сместит. Если только на расте и иму подобным не напишут какие-то ультра удобные тулзы и движки.

А вот место раста я реально не пойму, для системщины нужен тру скилл и байты ручками потрогать, а для прикладного уровня есть всякие ваши шарпы, го, джавы или даже тот же js c тем же электромном. Ведь только представьте, впервые ГУИ реально стали выглядеть честно одинаково на всех платформах. Так что еще не понятно какое будущее ждет. То есть, стоит ли брать раст, когда тот же жопоскрипчик или шарпо-аниме-переросток напишет тоже самое в 5 раз быстрее?
Аноним 18/05/23 Чтв 00:47:27 #328 №2702728 
>>2702669
купи!
Аноним 18/05/23 Чтв 00:56:53 #329 №2702733 
>>2702727
>То есть, стоит ли брать раст, когда тот же жопоскрипчик или шарпо-аниме-переросток напишет тоже самое в 5 раз быстрее?
Я имею ввиду брать в продакшен, потыкать и поиграться стоит, вдруг реально перестанут пилить бабло и начнут писать и напишут что-то популярное, что взлетит. топ игровой движок на вебассембле, я вероятно уже не дождусь, ибо уже завезли гц и не удивлюсь, когда быстрее напишит подобное юнити на жопоскрипте, но надежда на комьюнити все еще есть, на менегоров нет, а вот на комьюнити...
Аноним 18/05/23 Чтв 01:00:21 #330 №2702736 
>>2702733
> юнити
У юнити же и так есть опции клмпилить под webgl? Или я что-то путаю?
Аноним 18/05/23 Чтв 01:09:09 #331 №2702742 
>>2702727
>А вот место раста я реально не пойму, для системщины нужен тру скилл и байты ручками потрогать, а для прикладного уровня есть всякие ваши шарпы, го, джавы или даже тот же js c тем же электромном.
Добавлю, что для действительно критических систем тоже существуют свои инструменты, аля Ada, Coq и т.д., которые гарантируют работоспособность, чеем раст похвастаться не может.
Аноним 18/05/23 Чтв 10:08:56 #332 №2702851 
>>2702728
Куплю бесплатно на месяц, а потом куплю бесплатно на месяц, а потом куплю бесплатно на месяц. Такой пойдёт?
Аноним 18/05/23 Чтв 12:13:48 #333 №2703005 
>>2702711
Слышал что он с ООП и динамическими типами. Можно примеры бойлерплейта на питоне, неужели даже там надо повторять код?

>>2702727
>Нет, они вечны потому что все еще требуется неуправляемая архитектура.
Что такое неуправляемая архитектура?
Аноним 18/05/23 Чтв 12:35:02 #334 №2703028 
>>2702742
>Добавлю, что для действительно критических систем тоже существуют свои инструменты, аля Ada, Coq и т.д., которые гарантируют работоспособность, чеем раст похвастаться не может.

Слышал что Ada тоже что и Rust, только кода на расте меньше писать, намного проще работа с многопотоком, есть линейные типы, в отличии от Ada (что добавляет безопасности), и намного быстрее в исполнении чем Ada.

Про Coq не слышал раньше таких сравнений с general purpose language, какие на нем прикладные приложения написали? Он вроде не тьюринг-полный язык, а скорее DSL для проверки корректности теорем.
Аноним 18/05/23 Чтв 14:33:23 #335 №2703117 
image.png
>>2703005
Аноним 18/05/23 Чтв 14:36:42 #336 №2703123 
>>2702851
Из-за таких как ты, бедные котлинисты голодают и до сих пор не могут найти исключения в асинхронном коде.
Аноним 18/05/23 Чтв 14:39:07 #337 №2703128 
>>2702736
Не в курсе, но речь тут не в том чтобы самому из говна и палок собрать что-то, а чтобы тебе дали готовые тулзы и ткнули где и как писать.
Аноним 18/05/23 Чтв 14:40:21 #338 №2703131 
>>2703123
Ну, они сыграли в санкции. Я не могу помочь им на дошик, даже если до этого у меня была подписка на один из их продуктов.
Аноним 18/05/23 Чтв 16:39:51 #339 №2703290 
Почему в расте нет перегрузок функций? Еще одна утерянная технология древних, очередное ненужно?
Аноним 18/05/23 Чтв 17:00:19 #340 №2703312 
>>2703290
> ненужно
Сам спросил, сам ответил
Аноним 18/05/23 Чтв 17:13:50 #341 №2703325 
>>2703312
>Ненужно
fn collect(...
fn collect_with_int(...
fn collect_from_my_huy(...
fn collect_from_my_huy_and_int(...
fn collect_from_my_huy_and_int_and_ass_rust_programmers(...
Аноним 18/05/23 Чтв 17:16:49 #342 №2703335 
>>2703325
Ничего страшного плюсо макака, отучиться чтобы писать не как идиот и не тащить все говно из плюсов бывает сложно, но уверен у тебя получится
Аноним 18/05/23 Чтв 17:21:01 #343 №2703347 
image.png
>>2703335
Поколение которое не может отличить функции по сигнатуре аргументов.
Аноним 18/05/23 Чтв 17:40:40 #344 №2703387 
>>2703325
Перегрузка может и лишнее, но от дефолтных аргументов я бы наверное не отказался.
Аноним 18/05/23 Чтв 17:50:43 #345 №2703405 
>>2703387

Фича которая есть даже в божественном PHP, но не в расте
Аноним 18/05/23 Чтв 17:50:43 #346 №2703406 
>>2703347
> высрал что то непонятное
> прикрепить картинку
На этот пост также ответишь, дегенератина, которая не может пару функций как человек написать?
Вы уверены что программирование это для вас?
Аноним 18/05/23 Чтв 17:53:30 #347 №2703414 
>>2703405
>>2703405
>божественном
исключительном

мимо
Аноним 18/05/23 Чтв 17:55:24 #348 №2703417 
>>2703406
>не может пару функций как человек написать
Обосрался чет. Ушли от Си, чтобы в конечном итоге прийти к Си.
мимошел
Аноним 18/05/23 Чтв 18:11:21 #349 №2703442 
>>2703325
Ты долбоеб, зачем такой говнокод пилить? Дженерики и трейты на какой хуй придумали?
Можно при помощи трейтов организовать, написать трейт и имплементировать его для разных типов на подобии стандартного From<T>. Или например аргумент дженерик, который имеет имплементацию нужного трейта. Короче есть разные варианты, но писать как в говланге или сишке метод для каждого типа это какая-то специальная олимпиада.
Аноним 18/05/23 Чтв 18:16:39 #350 №2703457 
>>2703387
Лол, перегрузка через костылеварение, хоть как-то фиксит отсутствие дефолтных параметров раздуваю до звездеца, привет жаба!. Но тупо нет ни того ни другого.
И как это вообще можно любить? Туда ли я полез вообще...
Аноним 18/05/23 Чтв 18:19:58 #351 №2703464 
>>2703417

Чел, задача раста с памятью работать безопасно и не выебываться
Аноним 18/05/23 Чтв 18:22:46 #352 №2703476 
>>2703457
>Лол, перегрузка через костылеварение, хоть как-то фиксит отсутствие дефолтных параметров

А кстати, как это делается?

Если я вызываю myZloopah(a) и у меня есть 2 варианта этой функции

myZloopah(foo) и myZloopah(foo, bar = 'baz')

Че инвокаеца? А? А?
Говно ваши фичи блять не удобно, пиши на чем дают, ешь жука, еби трапа и не бухти
Аноним 18/05/23 Чтв 18:24:13 #353 №2703478 
show.png
>>2703406
Что там тебе бесчеловечного? Тебе надо так?
fn collect_1(...
fn collect_2(...
fn collect_3(...
fn collect_4(...
fn collect_5(...

Менегеры так торопились с попилом бобла, что положили болт на базовые мастхев вещи. Для меня это как пойти поссать не сняв штаны.
Аноним 18/05/23 Чтв 18:25:39 #354 №2703480 
>>2703457
Можно сделать, но все равно перегрузка довольно неоднозначная фича.
Аноним 18/05/23 Чтв 18:26:24 #355 №2703483 
>>2703478
>fn collect_1(...
>fn collect_2(...
>fn collect_3(...
>fn collect_4(...
>fn collect_5(...
Повторюсь, вы уверены что программирование это для вас, если у вас такая простая задача заставляет писать говнокод?

> базовые мастхев вещи
> плюсомакака настолько разучилась прогать, что уже не может без них пару функций написать
в голос
Аноним 18/05/23 Чтв 18:28:58 #356 №2703487 
>>2703464
>задача раста с памятью работать безопасно и не выебываться
Тогда нахуя он вообще нужен, если
1) Раст ничего не верифицирует и не гарантирует, поэтому бесполезен для критически важных систем. Nvidia для своих йоба-вещек, например, Ada SPARK взяла и целую PDFку выпустила "Почему не раст"
2) Можно писать на языках где проблемы с памятью решеный фундаментально.
3) Если нужна производительность и сырая ебля байтов, то можно написать ядро программы на Си, а потом последовать пункту 2.
Аноним 18/05/23 Чтв 18:31:35 #357 №2703492 
show.png
>>2703442
>Ты долбоеб, зачем такой говнокод пилить? Дженерики и трейты на какой хуй придумали?
Ты же понимаешь что перегрузка не только для типов нужна вида
foo(int v)
foo(long v)
foo(double v)

Там вообще могут быть разные по природе вещи, совершенно не совместимые по типам, но совместимые по логике.
foo(int v)
foo(List<T> v)
foo(MySuperStruct v)

Древние, не просто так придумали перегрузку, умея под боком шаблоны/дженерики.
Аноним 18/05/23 Чтв 18:33:40 #358 №2703495 
>>2703480
>неоднозначная фича.
Одно и тоже в каждом языке пока это не завезут.
Аноним 18/05/23 Чтв 18:34:05 #359 №2703496 
>>2703492
>>2703492
>foo(int v)
>foo(List<T> v)
>foo(MySuperStruct v)
Ты реально не понимаешь как в этом примере дженерики и трейты использовать? Или просто тупостью троллишь?
Аноним 18/05/23 Чтв 18:41:08 #360 №2703510 
>>2703495
Не, хуйня полная.
Аноним 18/05/23 Чтв 18:42:42 #361 №2703513 
>>2703487
Они начали догадываться, сир.

Мне все еще нравится в заголовках в медиа, мол почему раст язык будущего, мол почему раст возноситься над другими языка. То есть, они за 8 лет до сих пор находятся в оправдательной позиции типа "почему тебе это надо взять".

Другая мега жесть, это как js-никам начали затирать почему им надо вкатываться в раст, потому что где-то там напердолили очередной траспайлер. Вы представили лица код js-разрабов, которые с js на раст прыгнули. Ладно питонистов на го натягивали, но этот пранк зашел очень далеко.
Аноним 18/05/23 Чтв 18:48:34 #362 №2703520 
>>2703496
Так перепиши мне это:
foo(int v)
foo(List<T> v)
foo(MySuperStruct v)
foo(float v, string s)
foo(List<T> v, int i, int k)
foo(MySuperStruct v, int i, int k, string s = "default")

Я тебе не отвечаю, потому что ты возмущенно пукаешь в воздух, но ничего конкретно не говоришь. Раз ты докопался, то покажи как это решить, не переписывая составные типы.
Аноним 18/05/23 Чтв 18:50:59 #363 №2703526 
>>2703513
Тем временем раст в ядре..
https://timesofindia.indiatimes.com/business/india-business/why-programming-language-rust-is-becoming-so-popular/articleshow/99461508.cms
Аноним 18/05/23 Чтв 18:52:45 #364 №2703529 
>>2703520
Есть нормальный (реальный) пример где с перегрузкой вообще всё красиво и по кайфу, а без неё пиздец?
Аноним 18/05/23 Чтв 18:58:07 #365 №2703536 
defhnr5.png
>>2703529 игра угадай foo in pull request
Аноним 18/05/23 Чтв 19:01:08 #366 №2703541 
>>2703487
Все их претензии сводятся к тому что раст это больше найтли чем стейбл. Все есть.
Аноним 18/05/23 Чтв 19:03:07 #367 №2703543 
>>2703520
> перепиши мне это

>foo(int v)
>foo(List<T> v)
>foo(MySuperStruct v)
>foo(float v, string s)
>foo(List<T> v, int i, int k)
>foo(MySuperStruct v, int i, int k, string s = "default")

Сеньёр говнокодер еще и составные типы догадался впихнуть? Как бы я это написал?
Никак, как и все адекватные люди, тебя бы за такое на код ревью просто прирезали

кроме плюсов конечно, они находятся в разделе для одаренных, и уверен они штуки и похуже пишут
Аноним 18/05/23 Чтв 19:06:57 #368 №2703547 
>>2703487
> Раст ничего не верифицирует и не гарантирует, поэтому бесполезен

Можешь дальше не продолжать, чел. Очевидно что этой мове пиздец и никакое будущее его не ждет.

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

По словам нахрюк на котором можно писать шо хош от веба до эмбеда, а на деле выпук какой-то. Итс ооовер
Аноним 18/05/23 Чтв 19:07:24 #369 №2703549 
>>2703520
>Так перепиши мне это:
Что твоя foo делает и что возвращает?
Если нихуя, то вот fn foo<T>(v: T) {}
Аноним 18/05/23 Чтв 19:19:37 #370 №2703570 
>>2703529
>>2703543
В реально мире, когда ты не безработный студент и не скучающий на дваче инвалид колясочник, ты не можешь зайти в офис и сказать, что вы все дауны и не дотягиваете до двачеров, которые одни только могут писать писать многолетний код.
И начальнику ты не объяснишь что не можешь расширять его бизнес, потому что метод стал принимать слишком много составных типов и уже выглядит крайне не красиво.

Это простой пример кода, некой сборки, которая принимает на вход тучу разросшихся составных типов из бизнес-логики и выплевывает что-то одно (если с опытом совсем туго, представьте это как рендер чего-то). Забавно что на таком простом примере растеры обосрались и начали маневрировать, но я все еще хочу увидеть конкретно, как в том пример ненужна перегрузка
Аноним 18/05/23 Чтв 19:23:45 #371 №2703575 
image.png
>>2703570
> вы не можете просто так говорить что это говно
> ведь это говно может быть легаси говном которое будет лень кому переписывать
А ну тогда ладно, тащим в раст срочно!
Аноним 18/05/23 Чтв 19:24:02 #372 №2703576 
>>2703570
PS на самом деле я ждал мантру про макросы, но местные растеры настолько далеки от реального кодинга, что начали мантру про то что программисты плохие, а не язык виноват.
Аноним 18/05/23 Чтв 19:25:34 #373 №2703577 
>>2703570
>которая принимает на вход тучу разросшихся составных типов из бизнес-логики и выплевывает что-то одно
Про билдер патерн мы не слышали? Ах да, его хуй напишешь на плюсах без 100500 перегрузок под мув\не мув\конст случаи

> рендер чего-то
соболезную тому кто будет пользоваться твоим рендером принимающим всё что угодно, так еще и в составном виде
Аноним 18/05/23 Чтв 19:27:19 #374 №2703579 
>>2703576
Как тебе макросы с перегрузкой помогут, умалишенный?
Аноним 18/05/23 Чтв 19:27:34 #375 №2703580 
>>2703575
Да я понимаю что раст вариться в таких конторах, что легаси код там появиться никак не может. Но я реально вижу как без перегрузки начнется простыня ручных перегрузок, или макросная магия, когда код попадет в реальный продакшн, а не очередное попукивание на круд-микросервисе.
Аноним 18/05/23 Чтв 19:30:27 #376 №2703583 
>>2703577
>билдер патерн
Жаба-господин вспомнил про ООП паттерны, находят в треде процедурного язык.
Да начнется говнокод!
Аноним 18/05/23 Чтв 19:32:34 #377 №2703585 
>>2703583
> билдер патерн
> ООП паттерны
Лан чел, ты я прекращаю тебе отвечать, просто троллинг тупостью уже идёт
Аноним 18/05/23 Чтв 19:32:35 #378 №2703586 
>>2703583
>находясь в треде процедурного языка.
Аноним 18/05/23 Чтв 19:37:58 #379 №2703595 
>>2703585
Ну так пруфани паттерн на процедурном языке. я уже молчу что билдер это паттерн создания сложных объектов и ты вообще мимо ткнул
Аноним 18/05/23 Чтв 20:04:06 #380 №2703633 
>>2703520
Как перегрузки дискаверить кроме как сделать догадку о её существовании и в IDE подсмотреть сигнатуры у конкретной функции/метода? Я могу глазами пробежаться по списку методов типа, но вручную прописывать название каждого метода и смотреть, какие у него есть/нет перегрузки это маразм.
Аноним 18/05/23 Чтв 20:04:45 #381 №2703634 
>>2703570
>если с опытом совсем туго, представьте это как рендер чего-то
И как часто такие опытные как ты пишут говнокод для рендера? Я понимаю такую хуйню реактодебилы писали бы со склибокса, но для человека который пытается выдать себя за умного и опытного такая ебанина выглядит мягко говоря странно.
>>2703520
>foo(int v)
>foo(List<T> v)
>foo(MySuperStruct v)
>foo(float v, string s)
>foo(List<T> v, int i, int k)
>foo(MySuperStruct v, int i, int k, string s = "default")

Ты как эту хуйню собираешься поддерживать?
Аноним 18/05/23 Чтв 20:07:48 #382 №2703637 
>>2703492
>Там вообще могут быть разные по природе вещи, совершенно не совместимые по типам, но совместимые по логике.
>foo(int v)
>foo(List<T> v)
>foo(MySuperStruct v)
Как ты так умудрился сделать что у тебя в одно место приходят совершенно разные по смыслу типы? Я еще понимаю скалярные типы вместе или коллекции, но взять вообще совершенно разные типы и натягивать сову на глобус выглядит немного странным. Я понимаю еще всякие сериализации в json, но в остальных местах в чем смысл так делать, чтобы интереснее было такой код поддерживать?
Аноним 19/05/23 Птн 00:40:35 #383 №2703843 
>>2703634
>>2703637
Когда тебе надо что-то сконвертить и смотришь методы (по сути API) класса, ты в первую очередь смотришь перегрузки нужной тебе функции чтобы понять как в неё "это свое" передать, т.е. в каком виде. И чем богаче этот список, тем удобнее становиться эта "апишка", то есть становится больше возможностей. Я просто поражаюсь насколько неопытные люди тут сидят.

Я понимаю, фанбою надо маневрировать, но представьте, когда несколько функций делают одно и тоже, но называются по разному, это гребанное средневековье.
Аноним 19/05/23 Птн 03:33:15 #384 №2703907 
Untitled.png
Вы свой язык для троллинга придумали? Почему так нахуй?
Аноним 19/05/23 Птн 03:59:08 #385 №2703909 
image.png
image.png
>>2703907
БЛЯЯЯЯЯДЬ, только что заметил.
Вы совсем ебанутые там? Какой же рак нахуй.
Аноним 19/05/23 Птн 05:04:04 #386 №2703918 
> я самый тупой вопрос задам
> нет я ещё тупее задам
Аноним 19/05/23 Птн 10:10:39 #387 №2704018 
>>2703843
>Когда тебе надо что-то сконвертить
Для конвертации это понятно, просто ты всякие foo пишешь которые у тебя хуй знает чего делают. О той же конвертации я выше писал есть трейт From который можно имплементировать для нужного типа или что-то подобное можно реализовать на трейтах и дженериках.

> И чем богаче этот список, тем удобнее становиться
Лол, а потом кто-то другой читает этот говнокод и ощущает на себе все эти удобства.

>Я просто поражаюсь насколько неопытные люди тут сидят.
У меня нет опыта создавать себе и другим проблем и героически их решать. Есть метод он принимает определенный тип, я перевожу в этот тип и передаю туда или использую дженерик, либо impl Trait в качестве типа и мне не нужно плодить десятки копий одного и того же метода и писать тесты на все эти копии ты же покрываешь тестами свой говнокод, да? любой другой прочитавший название метода, что он принимает на вход и что отдает с одного взгляда поймет что он делает.

>фанбою надо маневрировать
На фоне того как ты маневрируешь не первый тред куда нам до тебя не фанбоя
Аноним 19/05/23 Птн 11:16:43 #388 №2704082 
>>2703907
Что ты своими консольками сказать то хотел, красноглазик ты наш
Аноним 19/05/23 Птн 12:45:34 #389 №2704173 
>>2703907
Ты реально думаешь что мы телепаты или хотим по твоим картинкам гадать?
Аноним 19/05/23 Птн 12:56:01 #390 №2704181 
>>2704018
>что-то подобное можно реализовать на трейтах
Можно и гланды через жопу удалять. Эти костыли никак не заменят перегрузку функций и тем более не оправдывают её отсутствие.

То есть, когда они затрахались как в го перекидывать ошибки руками, они "вопросик" добавили, а теперь что, надо их заставить промышленный код пописать, чтобы они остальные технологии древних принесли?
Аноним 19/05/23 Птн 12:59:10 #391 №2704184 
show.png
>>2704181
Походу эти ваши расты и го нужны лишь для того, чтобы я еще сильнее ценил тот язык на котором пишу.
Аноним 19/05/23 Птн 13:10:39 #392 №2704197 
Смотрел тут доклад про вебассембле, автор явно и не очень явно намекал, что этот вебассмебле делался под архитектуру подобную жабе, дарту, шарпу и тд. Ну то есть как минимум под ООП языки. Тут вот реально монстр на js завезли электрон и реально это первое полноценное кросс-платформенное gui.

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

Что думаете колеги?
Аноним 19/05/23 Птн 14:51:43 #393 №2704325 
>>2704181
Ты опять весь текст проигнорировал вырвав только нужное?
Спрошу прямо, почему ты пишешь говнокод где нужно все перегружать? Как ты эту хуйню тестами покрываешь?

> когда они
Кто они?
Аноним 19/05/23 Птн 14:56:11 #394 №2704340 
>>2704082
>>2704173
Скорее всего этот шиз первый раз увидел дерево зависимостей, у него в крестах он берет zver.dll и подключает её, а тут нихуя себе какие-то штуки из интернета грузятся
Аноним 19/05/23 Птн 15:44:31 #395 №2704429 
image.png
>>2704197
раст + отп(элексир/эрланг) = кишки ВСЕХ тырпрайз проектов ближайшие n лет до изобретения адекватного "executable UML"-like CASE инструмента, в котором проект будет генериться и обновляться напрямую из требований пользователей (может даже без их уведомления, анальным зондом, считывая частоту слов в диалоге с домашним питомцем); Рассматривай жс как вендор лок от текущего тырпрайза или как понятный инструмент для изобретателей-адаптаторов велосипеда для бизнеса вне глобального тырпрайза;

сомнительное высказывание про "архитектуру жабы, дарта, шарпа" по мне это пункт 2 предыдущего сообщения.
Мир как работал на
язык для веба + императив без сборщика + язык инфраструктуры (js + c++ + erlang);
так и будет только на
wasm + ada/rust-like имп. яп с верификацией + elixir

В идеале ваще завезут верифициремого сына раста и эрланга в одной коробке, который можно и в свитч засунуть и гуи налепить, назовут java3000/F##/TypedTypeScript/RustedRUST и будут дальше формировать плановую экономику blackrock'a и вангварда.

Коротко о том, что мог бы дописать:
иллюзия "малость мегахайпа и невключенность в нативный мир" и факт замещения всего инструментария системного программирования, вроде бы конфликтуют.
Аноним 19/05/23 Птн 19:00:01 #396 №2704753 
>>2704325
>Ты опять весь текст проигнорировал
5 minutes later...
> когда они
Аноним 19/05/23 Птн 19:04:36 #397 №2704765 
>>2704325
Там тебе разжевали, где обобщенные типы и костыльный полиморфизм не помогает. Нафиг мне целиком твои бестолковые тесты цитировать и нафиг мне тебя развлекать, иди работу найди уже, ты не несешь никакой полезной информации для дискуссии.
Аноним 19/05/23 Птн 19:05:45 #398 №2704767 
>>2704753
Ну так кто они? Создатели го и раста разные люди, ты тут в кучу все собрал и назвал они.
И да как ты свой говнокод тестами покрываешь, как изменения вносишь?
Аноним 19/05/23 Птн 19:18:15 #399 №2704796 
>>2704765
>Там тебе разжевали, где обобщенные типы и костыльный полиморфизм не помогает
Для обобщенных типов есть дженерики, в расте есть трейты например те же коллекции имплементируют трейт итератор и можно написать impl Iterator в качестве типа (как с интерфейсами в жабе), нахуя перегружать на пустом месте? Ты же выше примеры приводил вообще с числом, коллекцией и структурой для одного метода, еще и гордишься таким адовым говнищем.

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

>ты не несешь никакой полезной информации для дискуссии.
Я и не несу информацию, а просто спрашиваю тебя зачем ты говнокод пишешь, но ты виляешь жопой
Аноним 19/05/23 Птн 20:21:27 #400 №2704926 
>>2704082
>>2704173
1) Начнем с того, что папку при сборке раздувает с 2МБ до 200М+, но это еще как-то можно пережить.
2) Бинарник весит 4.2МБ против 240КБ бинарника на Си с аналогичными функциями(у обычного lsusb даже более понятный вывод) и с почти одинаковым количеством динамических зависимостей
3) НА ЕБУЧУЮ ПРОГРАММУ, КОТОРАЯ ЧИТАЕТ ИНФОРМАЦИЮ С ОДНООГО МЕСТА И ВЫВОДИТ ЕЕ НА ЭКРАН ТРЕБУЕТСЯ БОЛЕЕ СОТНИ ЗАВИСИМОСТЕЙ ИЗ ИНТЕРНЕТА, КОГДА ТАКАЯ ХУЙНЯ ПИШЕТСЯ ПОЧТИ БЕЗ ЗАВИСИМОСТЕЙ.

Вы же шизы ебаные. Все ваше блеяние про безопасность порешалось веб-парашной культурой разработки. Вот посмотрите на ветку зависимостей и скажите в какой из пакетов вам закинут говняк. А это системная утилита, если что.
Аноним 19/05/23 Птн 20:27:16 #401 №2704941 
>>2704429
>раст + отп(элексир/эрланг) = кишки ВСЕХ тырпрайз проектов ближайшие n
У меня такое ощущение, что вы в каком-то манямире живете или вообще в другой вселенной
Аноним 19/05/23 Птн 20:29:38 #402 №2704946 
>>2704926
LTO
T
O

https://lifthrasiir.github.io/rustlog/why-is-a-rust-executable-large.html

мимо не крастер, ссылка из шапки
Аноним 19/05/23 Птн 20:32:23 #403 №2704949 
image.png
>>2704941
я просто мимоинженер маленьких систем, которого заставляют работать по стандартам nato architecture framework прости уж за мой манямир
Аноним 19/05/23 Птн 20:41:32 #404 №2704956 
>>2704949
>по стандартам nato architecture framework п
Да хоть по стандартам галактического империума. В нашем мире тырпрайз - это всегда древние копролиты кода. Где-то даже от кобола не избавились. Собственно, на то он и кровавый тырпрайз.
Аноним 19/05/23 Птн 20:43:30 #405 №2704958 
>>2704946
Нахой оно не нужно с такой разницей в бинарниках.
Аноним 19/05/23 Птн 20:51:04 #406 №2704971 
>>2704956
Критически важную инфраструктуру уже давно с кобола переписали это байка и реальность критически не важных "крупных" компаний.

При всем уважении к вашему локальному глобальному тырпрайзу
Аноним 20/05/23 Суб 02:50:14 #407 №2705138 
show.png
>>2704946
По название ссылки думал, что сейчас открою и прочту кратко "почему", а там на пол книги лол.

мимокрок
Аноним 20/05/23 Суб 02:55:48 #408 №2705139 
>>2704926
>апку при сборке раздувает с 2МБ до 200М+
Ппц наверное раст там ssd радует. Как такое могло вообще из альфа версии вылезти? Что будет с проектов в 100мб?
Аноним 20/05/23 Суб 04:49:30 #409 №2705167 
>>2658080
Тред для программистов, а не долбоёбов. Засунь свой GPT туда, откуда он у тебя вывалился, и уходи.
Аноним 20/05/23 Суб 06:17:21 #410 №2705181 
3.png
2.png
1.png
>>2703907
Как можешь заметить по скринам libusb и libudev вкомпилены статически в бинарник и занимают большую его часть.

Придраться можно только разве что к ленивости прогера (и нежеланию велосипедить, что частенько приводит к уязвимостям разбора инпута), который использует clap за его триллион фич. Этот крейт, в частности использует также автогенерацию ман-страниц и bash-комплишнов.
Аноним 20/05/23 Суб 06:43:07 #411 №2705186 
>>2703907
Можно скинуть около 500 кб, если заменить clap и serde (оба были поруганы реддитом за размеры) на легкие альтернативы.

сам крейт занимет 330 кб, стандартная либа раста еще 250. Остальое все мелкое.
Аноним 20/05/23 Суб 06:48:17 #412 №2705188 
>>2705139
В таких случаях будут использовать https://github.com/Swatinem/rust-cache чтобы github объекты хостил, или https://github.com/mozilla/sccache для своего сервера.
Аноним 20/05/23 Суб 09:24:47 #413 №2705232 
scr3.png
scr4.png
Вот, удалось оторвать от бинарника serde. Отвалилося чтение-запись json-данных - конфиг программы был в json, чтение вывода system profiler (это из macos), вывод самой программы результата работы можно было сделать в json. И еще цвета тоже. И я не раст программист, между прочим. Довольно тут все просто получилось - удалил крейты, дальше просто слушал на что ругается и удалял в коде. Во многих других языках так не получится сделать.

Видно, что прога стала довольно мало занимать если стдлиб, libusb и libudev вытащить. Еще clap так и остался, но его мне влом выпиливать.
Аноним 20/05/23 Суб 13:16:22 #414 №2705452 
>>2705188
@
1990-2000 твой устарелый пк не тянет в игры, да и вообще характеристики уровня калькулятора, поэтому единственный вариант изучать программирование.
@
2020 чтобы скомпилить маленькую программу на системном расте, тебе нужен парк компьютеров, облако, солнце, звезды, и 50% млечного пути.

Когда мы повернули не туда??
Аноним 20/05/23 Суб 14:37:43 #415 №2705516 
ca.png
>>2705452
Я с тобой согласен потому что сам такой же, но человекоресурсы ограничены, а люди выставляют приоритеты сообразуясь со своими нуждами.

Не сочти за рекламу:
dns-shop.ru/product/02d939ff43d23332/1000-gb-25-sata-nakopitel-apacer-as350-panther-95db2g0p100c/characteristics/
>Гарантия от производителя 36 мес.
>Объем накопителя 1000 ГБ
>Максимальная скорость последовательного чтения 560 Мбайт/сек
>Максимальная скорость последовательной записи 540 Мбайт/сек
>Максимальный ресурс записи (TBW) 600 ТБ
>DWPD 0.76
4 899 ₽

Просто признай, что ты привык выживать в тех условиях, и у тебя просто PTSD/ У меня похожая проблема. Иногда лезу на вкладу пикрела и сижу там, медитирую.
Аноним 20/05/23 Суб 19:04:02 #416 №2705835 
>>2705516
Может просто не брать раст? Может хватит кушать низкокачественные продукты. Я понимаю там люди js компилируют в js и это кажется им нормальным, но тут у нас как бы системный язык, я не жду от него быстрой компиляции, но раздувания в порядок и не один, это уже слишком.
Аноним 20/05/23 Суб 19:05:47 #417 №2705838 
>>2705835
Зиг и прочие новые яп так же этим болеют? Это из-за llvm?
Аноним 20/05/23 Суб 20:33:06 #418 №2705933 
>>2705835
Не собираюсь переубеждать, но мало ли тут кто будет проходить с такой же проблемой.

Существуют файловые системы которые прозрачно и быстро сжимают повторяющиеся данные. Это проблему безразличия разрабов компилятора к твоей проблеме не решает, но поможет снять симптомы.
Аноним 21/05/23 Вск 15:36:38 #419 №2706612 
image.png
Ето конечно жёска
Аноним 21/05/23 Вск 18:30:19 #420 №2706954 
Можете объяснить кратко объяснить почему раст раздувает сборку проекта так? Для каждого проекта собирается все заново или есть особенности раста?
Аноним 21/05/23 Вск 18:36:11 #421 №2706968 
>>2706954
Из того что описано в статье из шапки - раст линкует все зависимости в один бинарник, там ещё болтаются минимальные jemalloc и libstacktrace для дебага. + debug строки.
Если кто-то посетит этот тред и я не прав - поправьте.
Аноним 21/05/23 Вск 18:51:33 #422 №2707005 
>>2706968
не, про размер конечного бинарника более менее понятно, я имею ввиду почему папку проекта с 4мб до 200мб может раздуть? Болеет этим же с++?
Аноним 22/05/23 Пнд 21:11:09 #423 №2708617 
m.jpg
Аноны, кто-нибудь тыкал машобчик на расте? Что там и как?
Вообще, в каком сейчас состоянии машинное обучение? Лет 10 туда не совался, игрался ещё на гвидоне с numpy и pandas.
Гачи-мачо сверху - автор проекта polars
Аноним 23/05/23 Втр 10:36:27 #424 №2708947 
>>2708617
Никакое. Лет 5 назад пытались какую-то либу/платформу запилить, но всё померло.
Аноним 23/05/23 Втр 10:38:50 #425 №2708950 
>>2708947
https://github.com/autumnai/leaf еле вспомнил название
Аноним 23/05/23 Втр 11:10:56 #426 №2708985 
image.png
>>2708950
>Лет 5 назад пытались
Аноним 23/05/23 Втр 11:54:37 #427 №2709028 
>>2703520
>Так перепиши мне это:
>foo(int v)
>foo(List v)
>foo(MySuperStruct v)
>foo(float v, string s)
>foo(List v, int i, int k)
>foo(MySuperStruct v, int i, int k, string s = "default")

enum Sperma {
Belogo(i32),
Negra(List),
Aziata(MySuperStruct),
Latinosa(f32, String),
Trapa(List, i32, i32),
Churki(MySuperStruct, i32, i32, String),
};
fn foo(arg: Sperma) {
match arg {
Sperma::Belogo(v) => {},
Sperma::Negra(v) => {},
Sperma::Aziata(v) => {},
Sperma::Latinosa(v, s) => {},
_ => {},
}
}
написано в комфорте мобильного устройства
Аноним 23/05/23 Втр 14:10:34 #428 №2709220 
>>2709028
Радует что тут есть программисты.

А так ппц бойлерплейт, конечно, но хоть есть структуризация, где можно понять, что это что-то общее, чем просто нейминг функций (перегрузка ручками).
Аноним 23/05/23 Втр 14:14:47 #429 №2709227 
>>2709028
В матчинге все равно придется заюзать функции, потому как велик шанс (так как перегрузка), что одни функции будут дополнять другие в себе. То есть, по сути, все равно придется писать перегрузку ручками и тогда енам вообще избыточен. Но как минимум можно спрятать эти кишки, что уже лучше, но да, бойлерплейт чистой воды.
Аноним 23/05/23 Втр 14:40:09 #430 №2709254 
>>2709028

можно еще так:

trait FooTrait {
fn f_fn(Self) -> ();
}
impl FooTrait for (i32) {
fn f_fn(Self) -> () {...}
}
impl FooTrait for (Ve3c<()>) {fn f_fn(Self) -> () {...}}
impl FooTrait for (St) {fn f_fn(Self) -> () {...}}
impl FooTrait for (Vec<()>, i32, int) {fn f_fn(Self) -> () {...}}
...

fn kk<T: FooTrait>(t: T) {
T::f_fn(t);
}
Аноним 23/05/23 Втр 15:53:46 #431 №2709340 
>>2709254
Выглядит как говнокод, не силен в клинописи, ты тупо заимлиментил все под рандомные сигнатуры?

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

collect_i32(...) // а лучше так collect_from_price(...)
collect_employee(...) // collect from employee
collect_employee_groupId(...)
collect_employee_groupId_tempCategory(...) // collect from employee with group id and temporal category id
collect_list_price(...)
Аноним 23/05/23 Втр 18:54:35 #432 №2709613 
>>2709340
>> рандомные сигнатуры
>> однотипные сущности
где ты их увидел?

хватит херню нести
Аноним 23/05/23 Втр 21:45:38 #433 №2709735 
>>2709227
Общий код можно писать вне матчи
Аноним 23/05/23 Втр 21:46:42 #434 №2709737 
>>2709254
Я ещё не настолько мудр, поэтому поясни пожалусто код
Аноним 23/05/23 Втр 23:39:58 #435 №2709805 
>>2709613
Херню начинаешь нести ты, когда зачем-то пытаешься объединить "необъединяемое", словно ньюфажа в программирование. И я знаю, ты это понимаешь и от этого у тебя подгорает еще сильнее.

Перегрузка функций объединяет действие (де-факто), но не сущности, которые она принимает, поэтому енамить или еще как-то группировать может начать только джун.
Аноним 24/05/23 Срд 13:28:50 #436 №2710164 
>>2709805
>Перегрузка функций объединяет действие (де-факто), но не сущности

И каким образом трейт объединяет сущности?
Аноним 24/05/23 Срд 16:02:34 #437 №2710347 
>>2709220
Да просто тот шиз когда в тред заходит никто ему серьезно не отвечает, спросил бы сразу чего ему надо много кто подобный вариант написал, enum и match в расте используется везде. А так доебался до перегрузок как пьяный до радио, при этом на вопросы что и зачем ему надо говорит о всяких абстрактных апишках и рендерах, разумеется все хуй об него вытирают.
Аноним 24/05/23 Срд 19:24:01 #438 №2710675 
>>2710347
Все там было понятно, мимохер пукнул, что перегрузка нужна, кто в очередной раз сказал ненужно а как иначе, её же нет, лол, начал(и) срать примеры не однотипной перегрузки, когда неинты и лонги пропихивают, а когда может влететь все что угодно.

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

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

Ппц капча, это мой ластовый пост тут.
Аноним 24/05/23 Срд 19:36:41 #439 №2710688 
>>2710675
Очередной язык где выпилили древние технологии и снова очередной вой про то как это ненужно.
И нет бы занять позицию - хотим и дайте, нет, будут сидеть и терпеть "ненужно", пока не завезут.

Согласитесь, раст был бы куда приятнее если бы были дефолтные аргументы и перегрузка. Никакую избыточную нагрузку это это для программиста не несет, только для авторов компилятора.
Аноним 24/05/23 Срд 19:45:36 #440 №2710700 
>>2709737
хз что объяснить
почитай про static dispatch
Аноним 24/05/23 Срд 19:46:13 #441 №2710704 
>>2710688
Какой смысл штамповать языки, если везде всё одно и то же, только где-то всё в camelCase, где-то змейкой, и те же, абсолютно, парадигмы. Абсолютно одно и то же, с тем же функционалом? В чём смысл то тогда?

Ты ещё пожалуйся, что не завезли из коробки абстрактные синглтон фактори бин фактории.

мимо
Аноним 24/05/23 Срд 19:49:26 #442 №2710710 
>>2710347
не шиз, а обычный, заурядный троль

его сообщения:
>>2709805
>>2710675
>>2710688
>>2709340
>>2703520

так что забей
Аноним 24/05/23 Срд 20:47:58 #443 №2710774 
Тэк блядь, аноны. Что за хуйня. Почему иду по ГУЕСС ГАМЕ в книжке, где предлагают поставить первый КРЕЙТ.
Проект через cargo new инициализируется с гитом веткой master.
После добавления строки в депсы, ебало мозг ВОПРОСИКАМИ !!!, пока не переименовал в main.

Это стандартное поведение? Социальная справедливость и её война? Или я что-то не то делаю?
Аноним 24/05/23 Срд 23:23:41 #444 №2710901 
>>2710774
>Социальная справедливость и её война?
Это.
Чувак, они даже константы по типу deadbeef, deadbabe и т.д запрещают у себя использовать, потому что это не этично. Но в то же время срут паражей в ченджлогах компилятора и просят поддержаь переворот в другой стране.
Аноним 24/05/23 Срд 23:29:07 #445 №2710903 
>>2710901
Не, с константами понятно, это для тулзы к репо компилятора. Но тут немного охуел, не мог понять что чекеру не нравится, хотя оно забилдило несмотря на "ошибку" в Cargo.toml из-за названия гитовой ветки.

>срут паражей в ченджлогах компилятора
Вот это ещё пока не видел.
Аноним 25/05/23 Чтв 04:05:35 #446 №2710960 
>>2710901
Очевидно, что эффективные менеджеры от скуки заигрались в твиттер. Теперь лгбт понос будет встроен тебе в компилятор.
Зачем вы участвуете в этом фрик-шоу?
Аноним 25/05/23 Чтв 05:11:29 #447 №2710968 
>>2710774
Надо было переименовать в white_master
Аноним 25/05/23 Чтв 09:19:28 #448 №2711037 
>>2710901
Так наоборот же весь мир против текущей попытки переворота, нет?
Аноним 25/05/23 Чтв 10:45:41 #449 №2711135 
>>2710901
> срут паражей в ченджлогах компилятора и просят поддержаь переворот в другой стране
Это где такое?
Аноним 25/05/23 Чтв 11:08:10 #450 №2711156 
>>2711135
Руст. По-моему у них что-то про Иран было, но может и путаю.
Аноним 25/05/23 Чтв 11:23:10 #451 №2711171 
>>2711156
>По-моему
Ты ссылку на репозиторий дай
Аноним 25/05/23 Чтв 11:28:36 #452 №2711182 
>>2711171
https://blog.rust-lang.org/2022/11/03/Rust-1.65.0.html
Аноним 25/05/23 Чтв 11:31:19 #453 №2711184 
>>2711156
У меня половина жаваскриптовых библиотек в доках развесила флаг Украины. Как что-то новое.
Tbh тоже немного настораживает, что в расте так много мелких зависимостей. Поставил один rand - получил 10 зависимостей. И я ещё не пробовал ставить всякие сериализаторы/веб фреймворки/етц. Я не знаю, может на плюсах так же.
Но вот то ли дело шарпы, там в зависимостях преимущественно болтаются стандартные библиотеки.
Аноним 25/05/23 Чтв 13:49:43 #454 №2711375 
>>2703909
Горжусь за Сишечку.
Аноним 25/05/23 Чтв 16:01:45 #455 №2711540 
>>2703909
Тут больше радует версия 2.5.0. Сколько раз обертка патчилась, что перепрыгнула мажорную версию.
Аноним 25/05/23 Чтв 16:06:11 #456 №2711544 
image.png
>>2711540
Аноним 25/05/23 Чтв 16:07:38 #457 №2711546 
>>2711544
с 2015-го, подразумевает, что там вышло аж 2 эдишона раста помимо варианта от 2015-го, 2015, 2018, 2021. imo норм
Аноним 25/05/23 Чтв 18:52:11 #458 №2711837 
Ребят, нужен язык для высокоскоростных вычислений в околонаучном проекте и желательно, чтобы его знания могли пригодится в дальнейшем, если дело нормально пойдет. Подойдёт ли Rust в таком случае? Есть прототип, написанный на старом C++, но изучать C++ не очень хочется, с другой стороны, язык широко используется. Rust интересен, но тратить на него время все ещё риск.
Аноним 25/05/23 Чтв 19:09:05 #459 №2711856 
>>2711837
> Есть кодобаза на плюсах
> Плюсы я учить - не хочу
> А вот переписать всё на раст не зная ни плюсов, ни раста - я хочу
Я правильно понял?

мимокрокодил
Аноним 25/05/23 Чтв 19:32:37 #460 №2711880 
>>2711856
Примерно так. Плюсы я ещё немного знаю, по крайней мере в исходном проекте могу разобраться, да и сам программист. Но в C++ за время его существования накопилось слишком много нюансов и мне придется потратить дополнительное время на их изучение в свободное от работы времени.
Аноним 25/05/23 Чтв 23:18:00 #461 №2712052 
show.png
>>2711837
>>2711880
Семён хватит набрасывать, займись делом.

>Но в C++ за время его существования накопилось слишком много нюансов и мне придется потратить дополнительное время на их изучение в свободное от работы

Да, а раст тебе сразу в голову прошьется. Научные работники, которых мы заслужили.
Тебе тогда придется учить и раст и с++ если хочешь переписать, плюс еще есть риск того что нужных либ на расте не окажется и придется ручками писать обертки.
Если сам ты можешь писать как хочешь, хоть в си стиле, то обертки тебе придется оборачивать уже со всем багажом знаний с++
Аноним 26/05/23 Птн 11:26:18 #462 №2712304 
1616164598475.png
https://www.reddit.com/r/rust/comments/13rcz4v/how_does_bevy_engine_manage_to_be_so_loose_with/ как раз про оверлоады, рендеры итд
Аноним 26/05/23 Птн 12:35:52 #463 №2712382 
image.png
>>2712304
Полетели костыли.
Аноним 26/05/23 Птн 12:39:35 #464 №2712389 
>>2712382
Как обезопаситься от этих плюсошизиков в зависимостях?
Аноним 26/05/23 Птн 12:47:23 #465 №2712400 
>>2712389
Не ограничиваться одним растом как шиз, а юзать оба инструмента?
Аноним 26/05/23 Птн 13:21:24 #466 №2712439 
>>2712400
Однажды у меня будет много времени, и я подсяду и на плюсы. А пока надо подсесть хотя бы на раст на уровня опытного пользователя ПК.
Нет, я к тому, что эти шизы тащат в язык костыли, которых в нём нет, просто потому что привыкли.
Мне вот раст после шарпов и фронтоблядского ever changing js нравится, перегрузки у меня и в шарпах есть. Зачем из НЕ плюсов опять собирать ПЛЮСЫ?
Аноним 26/05/23 Птн 17:11:07 #467 №2712811 
>>2712052
Повторюсь, что знаком с C++ и успел поработать с памятью, стандартной и не очень библиотекой, а также с системой сборки. Поэтому и поглядываю в сторону Раста, так как на первый взгляд видна попытка побороть недостатки плюсов. Но побаиваюсь, что первое впечатление окажется обманчивым.
Аноним 26/05/23 Птн 18:51:28 #468 №2712944 
>>2710774
А скомпилировать и запустить-то даёт? Ну типа это просто ворнинг или ошибка?
Аноним 26/05/23 Птн 21:32:26 #469 №2713133 
image.png
>>2712944
Скомпилилось. Я в процессе пробовал ещё раз пересоздать проект.
В итоге просто поставило мне крейт, и ничего даже не сказало про то, что ветка называется master. Надо был сфотографировать в тот раз ошибку. My bad.
Аноним 27/05/23 Суб 02:24:09 #470 №2713275 
>>2712439
Надо из С++ в раст перекатываться, а не из прикладных в системные. Веб-круды у тебя работать быстрее не станут, скорее через неделю начнут крашится потому, что костыль не умеет фиксить фрагментацию памяти.

Только вот плюсовику с его обилием готовых либ, это тоже нафиг не надо все.
Аноним 27/05/23 Суб 02:25:01 #471 №2713276 
>>2712811
>успел поработать с памятью
И как ощущение?
Аноним 27/05/23 Суб 03:52:15 #472 №2713304 
>>2713275
> что костыль не умеет фиксить фрагментацию памяти
Ну блепт.
Аноним 27/05/23 Суб 15:05:47 #473 №2713543 
>>2713304
Слишком грубо?

А не думали как для носителей языка звучит раст? Они буквально слышат "ржавый". Мол, пойду писать на ржавом. Что там у ржавого обнова вышла? На линуксе и в винде теперь есть ржавчина!
Аноним 27/05/23 Суб 15:10:03 #474 №2713548 
>>2713543
Да нет, не думал просто, что даже если захочу навернуть крудов, то пососу от фрагментации.
Аноним 27/05/23 Суб 15:39:55 #475 №2713561 
>>2713548
Если нет прогрева кэша на пару часов, то тупо рестартуй в 3-4 ночи.

Раньше так делали, но там больше потому что сишные приложухи ппц как текли, до фрагментации бы тупо не дожили.
Аноним 27/05/23 Суб 15:46:01 #476 №2713568 
>>2713561
Пиздос какой-то, анон. Я думал всё прям хорошо. То есть если по какой-то причине бэк на расте окажется на проде, надо ещё подумать о том, чтобы ноды перезапускать планово? Ох лил.
Аноним 27/05/23 Суб 16:34:07 #477 №2713624 
memoryconsumption.png
Где чел не прав? https://pkolaczk.github.io/memory-consumption-of-async/
Аноним 27/05/23 Суб 16:43:32 #478 №2713634 
image.png
image.png
>>2713568
Пока Семен балуется, кину вам статейку, раз никто контентом не бампает.
Сколько памяти вам нужно для запуска 1 миллиона одновременных задач?
https://www.reddit.com/r/programming/comments/13o4nr5/how_much_memory_do_you_need_to_run_1_million/

Шарп рили наступает.
Аноним 27/05/23 Суб 16:46:16 #479 №2713638 
>>2713624
>>2713634
In the C# implementation, you don't need to call Task.Run(...). That adds the overhead of a second task continuation.

Without that extra overhead I observed less than half the memory usage on the 1M benchmark, from 428MB down to 183MB (code here: https://github.com/J-Bax/CS...

E.g. do this instead of Task.Run(...):

tasks.Add(Task.Delay(TimeSpan.FromMilliseconds(delayMillisec)));>
Аноним 27/05/23 Суб 16:53:59 #480 №2713651 
>>2713624
>>2713634
>>2713638
Я наверно вот с этим оратором из пердит соглашусь:
There’s a huge important distinction that’s missing here: whether the tasks have stacks (like threads, goroutines or BEAM processes) or are stackless (i.e. async/await or promise style). Stackless solutions are always going to win benchmarks like this because, you know, you don’t need stacks for them! Of course tokio is going to win, it’s doing less work to accomplish a different goal.
В бенчах намешаны варианты с чистыми тредами и нет. И эликсир, который попердолил весь график.

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

А тут пугают фрагментацией, ввергая снова в экзистенциальный кризис. Хочу чтобы работало.
Аноним 27/05/23 Суб 16:56:10 #481 №2713653 
kid-cute.gif
>>2713638
Похоже поспешили Microsoft с переписыванием кода на Раст. Надо было переписывать на C#
Аноним 27/05/23 Суб 16:56:23 #482 №2713654 
>>2713651
Причём мало того намешаны варианты с тредами/без. Нет даже сравнения решения с тредами/тапками/корутинами на одном языке. На том же шарпе можно было набросать пример на чистых тредах. Или раз из коробки асинк эвейты работают - то не надо и думать самому?
Аноним 27/05/23 Суб 17:00:20 #483 №2713656 
>>2713651
stackless раста хуже stackless C# на 14% (213 против 183)
Аноним 27/05/23 Суб 17:00:40 #484 №2713657 
>>2713651
>В бенчах намешаны варианты с чистыми тредами и нет
Да, наркомания, поэтому стоит смотреть на миллион запросов, где он не смог запустить системные потоки.

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

Самое забавно как хомяка на го раздуло, а мне каждый гофер в ухо пел, какой го экономный и легковесный, по сравнению с жабой.
Аноним 27/05/23 Суб 17:03:27 #485 №2713659 
>>2713654
Я бы хотел увидесть бенч тасков, которые берут common-объекты для работы, и выполняют над ними common-операции. Так будет более приближенно к реальности.
Аноним 27/05/23 Суб 17:47:53 #486 №2713673 
>>2713624
>>2713634
>>2713653
Хотели опять попиарить раст на пустом месте, но пропиарили шарп.
Аноним 27/05/23 Суб 18:38:36 #487 №2713691 
>>2713651
>А тут пугают фрагментацией, ввергая снова в экзистенциальный кризис. Хочу чтобы работало.
Тут еще вроде у тебя мув семантика и вроде не надо думать о памяти, но думать придется, иначе объекты у тебя будут жить больше чем надо. Плюс добавить еще стимулирование копирования при иммутабельных переменных или ограничения на мутабельные, это в конечном итоге в теории может солидно так разрастить в большой программе.

Получиться, что многие объекты (и даже их копии!) которые должны были быть давно удалены с хипа, будут висеть как статика, ибо хер знает где его уничтожить, ты же не ГЦ, чтобы во всей этой простыне кода разрбраться.
Аноним 27/05/23 Суб 19:14:10 #488 №2713701 
>>2713691
> которые должны были быть давно удалены с хипа, будут висеть как статика, ибо хер знает где его уничтожить, ты же не ГЦ, чтобы во всей этой простыне кода разрбраться.
Попробуй то же самое в newbie-треде. Может там прокатит.
Аноним 27/05/23 Суб 19:23:50 #489 №2713706 
>>2713691
В раст автоматическое управление памятью без использования сборщика мусора. То же самое что в языке с ГЦ, только без ГЦ и его минусов.
Аноним 27/05/23 Суб 19:37:56 #490 №2713720 
>>2713651
>боюсь фрагментации
Двумя строками в коде можешь подключить аллокатор по выбору. К примеру, раньше раст приложения использовали аллокатор jemalloc. Но его убрали, во первых чтобы уменьшить размер бинарника (и использовать в результате стандартный системный аллокатор), во вторых чтобы пользователь мог сам выбрать себе менеджер памяти.
Аноним 27/05/23 Суб 19:40:52 #491 №2713723 
>>2713720
О, спасибо, анон! Надеюсь в книжке это описано. Но если что noted.
Аноним 28/05/23 Вск 02:41:21 #492 №2713919 
>>2713701
>>2713706
Тут речь про то, что владение будет создано на таком уровне, что по сути будет статикой. В ГЦ тоже такие утечки бывают, но если все же ссылки сдохнут, то ГЦ соберет, в расте нет.
Аноним 28/05/23 Вск 02:47:29 #493 №2713920 
>>2713720
Какой аллокатор может перемещать память? Это же стоп-зе-ворд. куда делось сообщение я хз
Аноним 28/05/23 Вск 06:38:32 #494 №2713930 
>>2713919
То что ты описываешь называется Rc / Arc это отдельный тип в Раст (обертка над Т), если все ссылки будут уничтожены, то объект тоже будет уничтожен моментально. Не всякий ГЦ в других языках уничтожает объект сразу, но в Расте Arc/Rc делают это немедленно при счетчике ссылок 0.

Если эти обертки не используются, то объект будет уничтожен сразу как выйдет из скоупа. Создать утечку памяти в Раст можно тем же способом что и в языках с GC - просто держа объект в текущем скоупе, и забывая про него:

fn Функция1() {
Объект1 = {"йцуйцу", 1.23f};
...
Функция2();
}

fn Функция2() {
/// тут работаем до конца программы, забывая что мы создали Объект1
}

Есть и другие способы, но они либо явные как Box::leak, либо используют unsafe.
Теоретически, есть вероятность упереться в циклические ссылки. Но про это часто и везде пишут (в том числе и в официальной книге), что надо использовать Weak там, где необходимо чтобы потомок указывал на родителя (создавая цикл).

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

>>2713920
Похожие запросы
How does jemalloc reduce fragmentation?
In jemalloc, allocations are categorized by size, and bins are assigned to allocations based on what fits the size requirement the best; it guarantees that internal fragmentation will never be more than 20% for a size range, as memory bins are selected by the size which best matches the allocation.28 янв. 2021г.
Аноним 28/05/23 Вск 12:22:54 #495 №2714035 
1568203152101.jpg
https://www.jntrnr.com/why-i-left-rust/
https://www.reddit.com/r/rust/comments/13tsmht/jt_why_i_left_rust/

какая-то новая драма
Аноним 28/05/23 Вск 12:40:27 #496 №2714040 
>>2714035
JeanHeyd has important history with the Rust project.

It was JeanHeyd who called Rust out for having no Black representation among Rust conference speakers. Rightly so, as both the Rust organization and the conferences had little to no Black representation.


Что-то желание дочитывать пропало. Весь экспертиза и заслуги свелись к как обычно и проблемам стран первого мира.
Аноним 28/05/23 Вск 19:32:58 #497 №2714390 
Screenshot1.png
>>2714035
>какая-то
Аноним 28/05/23 Вск 19:49:53 #498 №2714419 
Вот что бывает, когда профессиональное приобретает лицо и мнение.
Аноним 29/05/23 Пнд 02:32:51 #499 №2714640 
>>2713930
Интересно, спасибо умный анон.

>>2713930
>Отсюда вывод, что подсчет ссылок в Раст совсем не то, что сборщик мусора в каком-либо языке - более простой, менее затратный и менее мощный.
Да, но от циклических ссылок не спасет же?
Аноним 29/05/23 Пнд 02:39:43 #500 №2714641 
>>2714035
Можно сразу суть написать, ну реально мало хочется читать чьи-то слезы.
Аноним 29/05/23 Пнд 13:09:47 #501 №2715002 
>>2714641
Не читай и забей хуй.
Аноним 29/05/23 Пнд 15:16:24 #502 №2715207 
>>2714640
Циклическую ссылку сначала надо сделать, а это не так просто как в Си / С++. Для этого надо понять что такое Arc / Rc, unsafe и mem::forget. Когда начнешь про это читать, чтобы понять что это за сущности, тогда и увидишь в описании что циклическую ссылку можно сделать, и как это происходит.
Вот описание в документации: https://doc.rust-lang.org/std/sync/struct.Arc.html

Без чтения этой документации ты циклическую ссылку не сделаешь, а прочитав у тебя не останется извинения, потому что хорошо написано :)

Есть языки, где потеря производительности неприемлема. Вот Раст и пытается занять нишу между Си и языками со сборщиком мусора, "не отдавая ни пяди земли".

Если хочется обмазаться безопасными и удобными циклическими связями, и написать такой тип данных самому с нуля (не используя крейты), при этом без потери производительности, то можно использовать арены.
Аноним 29/05/23 Пнд 17:07:00 #503 №2715376 
>>2715002
Так там же драма.
Аноним 02/06/23 Птн 16:16:45 #504 №2719639 
Вот смотрю я на раст, он такй вроде классный, компилируемый, куча годной документации, менеджер пакетов, классный линтер и т.д. Но потом я вспоминаю, что он байтоёбский, а я лоу-айкью дегродант и теряю энтузиазм.
Аноним 02/06/23 Птн 16:34:55 #505 №2719667 
>>2719639
Знаешь, кто не разбирается в байтах? Тот, кто не трогает байты.
Что у него хуёвое, так это сжвшная вонь и привкус повесточки и политики. И всё это у инструмента, который со всем этим, казалось бы, не должен быть никак связан. Как C, C++, C#, Jeba, PHP, etc.
Аноним 02/06/23 Птн 17:38:03 #506 №2719745 
>>2719667
Разве не похуй? Инструмент есть инструмент,
Аноним 02/06/23 Птн 17:53:03 #507 №2719760 
>>2719745
Почитай выше линку с педдита. Топителя за репрезентативность чёрных кинули с ключеввм докладом. Он не пошёл. Готовил фичу для храста. В итоге с команды раста от такого вот это поворота отвалился чел, который давно его пилил. Инструмент - да. Должна ли по весточка влиять на инструмент? Нет. Влияет? Да.
Аноним 02/06/23 Птн 20:26:59 #508 №2719980 
>>2719760
Я так понял, там сначала негра какого-то поставили главным спикером, но другие участники ущемились из-за его предыдущих каких-то статей, что нигеров мало и начали бухтеть, в итоге его понизили и сделали обычным спикером, а тот не захотел это терпеть и ливнул, в итоге этот белый ущемился вместе с ним и ливнул из раста.
Аноним 02/06/23 Птн 22:17:40 #509 №2720039 
>>2719980
Он не просто не захотел это терпеть, он изначально не хотел идти обычным спикером. Его сделали ключевым - он согласился. В итоге из-за закулисных бухтений уже после того как он согласился стать ключевым спикером - даунгрейднули в обычного спикера. То есть то, от чего он изначально отказывался. Белый ущемился с этого в частности.
Аноним 03/06/23 Суб 11:15:07 #510 №2720291 
Почему если функция должна вернуть Result, то возвращают Ok(хуйня)/Err(хуйня), вместо объекта с типом Result?
Аноним 03/06/23 Суб 17:32:45 #511 №2720639 
Спасу утопающий. Зачем? Потому что могу!

ПЕРЕКАТ >>2720637 (OP)
ПЕРЕКАТ >>2720637 (OP)
ПЕРЕКАТ >>2720637 (OP)
Аноним 03/06/23 Суб 19:02:31 #512 №2720744 
>>2720291
Ok/Err это и есть "объекты" типа Result. Ok это Result::Ok, Err это Result::Err
Аноним 04/06/23 Вск 14:29:10 #513 №2721207 
>>2719760
Поддерживаю, инженерия и повестка не должны пересекаться.
На месте кабанчика, я бы не стал тащить технологию с сомнительным руководством.

Мне вообще было бы выгоднее сидеть на технологии жирного вендора, который сам тесно завязан бизнесом на своей технологии. Ну или как плюсы, с комитетом, но медленным развитием.
comments powered by Disqus

Отзывы и предложения