Главная Юзердоски Каталог Трекер NSFW Настройки

Программирование

Ответить в тред Ответить в тред
Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 543 78 125
Rust #35 /rust/ Аноним # OP 29/10/24 Втр 18:01:18 3310716 1
изображение2024[...].png 39Кб, 433x496
433x496
1-3borisvallejo[...].jpg 269Кб, 552x786
552x786
11pVq9Nik.jpg 553Кб, 1280x1006
1280x1006
изображение2024[...].png 105Кб, 660x440
660x440
Добро пожаловать в тред гарантий, обещаний, владения, заимствования и тайных знаков

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

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

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

НОВИНКА: Rust для Windows: https://metanit.com/rust/windows/

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/
Rustlings (упражнения чтобы привыкнуть к расту): https://github.com/rust-lang/rustlings
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


Предыдущий: >>3283990 (OP)
Аноним 29/10/24 Втр 18:32:37 3310750 2
Зачем нужен невероятно быстрый язык, когда единственное для чего нужен невероятно быстрый язык С++ это работа с директикс, а для раста байндингов директикс нет?
Аноним 29/10/24 Втр 18:50:05 3310768 3
>>3310750
На чём писать прикладной софт с компиляцией в бинарник? На чём писать ОС, когда гну-макаки в нарушение своих же гну-лицензий выгоняют из проектов неугодных людей и подчищают код?
Аноним 29/10/24 Втр 19:02:58 3310781 4
>>3310768
Да хоть на питоне. Только сама по себе компиляция в бинарник ничего особо не дает, я видел проги переписанные на крестах которые работали примерно так же.
Аноним 29/10/24 Втр 19:03:47 3310783 5
2.png 12Кб, 1282x752
1282x752
>>3310750
>директикс
Зайчем? Ты в 2к24 собрался писать игры под Хуан?
Аноним 29/10/24 Втр 19:06:54 3310784 6
image.png 58Кб, 500x500
500x500
>>3310768
>На чём писать прикладной софт с компиляцией в бинарник?
Аноним 29/10/24 Втр 19:08:13 3310785 7
image.png 268Кб, 622x350
622x350
Аноним 29/10/24 Втр 19:08:23 3310786 8
>>3310783
Я собираюсь в опенжл, но для чего мне раст, когда для этого есть божественный LWJGL и IDEA?
Аноним 29/10/24 Втр 19:13:51 3310790 9
>>3310781
Нужна хоть какая-то производительность. Одно дело написать youtube-dl на нём, где 99% времени упор в IO, другое дело когда питон в 10-15 раз медленнее крестов и ты ничего не можешь с этим сделать, кроме как через костыли переписать на сишку кусок питоновского кода.
>>3310784
Без сахара жить сложно, нужен сахар что привкус хуёв во рту не чувствовался.
Аноним 29/10/24 Втр 19:15:18 3310793 10
>>3310784
У меня негативные ассоциации с названием
Аноним 29/10/24 Втр 19:18:14 3310796 11
6582f594b6457.jpg 40Кб, 600x419
600x419
>>3310786
>Java
>OpenGL
>IDEA

ТРЕД ЯВЛЯЕТСЯ АНКЛАВОМ ЕВРЕЙСКОЙ АВТОНОМНОЙ ОБЛАСТИ. ГОИ ОБЯЗАНЫ ПОКИНУТЬ ТРЕД В ТЕЧЕНИЕ 12 ЧАСОВ
Аноним 29/10/24 Втр 19:22:39 3310802 12
>>3310790
>Без сахара жить сложно, нужен сахар что привкус хуёв во рту не чувствовался.
Что именно не хватает?
Аноним 29/10/24 Втр 19:25:24 3310805 13
>>3310790
>Без сахара жить сложно, нужен сахар что привкус хуёв во рту не чувствовался.
С++/C# там столько синтаксических конструкций, что просто вынимать не будешь ох эти растеры и их аналогии с членами
Аноним 29/10/24 Втр 19:28:30 3310813 14
>>3310793
Это у тебя извращенный ум, слово рандомное.
Уж куда лучше чем ржавчина.
Аноним 29/10/24 Втр 19:35:24 3310818 15
>>3310790
>питон в 10-15 раз медленнее крестов
Ну не знаю, нейросетки работают одинаково что на питоне что на с++. Ну если профайлером найти ботлнек и переписать его на ассемблере то наверно будет быстрее.
Аноним 29/10/24 Втр 19:39:47 3310827 16
>>3310818
У торча свой JIT. Речь про чистый код. Когда питоновского кода набирается пару десятков тысяч строк, то уже неприятно.
Аноним 29/10/24 Втр 20:42:38 3310875 17
>>3310784
А если выйти за пределы бета тестирования?
Аноним 29/10/24 Втр 23:57:01 3310960 18
>>3310875
У тебя полная совместимость с сями, тебе вообще нечего бояться. Это раст если загнется (уйдет в апач фондейшн) ты останешься с корытом, а здесь ты сможешь вернутся на си не переписывая код.
Аноним 30/10/24 Срд 00:05:14 3310966 19
>>3310960
Если у зига были бы евангелисты языка, то из каждого утюга бы звучало про совместимость, как например:
js -> ts
java -> kotlin
c -> zig

Но увы, это до сих пор неочевидно.
Аноним 30/10/24 Срд 00:41:46 3310986 20
>>3310960
Тогда нахуя оно надо, может проще сразу на сях писать
Аноним 30/10/24 Срд 07:31:58 3311097 21
>>3310986
А кто тебе запрещал на сях писать? Это для тех кто кому нужно могущество си, но на самих сях писать уже не хочет.
Аноним 30/10/24 Срд 08:23:23 3311127 22
>>3311097
Вот сделали бы для си инструмент типа cargo и нафиг ни какие зиги, расты не нужны были бы.
Аноним 30/10/24 Срд 10:07:43 3311194 23
>>3311127
Они что-то пытаются, вон meson высрали, но там у них голова чуть по-другому работает в отличии от нормальных людей, они не стремятся к тому чтобы сделать что-то удобнее для себя, поэтому это скорее всего верхняя планка
Аноним 30/10/24 Срд 11:42:24 3311280 24
>>3311127
> инструмент типа cargo
Это когда без подключения к серверам нельзя собрать ничего? Как показывает практика, завтра могут просто отключить доступ к ним из рашки, а послезавтра в коде сделать закладки для рашкинского региона, чтоб карга не работала там. И никто не будет разбираться, как в линуксе по буковкам "ру" будут нахуй посылать и иди жалуйся в спортлото.
Аноним 30/10/24 Срд 12:00:18 3311295 25
image.png 87Кб, 984x424
984x424
image.png 172Кб, 1152x1278
1152x1278
>>3311280
Если тебя это беспокоит и ты не озаботился vpn'ом и/или собственным/надёжным реестром пакетов/зеркалом, то ты дурачок, вон из профессии, иди в пятёрочку.
Тебя и от гитхаба могут отключить, и от sourceforge, и от debian с арчом - хоть из США, хоть из РФ (что не менее вероятно лол - вспомни как РКН ёбнул доступ к гитхабу в РФ в 2014г)
Аноним 30/10/24 Срд 12:35:37 3311343 26
Язык конечно интересный, но вот что непонятно:

Зачем нужен вездесущий маркетинг и реклама?
Почему нельзя собрать проект без интернета?
Почему нельзя называть переменные "не политкорректными" названиями?
Почему async и лайфтаймы выворачивают язык наизнанку?
Почему в сообществе одни трансы и пидоры?
Почему до сих пор ничего толком не написано на этом "системном" языке кроме цветных версий grep и ls?
Почему так много зависимостей в каждый проект тянется?
Аноним 30/10/24 Срд 12:50:36 3311356 27
>>3311343
>Зачем нужен вездесущий маркетинг и реклама?
Его нет
>Почему нельзя собрать проект без интернета?
Можно
>Почему нельзя называть переменные "не политкорректными" названиями?
Можно
>Почему async и лайфтаймы выворачивают язык наизнанку?
Что значит выворачивают наизнанку?
>Почему в сообществе одни трансы и пидоры?
Общемировая практика
>Почему до сих пор ничего толком не написано на этом "системном" языке кроме цветных версий grep и ls?
Написали, но если хочешь что то конкретное то можешь начинать писать хоть сейчас
>Почему так много зависимостей в каждый проект тянется?
Я ебу почему в твои проекты так много зависимостей тянутся? Либо убирай из сам, либо проси разрабов убрать ненужные зависимости
Аноним 30/10/24 Срд 12:51:29 3311357 28
>>3311343
>Зачем нужен вездесущий маркетинг и реклама?
Поставь adblock.
>Почему нельзя называть переменные "не политкорректными" названиями?
Можно.
>Почему async и лайфтаймы выворачивают язык наизнанку?
Не выворачивают.
>Почему в сообществе одни трансы и пидоры?
Микропластик.
>Почему до сих пор ничего толком не написано на этом "системном" языке кроме цветных версий grep и ls?
Напиши.
>Почему так много зависимостей в каждый проект тянется?
Не тяни.
Аноним 30/10/24 Срд 13:00:24 3311368 29
>>3311295
Одно дело когда по IP блочат, совсем другое когда с другой стороной ищут русских под кроватью всеми способами. В том числе начинают резать "русский" код, что бы это ни значило. Я уже приводил пример с линуксом - там китайский/русский код подчищали, по буковкам "ру" банили, из списка авторов кода в нарушение лицензии убирали. Как тут тебе зеркала помогут не понятно. В симейке/ГОвне хотя бы нет привязки к пердольным репозиториям под юрисдикцией швятой, а просто по ссылке на репу зависимости ставятся, всё децентрализовано. А тут фактически нужно будет свою отдельную репу карги делать и поддерживать, чего естественно не будет никогда.
Аноним 30/10/24 Срд 14:38:58 3311464 30
>>3311368
>а просто по ссылке на репу зависимости ставятся
В карго можно прописать ссылку на гит
> тут фактически нужно будет свою отдельную репу карги делать и поддерживать, чего естественно не будет никогда.
В чем проблема? Максимум сотню широкоупотребимых залить на фсбхаб даже просто руками ничего не стоит.
Аноним 30/10/24 Срд 15:55:08 3311551 31
>>3311356
>>3311357
>Почему нельзя называть переменные "не политкорректными" названиями?
>Можно
Даже deadbeaf?
Аноним 30/10/24 Срд 16:05:06 3311570 32
>>3311551
Нет, deadbeef нельзя, но зато можно nigger, faggot etc.
Аноним 30/10/24 Срд 16:07:38 3311577 33
>>3311570
Почему ещё не запретили? Довольно странно. Пойду создам петицию на форуме спидерастов. Ещё нужно запретить BABE и прочие женоненастнические символы. я реально это сделаю через пару месяцев, найму пару прогрессивных компаний для этого
Аноним 30/10/24 Срд 16:08:38 3311581 34
>>3311570
Кок разве такое позволит сделать?
Аноним 30/10/24 Срд 16:18:00 3311596 35
>>3310966
>c -> zig
На ху я? Если можно на С писать без перделок и свистелок?
Аноним 30/10/24 Срд 16:21:58 3311602 36
>>3311343
>Зачем нужен вездесущий маркетинг и реклама?
Кстати услышал тут в такси по радио рекламу крутили, типа ставь наш новый молодежный язык и будешь круче всех. По телевизору вообще 24/7 его рекламу крутят, я редко его включаю, но как не включу везде реклама раста. Ну я зашел к ним в офис в Питере на Рубинштейна 24, мне сказали что можешь бесплатно пользоваться, но чтобы установить нужна флешка, свою нельзя только фирменную, пришлось покупать фирменную, она стоит 100$, но из-за ссанкций ее везут через Казахстан, плюс НДС и растоможка и в рублях уже 16800. Попутно всучили подписку на serde за 499 в месяц. Вот тоже думаю совсем маркетологи охуели
Аноним 30/10/24 Срд 16:23:44 3311608 37
>>3311368
Как показать что ты тупой не говоря об этом даже лень комментировать
Аноним 30/10/24 Срд 16:25:45 3311611 38
>>3311127
Пишу на Си и инструмент типа cargo не нужен, а то и был бы во вред.
Аноним 30/10/24 Срд 16:30:10 3311616 39
>>3311611
Как ты собираешь проекты, если там много файлов?
Аноним 30/10/24 Срд 16:32:03 3311617 40
>>3311616
Дикарь-зумерок не слышал про инкрементальную сборку?
Аноним 30/10/24 Срд 16:39:00 3311628 41
>>3311617
Типа ты вручную пишешь gcc file1.c, потом gcc file2.c и т.д.?
Аноним 30/10/24 Срд 16:40:42 3311630 42
>>3311628
Этот растошизик даже мыслить не может вне своей карго-хуйни, лолд. Вот это выдрессировали опущенца.
Аноним 30/10/24 Срд 16:47:10 3311635 43
>>3311628
Я типа могу Makefile написать и билдить всё скриптиком, хоть на верилоге, хоть на Си. Могу на Cmake написать, и билдить сгенерённым мэйкфайлом. Можно забиндить всё это дело в моём емаксе на f9 и не париться вообще, алсо никакой непонятной хуйни и анальной зависимости от вендора карги/другого магического комбайна, работало 30 лет назад и ещё также (с оговорками лол) проработает 100 лет.
Аноним # OP 30/10/24 Срд 17:25:46 3311663 44
>>3311343
>Почему нельзя собрать проект без интернета?
Хм, поподробней можно?
>Почему нельзя называть переменные "не политкорректными" названиями?
Coolstory? Не принимают код в Open Source сообществе, или за недопущением переменных с неправильными названиями следит сама IDE/компилятор?
>Почему в сообществе одни трансы и пидоры?
Сейчас трансов и пидоров, нет только разве что в Delphi (потому что он как Неуловимый Джо, никому не нужен) и в C (потому что там нужно реально мозгами шевелить, а среди реально мозговитых, "нитаких как все" квиров, обычно не встречается).
Аноним 30/10/24 Срд 17:30:00 3311667 45
>>3311663
Да ладно сразу на ум приходит создатель такого тула как Yosys.
Аноним 30/10/24 Срд 18:24:48 3311714 46
Аноним 30/10/24 Срд 18:38:30 3311727 47
>>3311714
> json
Больные ублюдки. И так билд-скрипты как письмена шизов, только с мейкфайлами соперничать, так ещё и мету в жсоне делают, пиздос.
Аноним # OP 30/10/24 Срд 18:41:05 3311730 48
>>3311097
Проблема в том, что просто кодить на C не дают. Весь FAANG срочно переходит на Rust и даже Белый Дом требует на него переходить.
Аноним 30/10/24 Срд 18:41:47 3311733 49
16476376078490.jpg 184Кб, 640x370
640x370
>>3311295
В npm были же диверсии в либах по ip, причем там дебил навредил больше своим службам, которые работали в сетях Беларуси и им все потерли (осталась его фото). Из-за флуда в пакетах говна можно засунуть в любой вложенности, а так как в случае карго ты не владеешь своими пакетами после публикации то проблемы могут иметь фанатичный характер.

Менеджер пакетов не должен быть привязан к одной репе. Да и сами репы имеют специфичный формат, а нужно как в го или зиге - скачал, если что, ручками и закинул. Такой подход так же не создает миллион мини реп.
Аноним 30/10/24 Срд 18:42:05 3311734 50
>>3311714
Ебать вот это ПРОСТОТА, нахуя такой велосипед, если можно как сегодня поставить deb пакет со всем нужным/сконпилить из исходников привычным способом.
Аноним 30/10/24 Срд 18:53:34 3311753 51
>>3311730
Естественно его рекомендует белый дом, карго вроде настроен так что автоматом подтягивает версии 1.1.х, то есть цру может просто включать и отключать бэкдоры когда надо в любой цепочки (в каком-нибудь очередном "left-pad"). Просто идеальная платформа.
Аноним 30/10/24 Срд 18:56:30 3311755 52
>>3311727
Там не json, это анонимные структуры зига. Автор говорит "похоже" на json. В мире зига даже билдинг пишется на зиге.
Аноним 30/10/24 Срд 19:10:27 3311776 53
>>3311730
Кто не дает? Они сейчас с тобой в одной комнате?
Си язык богов, скорее загнется все остальное чем си, поэтому хорошее обновление языка не помешало бы. Естественно веб макакам это не подойдет, да и хруст не особо для вебмакакинга подходит, эта беда с асинками, да и костылище сердо.
Аноним 30/10/24 Срд 19:19:57 3311786 54
>>3311733

> Менеджер пакетов не должен быть привязан к одной репе.
Cargo не привязан к одной репе - можешь использовать любую другую доступную.

> Да и сами репы имеют специфичный формат,
Вся специфичность - наличие cargo.toml в папке с пакетом.

> а нужно как в го или зиге - скачал, если что, ручками и закинул. Такой подход так же не создает миллион мини реп.
В cargo.toml ты можешь использовать сторонний репозиторий, git и пути файловой системы для пакетов. Вот прям ручками качаешь, ручками распаковываешь в папочку и ручками прописываешь путь к этой папочке - всё
Аноним 30/10/24 Срд 19:22:32 3311788 55
>>3311786
> любую другую доступную
Я хочу любую другую поддерживаемую. Ясен хуй напердолить можно что угодно, но тогда смысл в карго пропадает, зависимости по ссылкам на гитхаб намного проще в этом случае. А сколько-нибудь поддерживаемая только официальная.
Аноним 30/10/24 Срд 19:28:37 3311790 56
Аноним 30/10/24 Срд 19:36:45 3311797 57
17295196031172.png 362Кб, 564x872
564x872
>>3311753
Так, вот сейчас стало интересно - что это за cargo и с чем его едят?
Просто сколько лет программировал - ни разу ни одно средство разработки не требовало Интернета. Кроме разве что, FlutterFlow но там собственно, само средство разработки исполняется в облаке, а доступ через браузер.
Аноним 30/10/24 Срд 19:47:40 3311807 58
>>3311786
>Cargo не привязан к одной репе - можешь использовать любую другую доступную.
Ну мы же говорим про реальный мир, а не вымышленный с единорогами, да? Можно, но де-факто это не так.

>Вся специфичность - наличие cargo.toml в папке с пакетом.
Скорее всего есть какой-то формат и просто сорцы не положить, мне лень разбираться, на деле всегда есть какие-то костыли у такого подхода.

В общем, когда появиться с десяток реп по типу как у maven, тогда можно будет еще говорить о свободе. (такого не будет, сразу отменят тебя)
Аноним 30/10/24 Срд 20:07:59 3311824 59
>>3311790
Это ты предлагаешь все зависимости зависимостей так пердолить?
Аноним 30/10/24 Срд 20:31:37 3311845 60
>>3311797
Мне больше всего напрягает то, чтобы писать под винду надо тянуть вижлу и С++ билдер в 6гигов.
У зига так же?
Аноним 30/10/24 Срд 20:36:51 3311851 61
Аноним 30/10/24 Срд 20:44:49 3311859 62
>>3311824
Ну это уже как тебе угодно
Аноним 30/10/24 Срд 20:48:30 3311863 63
>>3311845
> 6гигов
Не пизди, 1.6.
Аноним 30/10/24 Срд 20:57:58 3311869 64
>>3311807
В реальном мире у меня для личного пользования несколько впс в разных регионах с впн, а для рабочих задач поднята artifactory с кешированием и проксированием до crates, docker hub, nuget, npm и прочего - полнейшая свобода.
Ты какую-то хуиту придумал и сам ее боишься как тот конь который насрал посреди манежа и пугался своего говна
Аноним 30/10/24 Срд 21:03:05 3311875 65
>>3311869
>В реальном мире у меня
впн отрубается так же легко, как пукнуть в лифте
Аноним 30/10/24 Срд 21:04:42 3311879 66
>>3311875
Вот как cloak и v2ray научишься отрубать - сразу пиши, а пока что попустись
Аноним 30/10/24 Срд 21:08:21 3311886 67
>>3311879
Впервые про роутеры слышишь? Нет никакой проблемы трафик перекидывать на VPN на уровне роутера, а не софта. VPN клиент в любом контейнере поднимаешь хоть на самом роутере.
Аноним 30/10/24 Срд 21:28:41 3311909 68
>>3311879
2011 год - хаха они не могут запретить <базворд>
-----вы находитесь здесь-----
2024 год - хаха они точно не смогут запретить <еще один базворд>

тор тоже не "могли заблокировать" а потом заблокировали, лол
После ввода китайского опыта будут просто автоштрафы прилетать за твои базворды, на твою карту/госуслуги.
Аноним 30/10/24 Срд 21:33:03 3311917 69
haskell.jpg 246Кб, 1024x768
1024x768
>>3311909
> на твою карту
Хотя кого я обманываю
Аноним 30/10/24 Срд 21:40:11 3311928 70
>>3311786
>Cargo не привязан к одной репе - можешь использовать любую другую доступную.
Безумный растошиз сейчас всерьёз эту хуйню высрал? Ору нахуй с оправданий.

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

К чему всё это? Очевидно что растом пользоваться просто невозможно в современных условиях, он для этого не предназначен.
Аноним 30/10/24 Срд 22:35:56 3311981 71
>>3311928
Не гори так мань, сходи там pkgconfig подергай, autotools сконфигури, cmakelists.txt поправь - ну у тебя столько дел в твоей "испытанной временем" экосистеме, а ты тут ходишь позоришься, тролишь тупостью, уже даже скучно тебя обоссывать
Аноним 30/10/24 Срд 22:56:12 3311993 72
>>3311863
>Не пизди, 1.6.
Я бы тебе поводил скриншотом по губам, но к сожалению все уже установлено (там даже больше 6гб).
Раз установилась вижла я еще шарпы поковырял, лол
Аноним 30/10/24 Срд 22:58:52 3311996 73
>>3311993
Так кто тебя заставляет ставить студию? Ставь только тулчейн.
Аноним 30/10/24 Срд 23:18:44 3312001 74
>>3311981
Зачем мне это делать, я же не безумный растошиз который вместо написания программ копается в конфигах и каргокале.
Аноним 30/10/24 Срд 23:53:08 3312023 75
1701884341711.png 182Кб, 1660x1208
1660x1208
Те кто жалуется на раст, посмотрите какая красота у зиге. Там реально филиал дурки, такого даже в крестах в STL нет.
Аноним 31/10/24 Чтв 00:07:46 3312029 76
>>3311996
установщик раста и заставляет.
Аноним 31/10/24 Чтв 00:11:00 3312030 77
>>3312023
Что там? Или ты хочешь чтобы мы пошли изучили синтаксис зига чтобы понять твою мысль?
Аноним 31/10/24 Чтв 00:15:44 3312032 78
17051546752200.png 161Кб, 2211x593
2211x593
praise-the-crab[...].webp 28Кб, 687x500
687x500
>>3312023
К сожалению филиал дурки в другом месте. я так понял ты в первые увидел правосторонний кодинг когда возвращают сразу инициализацию вместо присвоения в переменную? Тебе понравится котлин
Аноним 31/10/24 Чтв 00:21:20 3312034 79
>>3312023
Кстати легко читается, даже не зная зига не режет глаза.
Загугли - ? это опшены, а встроенные функции через собаку.
Аноним 31/10/24 Чтв 00:22:15 3312035 80
>>3312029
Не пизди. Даже если тебя отправляет в установщик студии, то там можно выбрать только тулчейн без самой студии.
Аноним 31/10/24 Чтв 00:39:04 3312051 81
>>3312035
Да какая разница пиздишь ты, это не отменяет того что надо тянуть гиги за шаги.
Аноним 31/10/24 Чтв 00:45:51 3312056 82
>>3312051
Пользователь винды опущенный чмошник и должен страдать
Мимо
Аноним 31/10/24 Чтв 00:48:35 3312058 83
>>3312051
А на линуксе тебе не надо тянуть сто зависимостей и gcc?
Аноним 31/10/24 Чтв 01:05:22 3312065 84
>>3312056
Ща бы покупать пеку с 64 гигами для компиляции цветного grep и не играть в компьютерные игры.
Аноним 31/10/24 Чтв 01:10:32 3312067 85
>>3312056
Разве Линус разрешал тебе использовать пинус?
На самом деле обосрались тут не вин юзеры, а раст, который победил С++, но при этом без С++ тулинга не собирается.
Аноним 31/10/24 Чтв 09:58:21 3312282 86
Аноним 31/10/24 Чтв 14:44:33 3312622 87
>>3312282
Какой устойчивый манямир, не раст обосрался, а виндузятники. Так и запишем.
И кто вам разрешал сидеть на финском линуксе?
Аноним 31/10/24 Чтв 14:57:05 3312628 88
>>3312622
>финском
Американском если быть точнее и не просто linux, а GNU/Linux GNU/Red Hat/Linux
Аноним 31/10/24 Чтв 21:03:34 3312917 89
>>3312628
>GNU
Столлман уже высказал свое мнение? Или молча в сторонке грызет мозоли?
Аноним 31/10/24 Чтв 21:05:24 3312919 90
>>3312917
Он вообще приболел немного
Аноним # OP 31/10/24 Чтв 21:55:21 3312936 91
>>3312282
>>3312622
Растоман + линуксоид = долбоеб в квадрате.
Аноним 31/10/24 Чтв 22:54:04 3312962 92
>>3312936
># OP
>Растоман
Лол, а ты тогда кто? Или по доброте душевной на зарплате чужие треды перекатываешь?
Аноним 02/11/24 Суб 16:52:22 3314409 93
image.png 37Кб, 739x399
739x399
Кто-нибудь раст на арме юзал? Допустим, у меня 16 ядер (32 потока), на пике я получу прирост производительности в четыре раза? IO не является узким местом и все упирается в CPU.
Аноним # OP 02/11/24 Суб 16:53:29 3314411 94
>>3312962
Интересующийся/зоонаблюдающий.
Аноним 02/11/24 Суб 19:17:52 3314509 95
2d59758586af0f2[...].png 73Кб, 1280x1000
1280x1000
>>3314409
>на пике я получу прирост производительности в четыре раза?
Может получишь, а может и нет, а может вобще хуже станет
Аноним 04/11/24 Пнд 16:28:38 3315720 96
>>3314409
>на арме
Как ты себе представляешь это? Просто переход на другую систему команд в вакууме? И при чём тут яп высокого уровня?
Аноним 04/11/24 Пнд 17:26:41 3315771 97
>>3310716 (OP)
Своего ide написанного на русте не завезли. Ясно.
Аноним 04/11/24 Пнд 19:24:07 3315850 98
Аноним 04/11/24 Пнд 19:44:16 3315863 99
>>3315850
Конечно. Это же значит, что нужно что-то разрабатывать. Мало того, ещё и чтобы по уму все работало.

Я кстати заметил, что в тредах о русте сам код не обсуждается в принцепе, что показательно. Видимо секта раста - это методичка о том, какой он хороший, свободный и хороший.
Аноним 04/11/24 Пнд 20:16:19 3315875 100
>>3315863
Этот тред пристанище шизов, если хочешь обсудить язык, то есть группы в телеге там обычно таких банят. Тут даже ОП на расте не пишет, а просто так перекатывает лол
Аноним 04/11/24 Пнд 20:16:26 3315876 101
>>3315863
> Что вы код не обсуждает
> Так начни сам обсуждать
> Я!?
Аноним 04/11/24 Пнд 20:21:18 3315879 102
>>3315876
Он наверное припёрся обсуждать zed, не просто так начал накидывать про иде, а тут чего-то не хотят, пусть сам с собой поразвлекается
Аноним 04/11/24 Пнд 20:26:38 3315883 103
>>3315879
Ghbxtv nen zed?
ты ещё Notepad++ идешкой назови.
Аноним 04/11/24 Пнд 20:27:50 3315885 104
Аноним 04/11/24 Пнд 20:29:15 3315886 105
>>3315879
>не просто так начал накидывать про иде
а что, что-то неудобное?
Аноним 04/11/24 Пнд 20:44:17 3315891 106
>>3315886
Да не, всё удобно, обсуждай
Аноним 05/11/24 Втр 00:45:12 3316041 107
image.png 1028Кб, 1280x720
1280x720
>>3315863
>Я кстати заметил, что в тредах о русте сам код не обсуждается в принцепе, что показательно.
А ты такой же наблюдательный, как Слепой Пью. В Говноланге постоянные срачи на тему Котлина/Шапрпа/Джавы. В Джаве Котлин/Шарп/Го. Тут вся доска такая.
Аноним 05/11/24 Втр 09:14:02 3316229 108
rust-be-like-v0[...].webp 45Кб, 500x707
500x707
>>3315863
Одно дело накручивать опросники и делать враперы, другое дело писать качественный софт с нуля.
Аноним 05/11/24 Втр 10:59:31 3316350 109
>>3315863
>в тредах о русте сам код не обсуждается в принцепе
В прошлом треде смотри.
>>3308401 →
Там ещё было, но мне лень скроллить. Большая часть постов - толстые набросы и ответы на них. Агрессивный маркетинг привлекает не только потенциальны клиентов, но и поджигает дупы сектантам других языков, которые сюда прибегают что-то доказывать. Впрочем, без них мы бы затонули, наверное.
Аноним 05/11/24 Втр 12:10:03 3316439 110
>>3316350
>Агрессивный маркетинг привлекает не только потенциальны клиентов, но и поджигает дупы сектантам других языков, которые сюда прибегают что-то доказывать.
Вот если есть маркетинг, то он работает в первую очередь на них, прям с таким усердным рвением нужно приходить сюда и что-то доказывать лол. Как религиозные фанатики показывают свои коран/библию/сторожевые башни представителем других конфессий и готовы усраться что-то доказывая
Аноним 05/11/24 Втр 12:46:44 3316508 111
offending-95-of[...].webp 61Кб, 574x1020
574x1020
h7t6eab1pau71 ([...].webp 38Кб, 1080x780
1080x780
dont-look-at-th[...].webp 51Кб, 500x748
500x748
8axc40yc78gd1.webp 41Кб, 882x500
882x500
>>3316439
Искусственный хайп привлекает не очень умные массы, от чего появляется мемы типа "а вы не думали переписать на раст" или "дело не в языке, дело в навыке", или "половина раст чата состоит из питонистов" итд. Чтобы это увидеть надо сидеть в забугорном инете, сейчас лулзов меньше, но маркетологи продолжают натягивать раст то на питонистов то на джаваскрипшиков, который он нахер не сдался и которые не имеют бэкграунда С++, чтобы писать либы, но зато те как попугаи повторяют одни и те же идеи раста через свою призму тупости.

Отсюда феномен, его все любят, особенно те кто на нем не пишет, потому как идеи раста хороши (хоть за 10 лет надоели уже), но глубинный раст уродлив и неудобен да, проблема навыка, или в нашей интерпретации - неосилил
Аноним 05/11/24 Втр 12:51:41 3316518 112
>>3316508
Почему не удалось продать аду?
Аноним 05/11/24 Втр 13:02:20 3316537 113
>>3316350
>>3316439
Plot twist: агрессивные маркетологи раста под видом хейтерков сами постят сюда максимально тупые претензии, чтоб двачекомьюнити их блестяще опровергало.
Хейтерки обоссаны, комьюнити в сияющих доспехах сияет, тред живёт, профит!

Хотя я в этом треде с 2017 сижу-пержу и вижу, что претензии-то повторяются из треда в тред, можно и FAQ чисто под это запилить но мне лень расписывать.

Вот набросаю черновик пожалуй:

Q: В комьюнити одни сплошные LGBTQGCCPP
A: Похуй, ты как был одиноким пидором, так им и останешься

Q: Компилятор раста использует LLVM, а значит не настоящий
A: Похуй, фронтенд на расте, а хуячить собственный бекенд под все поддерживаемые LLVM архитектуры, когда есть готовый (и пилится GCC-кодген) - бестолковая трата ресурсов

Q: На расте нет больших/известных/крутых проектов
A: Похуй, но есть: https://github.com/rust-unofficial/awesome-rust?tab=readme-ov-file

Q: Раст задеприкейтил Windows 7
A: Похуй, оно давно end of life

Q: Раст для Windows требует установки Visual Studio C++ Build Tools
A: Похуй, это всего несколько гигов. Можно обойтись и MSYS2/x86_64-pc-windows-gnu . От туда нужны либы и линкер

Q: RC это GC
A: Нет, долбоёб, это shared_ptr (да и похуй)

Q: А вот зиг/плюсы/сишечка ...
A: Похуй

Q: Синтаксис сложна/нипанятна
A: Похуй, ты ещё туповат для него

Q: Бороу-чекер сложна/нипанятна
A: Похуй, он умнее тебя

Q: Агрессивные маркетологи раста ...
A: Похуй, алсо смешно читать как на opennet в любом посте с упоминанием раста горят жопы хейтерков

Q: Раст сейф но кругом ансейф ряяя
A: Похуй, зато сразу видно в коде что этот блок - ансейф, а не как в сишке/плюсах сплошной ансейф

Q: Проект не собрать без инторнета и доступа к crates.io
A: Похуй, возьми VPN или подними свой кеширующий/приватный реестр пакетов на artifactory/чём-то ещё и пользуйся. Не можешь - иди нахуй

Всё, заебался, пойду чаю попью
Аноним 05/11/24 Втр 13:06:35 3316546 114
image.png 227Кб, 287x402
287x402
>>3316518
Потому что некромантия запрещена.
Аноним 05/11/24 Втр 13:09:21 3316550 115
>>3316546
Ада - современный язык, алсо, у нас есть спарк.
Аноним 05/11/24 Втр 13:10:06 3316554 116
16893508335672.png 724Кб, 500x1000
500x1000
esc.webp 48Кб, 640x360
640x360
>>3316537
>Похуй
>Похуй
>Похуй
>Похуй
Классическое злоупотребление .clone
Аноним 05/11/24 Втр 13:46:27 3316593 117
>>3316537
Q: В комьюнити одни сплошные LGBTQGCCPP
A: Зашквар, пацаны не поймут.

Q: Компилятор раста использует LLVM, а значит не настоящий
A: Ну по суди да, они смогли только осилить ASТ дерево, да и то поставили макросы затычки.
Ты забыл что это говнина компилируется долго.

Q: На расте нет больших/известных/крутых проектов
A: Расту 10 лет, это настораживает, даже у говна есть флагманы, а он ппц какой неудобный.

Q: Раст задеприкейтил Windows 7
A: Там была проблема обратной совместимости. То есть, ты можешь взять старые рантаймы/интерпретатор любого языка и запустить на старом парке компов (всякие банкоматы и кассы могут на этой залупе еще жить). У раста такой возможности не существует из-за того что винда не ставит Visual Studio C++ Build Tools. В общем, нельзя делать так чтобы кабан соснул, иначе соснет язык.

Q: Раст для Windows требует установки Visual Studio C++ Build Tools
A: Расту как победителю С++ нужен тулинг С++, эпик вин.

Q: RC это GC
A: Да, с точки зрение терминологий CS. Но что в этом плохого (в реале это узкая и локальная сборка мусора, тут просто страдает маркетинг, сказать что у раста есть GC, это удар по языку, но язык без RC не может, по дизайну)

Q: А вот зиг/плюсы/сишечка ...
A: Нам нужны не пидорские языки, а интеропы С/C++

Q: Синтаксис сложна/нипанятна
A: Не сложный, он неудобный. Нас буквально хеллоу ворд встречает с макроса.

Q: Бороу-чекер сложна/нипанятна
A: Не сложный, он неудобный.

Q: Агрессивные маркетологи раста ...
A: Агрессивный маркетинг рождает ровно таких же фанатиков с другой стороны, с линукс комьюнити это показывает.

Q: Раст сейф но кругом ансейф ряяя
Q: зато сразу видно в коде что этот блок - ансейф, а не как в сишке/плюсах сплошной ансейф
A: Сначала тебе из каждого утюга говорят про безопасность, а потом на деле оказывается не так все просто. Ты ловишь фрустрацию. Еще раз, агрессивный маркетинг зло, не надо считать программистов за дебилов, ибо у тебя останутся только тупые фанатики, вместо реал кодеров.

Q: Проект не собрать без инторнета и доступа к crates.io
A: Похуй, возьми VPN
Сидит маленький мальчик без ножек на диване
смотрит мультики... тут в комнату врывается папа
И переключает на футбол...
- Пааап .. но я же мультики смотрю
-НУ тогда встань и переключи
-Но паап.. у меня же нет ножек...
-НЕТ НОЖЕК - НЕТ МУЛЬТИКОВ
Аноним 05/11/24 Втр 14:05:47 3316609 118
>>3316593
Почему на расте постоянно все приходится переписывать, как так вышло? Почему это бай дезигн?
Аноним 05/11/24 Втр 15:13:42 3316697 119
>>3316593
>Ты забыл что это говнина компилируется долго.
По сравнению с чем и на каком коде?

>Расту 10 лет, это настораживает
Какой крупный проект, которым все-все-все пользуются, появился на каком-либо другом языке за 10 лет?

>даже у говна есть флагманы,
Какая-то хрень для докера, который сам по себе нужен, потому что весь софт нахуй сломан?

>То есть, ты можешь взять старые рантаймы/интерпретатор любого языка и запустить на старом парке компов
Ты можешь поставить старый Раст на старую винду. В худшем случае придётся собирать самому.

>Расту как победителю С++ нужен тулинг С++, эпик вин.
Ты можешь напрямую дёргать системные вызовы винды, если тебя это настолько беспокоит. Придётся пересобирать половину тулчейна, но это в любом языке плата за ебанутость. Го на Линуксе каждые полгода стандартную либу правит.

>но язык без RC не может, по дизайну
Ни разу не пользовался. Несколько раз был нужен Сell и UnsafeCell по всяким эзотеричным нуждам.
Аноним 05/11/24 Втр 15:31:31 3316708 120
Аноним 05/11/24 Втр 16:06:01 3316750 121
>>3316593
>Q: Проект не собрать без инторнета и доступа к crates.io
>A: Похуй, возьми VPN
>Сидит маленький мальчик без ножек на диване
Сидит тупой безрукий мальчик на диване, который в 2024 не смог завести себе vps'ку за пару криптобаксов вне РФ, ну и пусть себе сидит, нам не нужен дурачок
Аноним 05/11/24 Втр 16:49:33 3316807 122
>>3316508
>>3316537
Не читал, извини, но ты продолжай писать
Аноним 05/11/24 Втр 16:52:38 3316809 123
>>3316697
>>3316750
Да нахуй вы его кормите, пусть сам с собой общается
Аноним 05/11/24 Втр 17:47:15 3316865 124
>>3316593
> маленький мальчик без ножек
> не может запустить впн
Типичный местный плюсовик
Аноним 06/11/24 Срд 03:34:32 3317111 125
>По сравнению с чем и на каком коде?
Какая разница с чем? Вечно вам надо сравниваться, ладно, например с го.

>Какой крупный проект, которым все-все-все пользуются, появился на каком-либо другом языке за 10 лет?
Го - губер, докер, еще что-то там.

>даже у говна есть флагманы,
>Какая-то хрень для докера
Что за тупость?

>Ты можешь поставить старый Раст на старую винду.
Именно про это и говориться что не могу, физически просто не могу, я уже не знаю как это объяснить, одно и тоже.

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

>Ни разу не пользовался.
Начни уже писать программы, а не скрипты.
Аноним 06/11/24 Срд 03:36:36 3317112 126
>>3316750
Почему растеры такие глупые, тебе говорят нет интернета - собери впску. У тебя ножек нет, сбегай в магазин.
Аноним 06/11/24 Срд 09:00:21 3317181 127
>>3317112
Почему растохейтеры такие тупые? Тебе без интернета даже apt/dnf install gcc libc-dev make vim не выполнить, а ты все рвешься на расте писать. Возьми турбо-паскаль на дискетке, а лучше сходи во дворе погуляй, глупыш
Аноним 06/11/24 Срд 11:00:43 3317255 128
>>3317181
То есть, если я приду с флешкой на другую машину, без сети я не смогу ничего сделать? Вы че там обкурились?
Аноним 06/11/24 Срд 11:37:38 3317291 129
>>3317111
>Какая разница с чем? Вечно вам надо сравниваться, ладно, например с го.
Код на го будет в пять раз длиннее, потому что ни метапрограммирования, ни нормальной работы с памятью не завезли. В итоге будет одно на одно.
>Что за тупость?
Докер решает проблему управления микросервисной парашей, хотя микросервисная параша - это проблема сама по себе. Как вейп вместо сигарет.
>Именно про это и говориться что не могу, физически просто не могу, я уже не знаю как это объяснить, одно и тоже.
Что пишет?
>Давайте будем реалистами. Ты можешь и свой язык написать, если что-то не нравится.
Ты понимаешь, что это как жаловаться, на драйвера? Якобы легендарный Джон Кармак написал игру, а она вылетает, если не установить непонятный костыль с левого сайта.
>Начни уже писать программы, а не скрипты.
Чел, ты компилятор поставить не осилил.

>То есть, если я приду с флешкой на другую машину, без сети я не смогу ничего сделать? Вы че там обкурились?
На флешку нужно что-то скачать, а как это сделать, если РКН запретил?
Аноним 06/11/24 Срд 12:22:27 3317328 130
Это какая то метаирония или вкатуны реально не смогли осилить запуск карго без интернета?
Ребят, вы если даже не можете две минуты в Гугле потратить, может системное программирование это не для вас?
Аноним 06/11/24 Срд 12:42:30 3317350 131
>>3317328
>запуск карго без интернета
>две минуты в Гугле
Проиграл.
Аноним 06/11/24 Срд 12:51:16 3317359 132
>>3317350
Ясно, толстота значит
Аноним 06/11/24 Срд 13:01:41 3317368 133
image.png 1Кб, 133x36
133x36
>>3317291
>Чел, ты компилятор поставить не осилил.
Как это отменяет то что ты пишешь скрипты?

>Что пишет?
Читай прошлый тред. Из-за того что МС задиприкейтил тулы (те 7гб С++ радости), нельзя поставить старый раст.

>Докер решает проблему управления микросервисной парашей
Да какая разница, ты просил показать флагман проект языка за 10 лет, я тебе показал. Покажи мне флагман раста (к счастью с серво вы уже не носитесь)

>На флешку нужно что-то скачать
Маневры, то есть без сети эта залупа не работает?
Мне на инет как-то срать, меня больше беспокоит что все яйца в одной корзине. И правда что карго минорные версии автообновляет? То есть можно будет шустро включать отключать руткиты?
Аноним 06/11/24 Срд 14:54:30 3317453 134
>>3317368
>Читай прошлый тред.
Я пытался, но какие-то долбоебы там искали геев и джавистов под кроватью, дальше не читал

>пук
Чего-то не читается что ты пишешь, но ты продолжай
Аноним 06/11/24 Срд 15:05:16 3317459 135
>>3317368
>Как это отменяет то что ты пишешь скрипты?
Пилю игру/движок. Не UE5, но где-то в 50 раз сложнее всех твоих хелло ворлдов. Всё работает на базе элементарного бамп аллокатора даже без RAII. Стандартные контейнеры рассчитаны на слишком общий случай и для геймдева избыточны. Rc вообще по ощущениями добавили чтобы было даже в отрыве от геймдева.
>Из-за того что МС задиприкейтил тулы
Попроси Копайлот показать, где можно на сайте МС скачать старые либы.
>Да какая разница, ты просил показать флагман проект языка за 10 лет, я тебе показал
И ты показал набор скриптов, который умеет автоматически устанавливать пакеты. Охуенно.
>Покажи мне флагман раста
Клёво же.
https://www.youtube.com/watch?v=mKoRzTK1HkU

>правда что карго минорные версии автообновляет?
Если пишешь в зависимостях звездочку, то правда.
Аноним 06/11/24 Срд 15:18:58 3317470 136
>>3317459
>Всё работает на базе элементарного бамп аллокатора даже без RAII
Зачем тут раст лол?
Аноним 06/11/24 Срд 16:04:44 3317488 137
>>3317470
Трейты, замыкания, вывод типов, паттерн матчинг, нативный код, система сборки. Этого мало? С тем же успехом можно спросить, а чем Раст хуже любого другого языка. STL в плюсах настолько же неюзабельный кал, например.
Аноним 06/11/24 Срд 16:29:10 3317499 138
>>3317459
>https://www.youtube.com/watch?v=mKoRzTK1HkU
Что это? Редактор для создание ассетов-башен?
Я просил флагман, а не мультяшные ассеты для юнити

>в 50 раз сложнее всех твоих хелло ворлдов
Ну я рад что это сложнее моих хеллоу вордов, казалось, что может быть сложнее хеллоу ворда, оказывается есть.
В 50 раз, говоришь? Так-с, 50 умножаем на ноль...

>даже в отрыве от геймдева.
Неожиданно, в геймдеве часто применяют сборку мусора. Даже в анрил. Если бы ты варился в геймдеве то знал бы это.
Я понял что ты очередной раскрашиватель grep
Аноним 06/11/24 Срд 16:40:21 3317506 139
offending-95-of[...].webp 61Кб, 574x1020
574x1020
>>3317488
>же неюзабельный кал, например.
Ох эти питон специалисты. А потом окажется что нужная либа на плюсах, или врайпер багован и де-факто заброшен. И вдруг неюзабельныи гавном окажется твой раст.

Открою тебе секрет, что настоящая трудность и проблема для реального программиста это не наличие трейтов, вывода типов, паттерн матчинга и замыкания, а наличие стабильных либ с тысячами человека-часов работы.
Аноним 06/11/24 Срд 16:46:01 3317510 140
> а вот я тру программист и эксперт вот моё мнение
> нет это я тру программист и эксперт, твоё мнение говно, вот моё мнение

Сука дети выйдите из треда, что за цирк вы тут устроили?
И почему в треде половина анонов вобще не программирует на расте а возможно и вообще, кто то форсит тред в б или что?
Аноним 06/11/24 Срд 17:28:40 3317542 141
>>3317510
Это же вообще дефолт, в треде го по ощущениям большую часть постинга исходит от двух шизов - эксшепшн шиз и нинужен шиз. Возможно, второй это эволюция первого.
Аноним 06/11/24 Срд 18:07:18 3317574 142
>>3317499
>Неожиданно, в геймдеве часто применяют сборку мусора. Даже в анрил
Во-первых, Rc не сборка мусора. Во-вторых, Анрил переинженеренное статтерящее мыльное недоразумение, которое используют, потому что остальное еще хуже. Или это был контрпример?

>>3317506
>а наличие стабильных либ с тысячами человека-часов работы.
Они требуют тысячи человеко-часов, потому что переизобретают готовые примитивы ОС поверх нескольких слоёв сериализации, виртуальных машин и такой-то матери. А по другому и не получится, потому что мы зачем-то эмулируем PDP-11.

>>3317510
Ну маааам.
Аноним 06/11/24 Срд 18:42:39 3317599 143
>>3317574
>ряяя гц ненужно, а где нужно там деды и плохо.
>ряяя счетчик ссылок не сборка, в компьютер сайнс это сборка, а у нас нет, а если надо будет, перепишем ваш компьютер сайнс!!!
>ряяя либы ненужны, я крашу grep, мне там либы ненужны.

Я кажется стал понимать, все эти питонщики выбирают раст, потому что там нет GC и когда они слышат что умные указатели это тоже вид GC - у них взрывает пукан, мол как так я же раст терплю ради ручного управления памятью, а тут опять гц, ряяя!!!
Аноним 06/11/24 Срд 19:24:12 3317618 144
>>3317510
>И почему в треде половина анонов вобще не программирует на расте а возможно и вообще, кто то форсит тред в б или что?
Тут тред держится или наоборот опустел из-за них благодаря шизам или даже одному и тех кто пытается чего отвечать на эти дешевые набросы. Сюда максимум как в зоопарк можно приходить, не более того
Аноним 06/11/24 Срд 19:26:39 3317619 145
>>3317618
>чего отвечать
чего-то отвечать
быстрофикс
Аноним 06/11/24 Срд 19:27:23 3317620 146
>>3317599
Принесика ссылку на определение rc как gc из cs, а то чот ты пиздишь
Аноним 06/11/24 Срд 19:28:27 3317621 147
>>3317574
>>3317599
Вот кстати каноничный пример специальной олимпиады - спор о том являются самрт поинтеры сборкой мусора, нормальный человек в этом споре участвовать не будет
Аноним 06/11/24 Срд 20:13:51 3317645 148
>>3317621
Нормальным людям и без этого понятно что умные указатели это сборка мусора.

Просто дети не в курсе что если требуется любая сборка мусора и любые умные указатели - следствие дерьмовой арахитектуры.
Аноним 06/11/24 Срд 20:16:08 3317649 149
>>3317645
Как в расте и C++ придумывается архитектура? Вот в джаве есть чистая архитектура, но там пиздец полный, сложно. А в низкоуровневых языках как это делается?
Аноним 06/11/24 Срд 20:40:49 3317665 150
>>3317542
>>3317618
Мда, ну я так и понял как тред весь пролистал
Жаль конечно что из за рака тред в такое скатился раньше такие хоть только в опеннете каком нибудь сидели, а теперь и тут
Аноним 06/11/24 Срд 20:48:23 3317668 151
>>3317649
Отталкиваясь от данных. Смотришь на данные, как часто они меняются, как преобразуются, как долго хранятся, как запрашиваются. Выбираешь подходящие структуры для них, массивы структур, структуры массивов, многомерные массивы. Конечно же большая часть всего этого в глобале существует. Дальше пишешь под это дело всё функции, абстракции, итераторы, атомики всякие, смотря от требований и возможностей. Аллокаций в большинстве программ вообще можно избежать с таким подходом.
Аноним 06/11/24 Срд 22:29:43 3317704 152
>>3317645
>дети
Вот как раз таки дети заполонили тред этими срачами, при этом не давая четких определений что чем является, собственно неопределенность и позволяет обеим сторонам вилять жопой и разводить бесконечный срач. Нормальные взрослые люди начинают с терминологии и определяют рамки того что чем является и уже дальше нужно смотреть подходят ли умные указатели под критерий сборщика мусора или нет, а не просто кидаться говном.
Мимо
Аноним 07/11/24 Чтв 05:56:16 3317801 153
>>3317621
Это у питонистов бомбит, для нормального человека нет проблемы что смарт поинтеры это локальная сборка мусора без стоп-зе-ворд. Почему растеры рвут на себе чулки от этого я не понимаю
Аноним 07/11/24 Чтв 06:02:27 3317803 154
>>3317704
>>3317620
Тебе несколько раз сказали про терминологию cs, в этом вся суть фанатиков, вы будете юлить до последнего и троллить тупостью.

Там очень просто определение
In computer science, garbage collection (GC) is a form of automatic memory management. The garbage collector attempts to reclaim memory that was allocated by the program, but is no longer referenced; such memory is called garbage.
Аноним 07/11/24 Чтв 06:22:15 3317805 155
image.png 62Кб, 360x360
360x360
>>3317803
Этот спор можно навсегда закрыть. В прошлых тредах был пример связанного списка на rc<refcell и вроде на ансейве с сырыми указателями. Или же взять смарт поинтеры из с++ и сырые указатели, если раст ограничивает и ансейв.

И честно (с публикацией на гитхаб в докере с результатом) протестить этот список с десятками миллионов значений.
Если разница не велика - то вообще не важно GC или не GC, всегда можно обоссать оппонента, что это дешевая операция, а не костыль. Если же разница велика, втихую как крыса промолчать и спрятаться за анонимностью двача, до следующего срача.
Аноним 07/11/24 Чтв 06:35:11 3317808 156
>>3317805
Спойлер - если указатели часто не создаются и не дропаются, то там почти нет накладных расходов (на разыменовывание).
Аноним 07/11/24 Чтв 06:43:14 3317809 157
image.png 45Кб, 898x133
898x133
Что лучше для вката?
RR или vscode?
Аноним 07/11/24 Чтв 11:06:35 3317979 158
>>3317809
обмазался обоими.
После победы трампа, куда-то все растеры пропали.
Аноним 07/11/24 Чтв 12:27:38 3318086 159
>>3317803
>Тебе несколько раз сказали про терминологию cs
Это вы между собой там спорите, кидаясь какашками в песочнице, я же написал что мимо. Но то что уже пользуетесь справочной литературой, уже хорошо, молодцы

>>3317801
У нормального человека вообще не должно рвать от наличия или отсутствия сборки мусора, а нужно решать конкретную продуктовую задачу. Если при решении задачи сборка мусора не мешает, но при этом экономит еблячасы при разработке и сопровождении, то однозначно её нужно использовать. А всякие малолетние дебилы из этого срач на десяток тредов устроили на потеху публике.
Аноним 07/11/24 Чтв 12:31:44 3318092 160
>>3317809
Если с нуля, то лучше vscode
Аноним 07/11/24 Чтв 13:32:24 3318134 161
>>3315720
ну есть же Rust под ARM
разве я не могу взять исходники проекта и просто перекомпилировать его под ARM?
Аноним 07/11/24 Чтв 13:33:52 3318137 162
image.png 10Кб, 559x116
559x116
>>3318092
Тоже так подумал, как то проще мне показался, да и vscode я знаю хорошо. А в чем RR выигрывает в перспективе?
Планирую активно сорцы исследовать, помниться в жб был удобный тулинг для этого и отладчик (но это в жабе, а тут хз).
Аноним 07/11/24 Чтв 13:49:11 3318156 163
image.png 31Кб, 1657x189
1657x189
Аноним 07/11/24 Чтв 13:57:02 3318160 164
>>3318137
>А в чем RR выигрывает в перспективе?
Он не использует lsp и при внесении изменений в код быстрее соображает в обмен на съеденную память, плюс чуть побольше возможностей для рефакторинга, а в общем и целом все тоже самое. Сам летом пересел на vscode, по началу было непривычно, а теперь всего хватает

>Планирую активно сорцы исследовать, помниться в жб был удобный тулинг для этого и отладчик (но это в жабе, а тут хз).
А вот это хз, я этим не пользуюсь, только профайлером https://github.com/flamegraph-rs/flamegraph и тот из терминала запускаю
Аноним 07/11/24 Чтв 18:37:33 3318380 165
>>3318156
Не везде, конечно, работает как надо, но лучше чем vscode, который показывает ассемблер (хотя я может ньюфаг и просто не знаю).
Аноним 09/11/24 Суб 12:24:12 3319342 166
>>3319315
Потому что тред угнали и перекатывают школьники на винде потому что в игори надо играть, которые не имеют отношения ни к расту ни к разработке в целом, чтобы всех троллить. Вот полюбуйся на ОПа >>3312936
Но будучи не трудоустроенным ни дня такие не знают что почти все сидят на маках и линуксах, а виндой пользуются только опущенные пхпшники, шапрписты и игроделы. Поэтому шутка за 300 не взлетела
Аноним 09/11/24 Суб 12:49:02 3319351 167
>>3319346
Попробуй репортить не через две недели, а когда видишь провокации в оп-постах после переката. И сисики писики тоже репортить не забывай. Будет тебе счастье. Страницу обнови через F5.
Аноним 09/11/24 Суб 17:54:17 3319493 168
image.png 19Кб, 518x212
518x212
image.png 2Кб, 141x47
141x47
Аноним 09/11/24 Суб 18:19:17 3319511 169
Ну как, нашли уже работу на расте?
Аноним 09/11/24 Суб 18:24:52 3319518 170
>>3319511
Нашёл и потерял. Как обычно, блокчейн. Брали на испытательный срок. Оказалось, что там не разобраться в теме за две недели. Надо как минимум полгода. Чтобы во всех этих ебучих транзакциях, подписях, и проч. Ничего особо не объясняли. Месяц промучался и усё.
Аноним 09/11/24 Суб 18:28:38 3319522 171
>>3319511
Раст это элитарный язык для души, а черкаши на галлере можно отскребать и на node.js
Аноним 09/11/24 Суб 19:31:12 3319545 172
>>3319522
>Раст
>элитарный язык
А ты смешной, анончик)
Аноним 09/11/24 Суб 23:04:44 3319623 173
>>3319522
>>3319545
У меня такое чувство что кто-то сам шутит и сам над собой смеется
Аноним 10/11/24 Вск 10:06:27 3319730 174
image.png 29Кб, 772x329
772x329
Я помню все носились с двухсвязным списком, но читая доку я вдруг осознал - в расте нельзя реализовать фундаментальную архитектуру IoC из-за ограничение мутабельных ссылок. Буквально на пике нарушение инкапсуляции.

Как мы делали раньше - у нас есть объекты сервисы и мы их прокидываем как зависимость везде (ну самое простое коннект к базе) сам сервис либо имеет состояния либо нет, у нас просто есть ручки которые мы дергаем и нам не важно, состояние для нас скрыто/инкапсулировано.
С точки зрения архитектуры у нас есть контекст исполнения. А как реализовать подобное в расте? Одни иммутабельные ссылки - не вариант, клонировать владение - ну не вариант вообще (100500 коннектов в базе).

Получается только постоянно прокидывать мутабельную ссылку в каскад функций
f1(&mut MyService) -> f2(&mut MyService) -> f3(&mut MyService)
И надеяться что скоуп ссылки не будет пересекаться (хотя в 90% нам буде нужна иммутабельность).

Какую архитектуру строят на расте и главное как? только без - "а-а-а неосилил", тут правда не видно вариантов для построения большой архитектуры
Аноним 10/11/24 Вск 10:21:52 3319732 175
nJ4N0qry1zuk74U[...].jpg 171Кб, 1280x720
1280x720
Аноним 10/11/24 Вск 10:31:58 3319739 176
>>3319732
Очень хорошо, а теперь в палату, нам и одного объекта для указателей хватит.
Аноним 10/11/24 Вск 10:35:51 3319742 177
>>3319739
Рад за вас, но только кто вы и что значит один объект для указателя и для чего вам его должно его хватить?
Аноним 10/11/24 Вск 11:02:53 3319756 178
>>3319732
Жесть, а если я перепутаю, мне об этом как-то скажут?
Аноним 10/11/24 Вск 11:05:43 3319758 179
>>3319756
Ну либо компилятор по попе даст, либо сам себе по попе за низкий перф
Аноним 10/11/24 Вск 12:42:57 3319795 180
Аноним 10/11/24 Вск 13:13:17 3319807 181
>>3319795
Это же вроде про работу с критическими секциями, или у раста это несет дополнительный смысл?
Аноним 10/11/24 Вск 14:11:40 3319828 182
image.png 455Кб, 1920x1080
1920x1080
>>3319732
Новая версия я обязательно выживу
Аноним 10/11/24 Вск 14:23:46 3319836 183
Pt59X0mmtG9.jpg 236Кб, 1920x1080
1920x1080
Аноним 10/11/24 Вск 14:51:03 3319848 184
>>3319807
>Это же вроде про работу с критическими секциями,
Это про смартпоинтеры, то что ты выше писал где тебе нужно передать кучу мутабельных ссылок. В большинстве случаев тебе для этого потребуется Arc<Mutex<T>> на картинке выше многопоточность и не нужно следить за владением
Аноним 10/11/24 Вск 15:22:21 3319855 185
>>3319730
Как же ору с опущенного джавахуесоса.
Аноним 10/11/24 Вск 15:55:12 3319867 186
>CISA recommends that developers transition to memory-safe programming languages such as Rust, Java, C#, Go, Python, and Swift
Поясните почему в этом списке rust?
Аноним 10/11/24 Вск 16:23:08 3319875 187
>>3319855
Так предложи растовские бест-практикс, я не верю что в расте принято как в жопоскрипте дергать в модуле из другого модуля глобальное состояние.
Аноним 10/11/24 Вск 16:28:05 3319878 188
>>3319730
Передаёшь в функцию замыкание
?????
PROFIT

А OOP игрушка дьявола.
Аноним 10/11/24 Вск 16:32:15 3319882 189
>>3319878
Каким местом IoC про ООП? Это про связанность архитектуры и скорее про юнит тесты.
И причем тут замыкание, я даже спрашивать не буду, ты какой-то тролль или нездоров.
Аноним 10/11/24 Вск 16:41:34 3319885 190
>>3319882
Связанность архитектуры и юнит-тесты - это баззворды, порожденные ОО дизайном. Голоса в голове сказали нам разделить данные на взятые с потолка лоскутки, в итоге каждый кусок кода надо покрывать тестами, потому что малейшая ошибка развалит всю систему, и ты концов не найдёшь.
Аноним 10/11/24 Вск 16:50:19 3319894 191
>>3319885
Я одного не понимаю, нахуя этому обоссаному пидору IoC в расте (любом другом системном языке), ебало просто имаджинируйте: условная библиотечка для работы с свг форматомю, давайте затащим сюда IoC.
Аноним 10/11/24 Вск 16:53:11 3319896 192
>>3319875
Нет конечно же, тут вкатунов мало и люди на опыте сразу делают все через DI чтобы код можно было легко тестировать и одна часть программы знала как можно меньше о других. Разумеется речь за бекенд, как там cli и gui приложения я не в курсе. Так что ближе к жабе чем к жопаскрипту, на гошке примерно также
Аноним 10/11/24 Вск 16:57:04 3319900 193
Как после запросаreqwest спарсить и вытащить только значение одного поля(допустим Phone) с JSON вида:
Ok(
Object {
"Message": String,
"Result:" Array [
Object {
"Name": String,
"Lastname": String,
"Phone": String,
},
Object {
...
},
...
],
"Success":Bool(),
},
)

В документации serde ничего нужного и близко нет.
Аноним 10/11/24 Вск 17:22:40 3319911 194
Аноним 10/11/24 Вск 17:38:54 3319912 195
>>3319896
>тут вкатунов мало
>сидят невдупляют о существование базовых архитектурных паттернов.
Ладно, было ошибкой спрашивать на двачах.
Аноним 10/11/24 Вск 17:55:13 3319915 196
>>3319911
Не пашет
let v: Value = serde_json::from_str(data)?;
После reqwest data не &str.
Аноним 10/11/24 Вск 18:31:58 3319927 197
>>3319912
>Непонятно до чего хочет доебаться
>Ладно, было ошибкой спрашивать
Ладно, узнал завсегдатого шиза ИТТ, не буду кормить
Аноним 10/11/24 Вск 18:33:25 3319928 198
>>3319915
>После reqwest data не &str.
Скинь код целиком, что за тип у data?
Аноним 10/11/24 Вск 18:49:50 3319938 199
Аноним 10/11/24 Вск 19:04:20 3319940 200
Аноним 10/11/24 Вск 19:10:08 3319942 201
>>3319940
Насчет шумихи с Rc, насколько я понял значение там одно, не клонируется физически, просто счетчик увеличивается и уменьшается. Так что непонятно откуда столько шумихи.
хотя это правда выглядит все как овер-костыли, RefCell уже может упасть в рантайме и тогда смысл во всем этом борроу-чекенге
Аноним 10/11/24 Вск 19:10:46 3319943 202
>>3319928
Разобрался, спасибо.
Аноним 10/11/24 Вск 20:08:04 3319965 203
>>3319938
Не умею с голубем в шахматы играть
Аноним 10/11/24 Вск 23:06:20 3320032 204
Почаны, я вам промышленного программирования на расте принес
https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=649484620382d9f4c54e46779948f772

Я смог достичь IoC превосходства. Спасибо Rc<RefCell (правда тут однопоточно).

>>3319848
>>3319795
Оказалось Mutex это RefCell для бедных для многопоточки. В общем, раст такая хрень, его надо сначала полностью изучить чтобы что-то пытаться кодить на нем.
Так то вроде норм, не сложно, но боюсь как меня еще асинки встретят.
Аноним 11/11/24 Пнд 00:58:07 3320054 205
Аноним 11/11/24 Пнд 07:04:38 3320105 206
>>3310716 (OP)
Почему у Раста так плохо с сетью? Какую-то tokio-перделку надо подключать. Хотя бы из main её можно вынести?
Аноним 11/11/24 Пнд 09:59:49 3320212 207
>>3320054
Я сначала пришел к такому подходу, тут без Rc вообще
https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=f270ab858bc2ed0acbd2a8793576e75b

Что мне не понравилось.
1) Мы передаем иммутабельную ссылку, но структура в процессе мутируется. Выглядит грязно, это тот самый Interior Mutability Pattern, насколько это нормально я хз, по мне проще тогда просто везде мутированную ссылку прокидывать и все, как тут
https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=e11c7a2a9bc11992acd8445b9530a42d
Раст, кстати, не ругает если мы кидаем мутирующую ссылку но не мутируем (в этом примере это хорошо).

2) Не понравилось что меняется API, с задуманного:
fn status(&self) -> &str
на
fn status(&self) -> String
Не хватило мозгов как вернуть ссылку от RefCell может клонировать и прописать лайфтаймы? Хз возможно ли это.
Аноним 11/11/24 Пнд 10:18:36 3320227 208
image.png 18Кб, 839x216
839x216
>>3320212
>Не понравилось что меняется API, с задуманного:
fn status(&self) -> &str
В общем, если кто объяснит почему тут так происходит и можно ли это решить буду благодарен.
Аноним 11/11/24 Пнд 10:46:23 3320246 209
>>3320227
Чел, у тебя данные на стеке лежат, ты не можешь вернуть ссылку на стек, потому что он очистится. В случае со ссылочным типом типа строки - только класть на кучу его.
Аноним 11/11/24 Пнд 11:16:30 3320281 210
Аноним 11/11/24 Пнд 11:19:51 3320284 211
Правильно понимаю, что агенты фбр убили с++ тред и бампают расто тред кд?
Аноним 11/11/24 Пнд 11:33:23 3320293 212
>>3320281
Как я понял, так специально сделано там RefCell возвращает некий тип
Ref<'_, T> (вместо &T) - может фишка в этом лайфтайме?
Аноним 11/11/24 Пнд 11:42:40 3320298 213
image.png 995Кб, 826x630
826x630
>>3320284
Тише, мистер Андерсон
Аноним 11/11/24 Пнд 11:47:17 3320301 214
>>3320212
>Не хватило мозгов как вернуть ссылку от RefCell может клонировать и прописать лайфтаймы? Хз возможно ли это.
Там проблема что он не уверен во времени жизни ссылки из-за чего либо клонируй, либо делай что-то внутри этого метода
Аноним 11/11/24 Пнд 11:49:15 3320302 215
>>3320293
Попробуй скорее всего прокатит, я так на скорую руку пример накидал. Я вообще Arc пользуюсь из-за асинхронности там свои другие приколы
Аноним 11/11/24 Пнд 12:54:02 3320340 216
>>3320032
>Я смог достичь IoC превосходства
И ни у кого в этой цепочке не пришло в голову спросить, а не хуйню ли мы делаем?
Аноним 11/11/24 Пнд 14:08:03 3320402 217
>>3320340
Я каждый рабочий день такие вопросы задаю. А так в целом +/- движешься в правильном направлении, такой подход с DI помогает проще тестировать и не зависеть от других кусков кода. Можешь кстати сразу взять actix+sqlx и сделать какое-нибудь crud приложение, глядя на примеры в интернете
Аноним 11/11/24 Пнд 14:33:53 3320425 218
>>3320340
Главное тут не в том делаем ли мы херню или нет, а в том что мы можем это сделать если надо.

>>3320302
>>3320301
Я перепробовал все что на данный момент знаю, потом погуглив нашел коммент и как я понял - RefCell ведется себя как мьютекс. Вот один недооценённый коммент, затерявшемуся среди ответов стаковерфлоу (многие рекомендуют возвращать Ref<T>, а это плохо)

You can't return a &T because the borrow() on the RefCell creates a temporary. It let's go of the RefCell-borrow once the Ref is destroyed. Think about it: By returning a Ref<T>, you are effectively write-locking the RefCell until the Ref is dropped by whoever the caller of get() is. This seems like poor isolation.
Аноним 11/11/24 Пнд 15:00:50 3320454 219
>>3320402
>>3320425
>такой подход с DI помогает проще тестировать и не зависеть от других кусков кода

Пусть у нас есть три функции, которые вызываются последовательно. Одна делает запрос в базу и складывает в более удобные массивы, вторая обрабатывает эти массивы и как-то их преобразует, а третья рендерит на базе первых двух какую-то хтмлку. Каждую из этих функций ты можешь запускать и тестировать отдельно просто через #[test] (немного сложнее в случае с асинком). Остаётся добавить какой-то смок тест, чтобы убедиться, что всё работает совместно.

Что мы получаем, превращая код в ебаный конструктор из абстрактных шизо-трейтов, ради которых еще приходится обходить боров чекер?
Аноним 11/11/24 Пнд 15:12:57 3320461 220
image.png 18Кб, 796x146
796x146
Самое интересное работает такой вариант
Аноним 11/11/24 Пнд 15:28:52 3320473 221
>>3320454
Ты когда пишешь код, ты выводишь те или иные состояния программы, ты делаешь по сути те же тесты, только проверяющий код это ты сам и тесты эти одноразовые.

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

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

Не знаю как в расте будет с тестами. Возможно чтобы что-то замокать придется писать очень много кода, но в других языках юнит тесты просто заставляют IoC юзать.
Тут смысл что тебе не нужен какой-то сервис-контейнер - ты зависимости можешь и в мэйне раскидать, тут именно смысл в инверсии управления, например ты можешь дать коннект на тестовую базу или вообще на сервис который вместо коннекта готовый объект возвращает.
Аноним 11/11/24 Пнд 18:29:29 3320619 222
Аноним 11/11/24 Пнд 19:31:42 3320664 223
>>3320619
> кто писал
Шизик, борющийся с голосами в голове. Там какая-то каша, пиздец.
> struct method that returns by reference is allowed to return any reference other than the implicit this reference
Может быть потому что структура это value-тип, а класс - ссылочный? Просто возврат this из класса в шарпе вернёт внезапно ссылку, как этот шизик и пытается сделать со структурой.
> In C#, the garbage collector exists to make references last forever
> Ignoring the performance implications
Тут тоже ахуительные истории, игнорящие факт наличия оптимизаций компилятора и то что реальный GC намного сложнее, а не просто наивная реализация с референскаунтом и циклами сборки мусора.
> Maybe there’s something that makes C#’s ref subset so unusable that people just ignore it
Надо быть совсем отбитым, чтоб не понимать реальную причину. В шарпе JIT все оптимизации делает сам. Поэтому нет смысла ебаться с этим, если нет прироста производительности. А добавили ref в шарп для оптимизации жора памяти в сложных алгоритмах, а не чтоб везде это пихать в надежде получить скорость.
Аноним 12/11/24 Втр 13:26:09 3321062 224
buttplugrustdocs.png 35Кб, 640x640
640x640
у меня от этой хуйни похоже пожизненная травма, вспоминаю каждый раз как юзаю раст
Аноним 12/11/24 Втр 13:31:58 3321067 225
>>3321062
В общем, закончил я свои небольшие исследования, набросал небольшой вывод.
1) Если брать за аксиому, что нам нужны хотя бы юнит тесты, а для юнит тестов нужна инверсия управления и постоянно прокидывание DI-сервисов, то раст становится очень неудобен.

Представим у нас есть сервис который возвращает какой-то список товаров, не важно через что он работает, важно что мы его везде прокидываем, так или иначе у сервиса есть внутренние изменчивое состояние. Чтобы достичь изменчивости, хоть она и внутренняя мы прокидываем его везде через &mut и рано или поздно утыкаемся на ограничения количества mut ссылок. Для решения проблемы мы пытаемся использовать паттерн внутренней изменчивости (Interior Mutability Pattern) и прописываем RefCell контейнер для внутренних данных, который проверяет заимствование на этапе исполнения (комптайм идет лесом), но тут же сразу вытекает другая проблема - мы не можем вернуть данные даже в режиме иммутабельности (можем, но мы по сути блочимся и отдаем лок-мютекса в чужие руки, как вариант клонировать данные и передать владение, переписав сигнатуру трейта и объекта, то есть похерев API).

Из-за кривости паттерна внутренней изменчивости, мы принимаем решение обернуть не внутренние данные, а весь наш сервис в RefCell и еще раз обернуть в Rc так как мы решаем проблему множественного mut.
В итоге DI сущности у нас становятся вида Rc<RefCell<T>> и проблема решается ценой накладных расходов на производительность и проверкой в рантайме.
Потом оказывается некоторые наши DI-сущности надо будет использовать в многопоточном режиме. Если бы это был объектный мир, мы бы внутри объекта просто задействовали лок над критической секцией, но в расте мы снова ломаем API и не просто ломаем, мы переписываем все сервисы и все сигнатуры функций c Rc<RefCell<T>> на Arc<Mutex<T> (вот ревьюер обрадуется коммиту).

2) Почему на каждом этапе мы ломали апи и полностью меняли концепцию? Проблема стара как мир - проблема протекающих абстракций. Да, раст течет как водопад.
Вот пример, у нас есть объект радио, у него сложное устройство, но наружу выставлены только тумблеры и регуляторы (мы создали абстракцию спрятав/инкапсулировав сложность). Радио помимо своей главной функции имеет в АПИ возможность установитьЧастоту(hz) и получитьЧастоту(). То есть, наше радио имеет изменчивое состояние, но опять же вся сложность работы от нас спрятана - у нас только внешние регуляторы (методы). Проблема начинается тогда, когда мы в расте создаем "иммутабельное радио" тем самым повлияв на его внутренние поведение, запретив ему устанавливать себе частоту, тем самым извне мы сломали внутреннюю логику работы объекта. Это и есть протекание абстракции, самая распространенная проблема бизнес-логики.

В общем, раст превосходный по замыслу язык, но раст совершенно не подходит для промышленной разработки. У раст совершенно нет семантического решения для множественных изменчивый состояний, то есть, когда твой мир статичен - раст добр и дружелюбен, но как только ты попадаешь в измененную сложную среду (приложения, игра, крупный софт) - раст начинает всячески тебе мешать, в итоге ты доходишь до абстракций Rc<Refcell<T> которые полностью выворачивают раст и показывают проблемы в дизайне языка.

И это я еще не дошел до асинхронного мира.
Аноним 12/11/24 Втр 13:37:26 3321074 226
>>3321067
>>3321062
Случайно так получилось, что я тебя процитировал, но лого тут в тему оно же не нарушает авторских прав?
Аноним 12/11/24 Втр 15:37:27 3321222 227
>>3321067
>мы переписываем все сервисы и все сигнатуры функций c Rc<RefCell<T>> на Arc<Mutex<T>

Безотносительно того, это всё выглядит как креативные способы нарисовать часы в Джире, а чего не сделать враппер или алиас?
Аноним 12/11/24 Втр 16:12:25 3321247 228
>>3321067
>Потом оказывается некоторые наши DI-сущности надо будет использовать в многопоточном режиме. Если бы это был объектный мир, мы бы внутри объекта просто задействовали лок над критической секцией, но в расте мы снова ломаем API и не просто ломаем, мы переписываем все сервисы и все сигнатуры функций c Rc<RefCell<T>> на Arc<Mutex<T> (вот ревьюер обрадуется коммиту).
Именно поэтому нужно скрывать реализацию и везде передавать T и у тебя большинство описанных тобой проблем пропадет.

>>3321222
>а чего не сделать враппер или алиас?
Или вот второй путь, структура обертка или алиас

>И это я еще не дошел до асинхронного мира.
Там тоже самое
Аноним 12/11/24 Втр 21:58:39 3321445 229
nTkklWPfET0.mp4 10364Кб, 1250x706, 00:03:16
1250x706
Вся суть программных костылей для контроля границ памяти:

Во-первых, следует отметить, что при инструментировании пользовательского приложения с помощью AddressSanitizer во время каждой операции доступа к памяти генерируется код, который проверяет корректность границы памяти.
Это приводит к значительному увеличению размера исполняемого файла и снижению производительности приложения.
Более того, требования к памяти для пользовательского приложения значительно возрастают из-за создания красных зон для всех объектов.
Еще одним недостатком использования красных зон является невозможность охватить все адресное пространство пользователя.
Например, если красная зона для некоторого объекта составляет 32 байта, а доступ к памяти относительно его расположения превышает это значение, то обнаружить такое нарушение с помощью AddressSanitizer невозможно, тогда как выполнение программы в защищенном режиме приводит к исключению из-за нарушения границ памяти.
Еще одним существенным недостатком AddressSanitizer является невозможность обнаружения ошибок доступа к памяти на границе адреса, соответствующих двум соседним байтам теневой памяти.
Первый теневой байт содержит информацию о том, что адрес, описываемый его значением, определен как неотравленный, а второй байт указывает на то, что соответствующий адрес отравлен.
Эту ситуацию иллюстрирует следующий пример на языке C:

...
char a[10]; // предположим, что адрес «a» выровнен на 8
int p = (int )&a[7];

// где-то здесь массив «a» должен быть инициализирован

return p; // здесь мы загружаем 4 байта, и один из них недействителен
Ошибка пользователя здесь заключается в чтении адреса, на который указывает переменная «p».
Первые три считанных байта будут в назначенной стековой памяти пользователя, но последний байт будет за пределами выделенной границы стековой памяти.
При проверке границы памяти адрес, находящийся в переменной «p», будет сопоставлен с теневой памятью, он будет соответствовать тому байту в теневой памяти, который содержит нулевое значение.
Таким образом, эта ошибка останется незамеченной. Во время выполнения программы с этим кодом в защищенном режиме описанная проблема будет обнаружена из-за использования дескрипторов, которые имеют точную информацию о размере памяти, доступной пользователю.
Аноним 13/11/24 Срд 11:54:49 3321596 230
Аноним 13/11/24 Срд 15:58:00 3321773 231
>>3321596
Это к дискуссии о том что защита на аппаратном уровне (как у эльбруса) не актуальна и все спокойно решается софтом. Просто не решается, худо-бедно решается только в рамках виртуальных машин, у которых в свою очередь проблемы с обработкой больших массивов данных. Ну а нативные библиотеки-санитайзеры это по сути защита только от дурака, пригодное только для того что бы в тестовом режиме запустить/погонять.
Аноним 13/11/24 Срд 17:33:21 3321848 232
>>3321773
Во-первых, тебе никто не мешает для любого процессора написать компилятор, который вместе с каждым указателем держит длину объекта. Или тупо либу для плюсов. В 90% случаев дополнительную проверку можно будет выпилить, а остальные 10% влияния не окажут, потому что никогда не будут срабатывать.

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

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

В-четвертых, указатели и плоская память - это в 64-битной системе само по себе дорогая абстракция, от которой в парсерах и тому подобном отходят, а тут мы снихера удваиваем их размер, потому что какие-то деды в 80-х годах очень нахваливали фичу.

В-пятых, Эльбрус не взлетит, хватит топить за этот кал.

>у которых в свою очередь проблемы с обработкой больших массивов данных
Как и у Эльбруса.
Аноним 13/11/24 Срд 20:01:59 3321931 233
Kobe Zoo💕 カピバラが[...].mp4 3054Кб, 720x1280, 00:00:24
720x1280
>>3321848
>для любого процессора написать компилятор, который вместе с каждым указателем держит длину объекта.
И как это убережет от нарушений границ? Как ты проверишь обращение по указателю поехавший?
>Во-вторых, это вымученный пример, который в Расте даже не получится написать без ансейфа.
Так в расте много чего нельзя написать без ансейфа и что дальше? Разговор про адрес-санитайзер с которым у вас помоему даже программы по умолчанию собираются, его надо специально отключать.
>В-пятых, Эльбрус не взлетит, хватит топить за этот кал.
То же самое можно сказать про раст. И у эльбрусанет проблем с обработкой больших данных, там есть даже аппаратный аррей-префетч который по идее хорошо ложится на растовый итератор, в том смысле что он тоже один раз взводится и в режиме цикла обходит весь массив, причем данные массива не забивают кэш как интеловый префетч, а подкачиваются в специальный буфер подкачки откуда моваются на регистры.

Концептуально раст вообще продекларировал все то, что жизненно необходимо vliw архитектурам вообще и защищенным типа эльбруса в частности - компиляция всех модулей прямо из исходников, дебаг/релиз сборка из коробки, прекомпиляция модулей, lto. Для эльбруса так же важно что запрещены манипуляции со стеком которые в принципе не работают ни в каком режиме. Но на деле получилость как с llvm в свое время - все от и до продумано/реализовано настолько хреново, что не позволяет в полной мере даже задуманного
Аноним 13/11/24 Срд 22:05:31 3321986 234
Аноним 14/11/24 Чтв 12:53:58 3322241 235
>>3321931
>И как это убережет от нарушений границ? Как ты проверишь обращение по указателю поехавший?

У тебя есть адрес указателя и размер буфера. Как проверить нарушение границы, не представляю.

>его надо специально отключать.
Лолчто.

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

Любая fixed-function фича - это техдолг разработчика, который он хочет спихнуть на тебя. Этим не нужно хвастаться, за это нужно обоссывать. Даже видеокарты уже лет десять как умеют работать с памятью через простые load\store, кроме семплинга из текстур. Невидия вообще SIMD-ядра проапгрейдила до SIMT.
Аноним 14/11/24 Чтв 15:45:05 3322358 236
>>3321773
Защита на аппаратном уровне это вообще другой вопрос, наличие отсутствие средств диагностики и отладки ошибок идёт в параллельной плоскости.
>Ну а нативные библиотеки-санитайзеры это по сути защита только от дурака, пригодное только для того что бы в тестовом режиме запустить/погонять.
"только от дурака" - не в тему сказано, ты вообще возможно не понимаешь, что просто наличие санитайзера/любого рантайм инструментария это только 0.005 дела, тебе же надо попасть в ошибочное состояние ещё как-то.
Аноним 14/11/24 Чтв 15:46:01 3322361 237
>>3321848
>не получится написать без ансейфа
А без ряяя ансейфа тоже мало что получится написать. Here we go again.
Аноним 14/11/24 Чтв 15:47:59 3322362 238
>>3321848
>а упадёт в сегфолт
Вкатун, сегфолт это хорошо, плохо когда софт не падает в сегфлолт, но тебе похоже это неизвестно.
Аноним 14/11/24 Чтв 17:40:26 3322440 239
>>3322358
>"только от дурака" - не в тему сказано
Ну да, там в целом разговор то не про безопасность а про средство отладки программ, и то что санитайзер даже в этом плане не сверхнадежное решение. Не помню уже о чем думал когда это писал. В любом случае получаем такую картину:
a) ловим санитайзером (далеко не) все рантайм ошибки, исправляем пускаем в прод окропив святой водой и молитвами дабы бесы не проникли и стек/память не попортили.
б) при помощи отладочной либы опирающейся на аппаратные возможности ловим все что можно, исправляем и в релиз запускаем так же защищенный вариант просто без отладочной инфы.
Аноним 14/11/24 Чтв 18:54:33 3322513 240
>>3322362
>>3322440
>плохо когда софт не падает в сегфлолт
>исправляем и в релиз запускаем так же защищенный вариант просто без отладочной инфы.

Так а чем это паники, которая сразу напишет стектрейс и конкретную строчку? И без эзотерических режимов процессора.
Аноним 14/11/24 Чтв 18:59:46 3322522 241
>>3322513
>это [лучше] паники
fixed
Аноним 14/11/24 Чтв 19:20:35 3322542 242
>>3322513
Тем что сегфолт можно обработать, в отличии от паники. Чем тебе твой стектрейс поможет, если рантайм уже упал? И сегфолт обычно на уровне железа/ядра, это намного быстрее для производительности.
Аноним 14/11/24 Чтв 19:37:12 3322547 243
>>3322542
>Тем что сегфолт можно обработать, в отличии от паники

Обработать и сделать что? Если у тебя в рандомном месте случилось неконсистентное состояние ты можешь максимум насрать в лог. Паника хотя бы деструкторы вызовет.

>намного быстрее для производительности
Алло, это Эльбрус, тут заведомо о производительности говорить приходится. Тем более с толстыми указателями.
Аноним 14/11/24 Чтв 20:36:07 3322564 244
>>3322547
> Если у тебя в рандомном месте случилось неконсистентное состояние ты можешь максимум насрать в лог.
Нет. Как минимум в винде сегфолт бросает VEH-эксепшен, но наверное и в линуксе есть что-то подобное. Через AddVectoredExceptionHandler можно ставить обработчики эксепшенов и ловить Access Violation, прилетающие из ядра. Ядро убьёт процесс только если до него дойдёт этот эксепшен необработанным. Это один из беспалевных способов дебажить чужой процесс - ставить через VirtualProtect на участок памяти запрет на чтение, а как процесс пытается обратиться к своим данным случается сегфолт и выполнение прилетает в твой "зловредный" код. Ты там можешь даже посмотреть состояние регистров на момент сегфолта: https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-context
А потом можно вернуть выполнение обратно в следующую инструкцию цп, вернув из обработчика эксепшена EXCEPTION_CONTINUE_EXECUTION. При этом память самого процесса никак не меняется, все байтики как были.
Аноним 14/11/24 Чтв 20:38:35 3322565 245
>>3322513
так это разные вещи, стектрейс выкатывает операционная система + библиотека, а вот отлавлов некоректных обращений происходит по разному: аппаратная сама контролирует процесс и просто выплевывает сигналы, лови обрабатывай, стек на эльбрусах в любом случае можно получить только от операционной системы. Программная реализация подменяет вызовы алокаторов стандартной либы и создает за границами области памяти "санитарную" зону, в которой и отстреливает (в идеале) всех нарушителей.
Аноним 14/11/24 Чтв 20:40:24 3322566 246
>>3322565
>отлавлов
> аппаратная реализация сама
Аноним 15/11/24 Птн 00:19:46 3322664 247
>>3322565
А зачем всё это нужно, если всё и так отлавливается в юзерспейсе?
Аноним 15/11/24 Птн 17:30:13 3323171 248
>>3322440
>и то что санитайзер даже в этом плане не сверхнадежное решение
Ты опять не понял, с рантайм-инструментарием тебе ещё нужно наступить на "минное поле", чтобы вообще узнать об ошибке. То есть просто даже наличие неидеального санитайзера грубо говоря ничего не даёт без дополнительных средств, то есть твои возбухания на санитайзеры это вообще пшик, ворос вообще не в санитайзерах на практике.
Наличие аппаратных средств - это вообще другое.
Аноним 15/11/24 Птн 17:32:12 3323172 249
>>3322513
Если багнутый софт не падает в сегфолт, но продолжает работать, это хорошо по-твоему, мистер вкатун/джавахусесос/сисярпоподсос?
Аноним 15/11/24 Птн 17:58:46 3323193 250
>>3323172
зависит от софта

мимо
Аноним 15/11/24 Птн 19:53:58 3323278 251
>>3323172
Ты в растотреде. Багнутый софт падает с паникой, блять.
Аноним 15/11/24 Птн 22:25:30 3323319 252
Аноним 15/11/24 Птн 22:41:45 3323327 253
image.png 919Кб, 1280x668
1280x668
>>3314409
все получилось, прирост больше, чем в четыре раза
только один крейт выебнулся - SSE2 ему подавай
был выпелен, т.к. основной функционал не затрагивал
Аноним 15/11/24 Птн 22:43:31 3323328 254
Аноним 16/11/24 Суб 00:25:54 3323359 255
>>3323327
Ого, это что ты такое запускаешь?
Аноним 16/11/24 Суб 00:33:49 3323365 256
image.png 689Кб, 563x604
563x604
Аноним 16/11/24 Суб 02:26:42 3323379 257
>>3319493
как я понимаю ему похуй mut или нет - там везде будет один адрес на стек (не кучу)
mut нужен для анализа перед компиляцией не натворил ли там делов
но я не сильно шарю, может хуйню написал
Аноним 16/11/24 Суб 14:52:53 3323625 258
Ебучие пердоли делали bindgen. Если у меня либа в отдельном крейте в виде dll, то как мне эту dll положить рядом с основным бинарником при использовании либы? Из build.rs либы нет возможности узнать путь до папки билда основного проекта. Получается я должен в основном проекте либо руками dll подкидывать, либо писать build.rs чтоб найти и копировать из либы её? Очень удобно, пиздец просто.
Аноним 16/11/24 Суб 15:29:37 3323646 259
>>3323625
1. Зачем тебе биндген для либы на Расте?
2. Просто пропиши путь через cargo::rustc-link-search=PATH
Аноним 16/11/24 Суб 15:33:20 3323649 260
>>3323646
> Просто пропиши путь через cargo::rustc-link-search=PATH
Это для статической линковки. Dll так не линкуется.
Аноним 16/11/24 Суб 15:38:21 3323652 261
>>3323649
DLL обычно линкуется через статический трамплин, который подгружает саму либу. Или через специальные системные вызовы, если нужна ленивая загрузка, хот релоад и подобная шняга. Собственно, если ты зайдешь в папку с билдом, там будет два файла - .dll и .lib
Аноним 16/11/24 Суб 15:49:48 3323655 262
>>3323652
> если ты зайдешь в папку с билдом, там будет два файла - .dll и .lib
Нет, не будет. Биндген только биндинг высрет в папку билда. Dll он никуда не будет перемещать, даже если укажешь ему где она лежит. И её не окажется рядом с приложением, которое при cargo run выдаст что не может найти dll. По логике этих дегенератов она должна лежать где-то в PATH, либо кидай руками. Ну или статически линкуй. На динамическую линковку в винде смело положен хуй.
Аноним 16/11/24 Суб 15:55:58 3323659 263
>>3323655
Создаешь в крейте с либой .cargo/build.toml

[build]
target-dir = C:/куда_хош

И не надо никуда копировать. Ты слишком эмоционально реагируешь на хуйню, на которую нужно потратить три минуты в гугле.
Аноним 16/11/24 Суб 16:13:55 3323675 264
>>3323659
> C:/куда_хош
И как я узнаю куда пользователь либы хочет, лол? Скопировать не проблема, проблема узнать куда. Зависимости собираются до сборки основного проекта и не знают ничего о нём. А основному проекту похуй на всё, он собрал и радостно запускает, даже если dll нужных нет.
> на которую нужно потратить три минуты в гугле
Если бы ты потратил хотя бы минуту в гугле, то увидел что про динамическую линковку в документации ни слова нет. Я тебе ещё раз повторю, если не доходит - всё что ты предлагаешь работает только в момент сборки либы, всё что не прилинковалось статически в этот момент - раст забывает про это навсегда. Всё остальное надо делать руками или писать скрипты по поиску этого говна в кишках карго и копированию куда надо. Даже в крестах есть инструменты для этого, но не в расте.
Аноним 16/11/24 Суб 16:24:11 3323678 265
>>3323278
>уии раст бизапасный
Жопу ставишь?
Аноним 16/11/24 Суб 16:47:22 3323689 266
>>3323675
> Я тебе ещё раз повторю, если не доходит - всё что ты предлагаешь работает только в момент сборки либы, всё что не прилинковалось статически в этот момент - раст забывает про это навсегда

Плюсы работают также. Это в целом свойство винды.

https://learn.microsoft.com/en-us/windows/win32/dlls/dynamic-link-library-search-order

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

>писать скрипты по поиску этого говна в кишках карго
/release/крейтнейм.dll и /release/крейтнейм.lib. Кого ты собрался искать?
>>3323678
Пока ни разу не нужен был ни дебаггер, ни санитайзер, включая unsafe код.
Аноним 16/11/24 Суб 16:57:54 3323694 267
>>3323689
>Пока ни разу не нужен был ни дебаггер, ни санитайзер, включая unsafe код.
Безопастность на доверии, я полагаю.
Аноним 16/11/24 Суб 16:58:02 3323695 268
>>3323689
> Плюсы работают также.
Нихуя не так же. В том же cmake он знает таргеты зависимостей и при линковке либы всё сам делает.
> у тебя в принципе нет гарантии, что бинарь узнает либу, которую собрали другой версией компилятора
Ты опять путаешь статическую линковку и динамическую. ABI для динамической либы всегда один, какая ещё версия компилятора, нахуй. В каком-нибудь шарпе тебе даже биндинги не нужны, просто по сигнатуре вызываешь из неё функции.
> /release/крейтнейм.dll
Начнём с того что они лежат не в release, а в release\build\lib-7644e047376f5792 с рандомным именем. А закончим тем что могут и не лежать, если автор либы не положил туда её, раст только rlib оставляет там и никаких правил на этот счёт нет.
Аноним 16/11/24 Суб 17:25:31 3323705 269
>>3323694
У Эльбруса безопасность вообще на товарище майоре (в смысле буквально: указатель можно создать только в режиме ядра, а ты можешь только менять оффсеты в пределах объекта. Сжатие указателей, XOR-списки и так далее - всё идет в жопу). Лучше уж на доверии, я считаю.
>>3323695
>В том же cmake он знает таргеты зависимостей и при линковке либы всё сам делает.
Когда ты делаешь find_package, это заведомо предполагает, что зависимость установлена или скачена в какую-то заранее определенную директорию типа /usr/lib. И каждый find_package - это отдельный скрипт, который прописывает что-то в PATH или что-то куда-то копирует. Сам симейк нихрена не знает по умолчанию. Точно также, когда ты настраиваешь сборку в Вижуал Студии, тебе нужно вручную прописать, откуда брать хедеры, что линковать, откуда запускать.
Вот, например, сколько ебалы нужно скопипастить в консоль, чтобы собрать средних размеров проект.
https://www.wireshark.org/docs/wsdg_html_chunked/ChSetupWindows
>ABI для динамической либы всегда один, какая ещё версия компилятора, нахуй.
Чел. Если ты пишешь функцию без #[no_mangle], то она записывается в выходной файл с рандомным суффиксом. Если экзешник ищет функцию foo_l44545803458409, а в либе она лежит под названием foo_jfkghkjlghergheroiugher, то при запуске экзешника у тебя будет ошибка линковки. Это ж база.
Аноним 16/11/24 Суб 17:37:23 3323706 270
>>3323705
>У Эльбруса безопасность
Я про другое, пока ты формально не доказал корректность программы, всё это на доверии, были же утечки в стандартной либе, пока там rustbelt до них не добрался.
Аноним 16/11/24 Суб 17:41:21 3323709 271
>>3323705
> это отдельный скрипт, который прописывает что-то в PATH или что-то куда-то копирует
Потому что он может. Как я тебе уже сказал, в расте ты не можешь из зависимости какими-то разумными средствами положить dll пользователю либы куда ему надо.
> в Вижуал Студии
Там уже давно по умолчанию интеграция с vcpkg, с ним вообще однокнопочное использование либ.
> Это ж база.
Растобаза с миллионом ABI даже на одной платформе. А я про биндинги сишных/крестовых либ через bindgen, у сишных либ при динамической линковке нет проблем с этим.
Аноним 16/11/24 Суб 17:46:15 3323716 272
>>3323706
Я доверяю самому себе, когда пишу код на Расте. Доверяю чуть меньше, когда пишу на плюсах, но не настолько, чтобы байтоёбить с кандалах.
Аноним 16/11/24 Суб 17:58:31 3323720 273
>>3323709
> А я про биндинги сишных/крестовых либ через bindgen
Так а чего ты мозги канифолишь, если dll сишная? Я думал, тебе зачем-то DLL на Расте сдалось собирать. Просто кладёшь dll в корень (или пишешь PATH), а крейт-обвязку делаешь статической либой. Всё само работает.
Аноним 16/11/24 Суб 18:52:05 3323760 274
>>3323720
> DLL на Расте сдалось собирать
Я в первом посте про bindgen написал. Я не знаю зачем ты выдумал шизу про биндинги раста на расте.
> кладёшь dll в корень
Т.е. без костылей никак?
Аноним 16/11/24 Суб 19:05:44 3323775 275
>>3323760
>Т.е. без костылей никак?
В смысле костыли. Все программы в истории Винды либо таскают свои либы, либо срут куда-то в system32 при установке. Ты же в любом случае будешь деплоить приложуху когда-то?
Аноним 17/11/24 Вск 14:58:55 3324221 276
Вы на линуксе или на винде разрабатываете?
Аноним 17/11/24 Вск 17:39:13 3324297 277
Microsoft отказывается от C# — ключевой компонент Microsoft 365 перепишут на Rust

Microsoft активно переписывает отдельные части своих программных продуктов на Rust — более производительной и безопасной альтернативе С#. Портал MSPowerUser заметил на сайте компании вакансию для главного архитектора ПО Microsoft 365: он возглавит новую команду специалистов, которые перепишут с C# на Rust серверный код облачной платформы.

Даже мплкософт отказались от своего поделия ака джаваклона лол.
Аноним 17/11/24 Вск 19:11:42 3324367 278
>>3324297
Нихуя ты быстрый, даже двух лет не прошло как ты протухшее говно притащил. Ещё и максимально жёлтое, где шизо-журнашлюхи одну вакансию растана приравняли к "майки переходят на раст".
Аноним 17/11/24 Вск 21:59:39 3324455 279
Аноним 18/11/24 Пнд 19:44:13 3325107 280
Есть структуры Foo и Bar. Функция создает структуру Foo и возвращает ее. Результат выполнения этой функции (т.е. Foo) присваивается одному из полей структуры Bar (изначально там был Foo::default()).
Внимание вопрос: что конкретно присвоилось? Адрес в куче, адрес не стеке, где лежит адрес на кучу или Foo клониролоась, хотя явно .clone() не вызывался. Foo после создания может релоцироваться? Если до возврата из функции я буду делать поинтеры на Foo, это норм? Они будут жить после присваивания?
Аноним 18/11/24 Пнд 21:47:38 3325157 281
>>3325107
Какой адрес на кучу, какие релокации структуры
Таблетки прими, шизик.

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

Пиши как на скрипте и не лезь блять, дебилсукаебаный
Аноним 18/11/24 Пнд 21:49:31 3325159 282
>>3325107
У тебя уже выделено место под Foo внутри Bar. Скорее всего компилятор просто будет писать в данную область нужные данные.

Другой вариант - выделится место в стекфрейме вызывающей функции, в которую потом запишутся данные от вызова, которые потом присвоятся по адрессу внутри Bar.

Естественно если возвращается Box<Foo>, то передатся указатель на выделенные данные в куче, который потом перезапишется по Bar и самоудалится
Аноним 18/11/24 Пнд 21:55:57 3325164 283
Вот пример выше - человек думает что это джава, стекфреймы блять, кучи, Foo выделяется внутри bar пиздец
Аноним 18/11/24 Пнд 22:07:27 3325172 284
>>3325164
Таблетки не забыл? Причем тут джава?

Как только переменную определил, если без оптимизаций, компилятор тебе на стэке выделяет область памяти под размер переменной + выравнивание. В частности, как в примере, в области памяти выделенной под Bar есть область памяти под Foo.
Аноним 18/11/24 Пнд 22:33:48 3325194 285
>>3325157
>>3325159
два стула:

читаю файл
десериализацию в структуру Foo
на эту структуру хуярю поинтеры
структуру возвращаю из функции
Bar.foo = Foo

ИЛИ

читаю файл
десериализацию в структуру Foo
структуру возвращаю из функции
bar.foo = Foo
хуярю поинтеры уже на bar.foo

есть разница или вообще похуй, даже дверь открыта?
Аноним 18/11/24 Пнд 22:45:45 3325202 286
>>3325194
или

собираешь портфель на завтра, готовишь уроки
Аноним 18/11/24 Пнд 22:47:12 3325205 287
>>3325194
Как хранится Foo внутри Bar? Можешь вообще код использования кинуть?
Просто что ты делаешь в первом варике я не понял
Аноним 18/11/24 Пнд 23:08:06 3325217 288
>>3325205

struct Foo{
bar: Bar;
}

struct x{
куча полей
}

fn load(x: &mut X) -> Bar{
let data = load_from_file();
X.имя_поля = data.as_mut_ptr();
}

где-то в майне:
экземпляр foo.bar = load(x);

ИЛИ

fn load(x: &mut X) -> Bar{
load_from_file()
}

где-то в майне:
экземпляр foo.bar = load(x);
X.имя_поля = foo.bar.as_mut_ptr();
}
Аноним 18/11/24 Пнд 23:10:27 3325220 289
Аноним 18/11/24 Пнд 23:17:41 3325225 290
>>3325220
так когда мы делаем foo.bar = load(x);, что конкретно присваивается?
Аноним 18/11/24 Пнд 23:54:49 3325254 291
>>3325225
парик и смешной нос
Аноним 19/11/24 Втр 00:01:37 3325258 292
image.png 168Кб, 443x515
443x515
>>3325254
а парик твои друзья до сих пор не вернули
Аноним 20/11/24 Срд 13:50:39 3326142 293
>>3325225
так что конкретно присваивается: указатель на стек, где хранится указатель на кучу, сразу указатель на кучу или что-то еще? как это работает?

вот у нас есть структура, в ней поле, которое равно Foo::default()
потом мы создаем (читаем из файла) новый Foo (в функции)
возвращаем его из функции и присваиваем к полю структуру вместо Foo::default()
оно же никуда не релоцируется, правильно?
как это выглядит на более низком уровне?
Аноним 20/11/24 Срд 14:17:22 3326152 294
>>3326142
Низкий уровень это команды@регистры, причем конкретной машины/архитектуры а не любой, если тебе интересно залезть в низкий уровень сначала изучи литературу поро какую нибудь архитектуру и ее ситему комманд которыми она все это делает, и потом просто возьми скомпилируй и сделай обжект дамп программы и так ты увидишь как это все реализовано на низком уровне. В данном же случае ты себе придумал какую-то джава-хип-подобную хуйню и требуешь объяснения как это на ней работает.

Никак оно блять не работает, считай все компилируется просто в "сишную программу" и все.
Аноним 20/11/24 Срд 14:35:10 3326156 295
>>3326142
Для проца нет никакого стека или кучи, только память. Любой объект - это последовательность байт. Ты перемешаешь эти байты в конкретную локацию на памяти. Компилятор делает это статически, поэтому указателя никакого не создаётся, кроме указателя на стакфрейм (который, в свою очередь, тоже всего-лишь кучка байт). Кроме того, всё это дело может соптимайзиться, чтобы жить чисто в регистрах, но это детали.
Аноним 20/11/24 Срд 19:13:47 3326334 296
>>3326152
>В данном же случае ты себе придумал какую-то джава-хип-подобную хуйню и требуешь объяснения как это на ней работает.
понятие стека и кучи есть и в книжках про rust
я читал, что в стеке лежат примитивы и ссылки на кучу, в куче более сложные объекты
в стеке все фикс размера, а в куче выделяется и освобождается память и т.д.
стек маленький и быстрый, а куча большая и медленная
при обращении к объекту ищут его на стеке, а там уже берут адрес в куче

let v1 = vec![1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
println!("v1.as_ptr(): {:p}", v1.as_ptr());
println!("&v1: {:p}", &v1);
первое вернет адрес в куче, а второе на стеке

где я напиздел?
Аноним 20/11/24 Срд 19:37:37 3326341 297
image.png 81Кб, 911x744
911x744
>>3326334
добавлю
получается, что в foo.bar лежит адрес на стеке, где лежит адрес в куче?
Аноним 20/11/24 Срд 20:40:52 3326358 298
>>3326341
Vec<u8> - это примерно struct A { len : usize, capacity : usize, data : *mut u8 }.

В первом принте ты видишь адрес вектора на стеке, а во втором значение указателя data, который лежит внутри этого вектора.
Аноним 20/11/24 Срд 22:07:21 3326375 299
>>3326358
там даже не так, а как то вот так

text: {
0: "{:p}"
}

data: {
main: { 0: &vec foo.bar }
}

calls: {
main : {
0: Foo.new(&self[0]), // передаем адрес на стеке откуда начинаются данные структуры для инициализации
1: println(text[0], &self[0]), // печатаем этот адрес на стеке
2: println(text[0], self[0]) // печатаем то что лежит по адресу на стеке
3: return()
}
}

В любом случае это все условная абстракция которая перекладывается на реализацию конкретной архитектуры.
Аноним 25/11/24 Пнд 01:26:41 3328593 300
>>3328587
Вот это ровный чел, наш растан.
Аноним 26/11/24 Втр 14:42:42 3329722 301
С приходом нейронок раст наконец перестаёт вызывать рвоту. С бойлерплейтом и построчным автокомплитом нейронка справляется без проблем, теперь не так бесит когда надо высерать десяток строк мусора. Вчера обёртку на сишную либу писал, почти всё нажатием таба сделал, изредка только руками приходилось пару слов написать.
Аноним 26/11/24 Втр 15:03:43 3329746 302
>>3329722
>теперь не так бесит когда надо высерать десяток строк мусора

Это где? Код на Расте раза в полтора короче тех же плюсов. И раз в десять короче, чем любой ООП язык.
Аноним 26/11/24 Втр 15:12:26 3329754 303
>>3329746
> Код на Расте раза в полтора короче тех же плюсов.
На крестах просто делаешь что хочешь, а на расте ебёшься с безопасностью и соответствием типов. Даже растовский match требует больше символов чем просто if else.
> раз в десять короче, чем любой ООП язык
В каком месте? В ООП языках не надо трейты отделять от структуры и реализовывать каждый трейт в отдельном блоке, не надо определять модули, не надо делать безопасные обёртки и обрабатывать каждый Result. Литералли только лямбды компактнее чем у других, всё остальное требует больше буков.
Аноним 26/11/24 Втр 16:48:22 3329838 304
>>3329754
>На крестах просто делаешь что хочешь

>Rule of 5
>Rule of 3
>каждый указатель может быть нулём, каждый объект может быть в невалидном состоянии, и их нужно в каждом месте проверять.

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

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

>Даже растовский match требует больше символов чем просто if else.
Так он и делает больше, чем просто if/else. И все ветки матча может сгенерить раст аналайзер, даже нейросетка не нужна.

>В ООП языках не надо трейты отделять от структуры
Крестовый линкер передаёт привет (ну или добавляешь везде inline и собираешь любой проект длиннее 1000 строк по месяцу)

>реализовывать каждый трейт в отдельном блоке, не надо определять модули, не надо делать безопасные обёртки и обрабатывать каждый Result

Ну да, там надо делать иерархии абстрактной хуйни, энкапсулировать один тип хуйни в другой хуйне и прочее перекладывание бумажек. А потом окажется, что ты неправильно понял задачу и у твоей иерархии хуйни надо пробивать дырки в стенах. Зато трейты отдельно определять не надо.
Аноним 26/11/24 Втр 17:17:42 3329862 305
>>3329838
> как на минном поле
Никто не пишет на C++03.
> Так он и делает больше, чем просто if/else.
И что же он делает? Паттерн матчинг и в if бывает.
> Крестовый линкер передаёт привет
Кому он передаёт привет, уже третий стандарт с модулями сидим. Линкер наоборот передаст тебе привет если попробуешь реализацию шаблонов от определения отделить. Да и речь же не только про кресты, раз ты обобщаешь до ООП-языков.
> иерархии абстрактной хуйни
В расте их нет не от хорошей жизни, а от того что потом боров-чеккер не даст просто взять и поменять иерархию. Алсо, уёбищная реализация модулей раста, когда надо чтоб всё было в дереве проекта, а иначе раст-аналайзер отрубит подсветку синтаксиса - это пизда. Из-за этого потом городят костыли с mod-залупой. При том что у всех остальных достаточно просто определить модуль и он просто доступен во всём проекте, без выстраивания дерева от main/lib.
Аноним 26/11/24 Втр 17:30:06 3329869 306
>>3329862
> уже третий стандарт с модулями
И ни одного конпелятора не под венду пхахаха
Аноним 26/11/24 Втр 17:39:59 3329878 307
>>3329869
Сейчас бы пользоваться операционкой финского нацика. Пусть дальше сидят на gcc 12 и хоть на сишке пишут.
Аноним 26/11/24 Втр 18:04:52 3329891 308
>>3329862
>Никто не пишет на C++03.

А, там же теперь правило семи. Виноват, попутал.

>В расте их нет не от хорошей жизни, а от того что потом боров-чеккер не даст просто взять и поменять иерархию.

Плохо что ли? Хорошо. Ни разу не слышал, чтобы кто-то посмотрел на код и подумал "А вот бы в этот код заебенить пять тысяч строк абстрактных классов, которые делают ебаное ничего".

>Алсо, уёбищная реализация модулей раста, когда надо чтоб всё было в дереве проекта

Оформляешь как крейт и добавляешь по относительному пути. Без понятия, в чем твоя проблема.
Аноним 26/11/24 Втр 18:14:53 3329900 309
>>3329891
> Ни разу не слышал
Может ты ещё ни разу не слышал как сдыхают проекты на расте из-за невозможности рефакторить его? А были бы нормальные абстракции - рефакторили бы любое легаси.
Аноним 26/11/24 Втр 18:44:37 3329928 310
>>3329900
>Может ты ещё ни разу не слышал как сдыхают проекты на расте из-за невозможности рефакторить его?

Кроме той единственной истории от игродела, все наоборот дрочат на то, как легко им было отрефакторить код, при этом его не поломав к херам. И даже в той истории он не рефакторил, а наоборот пихал квадратное в круглое.

>А были бы нормальные абстракции - рефакторили бы любое легаси.
Абстракции есть. Неведомую херню сотворить сложнее.
Аноним 26/11/24 Втр 18:57:11 3329935 311
>>3329928
> Кроме той единственной истории от игродела
Посчитай хотя бы сколько обёрток на Вулкан на расте написано одними и теми же людьми. Или сколько раз wgpu переписывали. И уже потом рассказывай как это всего лишь один игродел, лол.
Аноним 26/11/24 Втр 19:38:23 3329975 312
>>3329935
>Посчитай хотя бы сколько обёрток на Вулкан на расте написано одними и теми же людьми. Или сколько раз wgpu переписывали

Они пишут абстракцию, ниже которой только драйвер. Базовый уровень. Естественно, что здесь каждый элемент должен быть на своём месте. ООП тут никак не поможет, только перед тем как ты поймешь, что написал херню, у тебя выйдет вдвое больше кода и ты больше заебешься.
Аноним 26/11/24 Втр 19:59:54 3329982 313
>>3329754
Нефига манямир, а волосы шелковистее?
Аноним 26/11/24 Втр 20:03:16 3329986 314
>>3329754
>Литералли только лямбды компактнее чем у других
Самые удобные лямбды в груви котлине и вытекающем оттуда dsl
Я не понимаю почему в новых экзотических языках обходят этот шикарный сахар.
Аноним 26/11/24 Втр 20:45:02 3330011 315
>>3329746
ООП позволяет инкапсулировать внутренние изменчивое поведение от потребителя API, в расте изменчивое состояние достигается только через костыли рантайма rc<refcell>>.
Так что ООП это не только про злое и пугающие зумеров наследование, это еще настоящая инкапсуляция внутренних изменений (в расте это недостижимо, а значит проекты больше grep будут превращаться жопоболь)

Мягкие хотели сделать свой раст с множественной мутацией, но закрыли эксперимент, увы (ну или это недостижимо)

ООП такая штука, она не всегда нужна полностью, но когда нужна, лучше когда она есть.
Аноним 26/11/24 Втр 23:36:11 3330109 316
1651199670464.png 143Кб, 2047x767
2047x767
Как в вс-коде дебажить? Почему у раста дебаг через питон ебучий сделан и нихуя не работает?
Аноним 26/11/24 Втр 23:40:30 3330110 317
>>3330011
> в расте изменчивое состояние достигается только через костыли рантайма rc<refcell>>.
Теплое с мягким перепутал
Аноним 27/11/24 Срд 01:02:30 3330129 318
Пиздос, есть сишная либа, в крестах работает как часы. А в расте дёргаю функцию и через раз получаю: (exit code: 0xc0000374, STATUS_HEAP_CORRUPTION)
Кто мне в штаны насрал? Оно реально просто рандомно падает. Может 5 раз нормально вызваться, а потом 3 раза подряд упасть. На крестах гонял тесты час - всё ровно.
Алсо, самое поганое что отловить это невозможно никак, раст сразу в панику проваливается. Пробовал дебажить, кроме "Critical error detected c0000374" нихуя понятного.
Аноним 27/11/24 Срд 02:49:28 3330142 319
>>3330129
Можешь попробовать втроянить в свою либу обработчик sigsegv и напечатать стек вызовов. А исходники есть у тебя?
Аноним 27/11/24 Срд 03:54:08 3330154 320
>>3330110
Ты не можешь менять внутренние состояние если ты был создан через let. Это помогает барран-чекать, но просто множит на ноль инкапсуляцию и асбтракцию, а значит любое проектирование.

Простыми словами ты можешь создать машину которая не может завести двигатель, кофеварка, которая не греет, радио которое не может изменить частоту.
Аноним 27/11/24 Срд 07:14:58 3330179 321
>>3330154
Ага, а в плюсах ты не можешь менять состояние если const

Про ключевое слово mut что то слышал?
Аноним 27/11/24 Срд 10:07:19 3330265 322
>>3330179
const в си и плюсах это дополнительное объявление для типа переменной, а не для самой переменной.
Операторов объявления как таковых у них нет вообще. Раньше контроль преременных не считали проблемой, потому что раньше писали размашисто/увесисто типа:

function discursModeration
argument threadAbsoluteId type unsigned short int,
argument userUnicueId type unsigned long int,
argument trollFullWeight type fat64
returnvalue modVerdict type boolean
begin
if trollFullWeight == 10^99
then call zaBanitPidora with userUnicueId
then set modVerdict = true
else
then set modVerdict = false
end
end

наследие старых языков ориентированных на построчный ввод в терминале. Целые поколения в стенах университетов воспитаны объявлять dvernayaRuchkaN1 которую с локально объявленым xer -ом никак не спутаешь.

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

фу блять() {
аа = "1"
ыыы = ээ_блэт()
пук val
}

но с уменьшением количества буков пришла и проблема пересечения переменных, пришлось изобретать принудительный контроль
Аноним 27/11/24 Срд 10:17:43 3330273 323
>>3330265
Такую шизофрению могла только чатгпт выдать, какое отношение этот текст к моему ветке постов имеет?
Аноним 27/11/24 Срд 10:39:15 3330284 324
Аноним 28/11/24 Чтв 00:46:26 3330856 325
>>333017
>Про ключевое слово mut что то слышал?
Смешно, но проблемы появляются именно, когда начинаешь передавать везде mut (с его ограничением).
Аноним 28/11/24 Чтв 11:28:18 3331011 326
>>3330856
добро пожаловать в программирование
тут все проблемы от мутабельности и сайд эффектов
Аноним 29/11/24 Птн 04:47:21 3331539 327
>>3331011
ФэПэшный манямир, напрочь оторванный от реальности (от чего фп и соснуло).
Аноним 29/11/24 Птн 07:57:23 3331570 328
>>3331539
то что фп не может решить эту проблему не значит что этой проблемы нет
Аноним 29/11/24 Птн 08:52:08 3331604 329
>>3330142
Исходники есть, там сишное ручное управление памятью и обращение к драйверу, где угодно может это происходить, максимальный ансейф. Как дебажать сишную либу, когда она в расте - не понятно. При этом у либы есть официальная обёртка под шарп и там она без проблем работает. Пробовал в расте делать вызовы функций без аргументов даже, если в цикле делать вызовы, то падает на 2-8 вызов, полный рандом. Раст каким-то образом подсерает в окружение или ломает память.
Аноним 29/11/24 Птн 10:24:38 3331672 330
>>3331604
Переписать семплы на сырых вызовах пробовал?
Аноним 29/11/24 Птн 11:44:37 3331768 331
>>3331539
Но фпшную хуйню проще верифицировать.
Аноним 29/11/24 Птн 16:57:13 3331983 332
>>3331672
В общем, если либу из исходников собрать свежим MSVC, то всё начинает работать. Пидорство. А ведь в шарпе и с гитхаба бинарник работает, хоть с AOT, хоть с JIT. В расте даже пробовал с libloading с ручным вызовом в рантайме и так же рандомно падает.
Аноним 30/11/24 Суб 12:03:44 3332341 333
>>3331983
МС пилит rustc под свой бэкенд. Тогда заживём.
Аноним 30/11/24 Суб 19:33:36 3332513 334
>>3332341
Даже пидорастеры уже llvm хуисосят, этож надо было так обосраться с ним
Аноним 30/11/24 Суб 20:57:04 3332547 335
>>3332513
Что за драма?

мимо говорил, лет 5 назад, что зависимость от чужого бэкенда зло и что говна пожрете
Аноним 30/11/24 Суб 21:40:31 3332567 336
>>3332513
А когда его не хуесосили? Помню ещё лет 10 назад финский нацик горел с багов llvm и то что его пердольный код не работает как надо с оптимизациями, приходится только на gcc собирать. А у растанов наоборот всегда llvm был как позитивная фича, типа оптимизацию за них сделали, они только язык пилят не волнуясь о скорости ассемблерного кода.
>>3332341
Заживём когда Карбон допилят.
Аноним 01/12/24 Вск 11:05:51 3332723 337
Я тут решил делать mmo игру, получается что будет мир и в нем игроки. Но мир же может изменяться любым игроком и у него должна быть мутабельная ссылка, а она может быть только одна, в с++ таких проблем не было, как быть то?
Аноним 01/12/24 Вск 11:14:43 3332728 338
20241201131201.jpg 139Кб, 1160x1160
1160x1160
Аноним 01/12/24 Вск 11:57:39 3332758 339
>>3332723
Игрок - это часть мира, зачем ему какая-то ссылка?
Аноним 01/12/24 Вск 12:21:11 3332771 340
>>3332547
Драма в том что LLVM изначальн это виртуальная машина с компиляторами разного уровня как в джаве. Принимающее на вход абстрактный LLVM IR и выдающий абстрактный Machine IR абстрактного процессора.

Предполагалось что это будет универсальное средство для компиляния статических языков и так же запуска/компиляции jvm-based языков отделенное от фронтендов и прочего, и вроде как в котлине/свифте так и компиляют при помощи LLVM бакенда.

Вот только с запуском не задалось, из за желания усидеть на двух хуях производительность исполнения кода на лету такая, что и годится только синтаксис в IDE проверять, а похожесть LLVM IR на байткод руинит всю идею отделения фронтендов, так как перегон целевого языка в это говно просто отметает целый класс оптимизаций, поэтому и раст и все остальные не делают независимый фронтенд, а тупо форкают libllvm и напрямую из фронтенда дергают функции или типа того.
Аноним 01/12/24 Вск 14:44:24 3332860 341
>>3332567
>когда Карбон допилят.
Ты в курсе что над ним работает три человека?
Аноним 01/12/24 Вск 14:47:02 3332861 342
>>3331011
Просто не нужно писать тысячи абсракций, которые захламляют логику и функции. Глобалстейт, композиция и минимальные абсракции чудесном образом исправляют любые проблемы сайдэффектов
Аноним 01/12/24 Вск 14:53:26 3332866 343
>>3332860
Нет, не в курсе. Все кто его пилят - работают в гугле и получают от него зарплату, там минимум пять человек, кто ежедневно коммитит. А ты в курсе сколько людей зиг пилили? Даже трёх на фуллтайме не было. Сейчас активность в репе карбона примерно как активность у зига.
Аноним 01/12/24 Вск 14:56:42 3332867 344
>>3332723
Если раст не компилируется при этом, значит подход не правильный и игра говно. Раст заранее спасает тебя от убыточной и неправильной игры.
Аноним 01/12/24 Вск 14:59:23 3332869 345
>>3332861
Ты так пишешь как будто я противоположное утверждал или писал что эти проблемы нерешаемые
Аноним 01/12/24 Вск 15:07:23 3332870 346
>>3332866
> работают в гугле и получают от него зарплату, там минимум пять человек
Уже не работают, и гугл отказался от карбона, никому ничего не платят уже.
> А ты в курсе сколько людей зиг пилили? Даже трёх на фуллтайме не было. Сейчас активность в репе карбона примерно как активность у зига.
Вот примерно то же самое будет и с карбоном - он никому нахуй не нужен будет кроме полутра землекопов.
Аноним 01/12/24 Вск 15:22:18 3332875 347
1585758319546.png 333Кб, 3516x540
3516x540
>>3332870
> Уже не работают, и гугл отказался от карбона, никому ничего не платят уже.
Кому ты пиздишь. Пикрил с недавней конфы. Все люди из разработки сейчас в гугле работают.
Аноним 01/12/24 Вск 15:29:39 3332879 348
>>3332870
Ты случаем не тот шиз которые бегает с джавой против котлина и шарпа? Уж очень манера шизы похожа.
Аноним 01/12/24 Вск 15:46:24 3332887 349
>>3332875
Чел, это уже просто бренд.

Раньше над карбоном работало около 10 человек назарплате, сейчас осталось только три, которые, внезапно, работают над этим проектом в свободное от рабочих задач время. Это по-твоему финансирование и "получают зарплату"?

Гугл давно оплачивает как частную инициативу сотрудников, частично оплачивая рабочее время. Не более того. Это вообще не является финансирование языка.

>>3332879
Протыков своих ищешь, шиз?
Аноним 01/12/24 Вск 18:30:46 3333017 350
1585888129747.png 54Кб, 1200x256
1200x256
1644695597818.png 40Кб, 1200x256
1200x256
>>3332887
Чел, нахуй ты с фактами споришь, у карбона сейчас активности больше чем у зига пару лет назад.
> в свободное от рабочих задач время
Это твои фантазии, пикрил я вижу что два ключевых разраба стабильно коммитят последние 3 года и никаких просадок активности не было с начала проекта. По факту видно что в 2023 наоборот больше коммитов стало скачком, а не как ты фантазируешь про "забросили".
Аноним 01/12/24 Вск 18:55:00 3333039 351
>>3333017
> пикрил я вижу что два ключевых разраба
Теперь подумай просто, два ключевых разраба вынуждены сами писать проект, сами коммитят как никогда ранее. О чем это говорит? То что кроме них некому этого делать. Это люди которые заняты теоретической частью языка, но вместо этого пишут сами, небось ещё и тестируют сами.

Твои пикрилы только подтверждают мною сказанное, а у тебя логика отвалилась.
Аноним 01/12/24 Вск 19:02:04 3333044 352
>>3333039
Чел, большинство мелких языков вообще в одного пилят. Зиг один Андрюха пилил, сейчас всего лишь второго нашли на фултайм, весь 2024 год фактически только два разраба на проекте. Ты видимо макака и думаешь что разработкой языков должны заниматься толпа макак как ты. Но это не так.
> сами писать проект, сами коммитят как никогда ранее
Лол, а раньше оно само коммитилось? Они и есть те кто карбон изначально придумали.
Аноним 01/12/24 Вск 19:13:25 3333048 353
>>3333044
> Но это не так.
Чел... Именно по этому ни ZIG ни Carbon никому нахуй не всрался - его никто не пилит и ошибки там исправлять некому. Никто не заинтересован в языке без фич, библиотек и с кучей ошибок, которых некому исправлять и некому даже протестировать это дерьмище.

Если для зига такое ещё хоть как-то допустимо, потому что оттуда выпилили всё ненужное, то для карбона, который пытается заменить с++ и над этим работает три человека? Ору нах, это звучит как сон собаки
Аноним 01/12/24 Вск 19:18:39 3333051 354
>>3333048
> Никто не заинтересован в языке без фич, библиотек и с кучей ошибок
Нах ты так раст прикладываешь? У зига и карбона с библиотеками изначально никаких проблем нет, потому что они без всякого ffi их берут из сишки/крестов. Про bun сам вспомнишь и соотнесёшь с интересом в зиге и расте.
Аноним 01/12/24 Вск 19:36:23 3333053 355
>>3333051
> Нах ты так раст прикладываешь?
Да кому нахуй нужен пидераст вообще? Про него говорить не стоит, он просто не работает и никому нахуй не нужен, кроме сообщества лгбтк++
> У зига и карбона с библиотеками изначально никаких проблем нет,
Есть. Приходят вот люди в карбон/зиг, а там половина кода на Си. А они пришли с какого-нибудь питона и не видовали никогда ничего кроме зига и пиотна. Что им делать? Как не обосраться? А никак, берёшь и срёшь под себя. Неприятненько.
Аноним 02/12/24 Пнд 07:42:19 3333199 356
>>3333039
>Никто не заинтересован в языке без фич, библиотек
Это какая-то постирония? Мы говорим про два интероп-языках противовес заброшенным обертками раста.
Аноним 02/12/24 Пнд 07:58:57 3333214 357
>>3333053
>А они пришли с какого-нибудь питона и не видовали никогда ничего кроме зига и пиотна.
Зачем питонщику зи/си? Это раст евангелисты пытаются ухватиться за все что можно, продавая якобы производительность вчерашним вебмакакам, в реальности вменяемому питонщику это нафиг не упало, сейчас объем бизнес логики не как в 70е годы, чтобы позволить себе дрочиться с указателями (пускай и умными), работая на полставки компилятором.

Это только двачеры переживают за железку кабана/барена, реальному разработчику комфорт важнее, а для всего остального есть шарпы, где если надо можно поконтролить иногда память.
Аноним 02/12/24 Пнд 14:00:50 3333410 358
>>3333214
Ебать ты макакич, лол, ты реально думаешь что все только на барина работают и своих проектов не имеют?
Аноним 02/12/24 Пнд 15:31:29 3333469 359
>>3333410
Ты реально веришь что из сотни твоих проектов выстрелит хотя бы парочка? Поверь, лучше на ралавеле или даже експрессе наговнить, это будет на порядок (а может даже на 10 порядков) быстрее чем прототипы на расте делать с сомнительным будущем.

Вторая проблема в том что раст/c++ дает возможность писать оптимизированный код, но это не значит что ты на нем автоматом будешь писать оптимизированный код, это отдельный скилл и ресурс (с учетом что больше половины бывшие питонщики, еще и либы будут соответствующего качества).

Третья проблема, что на ты на i/o просядишь в 1000раз, какая разница на чем писать, если узкое место будет в бд и все держится на разогретом кэше.
А там какой-нибудь шарп или жаба еще работать быстрее будут, так как умеют в упаковку и поколения и дрочат свой резерв хипа, а не системный маллоком фрагментируют память.
Аноним 02/12/24 Пнд 17:00:46 3333510 360
>>3333469
>Поверь, лучше на ралавеле или даже експрессе наговнить, это будет на порядок (а может даже на 10 порядков) быстрее чем прототипы на расте делать с сомнительным будущем.

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

>писать оптимизированный код, это отдельный скилл и ресурс
Неиспользование виртуальных функций и иногда добавление SoA - ебать какой сложный скилл.

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

Опять заладил. Ну нет никакой магии в поколениях и упаковке.
Аноним 02/12/24 Пнд 17:07:25 3333514 361
>>3333469
>Ты реально веришь что из сотни твоих проектов выстрелит хотя бы парочка?
Хз, у меня все выстреливают. Ещё ни один проект не сфейлился или не отбил затраты.
> прототипы на расте делать
Прототипы на ноде делаю, потом переписываю на с++/зиг. В этот раз на зиг буду переписывать всё, вместе с написанным фреймворком и графической либой, которую нужно написать кста.
>это не значит что ты на нем автоматом будешь писать оптимизированный код
Спасибо что я на зиге пишу, тут сразу опитизированный код выходит.
>так как умеют в упаковку и поколения
Каждая вторая обёртка на бд может так. У меня на ноде работает всё с поколениями и батчингом. Переписать бы на зиг, но мне лень.
Аноним 02/12/24 Пнд 17:53:35 3333549 362
>>3333469
>оптимизированный код
Или не оптимизированный, написал кучу сетевого кала под себя на сишке с еполом без оптимизаций, норм работает и похуй вообще. Зачем писать что-то на расте/говне/плюсах/другой нестабильной модной параше, если можно на си писать и вообще не париться - проработает 100 лет, можно вообще нихуя не трогать.
В своё время написал запускалку шейдеров и сцен на wgpu, со всяким изменением в расте, в самой либе приходилось переписывать, подстраивать, сейчас наверное проект даже не сконпелируется.
>>3333514
>тут сразу опитизированный код выходит
Сразу с флагом -O конпелирует что ли?
Аноним 02/12/24 Пнд 19:10:49 3333605 363
>>3333549
> Сразу с флагом -O конпелирует что ли?
Дело не в флагах, там откровенное говно очень сложно писать, а нормальный код просто.
Аноним 02/12/24 Пнд 21:40:46 3333697 364
Давайте наборшу еще говна на вентилятор
Я вот уже почти пенсионер, всю сознательную жизнь писал на C фирмарь для контроллерах и на C++ морды чтоб с этими контроллерами работать. В начале на msvc+mfc, потом перкатился на культи во имя кросс-платформенности. Много этого оборудования все еще работает на разных предприятиях нашей необъятной и у соседей. Простенький helloworld я могу написать еще на десятке языков.
А несколько лет назад я открыл для себя раст, и знаете - в рот я ебал этот си и си++, больше я на них добровольно писать не буду.
Года 2 назад я написал на расте программу для чтения файлов данных одной старой игры, нахуевертил кроме чтения еще поиск пути по миру, асинхронный многопоточный web сервер с апи, чтоб все это говно дергать, и обновлять и запрашивать данные на лету. И знаете, я это все написал без отладчика, rustroverа тогда еще не было. И не словил никаких проблем с утечками, повреждениями, ошибками многопоточной синхронизации. Вот вообще никаких проблем - если код компилировался - все работало как было задумано. Лет 5 назад я такое пробовал делать на плюсах - загрузку сделал и бросил, было тяжело писать, код получался говном, хотя я и старался.

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

Раст может и не идеальный, но это лучшее, что сейчас есть из языков программирования.
Аноним 02/12/24 Пнд 21:43:50 3333699 365
>>3333549
Большая часть тех кто пишут на си тупо не умеют на нем писать, ни с точки зрения оформления кода/проекта, ни с точки зрения его оптимального исполнения.

Читал бложик какого то препода на дзене он там нахуевертил последоватильный говнокод который невозможно никак оптимизировать на си по какому то там учебнику и выкатив ассемблерный дамп написал смотрите всего пара регистров задействовано и какой компактный код! вот как правильно на си получается если по учебнику! Пиздец
Аноним 02/12/24 Пнд 21:46:58 3333703 366
>>3333605
Машина не исполняет "нормальный" или "говняный" код. Она исполняет либо оптимизированный-быстрый, либо не оптимизированный медленный.
Аноним 02/12/24 Пнд 23:48:32 3333746 367
>>3333703
Если ты пишешь функции с классами которые хуячат маллоки в какие-то ебанутые разделы памяти, использвая всякие "умные указатели" потому что потому - это неоптимизированный говнокодкод. Когда ты пишешь функции которые работают с плотными структурами и массивами - это оптимизированный, нормальный, код.
Так уж вышло что на зиге писать функции и плотные структуры куда проще чем на пидерасте или ещё каком другом языке. Оптимизации компилятора это уже другое.

>>3333697
>Сделал
Самое интересное в таких рассказах - никто этих суперкрутых фреймворков и пиздатого кода нахуй не увидит. Ни игр, ни рендеров, ни движков, нихуя нет. А всё потому что это пиздёж и говнокодище никому нахуй не нужное. Самый популярный движок на пидерасте работает раз в 5 медленнее чем js. Упс...
Аноним 03/12/24 Втр 00:04:03 3333748 368
>>3333746
>Если ты пишешь функции с классами которые хуячат маллоки в какие-то ебанутые разделы памяти, использвая всякие "умные указатели" потому что потому - это неоптимизированный говнокодкод. Когда ты пишешь функции которые работают с плотными структурами и массивами - это оптимизированный, нормальный, код.

Что такое плотные структуры и массивы? Какой у них размер?
Аноним 03/12/24 Втр 07:19:26 3333814 369
>>3333746
>Самое интересное в таких рассказах - никто этих суперкрутых фреймворков и пиздатого кода нахуй не увидит.

Резонное замечание.
Вот первая часть, о чем я говорил https://github.com/broker0/path_server
Вторую часть не выкладываю, тк пока зарабатываю на ней копеечку, продавая игрокам прокси со спецфункционалом.
Аноним 03/12/24 Втр 09:36:23 3333866 370
Аноним 03/12/24 Втр 12:24:34 3333970 371
>>3333748
Структуры и массивы при использовании которызх используются кэши процессора.

>>3333814
Чел.... Это... Ну чел, ну ты... Мда.... Уровень раста, таксказать, каждый раз одно и то же.

Ты в курсе что патчфайндер пишется нейросетью за десять запросов? Это как бы даже не рассматривается за код в 2к25 году.
Аноним 03/12/24 Втр 12:32:15 3333978 372
>>3333970
>Ты в курсе что патчфайндер пишется нейросетью за десять запросов? Это как бы даже не рассматривается за код в 2к25 году.
Давай, покажи класс, повтори функциональность этого приложения хоть за 50 запросов к нейросети.
Без знаний о предметной области, нейросеть тебе не поможет.
Аноним 03/12/24 Втр 12:40:22 3333986 373
>>3333978
Очевидно что речь про то что я знаю предметную область, по этому тебе и говорю что это какое-то дикое калище, которое нахуй никому не нужен. Патчфайндер, ебать ты конечно дал, стыдно бы такое приводить в пример как твой "проект".
Аноним 03/12/24 Втр 12:51:29 3333999 374
>>3333986
Так код то где, а клоун?
Аноним 03/12/24 Втр 12:59:25 3334007 375
>>3333814
Интересное. Спасибо что показал, анон.
Аноним 03/12/24 Втр 13:20:38 3334026 376
>>3333970
Я тебе больше скажу. Всё, чем занимается 90% программистов заменяется бабкой со счетами.
Аноним 03/12/24 Втр 13:58:14 3334058 377
image.jpeg 13Кб, 200x319
200x319
>>3333605
>откровенное говно очень сложно писать, а нормальный код просто.
Долбоёбы из зиг треда сказали, что в зиг просто завезли модные перделки и свистелки, а вот проблемы си никто там не решал.
>>3333699
Большинство тех, кто пишет в треде, не умеет читать.
Аноним 03/12/24 Втр 15:11:49 3334115 378
>>3333970
>Структуры и массивы при использовании которызх используются кэши процессора.
кэш процессора это буферное устройство подсистемы памяти процессора, что бы подкачивать данные и, внезапно, сам код как можно ближе к фронтенду. Твои маняпуляции со структурами никакого влияния на ее работу не оказывают, не хватает места в кэше для более приоритетных данных/комманд твою структуру выбъют нахуй хоть как ты ее пиши.
Единственное что ты можешь и должен контролировать как программист это выравнивание и отображение данных на регистрах, а иначе твои "сверхплотные" массивы компилятор порежет на слова (а то и на длинные) с заполнением нулями и будет твоя структура в три раза длиннее по факту. А "массив" на стеке это вообще отдельная песня.
Аноним 03/12/24 Втр 15:24:24 3334119 379
>>3334115
Ты использовал чатгпт с промтом "Говори как самоуверенный шиз-второкурсник"?

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

Кеш работает по простому и понятному алгоритму, какие нахуй приоритетные данные.
Аноним 03/12/24 Втр 15:51:52 3334139 380
>>3334058
> в зиг просто завезли модные перделки и свистелки, а вот проблемы си никто там не решал.
Да хуй знает, главное что там понятные функции и работа с структурами, почти все проблемы решаются через comptime. Говнокод очень сложно написать.

>>3334115
>Твои маняпуляции со структурами никакого влияния на ее работу не оказывают
)
> места в кэше для более приоритетных данных/комман
Бредишь
> массивы компилятор порежет на слова
Это компилятор раста так делает? Сочувствую.
Аноним 03/12/24 Втр 16:14:56 3334153 381
>>3334139
>Да хуй знает
>Говнокод очень сложно написать
Ясно.
Аноним 03/12/24 Втр 18:10:11 3334218 382
>>3334139
>почти все проблемы решаются через comptime. Говнокод очень сложно написать.
Где-то мы это уже слышали. Кажется, был такой язык где тоже кучу всего делалось во время компиляции, и ещё там вроде бы были какие-то ограничения которые заставляли код сразу хорошо писать, а то если говнокод напишешь то не скомпилируется...
Аноним 03/12/24 Втр 23:49:12 3334444 383
Аноним 04/12/24 Срд 00:02:47 3334450 384
Axum или Actix-web взять для джейсоноукладывательной хуитки? Первый вроде как активнее поддерживается и скачиваний больше...
Аноним 04/12/24 Срд 08:02:02 3334511 385
>>3334450
Бери hyper и serde_json как настоящий мужык!
Аноним 05/12/24 Чтв 18:19:06 3335593 386
>>3334058
>Долбоёбы из зиг треда сказали, что в зиг просто завезли модные перделки и свистелки, а вот проблемы си никто там не решал.
Кто тебе там такое сказал (тред маленький, чтобы так откровенно звездеть).
Аноним 07/12/24 Суб 15:12:06 3336786 387
17321294830701.mp4 2884Кб, 720x1280, 00:00:11
720x1280
Всем привет. Заинтересовал язык Rust, захотелось его поучить, но говорят что перед Rust желательно выучить C, чтобы понимать что происходит. Это действительно так или на С можно забить?
Аноним 07/12/24 Суб 15:35:55 3336813 388
>>3336786
Можно забить, но приготовься к тому, что все туториалы сосут и половина важных концептов объясняется где-то на уровне уроков из серии "квадрат это частный случай прямоугольника ёпта, а теперь иди ебашить энтерпрайз". После сей или крестов вопросов, а нахрена это всё, будет меньше.
Аноним 07/12/24 Суб 18:56:28 3336938 389
>>3336786
Бля просто берешь учишь синтаксис, начинаешь писать, что непонятно - гуглишь. Это если ты в принципе знаком хоть с одним С-подобным языком и с программированием вообще.
Аноним 07/12/24 Суб 21:42:02 3337005 390
>>3336938
Но раст не си-подобный.
Он скорее D-подобный
Аноним 08/12/24 Вск 01:15:16 3337065 391
>>3336938
Знаю жопаскрипт и тупоскрипт. Даже работаю на этом почти два года. Но вот про всякие указатели и аллокаторы не ебу ваще, а в рустах и сях это знать надо.
Аноним 08/12/24 Вск 08:56:53 3337113 392
>>3337065
Тогда лучше на плюсы
Аноним 10/12/24 Втр 00:57:25 3338362 393
Сап, аноны, сейчас реально работу найти rust разрабом в РФ? Соориентируйте, по компаниям и вилкам зарплатным.
Аноним 10/12/24 Втр 07:26:00 3338427 394
Аноним 10/12/24 Втр 10:24:20 3338503 395
>>3336786
В сях (а лучше плюсы но с си основой) тебя объяснят за стек и указатели в хипе (как миниму 15 лет назад я такую книгу читал). В расте убогая документация типа "смотри у нас есть коробочка, а еще коробочка со счетчиком ссылок, а вот слайс строк надо конвертить в строку". Когда знаешь плюсы, еще понятен зачем этот зоопарк и как его использовать, но с нуля или с питонов ты просто будешь очередным додиком, который просто любит язык и поставил себе галочку что обязательно когда-нибудь разберешься нет
Аноним 10/12/24 Втр 13:51:41 3338708 396
>>3338503
А ты с книжками Столярова случаем не знаком (по низкоуровнему программированию)? Я просто хз что почитать, а его нахваливают, несмотря на шизанутость.
Аноним 12/12/24 Чтв 17:08:00 3340126 397
>>3310716 (OP)
> тайных знаков
Что за тайные знаки. Какой дебил это написал?
Аноним 17/12/24 Втр 21:18:57 3343491 398
>>3338708
>Столяров
Нахуй русских авторов сразу
Аноним 17/12/24 Втр 22:33:37 3343529 399
>>3336786
> выучить C, чтобы понимать что происходит
Кабанчиков дрессируют - вот, что происходит. Rust немного про другое.
Аноним 18/12/24 Срд 00:00:18 3343546 400
>>3336786
>но говорят
Говорят бабки на лавочке.

>желательно выучить C
А почему не си шарп? Или java? Или с++? Или ассемблер? Лучше сразу учи машинные коды, как увидишь их, так сразу поймёшь "что происходит".

>чтобы понимать что происходит
А без этого ты не знаешь?
Аноним 18/12/24 Срд 00:04:46 3343550 401
>>3338362
Реально абсолютно всё. Но есть одно НО! Rust - это как правило блокчейн. А это весьма специфическая тема, но правда бывает и хайлоад и другое.
Аноним 18/12/24 Срд 00:45:22 3343572 402
>>3338708
>его нахваливают
Кто нахваливает? Анонимные пользователи интернета? То есть, почему нас это должно ебать. Чего добился тот нахваливает его книги? Если бы это писалось от лица гугла, майкрософта, амазона, тогда вопросов нет. Они авторитеты. А это кто-то что-то пукнул в интернете, ну охуеть теперь.
Аноним 18/12/24 Срд 01:16:37 3343581 403
>>3336786
Я те советую сразу в действии познавать Rust. Нет смысла дрочить много лет теорию, мы слишком мало живём. По ходу дела всё узнаешь, т.к. интерес всё равно будет — банальное человеческое любопытство, это в каждом человеке присутствует. Удачи.
Аноним 19/12/24 Чтв 12:13:12 3344785 404
Правду говорят, что раст для пидорасов? Я очень хочу освоить хоть какой то язык системного программирования, но у меня отец мусульманин, я не хочу чтоб через меня семья зашкварилась.
Аноним 19/12/24 Чтв 14:03:09 3344866 405
>>3344785
> Правду говорят, что раст для пидорасов?
Да как и в целом +- индустрия программирования. Если ты рахитичный визгливый картавый слабак, которому сил хватает только на кнопки давить - идешь в эту профессию.
>хочу освоить хоть какой то язык системного программирования
Тогда ты не в ту дверь зашел. Тебе нужен C, а не этот толстый рантайм.
>я не хочу чтоб через меня семья зашкварилась.
)))
Аноним 19/12/24 Чтв 14:13:09 3344874 406
Падажжите, тоесть раст работающий только при интернет коннекшоне это не толстая шутка?
Я только только вкатился, но это аж покоробило
Аноним 19/12/24 Чтв 15:02:14 3344908 407
а чем растаманам не угодила концепция переменной и константы? Это чтоб не как у белых людей?
mutuable variable это же оксюморон
Аноним 19/12/24 Чтв 16:50:55 3344991 408
>>3344908
Сейчас многие языки движутся в этом направлении. Эта тема пришла из фп, она как и некоторые другие функциональные концепты понравилась неспособным в полной мере осилить фп императивщикам, которые начали тащить все это в свои яп.
Если посмотреть любой свой код, большой процент переменных действительно не изменяются и их можно назвать константами, однако многие языки допускают в качестве константы только значения, однозначно известные на этапе компиляции. Самый яркий пример такого кастрата - Go, там емнип даже массив байт нельзя сделать константой, ну или результат вычисления математической функции с явно заданными параметрами - компилятор ругается.
Аноним 19/12/24 Чтв 16:54:04 3344994 409
>>3344874
Сейчас любой проект с зависимостями (т.е. по сути любой не хелло ворлд) на почти любом языке не компилится без инета. JS, Java, C#, Go, питухон. Да даже для cpp есть какой-то vcpkg, если ты разрабатываешь под винду с MS тулчейном, он будет тебе пакеты ставить из инета (точно не знаю, может и нет).
Аноним 19/12/24 Чтв 17:04:43 3344998 410
>>3344994
Почему под виндой? Я под линупсом vcpkg использую. Около 10 либ для апки. С cmake и vscode прекрасно работает

мимо
Аноним 19/12/24 Чтв 21:29:45 3345240 411
image.png 11Кб, 722x56
722x56
image.png 103Кб, 223x226
223x226
Аноним 19/12/24 Чтв 21:34:20 3345245 412
Может я чего то не понимаю, но это чё получается, стд либу раздели догола и выкинули на мороз, чтоб карго не был совсем бесполезным?
Аноним 19/12/24 Чтв 21:52:20 3345254 413
>>3345245
Если всё будет в std, то нечего будет переписывать.
Аноним 19/12/24 Чтв 22:08:20 3345263 414
И ещё меня очень насмешили строки о карго.лок и его кейсах использования.

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

И это подают как не-в-рот-ебенную фичу. Это же не питон нахуй.
Аноним 19/12/24 Чтв 22:40:35 3345276 415
Очередной тред, очередные аноны вкатуны постят свою тупость в тред... когда же это закончится
Аноним 20/12/24 Птн 00:39:42 3345303 416
>>3345263
Ну, ясно. Ты как бы сердцем его постиг, этот язык. А надо ещё умом постичь, понимаешь?
Аноним 20/12/24 Птн 00:48:03 3345304 417
>>3345240
Ты линкуешь libc, хули тебе еще надо.
Аноним 20/12/24 Птн 09:37:30 3345477 418
>>3345276
Ну так то разум говорит, что это троллейбус из хлеба.
Аноним 20/12/24 Птн 09:42:18 3345480 419
>>3338503
>(а лучше плюсы но с си основой)
Это какой-то необычный C++?
Аноним 20/12/24 Птн 17:23:14 3345984 420
>>3345480
Очевидно же что плюсы без классов и темплейтов
Аноним 20/12/24 Птн 18:35:17 3346097 421
>>3345480
Когда плюсы начинаешь изучение сначала с си, а потом все это плавно перетекает в плюсы.
Аноним 20/12/24 Птн 20:03:50 3346175 422
>>3346097
У меня си в раст перетёк, а до плюсов я так и не добрался.
другой анон
И да, после си раст очень приятен, если что-то скомпилировалось, то в 99% случаев отработает правильно.
Аноним 20/12/24 Птн 21:28:37 3346245 423
>>3346175
> если что-то скомпилировалось, то в 99% случаев отработает правильно.
никогда не пишите этого, это показывает насколько вы некомпетентны в программирование, то есть не писали реального кода.
Аноним 20/12/24 Птн 21:42:48 3346251 424
>>3346245
Ну он же не написал 100%...
Аноним 20/12/24 Птн 21:56:59 3346257 425
>>3346245
Если есть опыт, то изначально пишешь относительно вменяемый код. А ошибки по невнимательности раст хорошо отлавливает в компайл-тайме. А на си у тебя может скомпилироваться, проходить тесты и на первый взгляд корректно работать, но в каких-нибудь редких эдж-кейсах выдавать какую-то неведомую хуйню, с которой ты будешь ебаться дольше, чем с компилятором раста.
Аноним 20/12/24 Птн 23:22:35 3346287 426
>>3346245
Скорее можно сказать, он работает так, как ты написал, а не как хочется компилятору.
Аноним 21/12/24 Суб 00:25:54 3346323 427
>>3346251
>>3346257
>>3346287
Компилируется и работает не так - в каком вы там мире живете? Мимо сишарп господин.
Аноним 21/12/24 Суб 00:54:00 3346337 428
Аноним 21/12/24 Суб 12:52:00 3346466 429
>>3346175
Я вот так же думаю сделать. Ладе на роадмап какой-то наталкивался, где писали что после C следует переходить на Rust, а не на C++.
Аноним 23/12/24 Пнд 12:29:45 3347885 430
>>3346175
>И да, после си раст очень приятен, если что-то скомпилировалось, то в 99% случаев отработает правильно.
Ну что там нынче раст стабилизировался, не надо по сто раз переписывать/рефакторить? Можно уже какие-то проекты начинать на расте-то писать?
Аноним 23/12/24 Пнд 14:14:00 3347997 431
1248911984013.jpg 20Кб, 240x315
240x315
Мимокрокодил, услышал что раст собирают растом и слегка прифигел. Чем вам Makefile не угодили?
Мне тут https://2ch.hk/pr/res/3333359.html#3347540 затирают что удобно (верю что удобно), но ИМХО смешивать сорцы и сборку - прямой путь к багам. А сборка отдельно - процесс довольно тупой, и фичи полноценного языка ему как пятая нога, скриптов хватит.

https://2ch.hk/pr/res/3333359.html#3347899
>>3347899 →
>В рантайме остаётся замаппить файл в память
И вот они кроссплатформенные баги, ибо нет гарантии что на машине юзера структуры байт-в-байт совпадут с твоим блобом. Или в расте есть? Хотя тактов экономится немало, тут ты хорош, но (де)сериализацию не просто так придумали, знаешь ли.
>и основной код становится чище
Любой толковый проект в любом сборочнике выносит данные в отдельные файлы. Плюс за чистоту, но как уникальная фича растосборки не катит.
>переписывать шейдеры на горячую
Ничего не понял. Ты работающему экзешнику кишки меняешь?
>если какой-то функционал окажется не нужен в рантайме, я смогу перетащить его в билд-скрипт
И зачем он в билд скрипте? Там тоже чистота нужна, знаешь ли.
Аноним 23/12/24 Пнд 15:07:47 3348057 432
>>3347997
>фичи полноценного языка ему как пятая нога, скриптов хватит.
Скажем так, а что мы ПОЛУЧАЕМ за счет перехода с богатого выразительного языка на убогий недобейсик? Годах в 80-х это была экономия на компиляции и несовместимость разных компиляторов и процессоров. Сейчас это больше традиция и легаси либы.
>ибо нет гарантии что на машине юзера структуры байт-в-байт совпадут с твоим блобом.
Если у юзера поломанный файл - это пиздец в любом варианте. Релизиться на Nintendo Wii U с его биг эндиан тоже не планирую. А за меммап аж целый Царь Сишки топит.
>но (де)сериализацию не просто так придумали, знаешь ли.
Сериализация нужна, когда принимаешь недоверенные данные. А если потребляешь то, что сам произвёл, то проблем не будет. Редактор уровней, скорее всего, будет хранить файлы в ямле, чтобы было проще работать с гитом, но пока неактуально. А если юзер залез с хекс-редактором и поломал какой-то указатель, то сам дурак.
>Ничего не понял. Ты работающему экзешнику кишки меняешь?
Шейдеры на целевой системе всегда jit-компилируются из промежуточного представления SPIR-V. Сейчас билд-скрипт переводит glsl в SPIR-V и оно блобом вкорячивается в бинарь через аналог #embed. Если делать то же самое из текстового файла, то принципиально ничего не поменяется, только стартовать будет медленнее.
>И зачем он в билд скрипте? Там тоже чистота нужна, знаешь ли.
По нашему гитлабу не скажешь.
Аноним 23/12/24 Пнд 15:51:04 3348132 433
>>3348057
>Релизиться на Nintendo Wii U с его биг эндиан тоже не планирую
Ну не планируй. Решил привязаться к ABI - привязывайся. Жди когда рванёт. Так вот, о системах сборки: на make портянках такая "база данных" просто ещё один таргет для компилятора. Мешать скрипт с кодом может и удобнее, но совсем необязательно.
>А за меммап аж целый Царь Сишки топит.
Что за царь? Я за его не голосовал.
>спойлер
Ну хоть мастер-ветку приберите, лодыри ;*

>а что мы ПОЛУЧАЕМ
РАЗДЕЛЕНИЕ ЗАДАЧ. Убогий недобейсик гораздо проще сопровождать. И раст, не утяжелённый сборочными фичами, в будущем не станет блотварным комбайном с кучей либ и конструкций, которые скорее мешают. Говорю как плюсовик.
Аноним 23/12/24 Пнд 16:35:43 3348187 434
>>3348132
>Решил привязаться к ABI - привязывайся. Жди когда рванёт
Все структуры данных свои на оффсетных указателях, все типы фиксированного размера, всё аннотировано, чтобы компилятор не переставлял поля. Если в какой-то момент этого окажется недостаточно, то я нахрен брошу программирование и пойду класть ебаный газобетон.
>Что за царь? Я за его не голосовал.
Смешной шизоид с лора. Если увидишь странного чела, который в любой технологии видит пропаганду, приводит аргументы исходя из каких-то своих персональных определений и всех вокруг называет птушниками, то возможно это он.
>И раст, не утяжелённый сборочными фичами,
В языке их и нет, всем управляет карго.
Аноним 23/12/24 Пнд 17:16:04 3348241 435
>>3348187
@
БЛОКИ ЕБАНОГО ГАЗОБЕТОНА ТО 23 СМ В ВЫСОТУ ТО 25
@
БРИГАДИР КЛАДЕТ ЕБАНЫЙ ГАЗОБЕТОН ОДНИМ СПОСОБОМ ТВОЙ НАПАРНИК ДРУГИМ А СТЕНЫ СОСЕДНЕЙ КОМНАТЫ ЯВНО УЛОЖЕНЫ ТРЕТЬИМ
@
ГРАНИЦЫ СТЕН НЕ СХОДЯТСЯ С ЧЕРТЕЖОМ И УПИРАЮТСЯ ДРУГ В ДРУГА
@
ПРИБЕГАЕТ НАЧАЛЬНИК КОСТЕРИТ ВАС ПО МАТЕРИ И ГОВОРИТ ПЕРЕДЕЛЫВАТЬ ЧЕТВЁРТЫМ СПОСОБОМ
Аноним 23/12/24 Пнд 20:28:01 3348401 436
>>3347899 →
>>3348187
>Вместо пердолинга с сериализацией в какой-нибудь эс ку лайт просто делаешь несколько инсертов в б-дерево. В рантайме остаётся замаппить файл в память и пользоваться той же самой структурой данных, что и при создании. Работает быстрее, чем при каждом запуске обходить ФС, и основной код становится чище.
Я эдак году в 95-96, придумал так сохранять данные еще в Turbo Pascal - что-то типа, BlockWrite(f, struct, sizeOf(struct)), и смеялся когда увидел в чужой программе как там структуру по полям записывали, читали. Но я тогда школьником был. Надеюсь это просто троллинг.
Аноним 23/12/24 Пнд 20:33:45 3348405 437
Чем rust лучше js. Только кратко
Аноним 23/12/24 Пнд 21:04:56 3348443 438
>>3348405
> Только кратко
Чем js
Аноним 24/12/24 Втр 03:12:33 3348585 439
>>3348405
Контроль каждого байта
Компилятор следит, чтобы программист не налажал
Проще упорядочить большие и сложные задачи
Аноним 24/12/24 Втр 04:41:35 3348596 440
>>3348405
>Чем rust лучше js. Только кратко
Rust прощает меньше хуйни чем js. В расте ты не можешь даже u8 присвоить u16, хотя и то и то integer. В js похуй, он тебе и number сконвертирует в string легко. Это поощряет большее говнокодерство. Ну и плюс, производительность. Раст при любых раскладах работает раз в 15-20 быстрее js при меньшей загрузки памяти.
Аноним 24/12/24 Втр 08:40:04 3348663 441
>>3348405
> Чем rust лучше
Можно придумать миллиард шуток про его компилятор и он даже не обидится.
Аноним 24/12/24 Втр 16:46:30 3349135 442
17350478265510.png 17Кб, 518x302
518x302
17350478265511.png 17Кб, 515x316
515x316
Почему кто-то из вкатунов выберет Rust если пик?
Аноним 24/12/24 Втр 16:52:24 3349140 443
>>3349135
Не пизди, там 136 вакансий. Да и вообще, чего ты ожидал, что только язык появится и сразу миллион вакансий на него? Rust сейчас это как пхп в 2004-м.
Аноним 24/12/24 Втр 16:55:35 3349144 444
изображение.png 23Кб, 502x295
502x295
>>3349140
Ну, Go появился в 2009 году (Rust в 2006) и что-то он более популярен чем Rust
Аноним 24/12/24 Втр 17:04:05 3349152 445
>>3349144
Это надо у работодателя спрашивать, почему они выбрали язык х, а не язык у. Это не проблема самого языка, язык не отвечает за: зарплату, вакансии, длину твоего члена и так далее.
Аноним 24/12/24 Втр 17:05:46 3349155 446
Аноним 24/12/24 Втр 18:58:22 3349236 447
image.png 832Кб, 1327x965
1327x965
Аноним 24/12/24 Втр 19:04:30 3349243 448
>>3348241
@
ПРИХОДЯТ ГЕОДЕЗИСТЫ И ВЫСТАВЛЯЕТ ОСИ ПО ПРОЕКТУ
@
ВНУТРЕННИЕ СТЕНЫ НАДО ПЕРЕНЕСТИ НА 35 ММ
@
ДЛЯ ПЕРЕВЯЗКИ БЛОКОВ НУЖНО РАЗОБРАТЬ ЧАСТЬ НАРУЖНЫХ СТЕН
@
РАСТВОР УЖЕ СХВАТИЛСЯ
@
ЗАКАЗЧИК УЖЕ СТОИТ С МОНТИРОВКОЙ
Аноним 24/12/24 Втр 23:10:45 3349396 449
>>3348596
> говнокодерство

Я так вижу, это как искуство
Аноним 24/12/24 Втр 23:11:45 3349398 450
Научите раста ребят
Аноним 25/12/24 Срд 17:11:39 3349801 451
>>3348405
Тебе отрежут половину функционала чтоб ты не смог засрать память.
Аноним 27/12/24 Птн 10:45:45 3350779 452
Пиздес тут круговой самоотсос происходит, лишь бы не работать.
Аноним 27/12/24 Птн 10:50:33 3350786 453
Вы че rust учите ради работы а не ради удовольствия?
Аноним 27/12/24 Птн 18:45:11 3351111 454
>>3350786
Я учу Раст, чтобы не было стыдно на Страшном Суде.
Аноним 27/12/24 Птн 19:03:46 3351129 455
Почему вы постоянно говорите "перепишут на раст", а не "перепишу"?
Аноним 28/12/24 Суб 19:31:36 3351842 456
Аноним 28/12/24 Суб 19:55:05 3351856 457
>>3351842
Ты не растан что ли? Растан это когда ебут, а не когда ебёшь. Просто получай удовольствие, больше ничего не надо делать.
Аноним 28/12/24 Суб 20:34:03 3351886 458
15398872343630.jpg 98Кб, 427x604
427x604
>>3347997
Пидораст и его анальную инфраструктуру создавали ноде-девелоперы, когда им пытаются объяснить что то что хорошо для скриптовых языков не катит в системных они затыкают уши и топоют, а когда сталкиваются с тем что сторонние библиотеки через каргу собирать невозможно устраивают видрил и бегут писать свой трехколесный лисопед. В ноде то и пипах всяких все модули в исходниках и всегда доступны в репозитории, а в этом дуратском системном программировании оказывается все не правильно (не по ихнему) устроено.

Дальше они сталкиваются с тем что системы сборки необязательно только код собирают, но и проверяют процессор на инструкции, пакуют картинки и шрифты и начинают прикручивать к карге миллион статических опций и возможность запускать предсборочный код аки скрипт надеясь таким образом заткнуть свой обсер, но в итоге все равно кучу всего нельзя, ту же двухпроходную компиляцию так и не могут придумать как присовокупить.
Аноним 28/12/24 Суб 20:38:07 3351893 459
16533538805280.mp4 1159Кб, 608x480, 00:00:13
608x480
Аноним 28/12/24 Суб 22:17:32 3351933 460
>>3351886
Ты что сказать-то хотел?
Аноним 28/12/24 Суб 22:20:14 3351934 461
>>3351933
Что пора переходить на zig
Аноним 29/12/24 Вск 00:03:14 3351952 462
>>3351886
Ты вот всю эту шизофазию на ходу придумываешь?
Аноним 29/12/24 Вск 12:54:56 3352148 463
1231253463.png 95Кб, 657x528
657x528
Аноним 29/12/24 Вск 13:49:19 3352186 464
>>3347997
>Чем вам Makefile не угодили?
Да ктож тебе мешает Makefile для раста использовать?
Берёшь и пишешь свою сборочку на Makefile, делов-то.
Ну придётся с флагами rustc повозиться немного, но оно ведь того стоит, правда же?

>>3351886
> раст и его анальную инфраструктуру
rustc + cargo + build.rs опционально

Тем временем системы сборки c/c++:
BSD Make
GNU Make (не перепутай с BSD Make - они разные!)
Autotools
CMake (ко-ко это генератор сборочных файлов а не система сборки пок-пок)
Bazel
Build2
dmake (их несколько разных лол)
FastBuild
Gradle (ухх бля jvm моя jvm)
MBS из Eclipse CDT
MSBuild
Ninja
NMake
PreMake
QMake
SCons
Tundra
tup
Waf
XMake
и пачка менее известных

И пакетные менеджеры:
apt/rpm/pacman/etc + pkgconfig
vcpkg
conan
hunter
XRepo
CPM
Nuget

Это всё гораздо лучше, чем cargo с build.rs, конечно. Стандарт у языка есть (но не всё в компилятора поддерживатеся лол), а оффициальных сборочной системы и пакетного менеджера нет.

У байтоёбов в embedded так вообще проект keil/stm32cube какой-нибудь и ебись с этим как хочешь. Хорошо что я это говно не трогаю с 2017.
Аноним 29/12/24 Вск 15:18:07 3352227 465
>>3352186
>мейкфалики раст
А ты пробовал? Мне кажется, рустк транслируемые модули даже не хранит в виде рел-эльфов, и вообще всё сильно сложнее.
>уиии нету единых тулов
Ди нахуй пидор.
Аноним 29/12/24 Вск 16:06:01 3352245 466
1735477558387.jpg 118Кб, 1170x1136
1170x1136
Аноним 29/12/24 Вск 16:29:59 3352266 467
>>3352245
У раста самое смешное что либа-то соберётся, но никаких гарантий что она будет работать нет, если это обёртка сишной либы. В то время как в крестах если собралось, то будет работать. А в расте потом сиди и гадай почему паника вылетает.
Аноним 29/12/24 Вск 16:48:19 3352279 468
image-202309121[...].png 166Кб, 1430x953
1430x953
>>3352186
все эти системы сборки появляются не с проста, а потому что чего то нехватает либо что-то не устраивает в существовавших.

От того что ты заберешь все системы сборки счастье во всем мире не настанет. Карго из себя представляет пикрелейтед, не самую популярную систему сборки использующуюся в основном в больших проектах. И угадай что? к ней дописали конфигуратор на питоне - meason.

Например в том же mpv этот самый meason позволяет автовыбрать/ или задать вручную рендер, ffmpeg либо libav бакенд, отключить/включить js/lua скрипты в общем собрать так как тебе нужно, поскольку mpv не просто плеер для проигрывания, это мультимедия движок с api.

Что касается репозиториев, то ты перечисляешь общие репозитории исходных кодов из которых в том числе ты ставишь rustc, попробуй его поставить из карго, напишешь как успехи.
Аноним 29/12/24 Вск 18:12:47 3352371 469
>>3352266
> если собралось, то будет работать
орево

>гадай почему паника вылетает
дебажить чем то кроме принтов так и не научился?
Аноним 29/12/24 Вск 18:34:58 3352397 470
>>3352371
> орево
В крестах как минимум будет нормальная ошибка что не так, а не как в пидорасте паника и стектрейс из неоткуда.
> дебажить чем то кроме принтов так и не научился?
И как ты отдебажишь кривую линковку раста? Сегфолт получаешь и пиздуешь нахуй, пытаясь понять кто в штаны насрал.
Аноним 29/12/24 Вск 18:50:26 3352422 471
>>3352279
>все эти системы сборки появляются не с проста, а потому что чего то нехватает либо что-то не устраивает в существовавших.
Да, в make/autotools/etc что-то не устраивало, поэтому запилили n+1make.
В cargo если чего-то не устраивает - пишут свои плагины для cargo, а не переписывают cargo

>От того что ты заберешь все системы сборки счастье во всем мире не настанет. Карго из себя представляет пикрелейтед, не самую популярную систему сборки использующуюся в основном в больших проектах. И угадай что? к ней дописали конфигуратор на питоне - meason.
Ты наркоман, meson а не meason

>Например в том же mpv этот самый meason позволяет автовыбрать/ или задать вручную рендер, ffmpeg либо libav бакенд, отключить/включить js/lua скрипты
В cargo этот делается через features

> в общем собрать так как тебе нужно
Если что-то не делается стандартной функциональносью cargo, это делается или плагинами, или скриптом build.rs

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

> из которых в том числе ты ставишь rustc, попробуй его поставить из карго, напишешь как успехи.
лол ну попробуй поставить meson из meson без meson, напишешь как успехи
Аноним 29/12/24 Вск 19:02:38 3352430 472
>>3352397
> будет нормальная ошибка что не так
КРИЧУ

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

а какое отношение раст к линковке имеет?
29/12/24 Вск 19:34:05 3352446 473
Аноним 30/12/24 Пнд 14:24:09 3352912 474
>>3352430
Да в расте же нет линковки лол.
Аноним 30/12/24 Пнд 15:32:38 3352954 475
>>3352397
>В крестах как минимум будет нормальная ошибка что не так,

>На найден символ _pidor_458953498753469857348957_____
Аноним 30/12/24 Пнд 17:00:53 3353014 476
>>3352912
ухты, у раста свой линкер?
Аноним 01/01/25 Срд 01:05:32 3353787 477
Поздравляю всех с новым годом!!!

Что б бороучеккер не обламывал билды.
Что б все скучное проходило блэйзинг фаст, а веселое было зерокост.
Аноним 01/01/25 Срд 12:24:39 3353882 478
Спасибо Rust, узнал, что такое fluent interface. Пойду поем. Всех с Новым годом.
Аноним 01/01/25 Срд 22:20:23 3354181 479
Бамп
Аноним 07/01/25 Втр 20:29:05 3357624 480
newtype-septemb[...].jpg 169Кб, 700x885
700x885
Аноним 11/01/25 Суб 09:54:45 3359716 481
>>3310716 (OP)
> языка, и программирования в целом
А ООП можно объяснить на расте? У него же вроде как нет классов как в других языках.
Аноним 11/01/25 Суб 11:26:11 3359760 482
>>3359716
Что значит объяснить?

Вообще так как у раста предполагалась рантайм-библиотека для безопасности, очень странно что в нем не реализовано ООП.

Моя теория в том что пидорастеры вдохновлялись языком D где есть классы с полноценным наследованием при помощи рантайм библиотеки, но так же есть структуры-классы совместимые с C/C++. Но пидорастеры зачем то взяли хуи дрочены и попытались срезать пики точены, естественно рантайм при тако м раскладе нахуй не нужон, он ничего не дает только раздувает и замедляет программы рантайм-проверками.
Опять таки скорее всего дело в том что им нужен был язык для быстрого обхода деревьев, если ты когда нибудь работал с плюсовыми xml библиотеками то там как правило очень много поинтеров каких то вложений и очень плохо это все ложится на ООП. Вот они и не стали его делать.
Аноним 11/01/25 Суб 12:01:29 3359773 483
>>3359716
Только наследования нет, но большинство абстракций с помощью трейтов ака полиморфизм реализовать можешь
Аноним 11/01/25 Суб 12:32:04 3359789 484
>>3359716
ООП - игрушка дьявола. Но в принципе тебе никто не запретит собрать виртуальную таблицу руками.
Аноним 11/01/25 Суб 13:05:41 3359809 485
Аноним 11/01/25 Суб 13:09:32 3359811 486
>>3359760
Ну прикрутишь ты библиотеку, а с точки зрения семантики языка куда ты их засунешь, в жопу себе? В чем странность, если даже базовые операции типа сравнения на типажах построены?
Аноним 11/01/25 Суб 13:28:47 3359832 487
>>3359760
>>3359773
>>3359789
А как на расте вообще архитектуру выстраивают? Как вообще на нем прикоадной код строить? ООП с классами - это база. Без этого всего можео было бы и на голых сях писать, но это же геморрой.
Аноним 11/01/25 Суб 13:34:46 3359836 488
Аноним 11/01/25 Суб 13:44:53 3359847 489
>>3359836
Тебя спрашивают про прикладное ПО
Аноним 11/01/25 Суб 13:50:40 3359851 490
Аноним 11/01/25 Суб 14:28:59 3359882 491
>>3359851
Сравнил хуй с батареей, даже не знаю что тебе ответить на твою хуйню.

гимп использует тулкит gtk, основной язык там Си и там именно что имитируется ООП https://docs.gtk.org/gtk4/method.Button.set_can_shrink.html

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

Ну а чем Си имитирующий UI объекты и их методы похож с архитектуру ядра это уже ты сам со своей мешаниной в голове разбирайся.
Аноним 11/01/25 Суб 14:48:22 3359901 492
>>3359836
Никак. На голой сишке сейчас ничего крупного не пишется.
Аноним 11/01/25 Суб 15:00:23 3359910 493
>>3359882
Причем здесь жтк если речь о жимпе? Жимп только из окошечек с кнопками состоит, а не алгосов для перегонки пикселей? Жтк архитектуру жимпа задает?
И зачем ты тему в десктопный гуй скатил? Какой нах гуй в 2025. Кто бы говорил о каше в голове...
Аноним 11/01/25 Суб 15:04:17 3359918 494
>>3359901
А речь не о чудо сишке, а о том что как будто нельзя что-то мощное без синглтоов абстрактных фабрик написать.
Аноним 11/01/25 Суб 15:17:26 3359929 495
>>3359910
Что-то понятное и хорошо масштабируемое? Нельзя. ООП - это стандарт индустрии. Абстрактные фабрики синглтонов необязательны, есть средства проще и выразительнее, но они так или иначе приурочены к объектам.
З.Ы. А тут вообще кто-то работает на расте или все только вкатываются? Как на реальных проектах это все строится?
Аноним 11/01/25 Суб 15:18:12 3359930 496
Аноним 11/01/25 Суб 15:44:41 3359939 497
>>3359832
Я понимаю что ты просто в ахуй упадешь с моего ответа, но в Гугле, в чужих сорскх смотреть пробовал?
Я понимаю что ты нубик и в программировании ещё не очень, но для этого и создали чатгпт, поисковики и гитхаб

Смотри, читай, изучай

> Как писать архитектуру
Да все теже самые принципы солид, по них тоже почитай, пригодятся в будущем
Аноним 11/01/25 Суб 15:46:02 3359940 498
Screenshot20250[...].png 104Кб, 1039x524
1039x524
Screenshot20250[...].png 24Кб, 925x100
925x100
Screenshot20250[...].png 26Кб, 812x106
812x106
Поможите плиз, чёт я не вдупляю, где я обосрался.

1) Пробовал move добавлять - не сработало.
2) Пробовал lifetime'ы добавлять - не помогло.
3) Пробовал клонировать - говорит borrowed data escapes outside of method `tag_name` escapes the method body here.

tag_name вначале передаётся в функцию, а потом попадает внутрь closure где уже помирает. Что делать?
Аноним 11/01/25 Суб 15:51:39 3359941 499
>>3359940
Нейронка тоже на этом обосралась, пробовал gpt-4o/claude 3.5 sonnet.
Аноним 11/01/25 Суб 16:23:50 3359961 500
>>3359940>>3359941
Кажется я начинаю понимать для чего раст изобрели.
Для того что бы выявлять ебанутых макак еще на этапах компиляции.

Хотя впрочем мне он не из за этого не нравится, а из за системы сборки. zig мне глубоко симпатичен.
Аноним 11/01/25 Суб 16:26:25 3359964 501
>>3359929
>ООП - это стандарт индустрии
ООП как описывается евангелистами - неработающая хуйня, которая делает код запутаннее, крадёт такты и жрёт память. И плодит баги.
От наследования в новых проектах и языках просто отказываются. Инкапсуляция работает только на уровне абстрактных конструкций типа хешмапы, а бизнес-логика в какой-то момент заставит какую угодно стройную архитектуру поломать, и, собственно, а зачем изначально выёбываться? А вот отказавшись от ООП мы обнаруживаем, что резко ушли проблемы, которые решает ООП. Удивительное совпадение. В общем, слушай базу:
https://www.youtube.com/watch?v=QM1iUe6IofM
>>3359832
>А как на расте вообще архитектуру выстраивают?
Анализируешь данные, с которыми работаешь и раскладываешь их в памяти так, чтобы к ним было удобно обращаться и модифицировать. В итоге должно будет получиться что-то вроде im-memory реляционной базы данных. Точно также минимизируешь избыточность, строишь индексы, делаешь сжатие, и т.д.

>>3359940
Судя по ошибке, MissingRequiredTag требует &'static str. Если код твой, то просто замени на String.
Аноним 11/01/25 Суб 16:51:35 3359988 502
>>3359964
>ООП - неработающая хуйня, которая делает код запутаннее, крадёт такты и жрёт память. И плодит баги.
>раскладываешь их в памяти так, чтобы к ним было удобно обращаться и модифицировать.

а приватные данные записываешь с черточкой
struct { i32 _a, _b; }
а безопасное чтение/запись оргаybpetim через функции
fn get_value(self)
fn set_value(self, ..)
а виртуальные функции поинтером
...

бля чет хуйня получилось, давай мишаня private static virtual к структуре добавим

И так это по кругу продолжается 10летиями
Аноним 11/01/25 Суб 19:37:26 3360093 503
>>3359988
>а приватные данные
Зачем? В SQL есть столбцы, которые мы запрещаем себе джойнить по рандомным причинам?
>виртуальные функции
Зачем, если у тебя нет наследования бизнес-логике?
Аноним 11/01/25 Суб 19:43:55 3360097 504
>>3360093
>Зачем, если у тебя нет наследования бизнес-логике?
В универе ещё до полиморфизма не дошли?
Аноним 11/01/25 Суб 19:57:34 3360117 505
>>3360097
Прочитай оба моих поста в одном контексте.
Аноним 11/01/25 Суб 22:15:20 3360182 506
>>3360093
>В SQL есть столбцы
Че? SQL это язык если что. Язык на котором пишут запросы к БД
Аноним 11/01/25 Суб 22:17:34 3360183 507
>>3360117
Я понял, ты шизик с чатом жпт вместо мозга

Не пиши сюда больше от тебя говной воняет
Аноним 11/01/25 Суб 23:10:22 3360193 508
>>3360182
И этот язык работает с таблицами и столбцами.
>>3360183
Когда-нибудь ты устроишься на работу и прозреешь, сын мой.
Аноним 13/01/25 Пнд 13:55:37 3361058 509
>>3359964
> The irony of this video is most people watching it are just going to be better at OOP by the end of it.
Kek, уноси.
Аноним 13/01/25 Пнд 18:10:08 3361359 510
handy cargo too[...].mp4 5864Кб, 720x1280, 00:01:00
720x1280
Аноним 14/01/25 Втр 01:31:35 3361615 511
Аноны, пишу небольшой бэк на Rocket, нужно прочитать форму (multipart/form-data) с 2 полями, одно поле это файл (изображение), второе поле - текстовое (название для изображения). Файлы могут быть большими, до 15мб поэтому юзать TempFile совсем не хотелось бы. Какие есть подходящие инструменты для того что бы прочитать форму потоком, затем её распарсить и извлечь все нужные данные?
Аноним 14/01/25 Втр 18:44:35 3362202 512
rust.png 183Кб, 493x260
493x260
+----------------------------------------------------+
| You made it to the Fe-nish line! |
+----------------------------------------------------+
Аноним 15/01/25 Срд 23:32:55 3363272 513
8e917ade946db5e[...].webp 1358Кб, 3072x4096
3072x4096
Для новичка в 2025 Раст или Плюсы?
Аноним 16/01/25 Чтв 00:07:00 3363288 514
>>3363272
Я бы взял то что с плюсами, нахуй нужен раст со сплошными минусами.
Аноним 16/01/25 Чтв 18:59:32 3363981 515
Аноним 17/01/25 Птн 12:38:29 3364486 516
image.png 167Кб, 732x262
732x262
жаль плюсовиков, скоро им кранты
Аноним 18/01/25 Суб 20:15:28 3365846 517
>>3359940
>must outlive static
Вот что это вообще должно значить? Как можно оутливнуть статик который живёт сколько живёт программа?
Аноним 18/01/25 Суб 21:11:57 3365888 518
>>3365846
Что вы шизики передаете стековый указатель (ссылку) на переменную строки которая перестанет существовать на момент когда этот Error дойдет до обработчика.

Таким образом жизнь показывает что даже в расте без мозгов будет говнокод.
Аноним 18/01/25 Суб 21:14:27 3365889 519
>>3365888
Блядь, сука, лично я ничего никому не передаю. Я спросил про ебанутую формулировку ебаной ошибки компиляции.
Аноним 18/01/25 Суб 21:24:07 3365900 520
>>3365889
Передаешь, сука, в сердце своем передаешь, покайся.

В любом случае не нужно использовать ссылки там где не предполагается записи по ней, не надо думать что это что то там экономит и общегчает, наоборот это усложняет работу компилятора.
Аноним 18/01/25 Суб 21:26:08 3365904 521
>>3365900
>Передаешь, сука, в сердце своем передаешь, покайся.
Тише, не хрюкай.
>В любом случае не нужно использовать ссылки там где не предполагается записи по ней
Ебанутый что ли? Если у меня структура на треть килобайта ты предлагаешь мне всякий раз её клонировать?
Аноним 18/01/25 Суб 21:43:05 3365915 522
>>3365904
Разговор вообще то про строки был, а в таких случаях как у тебя тогда аргумент функции лучше помечать константой. Но оно не поможет в случае как выше.
Аноним 19/01/25 Вск 10:00:37 3366176 523
>>3365888
>даже в расте без мозгов будет говнокод
Так не компилируется же.
Аноним 19/01/25 Вск 10:34:36 3366182 524
>>3366176
Так он свободно тыкал ссылку, пока не наткнулся на ситуацию когда компилятор не увидел что ссылка перестанет жить, gcc при таких явных проебах тоже ругается, разница только в том что тут (в расте) компилятор научили крутить вертеть эти свои анал-изеры в рантайме с приемлимой скоростью и тем самым избавиться от статических анализаторов которые по сути костыль, который одобные ошибки отловить не способен.
Аноним 21/01/25 Втр 16:44:55 3368238 525
Слышали что Трамп начал бороться с траподебилами? Знаете что это значит? РАСТ - ВСЁ. Нет финансирования ЛГБАБДТВД, нет и языка программирования Раст.

Все просто.
Аноним 21/01/25 Втр 16:53:28 3368254 526
>>3368238
Я медленно снимаю полосатые чулочки с неко-ушками и быстро залезаю в милитари-штаны и надеваю бейсболку с надписью MAGA. Я патриот, я за великую Америку, я за безопасность!
Мне платили и будут платить гуглы с майкрософтами, а теперь ещё и оборонка получит больше бюджетов и спустит всё на меня.
Хули ты мне теперь сделаешь, а?
Аноним 21/01/25 Втр 17:03:07 3368266 527
>>3368254
Тебе платят только пенсию по шизе и твой сутенёр, чулочница.
Аноним 21/01/25 Втр 20:46:21 3368464 528
>>3368238
Полониус пишет какой-то немец\ка\ко. Если не засорокодинится, то живём.
Аноним 24/01/25 Птн 08:28:42 3370638 529
Как дела с abi обстоят? Какие то подвижки вобще идут?
Аноним 24/01/25 Птн 14:12:20 3370877 530
>>3370638
Пока у тебя нет даже гарантии, что две одинаковые структуры с одинаковыми полями будут совместимы без repr(C). Задача низкоприоритетная.
Аноним 25/01/25 Суб 04:42:59 3371584 531
Аноним 25/01/25 Суб 04:49:05 3371587 532
>>3346245
ну блядь логические ошибки мы оставляем за скобками как хуй за твоей щекой
Аноним 25/01/25 Суб 11:24:55 3371734 533
>>3371584
Да. Я как подпивас выкатился из крестов в раст просто потому что в крестах ебёшься с компилятором, а не с кодом. На все недостатки раста похую, когда крестовый проект в одном окружении работает, в другом выдаёт сотню ошибок компиляции и попробуй догадаться что не так.
Недавно только ебался с симейком и кожанной кудой. При запуске сборки из вс-кода он не видит куду, как только не ебался, если из консольки запустить - без проблем находит куду из CUDA_PATH. При самой сборке первый раз ptx.exe залупа компилирующая ptx-байткод куды в машинный ловит сегфолт в 12.4 и 12.6 одинаково падает, при повторной попытке сборки собирается, и так каждый раз надо два раза прожимать сборку на любых перекомпиляциях. Я ебал, час потратил чтоб заставить это говно компилироваться.
Аноним 25/01/25 Суб 13:09:02 3371808 534
OrenoImoutogaKo[...].jpg 164Кб, 1280x720
1280x720
>>3371734
>Спермораб не разбирающийся в окружении либимой шинды пытается на ощупь что то собирать

А потом этот чепуш бегает тут срет про прыщи.

Операционные системы уебывай осваивать в /s/ здесь раздел про программирование.
Аноним 25/01/25 Суб 13:21:15 3371810 535
> нерелейтед аниме
такое мы авто скрываем и не читаем
Аноним 25/01/25 Суб 13:43:46 3371826 536
>>3371810
А какое аниме считается релейтед в растотреде?
Аноним 25/01/25 Суб 15:06:12 3371883 537
Аноним 25/01/25 Суб 15:35:58 3371912 538
>>3371826
радужные пони или инклюзивный лагерь-лагерь
Аноним 25/01/25 Суб 16:59:47 3371973 539
>>3371734
Хуангораб должен страдать. Хотя драйвер Радеонов лет десять назад творил хуйню, если в кернеле был хотя бы один протекший регистр.
Аноним 25/01/25 Суб 17:56:23 3372020 540
Аноним 26/01/25 Вск 08:31:44 3372404 541
>>3346323
Сисярпер, в стойло.
Аноним 08/03/25 Суб 11:39:00 3404247 542
Нужно писать новый проект и хотел на плюсах его писать, но что-то в последнее время часто натыкаюсь на статьи, что все проблемы в мире из-за того, что С++ не memory safe. Из-за чего появился вопрос почему Rust не взлетел? И верите ли вы в Carbon от гугла?
Аноним 14/03/25 Птн 23:13:56 3408964 543
image.png 383Кб, 900x900
900x900
Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов