Этого треда уже нет.
Это копия, сохраненная 16 июня 2023 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
изображение.png706 Кб, 2560x1440
RUST #25 Rust /rust/ 2655915 В конец треда | Веб
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)
Стикер63 Кб, 450x378
2 2655923
Интересно в этом треде будут душевнобольные?
3 2656104
>>655923
Всех мастей. У нас инклюзивный тред.
4 2656605
Растаман со стажем сравнивает с зигом.

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

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

Раст — это обратная история, модуль на модуле и модулем погоняет, падаем от OOM и ничего не можем с этим сделать, на ёбку каждого байта нет желания или времени.
5 2656740
>>656605
С и С++?
6 2656787
>>656605

>сравнивает мем и язык программирования


он не растаман, а норкоман
7 2656807
>>656605
Неблохо, значит самы интересные фичи перетащит в раст.
image.png206 Кб, 424x423
8 2657087
>>655923
Сами себе пишут одно и тоже трололо, чтобы тред не создавал впечатление протухшего куска говна.
image.png14 Кб, 160x421
10 2657279
>>657165
Какой-то неисчерпывающий список.
Можешь закоммитить ещё несколько возможных сочетаний: abadd00d, deadd00d, deadb00b, f00db00b, beefd00d и т.д.
11 2657281
Нахуя пидораст?
12 2657284
>>657165
Политкорректные
13 2657286
>>657279
И еще 3735928559 deadbeef
14 2658035
>>657165
Нормальные люди не хотят всяких петухов и баребухов в открытом доступе от лица компании.
15 2658052
Не для троллинга вопрос - какие перспективы у Раст на данный момент?
То, что про него кричат изо всех программерски щелей уже лет 7 подряд - это толком ему не помогло
а вот по более материальным вещам:
1) Вроде как использование в компаниях увеличивается, судя по всяким ресурсам, например https://github.com/omarabid/rust-companies
2) Добавили в ядро Линухи (сейчас насколько я помню только по плагинам? но тем не менее)
3) Появились фреймворки для веба, но честно говоря, чот это прям остается нишево, хоть сколько-нибудь значимой доли пока не видно
4) геймдев как и веб - вроде есть что-то, вроде развивается, но относительно доли плюсов и шарпа, на расте похоже пишут условно также частно как на JSе

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

поправьте, где я не прав и какие у вас мысли?
16 2658061
>>658052
По такой логике все должны веб делать исключительно на пхп. Я долго на это вёлся, потом перекатился на другие языки, и ни о чём не жалею. Работы хватит всем, и на расте, и на сишке, и на плюсах, и на шарпе. Долгосрочно раст интереснее, всё-таки он даёт фундаментальные преимущества.
17 2658080
>>658061

>Работы хватит всем


GPT входит в чат
18 2658091
>>658061
Не понял, ты с пыха на раст ушел работать? Это вне РФ?
19 2658206
>>657279
Пиздануться просто, уже шестнадцатиричными цифрами научились оскорбляться. Надо им предложить еще последовательности нулей и единиц в константах интерпретировать через морзянку - ух, сколько там оскорблений можно найти!
20 2658222
>>658052

>какие у вас мысли


Раст постепенно движется во всякие safety-critical области - там где царят MISRA C/C++ и Ada. Сейчас идут какие-то подвижки по сертификации Ferrocene (тулсет на расте).

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

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

Много всякого на расте написано для web assembly, но я этой темой не сильно интересуюсь.
21 2658313
>>658222

>там где царят MISRA C/C++ и Ada


Пока нет стандарта языка, все это как умножение на ноль.
Screenshot2023-03-31-15-55-00-766com.android.chrome.png345 Кб, 1080x2248
22 2658338
>>658313
В процессе
23 2658490
>>658206

>морзянку


Ну зачем так далеко ходить, можно начать с того же юникода. Позапрещать непотребные &str-константы.
24 2659030
>>657279
>>657165
А что этот список делает-то? В коде нельзя что-ли будет константу такую объявить?
image.png90 Кб, 1177x639
25 2659055
>>659030
Скорее варнинг со стилистической рекомендацией.
26 2659064
>>659030
В самом коде компилятора нельзя будет deedbeef, b00bie3 итд. https://github.com/rust-lang/rust/pull/92469
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'а первое значение?
28 2659604
>>659567

> Объясните JS-макаке - зачем нужны enum'ы, особенно с кортежными значениями


Для написания конечных автоматов по любому поводу. Конечный автомат — это вершина программирования. Там рассмотрены все случаи, учтены все ситуации, и ничего не может случиться неожиданно.
29 2659620
>>659567
Всё можно. В растбуке много примеров
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.
30 2659629
>>659567

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


>


>match matchStr {


>Example::Greet(_) => // result


>}


>но тогда Example::Greet(_) будет всегда срабатывать


Естественно он у тебя будет всегда срабатывать, ты только его одного и зпрограммировал. Они для случая, когда ты не знаешь заранее North, Greet() или Ip() у тебя будет.
31 2659631
>>659567
Что касается enum и зачем они нужны. В расте отказались от null и исключений. Везде, где что-то может пойти не так, ты это видишь в типе возвращаемого значения. Это теперь не скрыто где-то глубоко и не выстреливает внезапно на проде. Никаких больше undefined is not a function и необработанных эксепшенов. Хотя все пишут не думая unwrap, но этим ты как бы явно соглашаешься крешнуть программу.
32 2659699
>>659604
>>659620
>>659629
>>659631
примерно понятно, спасибо всем
image.png597 Кб, 1134x1134
33 2660552
Помогите, почему у меня
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
отрабатывает нормально. Как фиксить?
Плата китайский клон ардуино нано, модуль сд какой-то стандартный, как на картинках в интернете.
34 2661973
>>660552
хз, подробней опиши проблему
35 2662058
>>661973
Ну а что я могу написать?
Если просто пытаюсь применить библиотеку, то просто возвращает Error::CardNotFound

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

Хз, что я ещё могу сделать, и так уже для второго пришлось библиотеку патчить, потому что нана ни defmt, ни тем более стандартный fmt не потянет.
36 2662206
Ребят, привет. Я питонодебил синиор, в питон вкатился из жавы лет шесть назад, на жаве года полтора просидел. Потыкал этот ваш раст, понравилось, думаю из гвидопыха перекатываться. Какие техи у вас котируются в вебдёве и при этом не говно? Что на интервью любят спрашивать? Как нынче ситуация с работкой ваще?
37 2662475
>>662206

> в вебдёве и при этом не говно?


В основном 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 читать выхлоп у запущенного из-под раста процесса, потом уже даже вдвоем код дорабатывали. Как всё заработало "О заебись, давай к нам". Какая спецолимпиада у корпоротивных корпораций в душе не ебу, но мне чаще попадаются небольшие конторы, где обычно собесы проходят в разы проще.

>Как нынче ситуация с работкой ваще?


Работы не много, по сравнению с тем же пистоном или жабой, но большинство мест с хорошей зарплатой. Большая часть вакансий всякая крипта и бекенд, иногда встречается байтоебство с железом, но опять же для пионера-юниора с улицы нихуя нет, обычно приходят те кто перекатывается из других языков. Если у тебя опыт о котором ты писал не из резюме, а настоящий, то вполне можешь куда-нибудь вкатиться. Сам сейчас бекенд пилю, иногда с эфиром дружу, перекатился из руби имея за плечами пару лет опыта.
37 2662475
>>662206

> в вебдёве и при этом не говно?


В основном 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 читать выхлоп у запущенного из-под раста процесса, потом уже даже вдвоем код дорабатывали. Как всё заработало "О заебись, давай к нам". Какая спецолимпиада у корпоротивных корпораций в душе не ебу, но мне чаще попадаются небольшие конторы, где обычно собесы проходят в разы проще.

>Как нынче ситуация с работкой ваще?


Работы не много, по сравнению с тем же пистоном или жабой, но большинство мест с хорошей зарплатой. Большая часть вакансий всякая крипта и бекенд, иногда встречается байтоебство с железом, но опять же для пионера-юниора с улицы нихуя нет, обычно приходят те кто перекатывается из других языков. Если у тебя опыт о котором ты писал не из резюме, а настоящий, то вполне можешь куда-нибудь вкатиться. Сам сейчас бекенд пилю, иногда с эфиром дружу, перекатился из руби имея за плечами пару лет опыта.
38 2662643
>>662475
Даже аксум не упомянул. А ты точно шаришь?
39 2662645
>>662475
Чаю, анон, хорошо расписал, для старта хватит. Посру в опенсорс какой для резюмехи да для скиллухи и пошуршу, авось чего-нибудь найду. Я со своим гвидопыхом по-моему упёрся в относительный потолок зряплатный (300к рублёв в USDT из шкуры вон не вылезая), да и язык уже заебать успел, честно говоря. Как раз щас около крипты и варюсь, авось смогу даже по блату пролететь, лмао.

>Если у тебя опыт о котором ты писал не из резюме, а настоящий


Скорее даже настоящего побольше, в код ебусь лет 12, это именно профессионального.
40 2662653
>>662643

>Даже аксум не упомянул


Мы его как-то попробовали и в первый же день отказались, только уже не помню почему, чего-то было не реализовано из коробки и пришлось руками писать каждый раз
1648003668956.png54 Кб, 200x138
41 2663254
>>662653
Ну как минимум популярнее актикса и на порядок больше загрузок чем у рокета. Для бд еще есть sea-orm, tokio-postgres (аксум кстати от разрабов токио).

Но вообще веб имеет совать или чтобы побаловаться, или какой-то оче хитрый веб (ну как тот же дискорд всё переписывает что-то), или мб просто какую-то отдельную хероту отдельно вывести где оче хайлоад. Как замена рельсам/вп/джанге/микрофреймворкам любым такое себе.
42 2663315
>>663254

>Ну как минимум популярнее актикса и на порядок больше загрузок чем у рокета.


Мне похуй на популярность и вообще это не показатель, он может быть много где в зависимостях. Мне важно чтобы всё работало из коробки и было удобно поддерживать, в этом плане у actix проблем вообще не было. Это как сравнивать hyper и reqwest, у hyper загрузок больше по причине того что он много где в зависимостях, но если ты хочешь скачать json откуда-то тебе надо написать с десяток строчек, с reqwest ты это реализуешь написав в одну строчку, а если надо запрос через прокси сделать, то история с hyper становится веселее. То есть hyper удобно для использования внутри библиотек где нужны оптимизации и байтоебля, но неудобно использовать в продакшене где тебе нужно просто отправлять запросы и парсить json. Так же и тут у actix уровень абстракций выше с ним удобнее работать.

>sea-orm


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

> Как замена рельсам/вп/джанге/микрофреймворкам любым такое себе.


Никто не заменяет рельсы, скорее область применения такая же как у go. У нас много парсинга и обращений к сторонним апи, блокчейну эфира и все это асинхронно плюс постоянно пишет в БД, всякие скриптовые языки при таком режиме работы по памяти утекают, собственно часть софта переписали с node.js по этой причине.
image107 Кб, 1200x768
43 2664571
Смотрю пример и не понимаю, почему он работает, а мой вариант (пикрил) нет. Объясните плз
Пример: https://github.com/tokio-rs/tokio/blob/master/examples/proxy.rs
44 2664580
>>664571
а ещё в примере почему-то shutdown вызывается только если всё ок, а в случае ошибки нет, тоже непонятен этот момент
45 2664608
>>664580

>а ещё в примере почему-то shutdown вызывается только если всё ок,


Закончили — закрыли стрим

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


Ты закончил и не закрыл

>а в случае ошибки нет


Всё сломалось, ничего не закрыть.
46 2664609
>>659631

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



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

В итоге исключения это этап эволюции разработки, ценой производительности. Но текущие программисты уже не могут осилить это древнее умение и новые яп появляются с костылями 70х годов (обработку ошибок операторами ветвления) и статьями, как исключение ненужно.
47 2664613
>>664609

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


Так прокинь её выше.
48 2664648
>>664613
Кто-то сказал Голенг?
49 2664651
>>664648
Как и раст (поменьше бойлерплейта в коде, побольше в сигнатурах)
50 2664697
>>664571
Кажется понял. В примере оба таска выполняются в одном треде и таким образом они поочередно используют incoming/outgoing переменные. Если вызвать spawn, они могут выполниться в разных тредах и тогда будет гонка + непонятно какое время жизни у объекта. Тип без арка+мютекса тут не обойтись, или как..
51 2664698
хотя каждый поток будет использовать свою половину, нахуя мне лочить весь объект
изображение.png420 Кб, 1080x934
52 2664770
>>664648
Тоже сравнил, тут не нужно писать if err != nil на каждый чих, достаточно написать знак вопроса чтобы пробросить выше, а если взять anyhow, то это можно делать вообще не задумываясь о типе ошибки. По сути выглядит почти как исключения только для проброса ставишь знак вопроса, но при этом с явной обработкой как в go
53 2664778
>>664770

>По сути выглядит почти как исключения


Сделали сахарок для бойлерплейта и радуются что у них лучше тоже самое что и в гошке.

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

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

Приятно видеть, когда новое поколение проходит тем же путем что и 40 лет назад.
54 2664887
>>664778
В anyhow есть context, передавай туда что нужно, чтобы понять че происходило в случае ошибки.
Да и ты скорее не про сложные с точки зрения поставленной задачи приложения пишешь, а про легаси говнокод, который собрал в себе все возможные антипатерны за годы "развития", не покрыт тестами и т.д.
55 2664902
>>664778
Разумеется если ты после js руки не мыл и пишешь код с таким же подходом как там, то будешь абсолютно всё наверх пробрасывать знаком вопроса и потом страдать в поисках где что упало. После этого ныть и размазывать сопли на двощах.

>высрать тебе стэк


Мне не надо высирать стек, мне нужно знать в каком месте оно может упасть и это место обработать чтобы не крякнуло в неизвестном месте в неожиданный момент. Там где не нужно это обрабатывать пробрасываешь наверх знаком вопроса.
Разные подходы просто в той же жабе ты всё оборачиваешь в try catch наверху ждешь чуда и читаешь родословные классов логах, а тут ты всегда обрабатываешь ошибку и пробрасываешь её наверх если конкретно в этом месте не нужно обрабатывать. Когда у тебя все ошибки на виду ты немного по-другому начинаешь их обрабатывать даже с точки зрения бизнеслогики, а когда тебе в самом верху нужно обернуть в try catch и похуй что там происходит ты некоторые ошибки просто не видишь.
56 2664906
>>664778
>>664887

>В anyhow есть context


Кстати да можно его использовать, если совсем привык к исключениям и без них жить не можешь
image88 Кб, 708x833
57 2665099
>>664571
Решением оказалась функция into_split, вместо split
58 2665689
>>664902

>Мне не надо высирать стек


>мне нужно знать в каком месте оно может упасть


Стектрейс нужен чтобы локализовать место ошибки, но ему он ненужен.
Тут вообще реальные программисты есть?
59 2665705
>>665689
И? Ты без стектрейса никак не узнаешь где упадет? Не сможешь в лог написать так чтобы было сразу всё понятно? Нужно обязательно высрать всю родословную всех вызовов чтобы что-то понять, а иначе ты не настоящий программист. Ты хоть раз видел стектрейс в каком нибудь спринге? Ну насрет тебе содержимым фреймворка где в середине этого говна будет нужный тебе класс и метод с NullPointerException, так станешь настоящим программистом лол.
60 2666985
>>663315

> >sea-orm


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



Очень удобный micro-ORM, ХЗ чего тебе с него подгорело. Diesel - это какой-то дичайший оверинжиниринг со своим тулчейном, миграциями и прочей хуетой кто этим всем вообще пользуется?, тогда как с sea-orm надо лишь немного почесать репу и оно заработает. Я посмотрел на дизелевский хэлловорлд из кучи нетривиальных шагов и закрыл его нахуй, юзаю sea-orm и в ус не дую.
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, что в целом скорее минус.

Может есть ещё какие-то библиотеки, которые я пропустил?
62 2667591
Вот эти махинации RF не приведут к тому, что раст только начинает раскрывать крылья нормально, а кор команда внезапно решила проебать все полимеры и оттолкнуть от себя сообщество и конторы?
63 2667628
>>667591

> махинации RF


??
64 2667632
>>667628
Rust Foundation
65 2667635
>>667632
Это я понял, а чего там такого мутят то?
66 2667640
>>667591
Кор тим это разве не пидорасы-манагеры из мозилы, которые себе премии выписывают? Мне казалось я пару лет назад с ними какой-то зашквар уже слышал. Про то, что челик какую-то бабу через знакомство закинул и она на говно исходить начала.
67 2667646
>>667635
всякие приколы с трейдмаркой и прочим
вот ссылка на док
https://docs.google.com/forms/d/e/1FAIpQLSdaM4pdWFsLJ8GHIUFIhepuq0lfTg_b0mJ-hvwPdHa4UTRaAg/viewform

>>667640
вполне похоже, но я как понимаю там не только мозилла а еще и часть других компаний - типа мелкомягких и других
69 2668907
>>668330
У этого клоуна утечки памяти и тормознутость jsa компенсируются ЛЯМБДОЙ, сука, ну просто наплодили миллиард короткоживущих функций, горизонтал скэйлинг у крутых продвинутых челов🙂🙂🙂
70 2671572
пора признать что плюсы просто лучше чем раст :(
71 2671587
>>671572
подожди до понедельника
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).

Е.АЛО ПРЕДСТАВИЛИ?
Хорошо, что это говно уже сейчас всплывает, а не потом, когда на этот вендорлок дохрена софта подсядет.
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).

Е.АЛО ПРЕДСТАВИЛИ?
Хорошо, что это говно уже сейчас всплывает, а не потом, когда на этот вендорлок дохрена софта подсядет.
73 2671753
>>666990
Зачем искать непонятную хуйню, если есть реббит/грпц? На реальных проектах никто не использует никому неизвестный рпц от васяна
74 2671776
>>671746
Это норма, go, swift итд затрейдмарканы, даже ллвм и линукс. С/С++ наверное из-за древности как-то без этого обошлись, но может и тоже есть какие-то нюансы.
75 2671837
>>671776
но эти совсем ебнутую политику выкатили
76 2671883
>>671753
зато на некоторых реальных проектах велосипедят свои рпцы, очереди, скедулеры базы данных слава богу не встречал и тд, что с учётом того что это не главное направление даёт результат уровня васянов, если не хуже
77 2671897
>>671776

>Это норма


Это залупа.

>go


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

>swift


Не язык общего назначения
78 2671923
>>671897
Продолжай про ллвм и линукс.
79 2671946
>>671923

>линукс.


Политизированная корпоративная залупа.

>ллвм


Корпоративный копромпилятор, который может насрать в штаны своими охуительными оптимизациями под охуительные блеяния про "следование стандарту" (в ГЦЦ такой хуйни нет, если что)(см. пикрилы)
80 2672099
>>671946

>пик


Погоди, это реально?
По каким ключевым словам можно почитать про такие охуительные оптимизации?
81 2672182
>>672099

>По каким ключевым словам можно почитать про такие охуительные оптимизации?


https://github.com/llvm/llvm-project/issues/60622
82 2672290
>>671946
И как спокойно спать, зная что такая хуйня существует?
83 2672754
>>656807
Делаю себе либу, и вот захотелось чтобы она прям для встроек могла работать.
Суть в чем - как мне в либу принять от Сишного кода аллокатор (думал передавать структуру с указателями на функции аллоцирования и освобождения памяти) и привести его к GlobalAlloc, чтобы не таскать его повсюду? Также нужно i/o, поэтому надо сишные функции ака read/write превратить в Rust-овские impl Read Write.
Нашел пока какие-то ну максимально простые примеры, которые в моем случае вообще не помогают.
image.png24 Кб, 464x335
84 2673782
>>671946

>в ГЦЦ такой хуйни нет


ну по ссылку что ты выше дал такое можно сделать
85 2673814
>>655915 (OP)
Посоветуйте, пожалуйста, книгу/ютуб по программированию с примерами Раста. Не книгу по Расту, а книгу по программированию, если такая есть.
86 2674005
В общем. Смотрите. Я сишник с большим стажем. Работаю на заводе.
Ну так вот. Наш главный - сошел с ума. Хочет жаву впихнуть в девайсы. Я про это плакался уже в другом треде. Но не суть.
Я че думаю. Думаю подсунуть ему раст. Под предлогом того, что он типа безопасный и все дела, но быстрый как си.
Никто тута на расте работать не умеет.
Вопросы следующие. Насколько это будет правдой? Нижняя граница железяк - это всякие STM32 c Armv7.

Так-то код на си - всем подходит, но типа молодежь не заманишь, а дедов - мало осталось, деды убегают в финтехи всякие. И в результате - поддерживать уже почти некому, а нужно не только поддерживать, но и развивать.
Жава - ну СИЛЬНО плохо показывает себя.
Я думал раст, как модная-молодежная замена сей, чтобы зумеров приманить. Но чет не знаю. Сам я в расте не силен, только видел всякие сравнения и по графикам - производительность вроде близкая к си, уверен, что это пиздеж, но надеюсь, что не такой сильный.
Собственно - да. Расскажите че да как. Не хочу вдаваться в подробности, но коротко - железки это всякие контроллеры для шкафов заводских. Текущий стек - это си+луа+на пхп веб+vue - чтобы рисовать морду. Думаю си как раз заменить на раст, а луа на питон, мож зумерам интереснее будет.
87 2674039
>>674005
В чем смысл перехода на джаву, чем он это мотивирует?
Теоретически вместо джавы можно подсунуть ему любой компилируемый язык, да тот же С++ наконец.
88 2674050
>>674039
Мотвивирует тем, что у нас 150 прикладных программиста на джаве. А встройщиков на си осталось 10 человек, и второй год не можем даже мидла найти нормального.
89 2674056
>>674050
Ну видимо просто платите мало.
При таком раскладе на расте кодеров не сильно больше у вас будет, так что фиг знает. Возможно ваш главный даже прав т.к. на джаве много легаси и джава кодеры должны быть более умерены в своих запросах чем хипстеры на расте.
Тем более что

>150 прикладных программиста на джаве


А так выбор языков невелик: Java. С++, Rust или Go.
90 2674058
>>674056
Та не то чтобы мало.
Просто была неприятная история, которая репутацию подпортила.
Коротко суть - в древние времена было такое развлечение у дедов: раз в квартал - выбирали 1-2 самых низкорезультативных, и МЯГКО намекали им съебывать нахуй.
Проблема была ессно в том, что т.к. мы все люди - частоы случалось так, что выбор не всегда был честным, типа кто в хороших отношениях с людьми повыше - не рисковал и мог проебываться.
Ну. Часть людей это заебло - они съебались в закат, прихватив с собой тех кому тоже это не нравилось. Стали конкурентами. Причем успешно.
Ну. А люди снаружи организации - прознали и репутация так же была убита. Студентота - перестала активно идти сюда работать.
Я - пришел позже. Когда я пришел - я про все это дело - только со слов дедов узнал.
Ну. Так вот. Среди местных - хуй найдешь тех кто готов был бы сюда идти и при этом годный.
Годы шли. Деды - постепенно то в финтех сбегали, то еще куда-нибудь. В итоге имеем, что по сути - у нас сейчас даже на поддержку существующего - не очень хватает людей.
Но блядь. ДЖАВА на встройках. Ну блядь. Ну серьезно.
91 2674064
>>674050

>встройщиков на си осталось 10 человек



>Переходишь на раст


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



Отличный план. Надежный блять как швейцарские часы.
92 2674078
>>674064
Ну а как ты предлагаешь?
Люди просто не идут сюда. Аутсорсить - да. Но на постоянку - нет.
93 2674100
>>674058
Кулстори, бро.
Не понимаю только каким образом при таком раскладе вам должен помочь раст. Он магически исправит вам репутацию и все побегут подавать резюме? А может проще на hh поискать сишных кодеров?
Ну а так раст подходит под ваши задачи конечно, но непонятно кто будет переписывать весь софт с Си на Раст.
94 2674106
>>674100
Он должен создать имидж модного-молодежного коллектива с интересным стеком и задачами.
Переписывать будем частями.
Со стороны - никто не хочет переезжать к нам, люди из других регионов хотят на удаленку. А принципиальная позиция владельца бизнеса - никакой удаленки.
95 2674162
>>674005
А это вообще реально?
Ну запихнуть на микроконтроллер жаба вм чтобы ещё место и мощности под программу остались?
Если да и жаба позволяет байтоебить на уровне С, то почему нет? Взять джависта, анально (но с вазелином) показать ему прогу и сказать "придумай как переписать на жабу".

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

С другой стороны наверное ещё проще обучить джавистов писать код под МК.
96 2674181
>>674005
>>674162
Забыл добавить, что смотрел чё там на расте с armv7 (отправлял данные по UART и потом на SPI дисплей), вроде работало и на том спасибо.
97 2674234
>>674005

>всякие STM32 c Armv7


Ну насколько можно судить по табличкам с оф сайта, поддержка 32 arm 7 - это Tier 2-3 для разработчиков раста, т.е. они не гарантируют тебе там беспроблемной сборки твоего кода под эти архитектуры. Tier 1 это только arm64 по понятным причинам. Хз насколько в реальности будут серьезны твои проблемы, но скорее всего попердолиться придется знатно.
98 2674457
>>674100
два плюса господину
вам начальство либо привести в чувства надо, либо вообще новое
потому что пока вы выглядите как Rust Foundation - продолжаете отстреливать себе ноги, но при этом хотите, чтобы смотрели на это и восторженно злопали
99 2674462
>>674162

>А это вообще реально?


Java ME
1538636583734.png158 Кб, 317x402
100 2675012
>>655915 (OP)
господи какой же Кладов няшка я каждый раз когда смотрю его лекции представляю как он после лекции вернется к себе домой наденет чулочки и начнет программировать :3
101 2675062
>>674162
Нахуй жабу, шарп пизже. Есть нано для эмбеда
102 2675272
>>675012
Зачем вам этот раст вообще нужен? Сделали бы тупо гей-сообщество и жахались в анусы, не напрягая мозг кодингом.
103 2675274
>>674162

>А это вообще реально?


https://en.wikipedia.org/wiki/Java_Card
image.png33 Кб, 303x174
105 2675450
>>675427
уважаемый человек в контрибьюторах, уважаем
106 2675872
С чего начинать учиться, чтобы уметь в системное программирование?
Сам фронтедер,но оче хочется медленно вкатываться в компилируемое что-то
107 2675920
>>675872
Явно не с раста. На раст перематываются обычно только в рамках компании, ибо работы на нем НЕТУ
108 2677148
Да всё кирдык ржавому, факндейшн скурвились, пора валить
maxresdefault.jpg72 Кб, 1280x720
109 2677241
110 2677516
>>673782

>Ставишь unreachable


>Включаешь оптимизацию


>Код доходит до unreachable


>Происходит хуйня


Кто бы мог подумать
image.png1 Мб, 1280x720
111 2677595
>>675427
Полгода не интересовался ржавым грибом, зашел, а тут снова драма.
И вот непонятно, что глупее? Менагерская утопия, которая как танцовщица прогибается под шелест бабла корпораций, или зрелые люди, которые на полном серьезе делают форк, не имея даже процентра ресурса, как у попильного гриба.

Что там слышна про убивцу от гугла? Обосрались? Трудно круд-зумер-программистами овладеть технологией древних?
112 2677676
>>677595

>Что там слышна про убивцу от гугла? Обосрались? Трудно круд-зумер-программистами овладеть технологией древних?


Так он же очень активно вроде набирает щас популярность, не?
113 2677843
>>675920
Да,шокич конечно. Вакансий просто 0,против golang 1000.
Хотя на Гитхабе проектов больше
114 2677891
>>677676
Ничего с анонса не слышал, даже лень гуглить. Уже тогда насторожило, что у них кроме идей ничего нет, акромя "вдохновленного" синтаксиса с раста.
115 2677963
>>677843

>Да,шокич конечно. Вакансий просто 0,против golang 1000.


>Хотя на Гитхабе проектов больше


Никто не хочет вступать в политическую партию для того, чтобы программировать.
1625671273465.jpg231 Кб, 2048x1731
116 2678025
>>677595
Всё как всегда, пошумят и успокоятся.
117 2678387
>>677891
Ты точно про тот гугл говоришь? У гугла голенг как бы
image.png88 Кб, 595x635
118 2678480
9a96e1eef0ab5723965787b4b5ca194a.jpg13 Кб, 445x330
119 2678740
>>664778
Способов замедлить код ради удобства программиста можно найти 100 000 000 штук. Главное что язык показывает хорошие дефолты под свою целевую аудиторию.
120 2678806
Аноны, раст вообще имеет будущее или как? Смотря на обсеры фонда в коммьюнити, кажется керосином пахнет.
121 2679003
>>678480
Так его даже не доделали еще

>Note that Carbon is not ready for use.

122 2679112
>>678806
Вся суть ржавого это попил бобла, просто раньше это делали корпоротивными приложениями для корпораций и соевые додики такого в живую не видели, ибо кровавый тырпрайз это отдельный мир, в отличие от крудов на питоне. То вот сейчас такое провернули через язык программирования, отсюда столько драмы, которая языка как инструмента касаться никак не должн.

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

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

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

Нет ниши, нет будущего, языку уже лет 8-9, так что смотри сам.
123 2679232
>>679112

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


да?
124 2679240
>>679232
Ты из тех самых людей, не знающих про RAII и что он есть буквально везде? В плюсах как раз
125 2679245
>>679240
Ааааа, RAII оказывается у нас все проблемы с памятью давно решили?
каждый тред одно и тоже...
126 2679269
>>679245
Ну изволь рассказать тогда, как же ты эти самые проблемы с памятью ты создаешь, только давай тут не высирай про резкий терминейт тредов, я просто других методов вообще ну никак придумать не могу
127 2679284
>>679269

>как же ты эти самые проблемы с памятью ты создаешь


Да просто статистику глянь какие самые частые ошибки
998743DA-FBFC-4F35-A2EE-523EB16EB601.jpeg27 Кб, 640x480
128 2679306
>>679284

>проблемы есть


>но я вам их не покажу

image.png8 Кб, 270x120
129 2679447
>>679232
Иди гугли что такое управляемые языки.
image.png9 Кб, 270x120
130 2679450
>>679284

>Да просто статистику глянь какие самые частые ошибки


Забыл поставить ";"?
После языков где этой фигни нет, быстро отвыкаешь от точки с запятой, вот моя проблема на миллиард долларов, а не ваши наллы.
131 2679530
>>679450

>Забыл поставить ";"?


не про лабы речь
hip-tlm.gif1,4 Мб, 498x300
132 2679561
133 2679583
>>679561

>opennet


)
show.png8 Кб, 270x120
134 2679644
>>679561
Я про котлин, кто вообще после школы пишет на питоне?
135 2679680
Зашел посмотреть о чем там люди на SO спрашивают и чет проиграл с раста, пока у других какие-то вопросы про технологии у растаманов о баран-чекере, об карго который лучше всех, но почему-то в топе по вопросам, об лайфтаймах.

Я реально ожидал там что-то по крипте или по играм, а тут вопросы по синтаксису, лол.
136 2680778
Напишите что-то вдохновлящие чтобы захотеть вкатиться в раст? Что вас там вставляет. Похер на вакансии и еще что-то, я писарь для души.
137 2680867
>>680778
Вдохновляла критика от плюсовиков и ее разбор - типа челы кидают тейки, а на каждый тейкт люди давали адекватные ответы, чем раст хорошо и инетересен
Также немного вдохновляет, то как геймдев на расте развивается потихоньку и можно самому что-то попилить попробовать
Очень сильно не вдохновляет херня от дефективных манагеров
138 2681141
>>680778
Мне понравился баран чекер и макросы, и наверно всё, но я пока что только хеловорлд написал
139 2681465
>>680867

>Вдохновляла критика от плюсовиков и ее разбор


Это где такое
140 2681467
>>681181 (Del)
Мне вот как раз интересно как раст чувствует себя больших проектах. Понятно что фанатики даже на го большие проекты пишут, но вот интересно мнение обывателя, насколько сложнее сопровождать, проект становится, в сравнение с управляемыми языки и тем же ООП, без которого, якобы, все плохо будет.

А так где не послушаешь везде какое-то лобызания, даже в сишарп подкастах завезли и там соевые сидят восхищаются, вроде уже взрослые дядьки, а несут бред на уровне школьников, типа вот "ппц любимый и офигенный ваще"
141 2681519
>>680778
Пиздец как нравится то, что если оно компилируется - оно работает. Не вылетит нигде со словами "Segfault".

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

Ну и для меня то что это в теории и на практике простых примеров пригодно в ембеде
6amcity.brightspotcdn.jpg99 Кб, 1000x563
142 2681730
>>681519

>нравится то, что если оно компилируется - оно работает.

143 2681766
>>681519

>Пиздец как нравится то, что если оно компилируется - оно работает. Не вылетит нигде со словами "Segfault".


А это далеко не только в расте есть.
144 2681783
>>681766
Ну хз, не видел таких. Правда я кроме С/С++/Rust/Go особо компилируемых языков не смотрел

Возможно ты о чистых ФП языках, но там другой стул со своими проблемами
145 2681829
Зумеры переизобратают Аду...
146 2681984
>>681783
Ну почему — в джавашарпах та же история. Если оно компилируется — оно почти всегда работает.
147 2682036
>>681984
В джавашарпах внезапные npe/nre, в расте для такого надо специально писать unwrap()
148 2682114
>>682036
Это не настолько часто случается в сравнении в динамическими яп
149 2682186
>>681519

>segfault


>работаю с плюсами


Кто то явно пиздит
150 2682233
>>682114
Одинаково часто, пушо джавашарповые null в динамических яп присутствуют в виде None/null/undefined/nil, а в довесок в них еще и AttributeError: Pupa object has no attribute Lupa/TypeError: pupa.lupa is not a function из-за их динамической природы.
151 2682242
>>682233
Там как раз есть нуллабл типы, в жабу даже опшены в 8 версии вроде завезли, но так как это просто костыль, а не решение проблемы, это не прижилось как фп-дрочеры думали.

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

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

За растом и тредом особо не следил давно
154 2684660
>>684611
Объясни, я тупой
155 2684669
>>684660

Раст наконец-то стал нормально работать под виендой
156 2686856
>>684669

> под виендой


Под ней постоянная ебля со всеми языками, тот же руби уже помирает, но так и нормально под виндой не работал никогда
157 2686910
>>686856

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


Ты явно что то путаешь
158 2686912
>>655915 (OP)
GNU начали переписывать на раст. Скоро и линукс репу Торвальдса перепишем.
159 2686922
>>686912

>GNU начали переписывать на раст


Наркоман? Кто начал? Где начал? Ты про coreutils? Ну так это вообще не проект ГНУтых. Это очередные шизы занимаются переписыванием работающих программ.
160 2687434
>>686910
Нихуя не путаю, с виндой вечно какая-то ебля чтобы заставить что-то работать, для этого даже костыль в виде WSL придумали.
161 2687527
>>687434

>для этого wsl


А ты совсем далек от разработки, да? Не все пишут кросс-платформу, некоторый софт требует всякие прямые сисколлы и нахуй он не нужен на условной винде, да банально ебанный докер тот же есть, который заводится в WSL
162 2687567
>>687527

>А ты совсем далек от разработки, да?


Далек, но от винды лол, последний раз это говно 3 года назад видел, да и вообще десктопный софт для винды ни разу не пробовал писать. Но флешбеки от того как вкатывался сидя на винде остались
rusth.png205 Кб, 1383x839
163 2688105
Что думаете?
1682265558636.png472 Кб, 800x450
164 2688132
>>688105
Типичный опеннет. Каждый пункт уже везде обсудили по десятку или сотне раз.
165 2688180
>>688105
В голос поста, как сказали выше типичный опеннет
Со временем привыкаешь просто игнорировать таких шизов
166 2688189
>>688132
>>688180
Первый слив растоманек пошел.
167 2688203
Бля, аноны, я уже заебался с дегенеративной моделью памяти в расте при ffi. Нужно кинуть байтики из массива на кучу и отдать мне указатель на них, дальше забыть нахуй про их существование, они пойдут в другой ЯП. Как это сделать нормально? Ебучий массив лежит на стеке, компилятор пиздит что оно не живёт достаточно долго да неужели блять, Box/Pin пиздит что не знает размера данных и шлёт нахуй ему не похуй ли?. Как забороть эту соевую систему? Такое ощущение что специально сделали всё для того чтобы невозможно было использовать раст для либ.
168 2688207
>>688203

>Нужно кинуть байтики из массива на кучу


Box::new(array)

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


std::mem::forget(heap_pointer);

не оч понимаю в чем проблема и почему тебе бокс что то говорит
169 2688210
А стоп, есть же Box::leak
image.png18 Кб, 483x123
170 2688212
>>688210
>>688207
С ума схожу, просто достаточно into_raw сделать
171 2688244
>>688207

> Box::new(array)


Только вот после as_ptr() и передачи его за пределы раста по этому указателю нихуя нет, на пустой участок памяти указывает. То что это тот же указатель и его ffi не испортило я естественно проверил.

> std::mem::forget(heap_pointer);


Не вижу никаких изменений после этого.
>>688212

> into_raw


cannot return value referencing local variable
returns a value referencing data owned by the current function
>>688210

> Box::leak


Вот такой пиздец получается - &mut &[u32]. Всё так же эту лапшу из функции не даёт вернуть.

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

>Там массив "принадлежит" либе


Тебе это никак не должно мешать, ты же со стака копируешь массив в кучу, копия массива не может принадлежать кому то кроме тебя
1669376217337.png60 Кб, 1886x250
174 2688291
>>688265

> покеж код


Ну вот например код. И как без ансейфа массив передать за пределы раста? И чтоб он не подчистил данные, когда код раста завершит работу, как это получается с простым боксом и as_ptr().
image.png40 Кб, 674x369
175 2688309
>>688291
Набросал подобное
Подправьте если в чем то тут не прав

https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=bf00fae826f1e27f68df787fe53d004d
image.png142 Кб, 1666x532
176 2688316
Ну вроде работает
177 2688363
>>688309
>>688316
Оно работает только потому что компилятор знает размер массива при компиляции. С рантайм-массивами не работает, если убрать из функции инициализацию массива код даже не скомпилируется.
178 2688367
>>688363

>Оно работает только потому что компилятор знает размер массива при компиляции


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

> что тебе компилятор то выдает?


the size for values of type `[u32]` cannot be known at compilation time
the trait `Sized` is not implemented for `[u32]`
180 2688407
>>688402
Слушай, что я у тебя всё должен вытягивать
Ты бы скинул где конкретно у тебя это происходит

Если кратко ответ: компилятору должно быть похуй на размер слайса на всех операциях
Скопировать слайс в кучу - Без проблем, размер слайса не нужен
Засунуть в бокс? - Аналогично
Достать из слайса поинтер? - Там вобще размер никак не задействуется
181 2688411
>>688407

> Засунуть в бокс? - Аналогично


Так это ошибка самого бокса, бокс и пиздит на размер. Это буквально твой код, но массив из либы, а не создан на месте.
182 2688426
>>688411
Ты что то делаешь не то, скинуть нормально код с ошибкой ты не можешь, так что справляйся сам

максимум чем могу помочь смотри
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
183 2688435
>>688426
Так вектор и массив - это разные вещи. На вектор нет нормального ffi.
1591129615748.png46 Кб, 1259x340
185 2688447
>>688442
Ну ты тогда расскажи как мне пользоваться тем что даже не компилируется.
186 2688455
>>688447
Ты меня троллишь так?
187 2688601
В чём поинт знака ! в println?
188 2688640
>>688601
Макрос. Чтобы сделать много аргументов, у обычных функций нельзя.
show.png5 Кб, 270x120
189 2688651
>>688132

>Каждый пункт уже везде обсудили по десятку или сотне раз.


Не по одному пункту не слышал ничего вменяемого, что лет 6 назад, что сейчас, одни фанбойские вскукареки.

Ну типа, что можно сказать, если компилиться долго - ну правда и что?
Что подход из js когда чуть ли не функция, то пакет и тянет сотню таких пакетов и где там дырку засунули - почему это не ужаснейший подход в плане безопасности?
Ну или типа мысль, мол числодробилки лучше на неуправляемом коде делать, а бизнес-дресня на всяких джава-питонах пишутся, где нет натянутых проблем с памятью. В тот же шарп столько низкоуровневой херни запихали, что может даже себе область без ГЦ собрать и подергать каждый байт, в одинокие дни в узких местах.
190 2688655
Вы заебали бугурты разводить, ответьте нормально - мне перекатываться из плюсо-шарпов в вашу хуйню или нет?
show.png4 Кб, 270x120
191 2688663
>>688655

>плюсо-шарпов


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

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

В общем, вдохновляйся продуктами и результатом, а не языком, ради языка.
192 2688667
>>688663
Ну доступим. А в плане машоба у сабжа есть перспективы? Сейчас как раз в этом направлении развиваюсь, могу на перспективу потыкать вашего ржавого
193 2688687
>>688667

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


Машоб - это ансейф числодробилка на сях/цпп + динамикадрисня в виде питона. Какой смысл писать такую же небезопасную числодробилку на расте?
194 2688695
>>688687
В каком таком месте линейная алгебра это ансейф?
195 2688701
>>688695

>В каком таком месте линейная алгебра это ансейф?


В таком, когда йоба-оптимизации будешь мутить, чтобы ускорить нейронку.
196 2688777
>>688701
Но ведь Rust — невероятно быстрый язык, зачем мне ещё трахаться с ансейф оптимизациями?
image.png6 Кб, 268x118
197 2688785
А ведь по идее если я сильный ждун да ещё и с 1-2 петами меня должны взять на зп повыше чем в других технологиях? Популярность языка вроде раскручивается, а спецов явно не хватает.
198 2688810
>>688695
Когда начнёшь принтерами вертеть или какие нибудь симд использовать

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

Покормил.
200 2688842
На чём мультиплатформенный гуй писать?
201 2688844
>>688842
На электроне и ему подобном
202 2688867
>>688844
Хуя толсто
203 2688881
>>688833

>1) 2) 3) 9) Почему тебе должно быть не похуй на копошения непонятных нормисов?


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

>также тянет дохерища всякого.


> что просто охрененно помогает безопасности.


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

> Ебал Питон и ему подобные


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

>Покормил


Мне рассказывали что тут сидит скучающая коляска, которая по тредам лазает и просто вступает в любую полемику со скуки, поэтому ты даже не покормил, а просто накинул свое виденье, не убедительно ни разу.
204 2688882
>>688867
Это объективная реально.

мимокрок
205 2688961
>>688833
Ну и зачем ты ебал чей-то питон, пидор грязный?
206 2689014
>>688842
https://github.com/emilk/egui
https://iced.rs (сразу замечу, что нет многострочного поля ввода)
image.png228 Кб, 512x312
207 2689024
>>689014

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

208 2689251
Если я 5 yo плюсовик и прочитаю раст бук - я буду готов вкатываться в работку хотя бы мидлом?
show.png5 Кб, 270x120
209 2689376
>>689251

>я буду готов вкатываться в работку хотя бы мидлом?


Где? Где ты собрался работать?

Вижу, что его только в больших корпах намазывают и то без пруфов, скорее, 70%, для пиара в молодом тесном комьюнити.
210 2689383
>>689251
Нет
Напиши что-нибудь типично-плюсовое на расте, чтоб подружиться с лайфтаймами, трейтами и борроучекером - тогда будешь готов.
211 2689460
Почему вместо божественного Си-синтаксиса разрабы языка придумали взять какую-то непонятную жс-петухон хуйню? Вот это -<'a> вот что за хуйня?
212 2689513
>>689460

> божественного си синтаксиса


Утёнок, ты когда начнёшь на мир смотреть не через призму фанатизма?
213 2689586
>>689460
Кхм, раст, жс и питухон - это и есть Си-подобный синтаксис
214 2689686
>>689460
В СИ-синтаксисе нет похожего на <'a>. СИ программист вынужден держать сабж в уме.

95/100 тех, кто бугуртит на раст-синтаксис не может предложить обоснованный альтернативный вариант своего замечания, который бы не стал двусмысленным в другом контексте.
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-вкатунам почитать СКИП, начинать с хаскелла и тому подобное. Потому что на Раст это уже не прокатит.

/без троллинга, не обижайтесь
216 2689713
>>689686
Так в си и семантического аналога нет
217 2689717
>>689700
Ну и почему мне должно быть не похуй? По-твоему я этот сервер на ардуино собираюсь запускать? У меня в компе установлено 256 гигов 5 ддр памяти. Она забивается полностью только когда я нейронки гоняю. На серваках кол-во памяти уже терабайтами измеряется. Почему в 2023 году кому-то должно быть не похуй на 77 мб?
218 2689721
>>689717
Масштабировать надеюсь тоже ничего не будешь?
219 2689745
>>689721
Да как нефиг. Вертикальное масштабирование наше всё.
220 2689767
221 2689788
mailto: C++ лучше чем раст
222 2689899
>>662206

Если ты в РФ, то не советую вкатываться в Rust целиком - лучше оставь его для pet-project всяких.
223 2689959
>>689899
А если я в Gayrope?
224 2690339
>>689700
Для сервиса это нормально, но тут скорее дело в другом, на жабе точно гц не собирается просто так, то есть оно будет накапливаться сколько посчитает нужным (сколько настроено) и потом начнет жарить. Зачем дергать гц, когда это не нужно и места еще дофига.
Плюс еще всякие кэши, jit'ы, поколения в памяти и т.д.

Думаю в долгосрочной перспективе, на расте будет жратся больше памяти, так как подход иммутабельности и еще владения, просто заставляет дублировать сотни килотонн мелочи.
225 2690344
>>689700
Это не значит что приложение в 1000мб будет жрать
1700мб на расте, а на шарпе 79000мб.

Будет на расте 1001, а на шарпе 1079. И теперь чувствуешь как меняется восприятие твоих цифр?
Ну и на шарпе там фулл-вебфреймворк, а на расте скорее всего пустой веб костыль, без нечего.
226 2690484
>>690344

>а на расте скорее всего пустой веб костыль, без нечего.


https://github.com/seanmonstar/warp

Просто раст может в dead code elimination, а C#-машина подгружает половину винды.
227 2691038
Так блять, вы заебали, мне учить раст или нет?
image316 Кб, 708x524
228 2691055
>>690484
C# давно уже умеет создавать нативные бинарники, образая всё лишнее. И с каждом релизом бинарники становятся всё тоньше, а производительность и скорость запуска - всё меньше.
Пердолинг с растом или С++ в обозримом будущем будет давать не более 3-5% в производительности или иной метрике по сравнению с божественными шарпами. Так что за пределы железячников и драйверописов, а также сообществ снобирующих борщехлёбов расту видимо так и не суждено выйти.
16834724660020.png72 Кб, 273x224
229 2691081
>>691055

>C# давно уже умеет создавать нативные бинарники, образая всё лишнее. И с каждом релизом бинарники становятся всё тоньше, а производительность и скорость запуска - всё меньше.


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

230 2691140
>>691055
Не в ту сторону лижешь, дегенерат. Я понимаю, что блохирам майки платят, но ты как попугайчик зачем это повторяешь? Шарпы и Раст вместе под Макрософаком ходят и с одной кормушки питаются. Пруфы? На винде часть кода переписана на раст о чем недавно заявлял какой-то индус из МС на своем выступлении. Поэтому +15 ms coin за пиар шарпов и -25 ms coin за обсер раста.
231 2691220
>>691038
Бамп
232 2691289
>>691140

> На винде часть кода переписана на раст


На богоподную Java если что, держу в курсе
233 2691342
>>691038
>>691220
Мне тоже интересно. Говорят от раста "говной ваняет", СЖВ всех скуколживает, генных трансгенндеров подкладывают и вообще политизированный продукт.

мимо
234 2691344
>>691342

>Говорят от раста "говной ваняет", СЖВ всех скуколживает, генных трансгенндеров подкладывают и вообще политизированный продукт.


Конец прошлого треда почитай.
235 2691345
>>691342
Короче мне похуй на чужое мнение, я затарил редбулла, накатил шлайно и попробую ща ночью заспидранить хотя бы треть растбука.
236 2691346
>>691344
Гляну, спасибо

>>691345
Тоже хочу потыкать ржавый, надо только до свободного времени дотянуть. Но не нравится говно-риторика вокруг языка.
show.png6 Кб, 270x120
237 2691473
>>691140
Дети не знают что такое EEE от мягких.

>кококо, нас даже мягкие поддерживают.


Сейчас эти чэды втиснутся в сообщество, потом настругают снова свой компилятор, который будет сначала совместим и давать буст в окошко-сборке, а потом по классики навернут несовместимого говна.
238 2691679
>>691345
Не, ну в целом всё круто. После плюсов так почти всё по диагонали учится. Боров - прикольная хуйня, надо привыкнуть только будет. Хз короче, попробую недельку потыкаться в остальные штуки, замутить пет-второй и по приколу пойду херкам написывать.
239 2692127
Ух, и не просто вкатываться в раст, уже весь гугл перегуглил и заодно чатжпт отдолбал, но так ответа и не нашел.

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

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

На какие типы мне нужно поменять Stdin и Stdout, чтобы все продолжило работать, но я мог сам записать в in буффер, а потом проверить, что записалось в out buffer?
240 2692152
>>692127

> 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

Ну и вместо них можешь пихать всё что угодно из чего можно читать и записывать
241 2692342
Вроде растотред здесь, а линуксойды обсуждают его более яро.
242 2692369
>>692342
В опеннете еще чаще
243 2693297
Покидайте идей какой бы пет замутить чтобы херка/лид потом зашёл в репу, охуел от моей крутизны и сразу позвали меня на котлету в лохчейн
244 2693320
>>693297
Биржевой движок (как https://github.com/exchange-core/exchange-core например).
Если твой пет (пусть даже без риск-менеджмента) обгонит хоть в каких-то бенчмарках этот пример на джаве - тебя с руками оторвут.
245 2693327
>>693320

>Биржевой движок


Это же его сколько писать придётся по времени...
246 2693346
>>693327
Напиши сначала примитивный - прост с выставлением, снятием и схлопыванием заявок быстрее чем за O(n), где n - кол-во заявок в стакане. В моём сишарпо-лохчейне это задание на полуторачасовой лайвкодинг/тестовое задание. Я справился за 3 часа (1.5ч на лайвкодинге, остальное сам доделал, с тестами), некоторые кандидаты за час управляются.
Потом наверни дизраптор или еще какую штуку для распараллеливания - готовые есть на гитхабе. Это от одного до неск дней.
Потом сделай это доступным по rest/grpc/kafka/etc. Еще пара-тройка дней.
А дальше вылизывание и причесывание - можно годами заниматься.
image.png160 Кб, 1450x1086
247 2693370
Заборол бинарный пошук, первая литкодовская задачка решённая на расте. Поздравьте меня
Безымянный.png1,7 Мб, 1580x1242
248 2693485
>>693370

>as f64

249 2693494
>>693485
Причина тряски?
250 2693508
>>693494
Целочисленное деление делает то же самое, только без непонятных кастов.

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

Олсо олсо, у тебя let right переполняется на пустом векторе.
251 2693512
>>693508

>Олсо олсо, у тебя let right переполняется на пустом векторе.



А, нет, вру, но будет переполняться, если убрать i32.
252 2693654
>>693370
mid = (left + right) /2
image.png183 Кб, 703x307
253 2693822
Лел. Чел жалуется на то, что раст создан для малварей, из-за того что хуй поймёшь что происходит в декомпиленном коде.
https://www.youtube.com/watch?v=11raTwzQVn4

Не только трансформеры террористы, но ещё и в код насрали.
254 2693961
>>693822
Надо срочно писать книгу Black hat Rust и фармить роялти вместо ебучих собесов.
255 2694016
Мимоскуф 40++.
Програмулькиваю уже лет 20.
Дохера на чем, последние 5 лет на жявке в банке. Жява пиздец заебала. Да и выше 300к надо идти в лиды, а мне впадлу уже. Мне и сеньером норм.

Есть варики в ржавого переехать? Или там эйджизм во все поля и хуй найду работку?
256 2694022
>>694016
Перекатился из приевшихся шарпов за ~1.5 месяца ленивого почитывания доки и написания разного говнокода со 2 собеса в Крипто NFT MLG стартап. Можешь задавать вопросы.
257 2694032
>>694022
Да я про эйджизм прост.
Возьмут ли 45 years old boomer в молодежный стартап?
У меня ж все минусы старичка.
Люблю бухтеть и доебываться до хуевого кода и покрытия тестами.
Не люблю кранчевать.

Я не решил прост еще. Потому в саи язык даж не смотрел.
258 2694035
>>694032
Какой нахуй эйджизм? Спецов не хватает вообще ни в одном направлении. Если ты реально 20 лет квасишь код значит ты как минимум должен шарить за структуры, алгосы и дизайн. Выучи необходимую базу языка и в путь.
259 2694041
>>694035
Ты не поверишь, но года 2 назад, когда менял жяваконтору поймал на собесике эйджизм.
Типа ну ты нам не подходишь, а почему - не скажем, иди нахуй.
С учетом того, что я собеседоватора заставил самому зафейлиться на собесике, так что доеба до тех уровня у них точно не могло быть.
Так что это эйджизм явный.

Ладно почитаю бук из шапки. Надеюсь не сложнее крестов, на которых я лет 10 назад ебашил под гнилукс какую то многопоточную хуйню на сокетах.
260 2694046
>>694041
Значит не вкатывайся в конторы к узким. У тебя 20 лет опыта. Курва, перед тобой весь мир открыт.
261 2694283
Чёт я нихуя не понял про модули. Почему в растбуке весь код пишется в lib.rs но отдельные папочки в src всё равно создаются? Как мне выделить логические блоки в отдельные файлы и главное как их потом правильно заюзать в других? И как в сабже решается вопрос цикличных зависимостей?
262 2694293
>>694283

> как в сабже решается вопрос цикличных зависимостей?


Единственное правильное решение - отказ от циклических зависимостей
263 2694297
>>694293
А если очень хочется?
264 2694334
Хочу пилить супербыстрые рест-апишечки.
Раст норм?
Какой фреймворк взять?
Чтоб асинхронность была, и все такое.
Чтоб на 128 Мб озу и 1 ядре тянуло 1000рпс
265 2694344
>>694334

>Чтоб на 128 Мб озу и 1 ядре тянуло 1000рпс


Нахуя тебе столько? Такого даже у визы и мастеркарда
266 2694345
>>694344

>Такого даже у визы и мастеркарда


Нет*
show.png5 Кб, 270x120
267 2694563
Чет достали толстить и разгонять тред.
Один синьер помидор с 300к наносек с жирной жабы решил под старую жопу пойти нахер на раст, где 1,5 работы, хер пойми где, вместо того чтобы сидеть в теплой конторке и попукивать бойлерплейт на говножабе. а не просто взять и дома попилить свои говновысеры и забить как 90% растадаунов

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

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

Хватит жир лить, лучше новостями или лулзами побампайте, чтобы тред было приятно заходить.
268 2694607
>>694563
Да не трясись ты, трясунок. Радовался бы что к твоему говноязыку интерес у кого-то имеется.
269 2694634
>>694563
Что плохого в перекате?
Если вспомнить все на чем я пилил за денежку - делфя, визуал фокспро, си, кресты, питухон2, эрланг, дарт, жявка, может еще что пропустил. На заводе, на одеске(жалко забаненый акк сука), в галерах.

Жава в банках это ебаное легаси. Причем лично я на самом некроговне уже второй проект. Jsp, xslt, xml уже тошнит этот кал мигрировать на 11 жявку и бут.
Тот_жява_скуф
1674120741794.jpg63 Кб, 600x435
270 2694635
>>694563
Бампай и пости сам.
271 2694667
Я тут чекнул хх.
И там одна вакансия на расте.
С вилкой 2000-4000.
Чет как то не особо после жявы....

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

Рассказывайте.
image.png58 Кб, 861x487
272 2694679
И сразу вопрос по буку.
Почему это работает?
Разве five не должен был разыменоваться после захвата функцией?
273 2694684
image.png67 Кб, 861x487
274 2694685
>>694684
Да ты прав.
275 2695575
>>679583
что не так с данным ресурсом? тот же двач только в профиль
276 2695592
>>691140

>На винде часть кода переписана на раст о чем недавно заявлял какой-то индус из МС на своем выступлении.


бабки во дворе тоже много чего тебе интересного поведать могут. Никто не знает на чем и как написан виндовс и уж тем более какой-то там индус
277 2695630
>>695575

>что не так с данным ресурсом?


шизики обсуждают годами вещи которые им не нравятся
278 2695639
>>695592

>Никто не знает на чем и как написан виндовс и уж тем более какой-то там индус


Как индус, который работает в МС и пишет код для винды, не может знать об этом?
279 2695976
Что там за тряска по поводу ООМ в пинуксе и какие есть решения этой проблемы?
280 2696024
>>695976
а? ты о чем?
281 2696127
ВКАТ есть?

Мимо макака, 4 года опыта работы с PHP, 1 год на Golang. Хочеца раст, но вакансий не вижу. Стоит ли учить или хуй пососу?
282 2696207
>>695639
Он может писать какую-то малую часть или сервис, там же ядро гибридное, вряд ли индуса до того самого ядра допустили бы, которое со времен nt ещё
283 2696525
>>696127

>ВКАТ есть?


>>694022
284 2696532
Кто что может сказать по поводу скорости разработки на сабже? По первым ощущениям особо от С/С++ не отличается. Так ли это или всё же быстрее?
285 2696603
>>696532
Персонально же для каждого, у меня быстрее

не знаю как можно разрабатывать медленнее чем на плюсах или си
286 2696662
>>696603

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


На АСМе вставки не писал?
dfh.png62 Кб, 1644x746
287 2696828
>>694685
Возможно тут нужно уточнение, что Option просто дерайвит Copy.
Если сам Т не Copy-тип, то ничего не выйдет.

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

Если прав, то это еще одна классная фича, если не хочешь чтобы копировалось без твоего ведома.
288 2696848
>>696662
Про него забыл, да
289 2696938
>>696525

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

Вся работа с выездом из Рашки, я так не умею
290 2696963
>>696938
1. Линдекин
2. Я не на рашке
291 2697090
Почему когда я чейню .join().unwrap() сразу за thread::spawn то у меня основной поток блочится пока новый тред не отработает (а он не отработает, там лупа), но когда я пушу заспавленные треды в вектор и потом бегу по нему форичём и джойню то ничего не блочится?
292 2697187
>>697090

>но когда я пушу заспавленные треды в вектор и потом бегу по нему форичём и джойню то ничего не блочится?



Всё блочится, ты что-то попутал.
https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=faab3ce69efe482d13dbe760c558fff8
293 2697204
>>696963

Пиздец это шо язык для хохлов?
294 2697345
>>697204
Как и всё в этом мире
295 2698439
Какую классную штуку пропустил https://github.com/pop-os/cosmic-text
296 2698544
В копилку LLVM против GCC ? https://www.phoronix.com/review/gcc13-clang16-raptorlake
image.png20 Кб, 604x232
297 2698583
>>698544
У гентушников праздник, время всё пересобирать?
298 2698943
>>698439
Обьясни плез.
Зачем нужна либа рендера шрефтов?
Я всю жизнь бекенды пилю, а когда пилил фронты мобильные или на пека, то всегда использовал либы операционки, в которых рендер шрифтов встроеный.
Или ты свой набор виджетов/тулкит/де делаешь?
299 2699325
>>694563
вкатываюсь в раст потому что у нас весь тулинг переползает на него + по работе надо. Слишком жирно для тебя?

мимо фронтендмакака
300 2699353
>>699325
Тулинг какой? Кроме какого-нибудь SWC. И Deno вместо ноды?
301 2699776
>>698943
Мне незачем, просто проект полезный сам по себе.

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

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

Кстати, там рендеринг только часть всего этого пакета.
show.png5 Кб, 270x120
302 2700642
>>699325
Если это так, то представь в какой ты жопе. Сидел себе пердел на жопоскрипте, а теперь за те же деньги надо раста навернуть. Причем раст это ни разу не какой-то там тайпскрипт, там впервые тебе фронтенд макаке придется думать.

и конечно, твой пост не отменяет того, что коляска периодично от скуки набрасывает в этот тред, и предыдущие посты были откровеhttps://2ch.hk/api/captcha/2chcaptcha/show?id=8bfe979a8fad97ae812c1046fcf6f067f1d798f974b4cc7006f223cafcf2bcc7ce3ba34f59a4172f75f865b42bbf8e739931317980982e596e7027f9dc50ccecbea7нной (М) толстотой, хотя судя по реакции, ты он и есть
303 2700645
>>700642

>fixprice


и конечно, твой пост не отменяет того, что коляска периодично от скуки набрасывает в этот тред, и предыдущие посты были откровенной толстотой, хотя судя по реакции, ты он и есть
image.png41 Кб, 1920x1920
304 2700760
Вот сижу и думаю, чтобы сейчас выбрать под основной и универсальный яп. На работу насрать, работа есть, это для души.

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

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

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

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

В общем, анонче, вдохнови на раст, в основном я вижу там сишники чето тряпками бросаются друг в друга, а вот для меня эта победа над памятью не сильно то и радует, ибо с ней никогда и не боролся.
Почему раст может сойти за универсальный язык, или для универсала он слишком низкоуровневый?
305 2700800
>>700760
Для ДУШИ лучше попиши на Сишке или лиспе, а лучше на двух сразу.
306 2701183
>>700800
Как-то заглядывался на кложу, мне нравится концепция - данные важнее алгоритмов, я даже 15 назад ковырялся в проекте, где все было вокруг ассоциативных массивов построено и это был интересный опыт. Но! Знакомый сказал что все это туфта и в кложе все вокруг макросов вертеться, мол не все так радужно как заливают.

Что любить в сях? Не против них, просто вот не тепло не холодно от него.
307 2701322
>>701183
Если реально для души, как ты пишешь, то остается только хаскелл. Но если тебя волнует результат твоей писанины, тогда конечно надо выбирать под твою задачу. Сперва определись с архитектурой, в которой будут исполняться твои программы, их предметная область, и возможность расширения твоего прототипа в будущем (надо тебе это или нет, только маленькие PoC).

У тебя вопрос подходит под Ньюби-тред.
308 2701326
>>700760
Короче на данный момент расклад таков, что наши дети будут юзать связку из TS+Rust+Mojo для любого плана проектов и это есть хорошо.
309 2701490
>>701326
А почему TS ? Сколько, кстати, V8 весит? И как его интегрировать в свой проект быстро и безболезненно?

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

Либо он будет с синтаксисом питона, но не general purpose, как они заявляют, а урезанный по возможностям.
Либо синтаксис будет просторный и многословный, вместо компактного вырвиглазия Rust'a и надо будет много больше печатать, чтобы описать то же самое. Точно больше и шире чем в С, С++. Может как в SPARK по объему.
Либо он будет медленный в исполнении кода (медленней С, С++ и Раст) но зато действительно, с синтаксисом питона.
310 2701503
>>701326
Такое только в растошизотреде можно увидеть.
Наши дети будут писать на c++32 возможно на cpp2 или circle, и на питоне 4.
311 2701506
>>701183
Копай в сторону AGDA, Coq, Idris, Lean, SAT solvers. Вся душа там.
312 2701510
>>701506
Я слышал что просто берут нормальный язык и подключают z3 по мере надобности. (может и неправ)
313 2701670
>>701490

>А почему TS ?


А потому что чистый JS - полнейшее говно.

>Сколько, кстати, V8 весит? И как его интегрировать в свой проект быстро и безболезненно?


Юзать ноду или дено?
>>701503

>c++32


Я конечно ни на что не намекаю, но даже сейчас наиболее распространённые стандарты это 11 и 14. Ну и какие к чёрту плюсы во второй половине 21 века, ты дебил или да?
314 2702354
>>701670

>> дебил или да?


сам такой
плюсы вечны
315 2702355
>>701670

>> дебил или да?


сам такой
плюсы вечны
316 2702557
>>702355
Чел, они вечны исключительно из-за легаси и то я детей буду натаскивать на то, чтобы где бы они не оказались сопротивлялись пинанию трупа и переписывали всё на нормальные языки.
317 2702625
Аноны, а каков ваш выбор в плане IDE? Что используете? Мне неиронично интересно.
318 2702631
319 2702636
>>702631
Надеюсь, ты не тротллишь.
320 2702638
>>702636
Вим это лучшая и универсальная иде
321 2702665
>>702625
clion, хорошо зделоли
322 2702669
>>702665
ммм, джет брейнс, спосиб
323 2702682
>>702636

>ты не тротллишь.


Конечто он рофлит, лол, какой ВИМ, когда есть ЕМАКС?
haskell.jpg246 Кб, 1024x768
324 2702705
>>701322

>Но если тебя волнует результат твоей писанины


Все что нужно знать про всяких хаскелистов и им подобных. Код ради кода, зачем тебе результат, закрылся в шкафу и дрочи в колготках.
325 2702709
>>701326

>TS


"Компилировать" в javascript, это, наверное, самая забавная глупость последнего десятилетия. Ну нафига вам прокси языки? Из этого все равно получается два языка на одной зарплате.
326 2702711
>>701490
>>701326

>Mojo


>Либо он будет с синтаксисом питона


Любовь к питону проходит ровно до первой копипасты. Если бы не машинное обучение, так и был бы на дне индустрии с убогой джангой.
327 2702727
>>702557
Нет, они вечны потому что все еще требуется неуправляемая архитектура. Просто в 90е годы плюсы были всем, но со временем их просто сместили с прикладного уровня. То есть он сейчас в той позиции что на вряд ли что его сместит. Если только на расте и иму подобным не напишут какие-то ультра удобные тулзы и движки.

А вот место раста я реально не пойму, для системщины нужен тру скилл и байты ручками потрогать, а для прикладного уровня есть всякие ваши шарпы, го, джавы или даже тот же js c тем же электромном. Ведь только представьте, впервые ГУИ реально стали выглядеть честно одинаково на всех платформах. Так что еще не понятно какое будущее ждет. То есть, стоит ли брать раст, когда тот же жопоскрипчик или шарпо-аниме-переросток напишет тоже самое в 5 раз быстрее?
328 2702728
>>702669
купи!
329 2702733
>>702727

>То есть, стоит ли брать раст, когда тот же жопоскрипчик или шарпо-аниме-переросток напишет тоже самое в 5 раз быстрее?


Я имею ввиду брать в продакшен, потыкать и поиграться стоит, вдруг реально перестанут пилить бабло и начнут писать и напишут что-то популярное, что взлетит. топ игровой движок на вебассембле, я вероятно уже не дождусь, ибо уже завезли гц и не удивлюсь, когда быстрее напишит подобное юнити на жопоскрипте, но надежда на комьюнити все еще есть, на менегоров нет, а вот на комьюнити...
330 2702736
>>702733

> юнити


У юнити же и так есть опции клмпилить под webgl? Или я что-то путаю?
331 2702742
>>702727

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


Добавлю, что для действительно критических систем тоже существуют свои инструменты, аля Ada, Coq и т.д., которые гарантируют работоспособность, чеем раст похвастаться не может.
332 2702851
>>702728
Куплю бесплатно на месяц, а потом куплю бесплатно на месяц, а потом куплю бесплатно на месяц. Такой пойдёт?
333 2703005
>>702711
Слышал что он с ООП и динамическими типами. Можно примеры бойлерплейта на питоне, неужели даже там надо повторять код?

>>702727

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


Что такое неуправляемая архитектура?
334 2703028
>>702742

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



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

Про Coq не слышал раньше таких сравнений с general purpose language, какие на нем прикладные приложения написали? Он вроде не тьюринг-полный язык, а скорее DSL для проверки корректности теорем.
image.png40 Кб, 937x141
335 2703117
336 2703123
>>702851
Из-за таких как ты, бедные котлинисты голодают и до сих пор не могут найти исключения в асинхронном коде.
337 2703128
>>702736
Не в курсе, но речь тут не в том чтобы самому из говна и палок собрать что-то, а чтобы тебе дали готовые тулзы и ткнули где и как писать.
338 2703131
>>703123
Ну, они сыграли в санкции. Я не могу помочь им на дошик, даже если до этого у меня была подписка на один из их продуктов.
339 2703290
Почему в расте нет перегрузок функций? Еще одна утерянная технология древних, очередное ненужно?
340 2703312
>>703290

> ненужно


Сам спросил, сам ответил
341 2703325
>>703312

>Ненужно


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(...
342 2703335
>>703325
Ничего страшного плюсо макака, отучиться чтобы писать не как идиот и не тащить все говно из плюсов бывает сложно, но уверен у тебя получится
image.png327 Кб, 604x604
343 2703347
>>703335
Поколение которое не может отличить функции по сигнатуре аргументов.
344 2703387
>>703325
Перегрузка может и лишнее, но от дефолтных аргументов я бы наверное не отказался.
345 2703405
>>703387

Фича которая есть даже в божественном PHP, но не в расте
346 2703406
>>703347

> высрал что то непонятное


> прикрепить картинку


На этот пост также ответишь, дегенератина, которая не может пару функций как человек написать?
Вы уверены что программирование это для вас?
347 2703414
>>703405
>>703405

>божественном


исключительном

мимо
348 2703417
>>703406

>не может пару функций как человек написать


Обосрался чет. Ушли от Си, чтобы в конечном итоге прийти к Си.
мимошел
349 2703442
>>703325
Ты долбоеб, зачем такой говнокод пилить? Дженерики и трейты на какой хуй придумали?
Можно при помощи трейтов организовать, написать трейт и имплементировать его для разных типов на подобии стандартного From<T>. Или например аргумент дженерик, который имеет имплементацию нужного трейта. Короче есть разные варианты, но писать как в говланге или сишке метод для каждого типа это какая-то специальная олимпиада.
350 2703457
>>703387
Лол, перегрузка через костылеварение, хоть как-то фиксит отсутствие дефолтных параметров раздуваю до звездеца, привет жаба!. Но тупо нет ни того ни другого.
И как это вообще можно любить? Туда ли я полез вообще...
351 2703464
>>703417

Чел, задача раста с памятью работать безопасно и не выебываться
352 2703476
>>703457

>Лол, перегрузка через костылеварение, хоть как-то фиксит отсутствие дефолтных параметров



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

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

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

Че инвокаеца? А? А?
Говно ваши фичи блять не удобно, пиши на чем дают, ешь жука, еби трапа и не бухти
show.png4 Кб, 270x120
353 2703478
>>703406
Что там тебе бесчеловечного? Тебе надо так?
fn collect_1(...
fn collect_2(...
fn collect_3(...
fn collect_4(...
fn collect_5(...

Менегеры так торопились с попилом бобла, что положили болт на базовые мастхев вещи. Для меня это как пойти поссать не сняв штаны.
354 2703480
>>703457
Можно сделать, но все равно перегрузка довольно неоднозначная фича.
355 2703483
>>703478

>fn collect_1(...


>fn collect_2(...


>fn collect_3(...


>fn collect_4(...


>fn collect_5(...


Повторюсь, вы уверены что программирование это для вас, если у вас такая простая задача заставляет писать говнокод?

> базовые мастхев вещи


> плюсомакака настолько разучилась прогать, что уже не может без них пару функций написать


в голос
356 2703487
>>703464

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


Тогда нахуя он вообще нужен, если
1) Раст ничего не верифицирует и не гарантирует, поэтому бесполезен для критически важных систем. Nvidia для своих йоба-вещек, например, Ada SPARK взяла и целую PDFку выпустила "Почему не раст"
2) Можно писать на языках где проблемы с памятью решеный фундаментально.
3) Если нужна производительность и сырая ебля байтов, то можно написать ядро программы на Си, а потом последовать пункту 2.
show.png4 Кб, 270x120
357 2703492
>>703442

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


Ты же понимаешь что перегрузка не только для типов нужна вида
foo(int v)
foo(long v)
foo(double v)

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

Древние, не просто так придумали перегрузку, умея под боком шаблоны/дженерики.
358 2703495
>>703480

>неоднозначная фича.


Одно и тоже в каждом языке пока это не завезут.
359 2703496
>>703492
>>703492

>foo(int v)


>foo(List<T> v)


>foo(MySuperStruct v)


Ты реально не понимаешь как в этом примере дженерики и трейты использовать? Или просто тупостью троллишь?
360 2703510
>>703495
Не, хуйня полная.
361 2703513
>>703487
Они начали догадываться, сир.

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

Другая мега жесть, это как js-никам начали затирать почему им надо вкатываться в раст, потому что где-то там напердолили очередной траспайлер. Вы представили лица код js-разрабов, которые с js на раст прыгнули. Ладно питонистов на го натягивали, но этот пранк зашел очень далеко.
362 2703520
>>703496
Так перепиши мне это:
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")

Я тебе не отвечаю, потому что ты возмущенно пукаешь в воздух, но ничего конкретно не говоришь. Раз ты докопался, то покажи как это решить, не переписывая составные типы.
364 2703529
>>703520
Есть нормальный (реальный) пример где с перегрузкой вообще всё красиво и по кайфу, а без неё пиздец?
defhnr5.png58 Кб, 255x162
365 2703536
>>703529 игра угадай foo in pull request
366 2703541
>>703487
Все их претензии сводятся к тому что раст это больше найтли чем стейбл. Все есть.
367 2703543
>>703520

> перепиши мне это



>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")



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

кроме плюсов конечно, они находятся в разделе для одаренных, и уверен они штуки и похуже пишут
368 2703547
>>703487

> Раст ничего не верифицирует и не гарантирует, поэтому бесполезен



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

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

По словам нахрюк на котором можно писать шо хош от веба до эмбеда, а на деле выпук какой-то. Итс ооовер
369 2703549
>>703520

>Так перепиши мне это:


Что твоя foo делает и что возвращает?
Если нихуя, то вот fn foo<T>(v: T) {}
370 2703570
>>703529
>>703543
В реально мире, когда ты не безработный студент и не скучающий на дваче инвалид колясочник, ты не можешь зайти в офис и сказать, что вы все дауны и не дотягиваете до двачеров, которые одни только могут писать писать многолетний код.
И начальнику ты не объяснишь что не можешь расширять его бизнес, потому что метод стал принимать слишком много составных типов и уже выглядит крайне не красиво.

Это простой пример кода, некой сборки, которая принимает на вход тучу разросшихся составных типов из бизнес-логики и выплевывает что-то одно (если с опытом совсем туго, представьте это как рендер чего-то). Забавно что на таком простом примере растеры обосрались и начали маневрировать, но я все еще хочу увидеть конкретно, как в том пример ненужна перегрузка
image.png7 Кб, 270x120
371 2703575
>>703570

> вы не можете просто так говорить что это говно


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


А ну тогда ладно, тащим в раст срочно!
372 2703576
>>703570
PS на самом деле я ждал мантру про макросы, но местные растеры настолько далеки от реального кодинга, что начали мантру про то что программисты плохие, а не язык виноват.
373 2703577
>>703570

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


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

> рендер чего-то


соболезную тому кто будет пользоваться твоим рендером принимающим всё что угодно, так еще и в составном виде
374 2703579
>>703576
Как тебе макросы с перегрузкой помогут, умалишенный?
375 2703580
>>703575
Да я понимаю что раст вариться в таких конторах, что легаси код там появиться никак не может. Но я реально вижу как без перегрузки начнется простыня ручных перегрузок, или макросная магия, когда код попадет в реальный продакшн, а не очередное попукивание на круд-микросервисе.
376 2703583
>>703577

>билдер патерн


Жаба-господин вспомнил про ООП паттерны, находят в треде процедурного язык.
Да начнется говнокод!
377 2703585
>>703583

> билдер патерн


> ООП паттерны


Лан чел, ты я прекращаю тебе отвечать, просто троллинг тупостью уже идёт
378 2703586
>>703583

>находясь в треде процедурного языка.

379 2703595
>>703585
Ну так пруфани паттерн на процедурном языке. я уже молчу что билдер это паттерн создания сложных объектов и ты вообще мимо ткнул
380 2703633
>>703520
Как перегрузки дискаверить кроме как сделать догадку о её существовании и в IDE подсмотреть сигнатуры у конкретной функции/метода? Я могу глазами пробежаться по списку методов типа, но вручную прописывать название каждого метода и смотреть, какие у него есть/нет перегрузки это маразм.
381 2703634
>>703570

>если с опытом совсем туго, представьте это как рендер чего-то


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

>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")



Ты как эту хуйню собираешься поддерживать?
382 2703637
>>703492

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


>foo(int v)


>foo(List<T> v)


>foo(MySuperStruct v)


Как ты так умудрился сделать что у тебя в одно место приходят совершенно разные по смыслу типы? Я еще понимаю скалярные типы вместе или коллекции, но взять вообще совершенно разные типы и натягивать сову на глобус выглядит немного странным. Я понимаю еще всякие сериализации в json, но в остальных местах в чем смысл так делать, чтобы интереснее было такой код поддерживать?
383 2703843
>>703634
>>703637
Когда тебе надо что-то сконвертить и смотришь методы (по сути API) класса, ты в первую очередь смотришь перегрузки нужной тебе функции чтобы понять как в неё "это свое" передать, т.е. в каком виде. И чем богаче этот список, тем удобнее становиться эта "апишка", то есть становится больше возможностей. Я просто поражаюсь насколько неопытные люди тут сидят.

Я понимаю, фанбою надо маневрировать, но представьте, когда несколько функций делают одно и тоже, но называются по разному, это гребанное средневековье.
Untitled.png978 Кб, 3000x3000
384 2703907
Вы свой язык для троллинга придумали? Почему так нахуй?
385 2703909
>>703907
БЛЯЯЯЯЯДЬ, только что заметил.
Вы совсем ебанутые там? Какой же рак нахуй.
386 2703918

> я самый тупой вопрос задам


> нет я ещё тупее задам

387 2704018
>>703843

>Когда тебе надо что-то сконвертить


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

> И чем богаче этот список, тем удобнее становиться


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

>Я просто поражаюсь насколько неопытные люди тут сидят.


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

>фанбою надо маневрировать


На фоне того как ты маневрируешь не первый тред куда нам до тебя не фанбоя
388 2704082
>>703907
Что ты своими консольками сказать то хотел, красноглазик ты наш
389 2704173
>>703907
Ты реально думаешь что мы телепаты или хотим по твоим картинкам гадать?
390 2704181
>>704018

>что-то подобное можно реализовать на трейтах


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

То есть, когда они затрахались как в го перекидывать ошибки руками, они "вопросик" добавили, а теперь что, надо их заставить промышленный код пописать, чтобы они остальные технологии древних принесли?
show.png5 Кб, 270x120
391 2704184
>>704181
Походу эти ваши расты и го нужны лишь для того, чтобы я еще сильнее ценил тот язык на котором пишу.
392 2704197
Смотрел тут доклад про вебассембле, автор явно и не очень явно намекал, что этот вебассмебле делался под архитектуру подобную жабе, дарту, шарпу и тд. Ну то есть как минимум под ООП языки. Тут вот реально монстр на js завезли электрон и реально это первое полноценное кросс-платформенное gui.

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

Что думаете колеги?
393 2704325
>>704181
Ты опять весь текст проигнорировал вырвав только нужное?
Спрошу прямо, почему ты пишешь говнокод где нужно все перегружать? Как ты эту хуйню тестами покрываешь?

> когда они


Кто они?
394 2704340
>>704082
>>704173
Скорее всего этот шиз первый раз увидел дерево зависимостей, у него в крестах он берет zver.dll и подключает её, а тут нихуя себе какие-то штуки из интернета грузятся
image.png6 Кб, 270x120
395 2704429
>>704197
раст + отп(элексир/эрланг) = кишки ВСЕХ тырпрайз проектов ближайшие n лет до изобретения адекватного "executable UML"-like CASE инструмента, в котором проект будет генериться и обновляться напрямую из требований пользователей (может даже без их уведомления, анальным зондом, считывая частоту слов в диалоге с домашним питомцем); Рассматривай жс как вендор лок от текущего тырпрайза или как понятный инструмент для изобретателей-адаптаторов велосипеда для бизнеса вне глобального тырпрайза;

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

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

Коротко о том, что мог бы дописать:
иллюзия "малость мегахайпа и невключенность в нативный мир" и факт замещения всего инструментария системного программирования, вроде бы конфликтуют.
396 2704753
>>704325

>Ты опять весь текст проигнорировал


5 minutes later...

> когда они

397 2704765
>>704325
Там тебе разжевали, где обобщенные типы и костыльный полиморфизм не помогает. Нафиг мне целиком твои бестолковые тесты цитировать и нафиг мне тебя развлекать, иди работу найди уже, ты не несешь никакой полезной информации для дискуссии.
398 2704767
>>704753
Ну так кто они? Создатели го и раста разные люди, ты тут в кучу все собрал и назвал они.
И да как ты свой говнокод тестами покрываешь, как изменения вносишь?
399 2704796
>>704765

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


Для обобщенных типов есть дженерики, в расте есть трейты например те же коллекции имплементируют трейт итератор и можно написать impl Iterator в качестве типа (как с интерфейсами в жабе), нахуя перегружать на пустом месте? Ты же выше примеры приводил вообще с числом, коллекцией и структурой для одного метода, еще и гордишься таким адовым говнищем.

> Нафиг мне целиком твои бестолковые тесты цитировать


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

>ты не несешь никакой полезной информации для дискуссии.


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

Вы же шизы ебаные. Все ваше блеяние про безопасность порешалось веб-парашной культурой разработки. Вот посмотрите на ветку зависимостей и скажите в какой из пакетов вам закинут говняк. А это системная утилита, если что.
401 2704941
>>704429

>раст + отп(элексир/эрланг) = кишки ВСЕХ тырпрайз проектов ближайшие n


У меня такое ощущение, что вы в каком-то манямире живете или вообще в другой вселенной
402 2704946
>>704926
LTO
T
O

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

мимо не крастер, ссылка из шапки
image.png5 Кб, 270x120
403 2704949
>>704941
я просто мимоинженер маленьких систем, которого заставляют работать по стандартам nato architecture framework прости уж за мой манямир
404 2704956
>>704949

>по стандартам nato architecture framework п


Да хоть по стандартам галактического империума. В нашем мире тырпрайз - это всегда древние копролиты кода. Где-то даже от кобола не избавились. Собственно, на то он и кровавый тырпрайз.
405 2704958
>>704946
Нахой оно не нужно с такой разницей в бинарниках.
406 2704971
>>704956
Критически важную инфраструктуру уже давно с кобола переписали это байка и реальность критически не важных "крупных" компаний.

При всем уважении к вашему локальному глобальному тырпрайзу
show.png6 Кб, 270x120
407 2705138
>>704946
По название ссылки думал, что сейчас открою и прочту кратко "почему", а там на пол книги лол.

мимокрок
408 2705139
>>704926

>апку при сборке раздувает с 2МБ до 200М+


Ппц наверное раст там ssd радует. Как такое могло вообще из альфа версии вылезти? Что будет с проектов в 100мб?
409 2705167
>>658080
Тред для программистов, а не долбоёбов. Засунь свой GPT туда, откуда он у тебя вывалился, и уходи.
410 2705181
>>703907
Как можешь заметить по скринам libusb и libudev вкомпилены статически в бинарник и занимают большую его часть.

Придраться можно только разве что к ленивости прогера (и нежеланию велосипедить, что частенько приводит к уязвимостям разбора инпута), который использует clap за его триллион фич. Этот крейт, в частности использует также автогенерацию ман-страниц и bash-комплишнов.
411 2705186
>>703907
Можно скинуть около 500 кб, если заменить clap и serde (оба были поруганы реддитом за размеры) на легкие альтернативы.

сам крейт занимет 330 кб, стандартная либа раста еще 250. Остальое все мелкое.
412 2705188
>>705139
В таких случаях будут использовать https://github.com/Swatinem/rust-cache чтобы github объекты хостил, или https://github.com/mozilla/sccache для своего сервера.
413 2705232
Вот, удалось оторвать от бинарника serde. Отвалилося чтение-запись json-данных - конфиг программы был в json, чтение вывода system profiler (это из macos), вывод самой программы результата работы можно было сделать в json. И еще цвета тоже. И я не раст программист, между прочим. Довольно тут все просто получилось - удалил крейты, дальше просто слушал на что ругается и удалял в коде. Во многих других языках так не получится сделать.

Видно, что прога стала довольно мало занимать если стдлиб, libusb и libudev вытащить. Еще clap так и остался, но его мне влом выпиливать.
414 2705452
>>705188
@
1990-2000 твой устарелый пк не тянет в игры, да и вообще характеристики уровня калькулятора, поэтому единственный вариант изучать программирование.
@
2020 чтобы скомпилить маленькую программу на системном расте, тебе нужен парк компьютеров, облако, солнце, звезды, и 50% млечного пути.

Когда мы повернули не туда??
ca.png20 Кб, 1637x254
415 2705516
>>705452
Я с тобой согласен потому что сам такой же, но человекоресурсы ограничены, а люди выставляют приоритеты сообразуясь со своими нуждами.

Не сочти за рекламу:
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/ У меня похожая проблема. Иногда лезу на вкладу пикрела и сижу там, медитирую.
416 2705835
>>705516
Может просто не брать раст? Может хватит кушать низкокачественные продукты. Я понимаю там люди js компилируют в js и это кажется им нормальным, но тут у нас как бы системный язык, я не жду от него быстрой компиляции, но раздувания в порядок и не один, это уже слишком.
417 2705838
>>705835
Зиг и прочие новые яп так же этим болеют? Это из-за llvm?
418 2705933
>>705835
Не собираюсь переубеждать, но мало ли тут кто будет проходить с такой же проблемой.

Существуют файловые системы которые прозрачно и быстро сжимают повторяющиеся данные. Это проблему безразличия разрабов компилятора к твоей проблеме не решает, но поможет снять симптомы.
image.png41 Кб, 972x238
419 2706612
Ето конечно жёска
420 2706954
Можете объяснить кратко объяснить почему раст раздувает сборку проекта так? Для каждого проекта собирается все заново или есть особенности раста?
421 2706968
>>706954
Из того что описано в статье из шапки - раст линкует все зависимости в один бинарник, там ещё болтаются минимальные jemalloc и libstacktrace для дебага. + debug строки.
Если кто-то посетит этот тред и я не прав - поправьте.
422 2707005
>>706968
не, про размер конечного бинарника более менее понятно, я имею ввиду почему папку проекта с 4мб до 200мб может раздуть? Болеет этим же с++?
m.jpg39 Кб, 583x400
423 2708617
Аноны, кто-нибудь тыкал машобчик на расте? Что там и как?
Вообще, в каком сейчас состоянии машинное обучение? Лет 10 туда не совался, игрался ещё на гвидоне с numpy и pandas.
Гачи-мачо сверху - автор проекта polars
424 2708947
>>708617
Никакое. Лет 5 назад пытались какую-то либу/платформу запилить, но всё померло.
425 2708950
>>708947
https://github.com/autumnai/leaf еле вспомнил название
image.png34 Кб, 145x863
426 2708985
>>708950

>Лет 5 назад пытались

427 2709028
>>703520

>Так перепиши мне это:


>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) => {},
_ => {},
}
}
написано в комфорте мобильного устройства
427 2709028
>>703520

>Так перепиши мне это:


>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) => {},
_ => {},
}
}
написано в комфорте мобильного устройства
428 2709220
>>709028
Радует что тут есть программисты.

А так ппц бойлерплейт, конечно, но хоть есть структуризация, где можно понять, что это что-то общее, чем просто нейминг функций (перегрузка ручками).
429 2709227
>>709028
В матчинге все равно придется заюзать функции, потому как велик шанс (так как перегрузка), что одни функции будут дополнять другие в себе. То есть, по сути, все равно придется писать перегрузку ручками и тогда енам вообще избыточен. Но как минимум можно спрятать эти кишки, что уже лучше, но да, бойлерплейт чистой воды.
430 2709254
>>709028

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

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);
}
431 2709340
>>709254
Выглядит как говнокод, не силен в клинописи, ты тупо заимлиментил все под рандомные сигнатуры?

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

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(...)
432 2709613
>>709340

>> рандомные сигнатуры


>> однотипные сущности


где ты их увидел?

хватит херню нести
433 2709735
>>709227
Общий код можно писать вне матчи
434 2709737
>>709254
Я ещё не настолько мудр, поэтому поясни пожалусто код
435 2709805
>>709613
Херню начинаешь нести ты, когда зачем-то пытаешься объединить "необъединяемое", словно ньюфажа в программирование. И я знаю, ты это понимаешь и от этого у тебя подгорает еще сильнее.

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

>Перегрузка функций объединяет действие (де-факто), но не сущности



И каким образом трейт объединяет сущности?
437 2710347
>>709220
Да просто тот шиз когда в тред заходит никто ему серьезно не отвечает, спросил бы сразу чего ему надо много кто подобный вариант написал, enum и match в расте используется везде. А так доебался до перегрузок как пьяный до радио, при этом на вопросы что и зачем ему надо говорит о всяких абстрактных апишках и рендерах, разумеется все хуй об него вытирают.
438 2710675
>>710347
Все там было понятно, мимохер пукнул, что перегрузка нужна, кто в очередной раз сказал ненужно а как иначе, её же нет, лол, начал(и) срать примеры не однотипной перегрузки, когда неинты и лонги пропихивают, а когда может влететь все что угодно.

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

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

Ппц капча, это мой ластовый пост тут.
439 2710688
>>710675
Очередной язык где выпилили древние технологии и снова очередной вой про то как это ненужно.
И нет бы занять позицию - хотим и дайте, нет, будут сидеть и терпеть "ненужно", пока не завезут.

Согласитесь, раст был бы куда приятнее если бы были дефолтные аргументы и перегрузка. Никакую избыточную нагрузку это это для программиста не несет, только для авторов компилятора.
440 2710700
>>709737
хз что объяснить
почитай про static dispatch
441 2710704
>>710688
Какой смысл штамповать языки, если везде всё одно и то же, только где-то всё в camelCase, где-то змейкой, и те же, абсолютно, парадигмы. Абсолютно одно и то же, с тем же функционалом? В чём смысл то тогда?

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

мимо
442 2710710
>>710347
не шиз, а обычный, заурядный троль

его сообщения:
>>709805
>>710675
>>710688
>>709340
>>703520

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

Это стандартное поведение? Социальная справедливость и её война? Или я что-то не то делаю?
444 2710901
>>710774

>Социальная справедливость и её война?


Это.
Чувак, они даже константы по типу deadbeef, deadbabe и т.д запрещают у себя использовать, потому что это не этично. Но в то же время срут паражей в ченджлогах компилятора и просят поддержаь переворот в другой стране.
445 2710903
>>710901
Не, с константами понятно, это для тулзы к репо компилятора. Но тут немного охуел, не мог понять что чекеру не нравится, хотя оно забилдило несмотря на "ошибку" в Cargo.toml из-за названия гитовой ветки.

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


Вот это ещё пока не видел.
446 2710960
>>710901
Очевидно, что эффективные менеджеры от скуки заигрались в твиттер. Теперь лгбт понос будет встроен тебе в компилятор.
Зачем вы участвуете в этом фрик-шоу?
447 2710968
>>710774
Надо было переименовать в white_master
448 2711037
>>710901
Так наоборот же весь мир против текущей попытки переворота, нет?
449 2711135
>>710901

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


Это где такое?
450 2711156
>>711135
Руст. По-моему у них что-то про Иран было, но может и путаю.
451 2711171
>>711156

>По-моему


Ты ссылку на репозиторий дай
453 2711184
>>711156
У меня половина жаваскриптовых библиотек в доках развесила флаг Украины. Как что-то новое.
Tbh тоже немного настораживает, что в расте так много мелких зависимостей. Поставил один rand - получил 10 зависимостей. И я ещё не пробовал ставить всякие сериализаторы/веб фреймворки/етц. Я не знаю, может на плюсах так же.
Но вот то ли дело шарпы, там в зависимостях преимущественно болтаются стандартные библиотеки.
454 2711375
>>703909
Горжусь за Сишечку.
455 2711540
>>703909
Тут больше радует версия 2.5.0. Сколько раз обертка патчилась, что перепрыгнула мажорную версию.
image.png31 Кб, 554x320
456 2711544
457 2711546
>>711544
с 2015-го, подразумевает, что там вышло аж 2 эдишона раста помимо варианта от 2015-го, 2015, 2018, 2021. imo норм
458 2711837
Ребят, нужен язык для высокоскоростных вычислений в околонаучном проекте и желательно, чтобы его знания могли пригодится в дальнейшем, если дело нормально пойдет. Подойдёт ли Rust в таком случае? Есть прототип, написанный на старом C++, но изучать C++ не очень хочется, с другой стороны, язык широко используется. Rust интересен, но тратить на него время все ещё риск.
459 2711856
>>711837

> Есть кодобаза на плюсах


> Плюсы я учить - не хочу


> А вот переписать всё на раст не зная ни плюсов, ни раста - я хочу


Я правильно понял?

мимокрокодил
460 2711880
>>711856
Примерно так. Плюсы я ещё немного знаю, по крайней мере в исходном проекте могу разобраться, да и сам программист. Но в C++ за время его существования накопилось слишком много нюансов и мне придется потратить дополнительное время на их изучение в свободное от работы времени.
show.png7 Кб, 270x120
461 2712052
>>711837
>>711880
Семён хватит набрасывать, займись делом.

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



Да, а раст тебе сразу в голову прошьется. Научные работники, которых мы заслужили.
Тебе тогда придется учить и раст и с++ если хочешь переписать, плюс еще есть риск того что нужных либ на расте не окажется и придется ручками писать обертки.
Если сам ты можешь писать как хочешь, хоть в си стиле, то обертки тебе придется оборачивать уже со всем багажом знаний с++
1616164598475.png198 Кб, 1812x644
462 2712304
image.png101 Кб, 1265x693
463 2712382
>>712304
Полетели костыли.
464 2712389
>>712382
Как обезопаситься от этих плюсошизиков в зависимостях?
465 2712400
>>712389
Не ограничиваться одним растом как шиз, а юзать оба инструмента?
466 2712439
>>712400
Однажды у меня будет много времени, и я подсяду и на плюсы. А пока надо подсесть хотя бы на раст на уровня опытного пользователя ПК.
Нет, я к тому, что эти шизы тащат в язык костыли, которых в нём нет, просто потому что привыкли.
Мне вот раст после шарпов и фронтоблядского ever changing js нравится, перегрузки у меня и в шарпах есть. Зачем из НЕ плюсов опять собирать ПЛЮСЫ?
467 2712811
>>712052
Повторюсь, что знаком с C++ и успел поработать с памятью, стандартной и не очень библиотекой, а также с системой сборки. Поэтому и поглядываю в сторону Раста, так как на первый взгляд видна попытка побороть недостатки плюсов. Но побаиваюсь, что первое впечатление окажется обманчивым.
468 2712944
>>710774
А скомпилировать и запустить-то даёт? Ну типа это просто ворнинг или ошибка?
image.png3 Кб, 186x72
469 2713133
>>712944
Скомпилилось. Я в процессе пробовал ещё раз пересоздать проект.
В итоге просто поставило мне крейт, и ничего даже не сказало про то, что ветка называется master. Надо был сфотографировать в тот раз ошибку. My bad.
470 2713275
>>712439
Надо из С++ в раст перекатываться, а не из прикладных в системные. Веб-круды у тебя работать быстрее не станут, скорее через неделю начнут крашится потому, что костыль не умеет фиксить фрагментацию памяти.

Только вот плюсовику с его обилием готовых либ, это тоже нафиг не надо все.
471 2713276
>>712811

>успел поработать с памятью


И как ощущение?
472 2713304
>>713275

> что костыль не умеет фиксить фрагментацию памяти


Ну блепт.
473 2713543
>>713304
Слишком грубо?

А не думали как для носителей языка звучит раст? Они буквально слышат "ржавый". Мол, пойду писать на ржавом. Что там у ржавого обнова вышла? На линуксе и в винде теперь есть ржавчина!
474 2713548
>>713543
Да нет, не думал просто, что даже если захочу навернуть крудов, то пососу от фрагментации.
475 2713561
>>713548
Если нет прогрева кэша на пару часов, то тупо рестартуй в 3-4 ночи.

Раньше так делали, но там больше потому что сишные приложухи ппц как текли, до фрагментации бы тупо не дожили.
476 2713568
>>713561
Пиздос какой-то, анон. Я думал всё прям хорошо. То есть если по какой-то причине бэк на расте окажется на проде, надо ещё подумать о том, чтобы ноды перезапускать планово? Ох лил.
memoryconsumption.png24 Кб, 1024x500
477 2713624
478 2713634
>>713568
Пока Семен балуется, кину вам статейку, раз никто контентом не бампает.
Сколько памяти вам нужно для запуска 1 миллиона одновременных задач?
https://www.reddit.com/r/programming/comments/13o4nr5/how_much_memory_do_you_need_to_run_1_million/

Шарп рили наступает.
479 2713638
>>713624
>>713634
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)));>
480 2713651
>>713624
>>713634
>>713638
Я наверно вот с этим оратором из пердит соглашусь:
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.
В бенчах намешаны варианты с чистыми тредами и нет. И эликсир, который попердолил весь график.

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

А тут пугают фрагментацией, ввергая снова в экзистенциальный кризис. Хочу чтобы работало.
kid-cute.gif999 Кб, 498x373
481 2713653
>>713638
Похоже поспешили Microsoft с переписыванием кода на Раст. Надо было переписывать на C#
482 2713654
>>713651
Причём мало того намешаны варианты с тредами/без. Нет даже сравнения решения с тредами/тапками/корутинами на одном языке. На том же шарпе можно было набросать пример на чистых тредах. Или раз из коробки асинк эвейты работают - то не надо и думать самому?
483 2713656
>>713651
stackless раста хуже stackless C# на 14% (213 против 183)
484 2713657
>>713651

>В бенчах намешаны варианты с чистыми тредами и нет


Да, наркомания, поэтому стоит смотреть на миллион запросов, где он не смог запустить системные потоки.

>А майки вообще молодцы, я из версии в версию шарпов удивляюсь


Только им это надо было в 2010 году делать, пока жабу колбасило.

Самое забавно как хомяка на го раздуло, а мне каждый гофер в ухо пел, какой го экономный и легковесный, по сравнению с жабой.
485 2713659
>>713654
Я бы хотел увидесть бенч тасков, которые берут common-объекты для работы, и выполняют над ними common-операции. Так будет более приближенно к реальности.
486 2713673
>>713624
>>713634
>>713653
Хотели опять попиарить раст на пустом месте, но пропиарили шарп.
487 2713691
>>713651

>А тут пугают фрагментацией, ввергая снова в экзистенциальный кризис. Хочу чтобы работало.


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

Получиться, что многие объекты (и даже их копии!) которые должны были быть давно удалены с хипа, будут висеть как статика, ибо хер знает где его уничтожить, ты же не ГЦ, чтобы во всей этой простыне кода разрбраться.
488 2713701
>>713691

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


Попробуй то же самое в newbie-треде. Может там прокатит.
489 2713706
>>713691
В раст автоматическое управление памятью без использования сборщика мусора. То же самое что в языке с ГЦ, только без ГЦ и его минусов.
490 2713720
>>713651

>боюсь фрагментации


Двумя строками в коде можешь подключить аллокатор по выбору. К примеру, раньше раст приложения использовали аллокатор jemalloc. Но его убрали, во первых чтобы уменьшить размер бинарника (и использовать в результате стандартный системный аллокатор), во вторых чтобы пользователь мог сам выбрать себе менеджер памяти.
491 2713723
>>713720
О, спасибо, анон! Надеюсь в книжке это описано. Но если что noted.
492 2713919
>>713701
>>713706
Тут речь про то, что владение будет создано на таком уровне, что по сути будет статикой. В ГЦ тоже такие утечки бывают, но если все же ссылки сдохнут, то ГЦ соберет, в расте нет.
493 2713920
>>713720
Какой аллокатор может перемещать память? Это же стоп-зе-ворд. куда делось сообщение я хз
494 2713930
>>713919
То что ты описываешь называется Rc / Arc это отдельный тип в Раст (обертка над Т), если все ссылки будут уничтожены, то объект тоже будет уничтожен моментально. Не всякий ГЦ в других языках уничтожает объект сразу, но в Расте Arc/Rc делают это немедленно при счетчике ссылок 0.

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

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

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

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

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

>>713920
Похожие запросы
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г.
1568203152101.jpg44 Кб, 500x375
495 2714035
496 2714040
>>714035
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.


Что-то желание дочитывать пропало. Весь экспертиза и заслуги свелись к как обычно и проблемам стран первого мира.
Screenshot1.png37 Кб, 769x439
497 2714390
>>714035

>какая-то

498 2714419
Вот что бывает, когда профессиональное приобретает лицо и мнение.
499 2714640
>>713930
Интересно, спасибо умный анон.

>>713930

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


Да, но от циклических ссылок не спасет же?
500 2714641
>>714035
Можно сразу суть написать, ну реально мало хочется читать чьи-то слезы.
501 2715002
>>714641
Не читай и забей хуй.
502 2715207
>>714640
Циклическую ссылку сначала надо сделать, а это не так просто как в Си / С++. Для этого надо понять что такое Arc / Rc, unsafe и mem::forget. Когда начнешь про это читать, чтобы понять что это за сущности, тогда и увидишь в описании что циклическую ссылку можно сделать, и как это происходит.
Вот описание в документации: https://doc.rust-lang.org/std/sync/struct.Arc.html

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

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

Если хочется обмазаться безопасными и удобными циклическими связями, и написать такой тип данных самому с нуля (не используя крейты), при этом без потери производительности, то можно использовать арены.
503 2715376
>>715002
Так там же драма.
504 2719639
Вот смотрю я на раст, он такй вроде классный, компилируемый, куча годной документации, менеджер пакетов, классный линтер и т.д. Но потом я вспоминаю, что он байтоёбский, а я лоу-айкью дегродант и теряю энтузиазм.
505 2719667
>>719639
Знаешь, кто не разбирается в байтах? Тот, кто не трогает байты.
Что у него хуёвое, так это сжвшная вонь и привкус повесточки и политики. И всё это у инструмента, который со всем этим, казалось бы, не должен быть никак связан. Как C, C++, C#, Jeba, PHP, etc.
506 2719745
>>719667
Разве не похуй? Инструмент есть инструмент,
507 2719760
>>719745
Почитай выше линку с педдита. Топителя за репрезентативность чёрных кинули с ключеввм докладом. Он не пошёл. Готовил фичу для храста. В итоге с команды раста от такого вот это поворота отвалился чел, который давно его пилил. Инструмент - да. Должна ли по весточка влиять на инструмент? Нет. Влияет? Да.
508 2719980
>>719760
Я так понял, там сначала негра какого-то поставили главным спикером, но другие участники ущемились из-за его предыдущих каких-то статей, что нигеров мало и начали бухтеть, в итоге его понизили и сделали обычным спикером, а тот не захотел это терпеть и ливнул, в итоге этот белый ущемился вместе с ним и ливнул из раста.
509 2720039
>>719980
Он не просто не захотел это терпеть, он изначально не хотел идти обычным спикером. Его сделали ключевым - он согласился. В итоге из-за закулисных бухтений уже после того как он согласился стать ключевым спикером - даунгрейднули в обычного спикера. То есть то, от чего он изначально отказывался. Белый ущемился с этого в частности.
510 2720291
Почему если функция должна вернуть Result, то возвращают Ok(хуйня)/Err(хуйня), вместо объекта с типом Result?
511 2720639
Спасу утопающий. Зачем? Потому что могу!

ПЕРЕКАТ >>2720637 (OP)
ПЕРЕКАТ >>2720637 (OP)
ПЕРЕКАТ >>2720637 (OP)
512 2720744
>>720291
Ok/Err это и есть "объекты" типа Result. Ok это Result::Ok, Err это Result::Err
513 2721207
>>719760
Поддерживаю, инженерия и повестка не должны пересекаться.
На месте кабанчика, я бы не стал тащить технологию с сомнительным руководством.

Мне вообще было бы выгоднее сидеть на технологии жирного вендора, который сам тесно завязан бизнесом на своей технологии. Ну или как плюсы, с комитетом, но медленным развитием.
Тред утонул или удален.
Это копия, сохраненная 16 июня 2023 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски