24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

Rust #31 /rust/

 Аноним 23/02/24 Птн 12:31:16 #1 №3060192 
picrust.webp
Добро пожаловать в тред гарантий, обещаний, владения, заимствования и тайных знаков

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

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

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

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

Основная литература:
Rust Book(версия на русском языке): https://doc.rust-lang.ru/book/
Rust Book: https://doc.rust-lang.org/book/
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

Предыдущий >>3030908 (OP)
Аноним 23/02/24 Птн 13:43:18 #2 №3060279 
Rust лучше чем C++
Аноним 23/02/24 Птн 14:03:27 #3 №3060315 
Раст пригоден для крупной разработке по типу что пишут джависты? Такое ощущение эти костыли с лайфтамими и чекерами будет очень сильно усложнять большую промышленную разработку?
Аноним 23/02/24 Птн 14:20:52 #4 №3060335 
>>3060279
https://ziglang.org/
Аноним 23/02/24 Птн 14:24:05 #5 №3060342 
image.png
>>3060335
Аноним 23/02/24 Птн 14:29:01 #6 №3060346 
>>3060315
Усложнять будут конечно же. Джава очень простой язык.
Отвечая на твой вопрос, Ну вот смотри, фаерфокс большой проект? Цель создания раста переписать фф, например.
Аноним 23/02/24 Птн 14:29:45 #7 №3060348 
>>3060335
Хз я вообще не понял нахуй оно нужно на самом деле
Аноним 23/02/24 Птн 14:40:07 #8 №3060364 
jackie-chan-meme-why-620x4961.jpg
>>3060279
Зачем все это? Бери и пиши.
https://go.dev/
Аноним 23/02/24 Птн 14:41:07 #9 №3060366 
>>3060315
>Раст пригоден для крупной разработке по типу что пишут джависты? Такое ощущение эти костыли с лайфтамими и чекерами будет очень сильно усложнять большую промышленную разработку?

https://github.com/firecracker-microvm/firecracker
https://github.com/vectordotdev/vector

Это достаточно крупная разработка?

Формо/крудо-шлёпить на расте будет сложнее чем на джаве, байтоёбить/экономить такты или память - проще.
Аноним 23/02/24 Птн 14:42:00 #10 №3060368 
Скажите, для установки раста все еще требуется установить 7-8 гигов С++ билдера от вижуал студии??
Аноним 23/02/24 Птн 14:47:37 #11 №3060381 
>>3060364
Тебе правда надо объяснять зачем? Или ты так троллишь тупостью
Аноним 23/02/24 Птн 14:52:09 #12 №3060392 
>>3060381
Ну можно, наверное, уже и свой линкер написать, а не 10 лет тянуть всю инфраструктуру вижуал студию с IDE?
Аноним 23/02/24 Птн 15:29:53 #13 №3060467 
>>3060368
Для установки Раста нужно сделать sudo apt install rustup или аналог на твоем дистре, зачем тебе вижуал студия?
Аноним 23/02/24 Птн 15:46:55 #14 №3060521 
>>3060467
Это прокатит только для одного процента говна, нормальные люди собирают мощные пеки чтобы еще играть и поэтому овер 60% сидят на швиндовс.
Аноним 23/02/24 Птн 16:00:11 #15 №3060531 
>>3060521
Нормальные люди работают на заводе и женятся по залёту, оно тебе надо?
Аноним 23/02/24 Птн 16:46:17 #16 №3060587 
Ну чë, когда линкер напишете?
Аноним 23/02/24 Птн 16:48:30 #17 №3060589 
>>3060521
>Нормальные люди
>имплаинг сам типа нормис
>/0
Аноним 23/02/24 Птн 16:50:43 #18 №3060594 
>>3060521
> швиндовс
Тогда тебе надо C# ставить
Аноним 23/02/24 Птн 17:35:21 #19 №3060696 
>>3060531
Не повод жрать говно, линукс удобен в плане сопровождения серверов, но как десктоп - калище еще то. Нормально писать под линукс не на линуксе, но линукс как рабочая станция, это мерзость. мимо 18 лет красноглазого опыта
Аноним 23/02/24 Птн 17:56:30 #20 №3060737 
>>3060696
Очень аргументированно, издалека видно что ты очень умный. Что тебе на декстопах не нравится, убогий? Хоть бы расписал для приличия
Аноним 23/02/24 Птн 17:56:45 #21 №3060739 
>>3060696
Смердопроблемы, что то хуйня, что другое хуйня но шинда вс линукс я определенно выбираю линупс

Мимо макос господин
Аноним 23/02/24 Птн 18:23:25 #22 №3060781 
Я так понял, в расте нельзя напрямую использовать vulkan, как в нормальных языках, только через кастрированный костыль vulkano?
Аноним 23/02/24 Птн 18:32:19 #23 №3060803 
>>3060781
Ты понял неправильно. Берешь биндген и делаешь как тебе надо. Олсо, а в чем костыльность? Там вроде голый вулкан, только енумы обернуты.
Аноним 23/02/24 Птн 18:44:35 #24 №3060829 
>>3060803
Просто в С ты можешь сразу учить vulkan по учебникам, а для раста нужно учить обертки и костыли. Наверно, новичку лучше изучать вулкан через Си, чтобы не запутаться в обертках?
Аноним 23/02/24 Птн 18:49:53 #25 №3060844 
>>3060829
Новичку не стоит трогать Вулкан, потому что заебется и дропнет после первого треугольника. Это как гуи хреначить через голый winapi. А если понимаешь, что делаешь, то немного другое название функции никак не помешает.
Аноним 23/02/24 Птн 19:03:44 #26 №3060877 
>>3060844
С чего стоит начинать?
Аноним 23/02/24 Птн 19:06:49 #27 №3060882 
>>3060877
Unity
Аноним 23/02/24 Птн 19:06:52 #28 №3060883 
>>3060781
>расте нельзя напрямую использовать vulkan
можно конечно, вулкан это же С апи
просто готовься что многие функции - unsafe
Аноним 23/02/24 Птн 19:51:41 #29 №3060950 
>>3060877
В идеале бы с чего-то вроде OpenGL 3.3, но для него на расте обертки только уровня того же vulkano. Остаётся wgpu. Там тоже куча дрочева, которое никак не связано с рисованием, но самые душные моменты моменты скрыты.
Аноним 23/02/24 Птн 20:15:37 #30 №3060995 
Если использовать чистый Vulkan, то придется учить отдельные api под каждую платформу?
Аноним 23/02/24 Птн 20:18:36 #31 №3061001 
>>3060995
>отдельные api под каждую платформу
что ты под этим имеешь ввиду?

vulkan - кросс платформенное апи, хоть на линуксе
Аноним 23/02/24 Птн 20:26:17 #32 №3061024 
>>3060950
А про Ash что скажешь?
Аноним 23/02/24 Птн 20:46:15 #33 №3061069 
>>3060995
>придется учить отдельные api под каждую платформу?
Только для создания окошка, но обычно есть откуда спиздить. Или взять что-то типа GLUT.

>>3061024
Тот же самый вулкан с мемори менеджментом, лейаутами и ручной синхронизацией, только приправленный сахарком. Для изучения графики не нужно.
Аноним 23/02/24 Птн 21:26:13 #34 №3061141 
>>3061001
https://www.reddit.com/r/rust_gamedev/comments/p2ihhz/comment/h8kgek3/?utm_source=share&utm_medium=web2x&context=3
>If they don't want to learn how to use individual APIs on different platforms, then they want something like wgpu that can abstract it a little bit

Такой комментарий встретил. Какие API имелись ввиду?
Аноним 23/02/24 Птн 21:47:17 #35 №3061179 
>>3061141
На Xbox, MacOS и iOS нет Вулкана из коробки, видимо про это. Но есть врапперы, так что на самом деле плевать.
Аноним 23/02/24 Птн 21:59:35 #36 №3061191 
>>3061179
>Xbox
Там же почти обычная винда стоит
Аноним 23/02/24 Птн 22:12:25 #37 №3061211 
>>3061191
Бинари для Vulkan на Винде поставляются с драверами видеокарт. На Иксбокс их, скорее всего, нет. Но опять же, качаешь первый попавшийся враппер над DX12 и забываешь.
Аноним 23/02/24 Птн 22:21:18 #38 №3061223 
>>3060315
Вот пример крупного проекта https://github.com/zed-industries/zed

> Раст пригоден для крупной разработке по типу что пишут джависты?
Да, есдинственное что нет полноценного ООП с наследованием и паттерны не попишешь. С другой стороны заебись без фабрик

>Такое ощущение эти костыли с лайфтамими и чекерами будет очень сильно усложнять большую промышленную разработку?
В каком-то месте усложняют, в каком-то упрощают. В любом случае большое приложение ты разбиваешь на слои или как в zed на несколько крейтов которые независимы друг от друга. С другой стороны концепция владения практически всегда заставляет тебя передавать ссылку, а не значение, что положительно сказывается на потреблении памяти.
Аноним 23/02/24 Птн 22:39:42 #39 №3061240 
>>3061223
Есть ли у комьюнити какой-то устоявшийся логгер? В джава-подобных языках уровень логгера можно указать по уровню вложенности пакетов (где-то заглушить, где-то увеличить информирование), в расте что-то подобное есть?
Аноним 23/02/24 Птн 22:44:12 #40 №3061245 
>>3061223
> 18к коммитов
> крупный проект
Как будет пол ляма, так и приходи со сказками про крупный проект с долгой разработкой. По факту это даже на средний не тянет, с его 10 мб исходников.
Аноним 23/02/24 Птн 23:09:22 #41 №3061291 
>>3061245
Да пока странно выглядит, с учетом доступности только на маках. Напоминает те проекты операционных систем, которые живут на мотивации и потом чахнут.

Мне интересует больше промышленное программирование. И дело не в мемах про фабрики, а в том что между системным кодером и промышленным обычно большая пропасть недопонимания, понятно что ООП не в почете, но хороший логгер, IoC и прочее плюшки позволяют писать код годами, разными людьми.
Аноним 23/02/24 Птн 23:24:21 #42 №3061310 
>>3061211
А скомпилировать самому нельзя?
Аноним 23/02/24 Птн 23:58:35 #43 №3061356 
>>3061245
Пока ничего мхом в полляма коммитов и сроком в десятки лет не покрылось, ide вполне такой неплохой проект для языка который в продакшене всего пару лет. А так в основном пилят бекенд, крипту, консольные утилиты, софт для всяких коробочек в основном промышленных и драйвера в ядре.

Ты бы хоть на примере показал какой КРУПНЫЙ проект есть на жабе, который соответствует твоим критериям, чтобы понять о какой промышленности ты тут говоришь. А то у нас недопонимание.

>>3061291
>Да пока странно выглядит, с учетом доступности только на маках. Напоминает те проекты операционных систем, которые живут на мотивации и потом чахнут.
Это пилят разработчики Atom, которые связаны с гитхабом. Выкатили бета версию пока для маков, под линукс еще пилят там открыты конкретные ишью что осталось допилить.

>И дело не в мемах про фабрики,
Это не мемы, я проходил стажировку на спринге и на себе ощутил эти упражнения в паттернах которые со временем становятся антипаттернами

> ООП не в почете
Это у сишников такой загон

Ты случаем не тот самый шиз из предыдущих тредов?
Аноним 24/02/24 Суб 00:01:03 #44 №3061359 
>>3061310
Драйвер видеокарты? Лолнет, нельзя.
Аноним 24/02/24 Суб 00:51:17 #45 №3061428 
>>3061356
>Ты бы хоть на примере показал какой КРУПНЫЙ проект
Любое легаси, которое пилили годами слой за слоем. Но при этом это еще можно сопровождать, благодаря ООП и некоторым соглашениям.

Раст пытаются натянуть на веб, стало интересно как на процедурном коде это все ляжет (без логгера с настройкой вложенности, без IoC). Просто, если без обид, то системные программисты обычно плохо разбираются в архитектуре, им смешно, забавно, а многие вещи буквально вытягивают сопровождение в таких "слоенных" проектах как в энтерпрайзе.
Аноним 24/02/24 Суб 01:42:20 #46 №3061453 
1683319419821.png
>>3061223
> Вот пример крупного проекта https://github.com/zed-industries/zed
Ну нет, вот держи пример крупного проекта на крестах, 430к коммитов. И количество форков тоже хороший показатель вовлеченности людей в разработку - у zed 900 каких-то трапов, у пикрилейтеда 48к.
Аноним 24/02/24 Суб 07:24:44 #47 №3061517 
>>3060366
>байтоёбить/экономить такты или память
Проще на Си.
Аноним 24/02/24 Суб 07:48:55 #48 №3061527 
>>3061356
>и драйвера в ядре
В прошлом треде выяснили, что это за драйвера лол.
Аноним 24/02/24 Суб 12:00:18 #49 №3061643 
>>3061223
Более трех лет пилят редактор на маке в глубокой бете, при условии существования всяких LSP.
Не про это ли говорил анон, что разработка на расте долгая?
Аноним 24/02/24 Суб 12:01:22 #50 №3061644 
>>3061527
Можно узнать историю?
Аноним 24/02/24 Суб 12:12:29 #51 №3061657 
>>3061453
А где ссылка-то, болезненый
Аноним 24/02/24 Суб 12:58:15 #52 №3061707 
Хотелось бы, чтобы было реализовано нативное графическое API на Rust, а не пользоваться обертками, которые неизбежно накладывают ограничения производительности. Хочется экосистему на расте.
Как эпл, сделала metal для себя.
Аноним 24/02/24 Суб 13:08:50 #53 №3061716 
>>3061707
Зачем графическое апи на компилируемом в машкод языке? Тебе нужно кнопки быстро-быстро рисовать? С гуями и петухон справится.
Аноним 24/02/24 Суб 13:34:25 #54 №3061728 
>>3061716
Бессмысленный вопрос.
Аноним 24/02/24 Суб 14:16:18 #55 №3061762 
Раст неплох и удобен, но блин, я только что понял что концепция владения тупо говно. Почему нельзя было сделать проще, ведь все равно мы манипулируем не владением, а ссылками. Нахер это владение. Сделать просто два условия - освобождать память в том же скоупе (лайфтайме) или по вызову ручкауми и работать только с ссылками.
Аноним 24/02/24 Суб 19:04:19 #56 №3062096 
>>3060192 (OP)
Стоит ли начинать изучение низкоуровнего программирования с Rust, если не разу не писала на C/C++?
Аноним 24/02/24 Суб 19:14:04 #57 №3062115 
17081226564930.mp4
>>3062096
>не писала
Аноним 24/02/24 Суб 19:24:54 #58 №3062129 
Rustовчане,
Чем в rust заменить безусловный переход (типо goto)?
Учу rust и пытаюсь написать прогу по гипотезе коллатца
Аноним 24/02/24 Суб 19:53:11 #59 №3062178 
>>3062096
Какие цели, если байтики в ардуинке дергать, то раст идет лесом, если веб, то раст идет лесом. Если пишешь бд, бразер, графический редактор, то может быть, но скорее всего всосешь по либам и докам.
Да, раст еще труднее читать, чем писать. Так что 10 раз подумай.
Аноним 24/02/24 Суб 19:58:40 #60 №3062193 
>>3062115
Очередное подтверждение, что на расте пишут одни небинарные одноногие LGBTQ+ BLM активисты.
Аноним 25/02/24 Вск 00:00:32 #61 №3062461 
>>3062115
>>3062193
Автозаполнение превратило меня в трэнника, со мной всё нормально, мужики.
Аноним 25/02/24 Вск 00:01:30 #62 №3062462 
>>3062178
Хочу моды на S.T.A.L.K.E.R. делать.
Аноним 25/02/24 Вск 00:19:22 #63 №3062470 
>>3062461
Одна ошибка и ты ошибся.
Аноним 25/02/24 Вск 10:52:44 #64 №3062693 
>>3061644
>пруф хотя бы в том, что единственный, помимо обвязки, кусок кода на расте в ядре сейчас, это драйвер https://github.com/torvalds/linux/blob/master/drivers/net/phy/ax88796b_rust.rs - типа, смотрите, как надо.
Один единственный драйвер в мэйнлайне на расте, при этом 1 в 1 с кодом на Си.
Аноним 25/02/24 Вск 10:57:05 #65 №3062698 
>>3062693
>при этом 1 в 1 с исходником на Си

Бiстрофiкс
Аноним 25/02/24 Вск 11:06:46 #66 №3062707 
>>3062693
Лол
Аноним 25/02/24 Вск 11:19:28 #67 №3062723 
>>3062693
Покажи мейнкун драйвер на go или на плюсах.
Аноним 25/02/24 Вск 11:51:18 #68 №3062753 
Screenshot from 2024-02-25 12-50-10.webp
>>3062129
https://play.rust-lang.org/?version=stable&mode=debug&edition=2021

См. также

https://doc.rust-lang.org/rust-by-example/flow_control/loop/nested.html

https://youtu.be/iPrltr1b6Q4
Аноним 25/02/24 Вск 11:56:24 #69 №3062758 
>>3062753
да, сам вижу, что через рекурсию это не совсем goto
Аноним 25/02/24 Вск 18:39:05 #70 №3063247 
Мне одному раст немного напоминает тс по синтаксису? Как будто си скрестили с тс
Аноним 25/02/24 Вск 18:56:40 #71 №3063262 
>>3063247
Да, одному. Остальным он напоминает перл.
Аноним 26/02/24 Пнд 02:15:42 #72 №3063788 
image.png
Чет орнул
Аноним 26/02/24 Пнд 08:28:31 #73 №3063904 
>>3063788
В голос.
Аноним 26/02/24 Пнд 11:38:20 #74 №3064075 
Почему на расте еще нету гит сервера? Неужели гитлаб/гити недостаточно развитый проект, чтоб его переделать на раст
Аноним 26/02/24 Пнд 13:27:37 #75 №3064224 
>>3064075
Возьми да напиши
Аноним 26/02/24 Пнд 14:01:43 #76 №3064279 
>>3060192 (OP)
Может ли компания Х начать развивать раст в своем видении без мнения Rust Foundation?
Аноним 26/02/24 Пнд 15:57:42 #77 №3064418 
>>3064075
Зачем
Аноним 26/02/24 Пнд 18:11:42 #78 №3064642 
>>3064279
Если сделает форк, то да
Аноним 26/02/24 Пнд 18:12:31 #79 №3064646 DELETED
Накляузничал, ахаха
Аноним 26/02/24 Пнд 18:16:56 #80 №3064658 DELETED
>>3064612
Ахххааха, типичный маргинал, сразу пытается отвлечь внимание от своих обосранных штанов.
Обтекай.
Аноним 26/02/24 Пнд 18:24:54 #81 №3064678 
>>3064642
Не хочу форк, хочу чтобы это был типа rust++
Аноним 26/02/24 Пнд 18:50:49 #82 №3064740 
>>3064279
Форк да. Уже даже есть один https://crablang.org
Аноним 26/02/24 Пнд 19:18:22 #83 №3064809 
>>3064740
Это не форк. Это ребрендинг.
Аноним 27/02/24 Втр 01:49:19 #84 №3065389 
>>3060531
Да
Аноним 27/02/24 Втр 01:54:34 #85 №3065395 
>>3061223
>С другой стороны концепция владения практически всегда заставляет тебя передавать ссылку, а не значение, что положительно сказывается на потреблении памяти.
А это вообще к чему было? В той же джаве ты в 99% случаев ссылки перекладываешь
Аноним 27/02/24 Втр 01:57:11 #86 №3065397 
>>3062096
По-моему С - это самый простой язык из перечисленных, наверное лучше с него
Аноним 27/02/24 Втр 02:16:43 #87 №3065402 
>>3060315
Наверное вывернуться можно. Вот только зачем? Будешь писать на джаве так же кропотливо как на расте - и работать будет примерно как на расте. Так уж проще писать на джаве.
Аноним 27/02/24 Втр 06:30:43 #88 №3065460 
>>3065397
Ебанутый?
Аноним 27/02/24 Втр 07:13:08 #89 №3065466 
>>3060279
В чём?
Аноним 27/02/24 Втр 12:07:23 #90 №3065641 
>>3065466
не в чём, а чем
Аноним 27/02/24 Втр 12:41:49 #91 №3065673 
>>3065460
Конечно, ведь на много проще изучать изучать концепции владения, трейты и функциональщину, чем язык в котором из конструкций - функция, структура и указатель.
Хайпующие вкатуны совсем обезумели.
Аноним 27/02/24 Втр 13:08:11 #92 №3065705 
>>3065673
Я тот самый хайпующий вкатун. Да, я стану мастером Раста будучи вкатуном вкатившимся на хайпе. Весь этот итт тред будет мною восхищаться. Точка.
Аноним 27/02/24 Втр 13:27:05 #93 №3065732 
>>3065705
> на хайпе
Ты на 5 лет опоздал.
Аноним 27/02/24 Втр 13:43:40 #94 №3065743 
>>3065732
Ну так он уже 5 лет и хайпует потихонечку. Всё правильно. Скуфидон, будь попроще
Аноним 27/02/24 Втр 14:47:20 #95 №3065805 
>>3065466
Всём.
>>3065641
Чем си.
Аноним 27/02/24 Втр 14:52:45 #96 №3065818 
>>3065732
Нет, когда раст только появился - хайпа не было. Это только сейчас стали на самоподдуве его разгонять.
Аноним 27/02/24 Втр 22:18:36 #97 №3066456 DELETED
>>3065818
О ты не представляешь какой был хайп. Самое смешно, что больше половины в чатах сидели питонщики.

Плюсовикам "продать" язык не получилось, ну как можно было удивить людей идиомой RAII, которая уже там давно была. А вот прочитать растбук за вечер и восхититься языком было круто, пока не начнешь на этом писать. Деврелы сразу скажут про сложность и кривую обучения, но умные прогеры поймут, что это просто неудобно, а не сложно, собственно, так же "лестно" отозвался о расте и разраб zig, уж у человека достаточно опыта, чтобы отделить мух от чулков.
Аноним 27/02/24 Втр 22:28:45 #98 №3066468 
>>3066456
> это просто неудобно
Безопасность всегда была неудобной. Длинный пароль из цифр, букв и спецсимволов, без возможности его записать, с требованием менять на новый каждые две недели - тоже неудобно, зато безопасно. Так и тут. Боров на борове и чеком погоняет. Неудобно, зато если скомпилировалось уже не упадёт. Если ансейфами себе в ногу не настрелял, офк. И офк, если не накачал крейтов с ансейфами внутре, ты такой весь сейфный, но с крейтами, но в код крейтов не заглядывал.
Аноним 27/02/24 Втр 22:46:09 #99 №3066481 
image.png
>>3066468
>зато если скомпилировалось уже не упадёт
У джава-шорпистов ничего не падает, но меньше ошибок не становится - то есть, тесты все равно писать, даже если плюсовик и растер, но на ресте еще трахаться чтобы в парадигму код пропихнуть. на зиге можно передать тестовый аллакатор, который укажет где ты накакал в памяти.
И да, refCell тебе за щеку.


Раст никак не решает системную сложность, 100500 картинок которые были в треде тому подтверждение, лови новую.

сложные пароли группируются в кей-менеджер, поэтому хватит графоманить.
Аноним 27/02/24 Втр 22:53:52 #100 №3066484 
>>3066481
> сложные пароли группируются в кей-менеджер
Правилами информационной системы запрещено.
Аноним 27/02/24 Втр 23:08:19 #101 №3066493 
>>3066481
Просушил штаны и вернулся, шиз
Аноним 28/02/24 Срд 10:39:34 #102 №3066721 
>>3065673
Долбоёб, который писал только лабы на Си, ты? В Си хуилион подводных камней, в связи с чем конпелятор постоянно тебе пытается воткнуть нож в спину, а также тут хуилион вопросов с тулингом, в пидорасте пространство аналогичных вопросов гораздо меньше - вкатуну будет проще
>концепции владения
В Си они тоже есть, но мы уже поняли про уровень твоей компетенции.
Аноним 28/02/24 Срд 12:56:25 #103 №3066834 
>>3065673
адекват
Си это буквально самый простой язык из всех возможных
В языке буквально пару семантик и легчайший синтаксис

неговоря еще о том что большинство либ с которыми ты будешь работать это С api, и лучше знать их чем какие то обертки на расте
Аноним 28/02/24 Срд 13:08:11 #104 №3066848 
https://www.youtube.com/watch?v=T4ZUMvALdKI
Как будете оправдываться?
Аноним 28/02/24 Срд 13:08:47 #105 №3066849 
изображение.png
>>3066834
Аноним 28/02/24 Срд 13:10:11 #106 №3066851 
>>3066848
не трясись

>>3066848
это разве не старая новость что анб говорила плюсы не юзать?
или это что то новое?
Аноним 28/02/24 Срд 13:13:53 #107 №3066857 
>>3066851
>анб говорила плюсы не юзать
И в чём они не правы?
Аноним 28/02/24 Срд 17:21:52 #108 №3067194 
>>3066851
>анб говорила
Эти плохого не посоветуют.
Аноним 28/02/24 Срд 18:54:29 #109 №3067302 
>>3066851
почему? а что юзать?
почему тогда Ghidra на плюсах?
Аноним 28/02/24 Срд 19:02:17 #110 №3067314 
>>3067302
> почему? а что юзать?
Чо ты у меня спрашиваешь, у анб узнавай
Они там целый документ на этот счёт выкатили

> почему тогда Ghidra на плюсах?
Ху
Аноним 28/02/24 Срд 19:21:07 #111 №3067329 
>>3067314
>Ху
вот и думай
Аноним 28/02/24 Срд 23:00:06 #112 №3067549 
>>3066857
>анб говорила
Ага тысячи зависимостей, хер пойми от кого и откуда, безопасненько. Че морду скрючил, иди обновляй бэкдоры.
Аноним 28/02/24 Срд 23:19:14 #113 №3067560 
>>3060192 (OP)
Нихуя не пойму о чём вы спорите.
Что написано на Rust?
Аноним 28/02/24 Срд 23:21:00 #114 №3067563 
>>3066834
Ты плохо знаешь Си и вряд ли писал его сиртаксический разбор.
Аноним 28/02/24 Срд 23:50:03 #115 №3067575 
>>3067563
Я писал: компиляторы, ядро ОС, эмуляторы. Недостаточно для знания Си?
Аноним 29/02/24 Чтв 01:21:20 #116 №3067622 
>>3067575
А прошивки для космолётов писал?
Аноним 29/02/24 Чтв 01:34:09 #117 №3067629 
>>3066721
>В Си они тоже есть, но мы уже поняли про уровень твоей компетенции.
А твой уровень компетенции? Сколько лет в коммерческой разработке на С и что пишешь?
Аноним 29/02/24 Чтв 01:39:37 #118 №3067633 
>>3066721
> В Си хуилион подводных камней
Если ты знаешь UB стандартной библиотеки, их резко мало. SAST быстро находит большую часть неочевидного, DAST оставшуюся.
Аноним 29/02/24 Чтв 01:41:23 #119 №3067634 
>>3067302
Не смотрел, но разве не на джаве?
Аноним 29/02/24 Чтв 01:55:46 #120 №3067639 
>>3066848
>In a new report, the White House Office of the National Cyber Director (ONCD) has called on developers to use "memory-safe programming languages,"
>Java is considered a memory-safe language
Аноним 29/02/24 Чтв 01:58:25 #121 №3067640 
>>3066721
>В Си хуилион подводных камней
Конечно, каждый кто пытается научиться программировать с программы-калькулятора натыкается на баги в компиляторе
Аноним 29/02/24 Чтв 02:01:08 #122 №3067643 
>>3067302
>почему тогда Ghidra на плюсах?
https://github.com/NationalSecurityAgency/ghidra
>Java 85.9% C++ 6.9%
Аноним 29/02/24 Чтв 02:06:12 #123 №3067646 
smile2.png
>>3066848
>Actually rust has not been mentioned yet, but it's coming
cope
Аноним 29/02/24 Чтв 02:06:39 #124 №3067647 
>>3067643
>Written inJava, C++
https://en.wikipedia.org/wiki/Ghidra
Аноним 29/02/24 Чтв 02:21:05 #125 №3067650 
ghidra.PNG
>>3067647
Узнаешь ссылочку? Перейди и посмотри статистику по языкам, только чистые штанишки приготовь сразу, а то задрищешь
Аноним 29/02/24 Чтв 02:36:42 #126 №3067657 
Всем привет
начал изучать раст
пока более менее понятно
Аноним 29/02/24 Чтв 03:13:30 #127 №3067661 
>>3067575
>Я писал: компиляторы, ядро ОС, эмуляторы.

Писал или написал? Где можно посмотреть на твой компилятор?
Аноним 29/02/24 Чтв 04:02:12 #128 №3067665 
>>3067661
Да, чел, написал компилятор уровня llvm в одиночку, щас скину тебе за щеку
Аноним 29/02/24 Чтв 06:41:36 #129 №3067690 
>>3067575
>уии писал
И говёно писал судя по всему, потому что глубоко не осознаешь проблем с языком.
Аноним 29/02/24 Чтв 07:07:01 #130 №3067693 
>>3067690
Не трясись, зумерок.
Аноним 29/02/24 Чтв 07:20:42 #131 №3067697 
>>3067646
У меня все физруки в универе были именно МС, кто-то по боксу, кто-то по лыжам, в ПТУ да, были просто люди с улицы.
Аноним 29/02/24 Чтв 07:22:42 #132 №3067698 
>>3067563
компилятор си это буквально легчайший из возможных
литерали задача уровня курсовика для 3 курсника
Аноним 29/02/24 Чтв 10:00:08 #133 №3067767 
>>3067693
Напиши реализацию абс на C.
Аноним 29/02/24 Чтв 13:00:39 #134 №3067978 
>>3067767
Написал тебе за щеку, проверяй.
Аноним 29/02/24 Чтв 13:10:36 #135 №3068000 
>>3067978
Ебать ты истеричная хуйня.
А по сути - ты ничтожество.
Аноним 29/02/24 Чтв 13:22:41 #136 №3068026 
>>3068000
Я гениален и знаю побольше вашего. Можешь и дальше биться от бессильной злобы и зависти.
Аноним 29/02/24 Чтв 13:27:27 #137 №3068037 
>>3068026
Говно, твои слова это мусор. Просто дай ссылку на свой профиль на гитхабе.

Чтобы так пиздеть, как ты, надо хоть что-то из себя представлять. Пока что ты просто 🤡.
Аноним 29/02/24 Чтв 15:03:41 #138 №3068137 
>>3068026
Ты случайно не тот шиз на которогу ссут из треда в тред?
Аноним 29/02/24 Чтв 18:04:51 #139 №3068346 
>>3068137
Не, это вроде больше на тебя похоже
Аноним 29/02/24 Чтв 20:53:53 #140 №3068602 
>>3068346
>>3068137
Вы оба промахнулись, на самом деле обоссаный шиз - я! Уаххаха!
Аноним 01/03/24 Птн 01:34:09 #141 №3068900 
>>3067560
Линукс
Аноним 01/03/24 Птн 01:38:00 #142 №3068903 
>>3067657
Держи нас в курсе.
Аноним 01/03/24 Птн 01:41:44 #143 №3068905 
image.png
>>3068137
О, доктор пришел, этот чудесный человек по всем тредам ходит и ищет какого-то шиза. не понимая, что шиз это он
Аноним 01/03/24 Птн 01:49:02 #144 №3068907 
>>3068905
А ты прям по всем тредам ходишь и знаешь что я и кому пишу?
Аноним 01/03/24 Птн 02:02:15 #145 №3068920 
>>3068907
Нет же, что-ты, у меня талон только на три треда.
Аноним 01/03/24 Птн 02:08:17 #146 №3068925 
>>3068920
Зачем ты меня преследуешь?
Аноним 01/03/24 Птн 02:12:30 #147 №3068928 
>>3068903
Ну я буду сюда и за советами приходить.
Аноним 01/03/24 Птн 16:55:14 #148 №3069460 
Как на расте сменить обои рабочего стола? Желательно кроссплатформенно, винда, мак, линукс-гтк.
Аноним 01/03/24 Птн 17:52:38 #149 №3069535 
>>3067560
Куча петпроектов
Аноним 02/03/24 Суб 10:47:43 #150 №3070264 
>>3067978
>-Уии пишу конпеляторы
>-Напиши реализацию абс
>..
>пук-среньк
Аноним 02/03/24 Суб 11:22:09 #151 №3070298 
>>3070264
>>3067767
Отрезаеш старший бит (хранящий знак) и возвращаеш. Писать лень.
мимо
Аноним 02/03/24 Суб 11:27:23 #152 №3070304 
>>3070298
Вот по этому вам лучше на питонедорасте писать, а не на сишке, сишка сложная.
Аноним 02/03/24 Суб 13:21:49 #153 №3070470 
>>3070298
Нужно еще оставшиеся биты инвертировать
https://ru.wikipedia.org/wiki/Дополнительный_код#Представление_отрицательного_числа_в_дополнительном_коде
Аноним 02/03/24 Суб 13:26:03 #154 №3070473 
>>3067698
Покажи свой..
Ты хоть понимаешь как tiny c compiler работает?
Аноним 02/03/24 Суб 16:04:00 #155 №3070590 
>>3070473
Нет конечно, расскажи очень интересно!
Аноним 03/03/24 Вск 09:41:44 #156 №3071404 
>>3069460
Попробуй отправлять команды на смену обоев через std::process::Command. Разные оси можно указывать через cfg
Аноним 04/03/24 Пнд 13:34:43 #157 №3072973 
>>3070470
>Нужно еще оставшиеся биты инвертировать
Ебать тут специалисты
Аноним 04/03/24 Пнд 13:39:16 #158 №3072976 
>>3071404
То есть, мне нужно написать приложение, меняющее обои например на си, а затем, мне надо будет написать на расте приложение, создающее приложение, чтобы я менял обои, пока меняю обои? Хмм... Нет.
Аноним 04/03/24 Пнд 14:02:44 #159 №3073003 
>>3072976
То есть ты знаешь как написать программу на си которая меняет обои, но не понимаешь как это сделать на расте?
Аноним 04/03/24 Пнд 14:49:36 #160 №3073058 
>>3072973
Охуеть кто голос подал!
Аноним 04/03/24 Пнд 16:03:21 #161 №3073165 
image.png
Screenshot 2024-03-04 at 18.03.12.png
сап, пишу вебню, первый раз на расте. Сталкиваюсь с тем что кучу ебаных ошибок надо как-то хэндлть, а ума не приложу как это сделать лучше. Что-то подсказывает что нужен енам, может даже макрос написать какой-то для него надо, но хз. Может есть у кого примеры того, как хэндлить ошибки?

Ошибки такого уровня у меня сейчас
Аноним 04/03/24 Пнд 16:08:45 #162 №3073171 
>>3073165
Теперь сравни это месиво с кодом на го или на шарпе.
Аноним 04/03/24 Пнд 16:16:04 #163 №3073180 
>>3073171
Лучше покажи примеры годного хэндлинга ошибок
Аноним 04/03/24 Пнд 16:19:24 #164 №3073185 
>>3073180
Просто берешь и не пишешь на этом говне.
Аноним 04/03/24 Пнд 16:24:37 #165 №3073193 
>>3073185
Хочу на расте писать и точка.
Аноним 04/03/24 Пнд 16:36:36 #166 №3073220 
>>3073165
>>3073180
Создай нужные функции, например

pub fn owu6ka<T: Debug>(msg: T) -> async_graphql::Error {
warn!("Пишу в лог {:?}", msg);
async_graphql::Error::new("Пишу клиенту что у него owu6ka")
}

А уже в коде перед самой отправкой на клиент используй map_err:

let user = self
.models
.user()
.find_by_email(email)
.await
.map_err(owu6ka)?;

На клиент по сути надо обощенную ошибку, чтобы ничего не выплюнуть лишнего, а остальное в логах пишешь как надо. Мы используем anyhow и где надо добавляем контекст в итоге в логах написана вся красота
Аноним 04/03/24 Пнд 17:01:03 #167 №3073253 
image.png
image.png
>>3073220
спасибо. Чище выглядит теперь
Аноним 04/03/24 Пнд 17:02:54 #168 №3073254 
>>3073253
Правда теперь надо засунуть логирование и энихау, но это уже следующим шагом
Аноним 04/03/24 Пнд 19:29:59 #169 №3073429 
Если в расте туго с GUI библиотеками, имеет смысл прогу написать консольной, а гуй-обертку написать на более доступном языке? Типа как пишут сторонние авторы обертки для консольных утилит.
Аноним 04/03/24 Пнд 19:44:56 #170 №3073445 
>>3073429
Да, на доступных языках HTML, CSS и JS.
Аноним 04/03/24 Пнд 19:48:38 #171 №3073449 
>>3073429
>имеет смысл прогу написать консольной, а гуй-обертку написать на более доступном языке?
Имеет смысл пойти нахуй и тупорылые вопросы не задавать!
Аноним 04/03/24 Пнд 19:57:00 #172 №3073454 
>>3073429
Попробуй tauri, у тебя будет WebView, в котором ты гуй на любом JS фреймаорке можешь написать.
Ну или Slint есть хочешь qt-like декларативщины.
Аноним 04/03/24 Пнд 20:02:30 #173 №3073459 
>>3073454
А в чем минусы сторонних оберток, это плохо работает или что?
Вот к примеру https://github.com/kannagi0303/yt-dlp-gui гуй на шарпе, а софтина на питоне.
Аноним 04/03/24 Пнд 21:00:49 #174 №3073490 
>>3073429
> а гуй-обертку написать на более доступном языке?
Гуй-обёртку зачем на языке писать? Гуй-обёртку надо в дизайнере форм формошлёпить. Не? Саый лучший из виденных мной дизайнеров форм - это дельфи и его клон лазарус (который уже не нужен, ибо нынешние владельцы дельфи опомнились и выпустили бесплатную версию, но было поздно, ахаха).
Аноним 04/03/24 Пнд 21:43:17 #175 №3073530 
Никто не посоветовал egui, ну что за люди. Может ему и надо-то, что одиночную форму с парой кнопоцк.
Аноним 04/03/24 Пнд 21:49:34 #176 №3073537 
>>3073530
Посоветуй.
Аноним 04/03/24 Пнд 23:33:56 #177 №3073614 
1709584436722.png
>>3073530
> Никто не посоветовал
Понимаешь, сложно советовать что-то человеку, не читающему шапку.
Аноним 04/03/24 Пнд 23:38:50 #178 №3073618 
>>3073459
Смотря что ты пишешь, зачастую бывает неудобно выстраивать взаимодействие между двумя процессами, особенно если много разных методов нужно вызвать и структуры передавать сложные. Если что-то простое и прямолинейное, то почему бы и нет, если работает и быстро можно наваять.
Аноним 04/03/24 Пнд 23:55:59 #179 №3073625 
>>3073429
На расте вообще туго с любыми либами.
>>3073454
> Попробуй tauri
Веб-параша, причём очень кривая, лучше уж электрон взять, он хоть работает быстро и без графических багов. Я с полгода назад пробовал его в очередной раз чекать, всё так же блевотина.
>>3073490
> это дельфи и его клон лазарус
Они устарели насколько вообще можно, со времён ХР там ничего не менялось, ещё и паскаль вместо ЯП. У майков есть формошлёпство на шарпе, даже удобнее лазаруса хуяк-хуяк делать, есть мультиплатформа для линуксоидов/мака даже. Под виндой так же есть свежий WinUI, на крестах, по скорости и красоте гуя это вообще топ, отрисовка сильно производительнее qt.
>>3073530
Потому что оно ЦП жрёт адово, ещё и надо с рендерингом ебаться. Использовать immediate гуй для пары кнопочек - это совсем пиздец. А ещё у юзеров без видеокарты будут сюрпризы, смотря какое графическое API возьмёшь - в лучшем случае будет тормозить как сука, в худшем вообще не запустится. Если реально надо пару кнопочек сделать, то лучше уж на голом winapi - будет легковесно, быстро и работать у всех.
Аноним 04/03/24 Пнд 23:59:26 #180 №3073629 
>>3073625
> формошлёпство на шарпе
Мы вроде как в треде системного компилируемого языка находимся, а не в треде скриптовой дотнетопараши. Ваще поебать, насколько оно там удобно, если в результате ты получаешь жирный вендорлок.
> свежий WinUI, на крестах
Вот это уже интереснее, в контексте связки с бэком на расте.
Аноним 05/03/24 Втр 00:02:27 #181 №3073631 
>>3073629
> компилируемого язык
Так и шарп компилируется уже в нативный код, лол. Уже две версии дотнета как там есть AOT-компилятор вместо JIT. Поддержка формошлёпства правда пока частичная, но допил идёт.
Аноним 05/03/24 Втр 00:05:30 #182 №3073634 
>>3073631
> компилируется уже в нативный код, лол
> AOT-компилятор вместо JIT
Не разбираюсь в сортах говна.
Вот раст искаропки компилируется в нативный код и мне не надо ничего гуглить.
Аноним 05/03/24 Втр 05:03:38 #183 №3073779 
>>3073490
гугли qt, gtk
Аноним 05/03/24 Втр 05:08:52 #184 №3073783 
>>3073614
>не читающему шапку
Сложно не жопой прочитай изначальный мой пост. Уровня qt и gtk фрейворков на расте нет и не будет. Только недокостыли для связывания с++ библиотек с растом.
Аноним 05/03/24 Втр 05:16:34 #185 №3073785 
>>3073625
>На расте вообще туго с любыми либами.
Вот на этом и мрут 99% новых инновационных языков из-за отсутствия экосистемы. Жить могут только языки, поддерживаемые корпорациями типа гугл.
Так что, похоже, кодинг C/C++ будет существовать до второго пришествия, каким бы он уебищным не был.
Аноним 05/03/24 Втр 06:59:53 #186 №3073813 
>>3073629
>ты получаешь жирный вендорлок.
Ну да, у нас тут есть стандарт, с десяток компиляторов и сотни сайтов репозитарий. Никакого вендерлока.
Аноним 05/03/24 Втр 07:16:31 #187 №3073817 
>>3073785
>Так что, похоже, кодинг C/C++ будет существовать до второго пришествия, каким бы он уебищным не был.
Опыт зига показал, что людям нужен скорее язык с полным интеропом и кросскомпиляцией и люди, в этом случае, даже готовы брать бета язык.
А для проблем с памятью достаточно тестового аллокатора.
Аноним 05/03/24 Втр 07:58:30 #188 №3073831 
>>3073625
> Веб-параша, причём очень кривая, лучше уж электрон взять, он хоть работает быстро и без графических багов. Я с полгода назад пробовал его в очередной раз чекать, всё так же блевотина.
Пользуюсь им, сделал пару утилиток для хакинга для себя, проблем никаких. Может у тебя руки не из того места?
Аноним 05/03/24 Втр 12:03:37 #189 №3073971 
>>3073817
>Опыт зига показал
Что за опыт, где показал?
Аноним 05/03/24 Втр 12:12:08 #190 №3073976 
>>3073971
Опыт написания todo-app-cli
Аноним 05/03/24 Втр 14:06:19 #191 №3074072 
>>3073165
https://github.com/Sirneij/rust-auth/tree/main
Аноним 05/03/24 Втр 14:18:12 #192 №3074090 
>>3073831
Выложи.
Аноним 05/03/24 Втр 14:22:41 #193 №3074098 
>>3073454
А там можно сделать split screen, поделить экран на независимые части или, если подключены несколько мониторов, на каждый монитор выводилась свое окно/фуллскрин?
Аноним 05/03/24 Втр 15:01:10 #194 №3074132 
>>3074098
Можно.
Vanilla 05/03/24 Втр 15:12:34 #195 №3074156 
>>3072976
По любому на Mac и разных окружениях Linux это можно сделать через команды. Если нет, то можно просто менять конфиги (путь к картинке)
Аноним 05/03/24 Втр 15:19:47 #196 №3074164 
>>3074132
Твердо и четко?
[mailto:[email protected]Аноним 05/03/24 Втр 16:31:27 #197 №3074249 
>>3073785
Rust уже используют эти самые большие корпорации. Он уже достаточно жирный, чтобы существовать самостоятельно. По крайней мере, в нём полно всяких врапперов для различных библиотек с плюсов.
Аноним 05/03/24 Втр 16:52:28 #198 №3074273 
>>3074249
Нет, нужно всё переписать, и плюсы должны уйти в забытье.
Аноним 05/03/24 Втр 20:56:39 #199 №3074530 
>>3063247
.unwrap() = await
В ЧЕМ Я НЕ ПРАВ?
Аноним 05/03/24 Втр 21:02:48 #200 №3074536 
>>3074530
>В ЧЕМ Я НЕ ПРАВ?
В том что не открыл документацию
Аноним 05/03/24 Втр 21:26:58 #201 №3074568 
>>3074530
Анврап - это кейс элс, генерящий экзепшон. Причём тут эвэйт?
Аноним 05/03/24 Втр 22:03:06 #202 №3074621 
>>3074568
>>3074536
Потому что await анврэпит Promise, как unwrap анврэпит Result. И тоже может зафейлить
Аноним 05/03/24 Втр 22:11:52 #203 №3074631 
>>3074621
Алсо, там где в тс обычно Промисы, в расте обычно Результы. А resolve, rej - это тупо Ok(), Err
Аноним 05/03/24 Втр 22:44:52 #204 №3074670 DELETED
Можно узнать историю?
sage[mailto:sage] Аноним 05/03/24 Втр 22:56:27 #205 №3074682 DELETED
>>3074670
Можно зарепортить.
Аноним 06/03/24 Срд 12:37:15 #206 №3075174 
>>3060192 (OP)
учтить раст как 1ый язык норм?

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

хочу делать
а) 500к в месяц(баксов... мб питон ML качать и в Долину - это наибыстрейший способ, нет/да?)
б) работу без стресса, любивую, 40ч в неделю за по верху рынка но готов 60ч за 350% от рынка
в) для души - хотел бы делать ААА игры чтобы продавались по 20 млн копий, на все платформы, типа Гта и ведьмака но круче, чтобы 4 измерения, дееткив и мистика, парарлеьные миры, 8 разлитчных веток сюжета(НЕ пересекающиеся. т.е.начав на 20% прохождени игры играть скажем РЕНЕГАДОМ а не ГЕРОЕМ - у тебя будут иные миссии(в тех же местах), иные сцены, иные разивтия персонажей...
Аноним 06/03/24 Срд 12:58:00 #207 №3075184 
>>3075174
Тебе тяжело будет, иди в питонотред
Аноним 06/03/24 Срд 12:59:35 #208 №3075185 
>>3075184
почему... ((
Аноним 06/03/24 Срд 13:44:46 #209 №3075235 
>>3075174
Это не троллинг, кстати, это ребёнок-даун добрался до компа. Не смейтесь над больным.
Аноним 06/03/24 Срд 14:22:53 #210 №3075274 
Всё. Пойду 1с учиться и заводить нетворкинг с кабанами по менеджерской линии. Выйду на 20млн/год за год.
Аноним 06/03/24 Срд 15:45:29 #211 №3075389 
Я же правильно понимаю, растопидарaxи не смотрят асм на выходе?
Аноним 06/03/24 Срд 16:28:51 #212 №3075445 
>>3075174
На расте нет своих библиотек
Аноним 06/03/24 Срд 18:11:59 #213 №3075547 
>>3075174
да
Аноним 06/03/24 Срд 19:12:25 #214 №3075617 
>>3073817

Опыт зига это реализация bun.js? Потому, что других извстных решений я не знаю. И если это так, то этот опыт пока нельзя считать релевантным.
Аноним 06/03/24 Срд 20:03:32 #215 №3075646 
>>3074249

Всё так. Ещё пару лет такими темпами и отказаться от языка и вернуться к тем же плюсам будет очень сложно. Единственный современный конкурент это Mojo, но и там надо релиза ждать, чтобы нормально сравнивать.
Аноним 06/03/24 Срд 20:09:49 #216 №3075660 
>>3075646
щас бы сравнивать жопу с пальцем
Аноним 06/03/24 Срд 20:25:36 #217 №3075681 
>>3075646
>Mojo
Это нишевая хуйня для МЛ и питонистов, там даже костыли для питоновского синтаксиса ввели, чтобы тупо копипастить питоновский код. А так тот же раст без владения и лайфтаймов, со структурами и трйетами без полноценного ООП, но в питоновском стиле
Аноним 06/03/24 Срд 22:07:30 #218 №3075844 
>>3075836
В расте вообще нельзя без "безопасных" обёрток использовать низкоуровневые либы, религией запрещено.
Аноним 08/03/24 Птн 00:38:12 #219 №3076840 
Пока непонятна тема с импортами, областями видимости. Хуже чем в плюсах.
Аноним 08/03/24 Птн 07:57:03 #220 №3076954 
>>3076840
> Хуже чем в плюсах
Ты про плюсовые модули? Ну хзы...
Аноним 08/03/24 Птн 12:37:22 #221 №3077378 
Почему АНБ не котирует плюсы? Это же та же сишка, но с расширениями.
Аноним 08/03/24 Птн 12:47:20 #222 №3077391 
>>3077378
А разве АНБ котирует сишку?
Аноним 08/03/24 Птн 13:12:46 #223 №3077436 
>>3077391
А что она котирует тогда из системщины?
Аноним 08/03/24 Птн 14:02:29 #224 №3077550 
>>3077436
Джаву.
Аноним 08/03/24 Птн 14:09:08 #225 №3077554 
>>3077550
>Джаву
Язык-гной, язык-пидор.
Аноним 08/03/24 Птн 14:34:15 #226 №3077588 
>>3077554
Поясни
Аноним 08/03/24 Птн 15:04:40 #227 №3077626 
>>3077378
> Это же та же сишка, но с расширениями
Вот именно поэтому. Плюсы котируют там где пишут на них не как "на сишке с расширениями".
Аноним 08/03/24 Птн 15:13:02 #228 №3077642 
>>3077626
>Плюсы котируют там где пишут на них не как "на сишке с расширениями".
поясни
Аноним 09/03/24 Суб 10:29:09 #229 №3078411 
>>3077436
Аду и раст
Аноним 09/03/24 Суб 16:25:14 #230 №3078769 
>>3078411
мда
Аноним 10/03/24 Вск 13:24:26 #231 №3079977 
>>3060192 (OP)
установил вскод и раст
что делать? учить by example? хочу работу скорее найти
Аноним 10/03/24 Вск 13:42:12 #232 №3080005 
>>3079977ъ
>вскод
Лучше поставь растровер , там интроспекция глубже.

>учить by example
опыт в программировании на других языках есть? Может ну его, этот раст?

>хочу работу скорее найти
Пока что количество программистов, которые в восторге от раста, сильно превышает запросы работодателей, так что тут надо быть ниибаца каким бородатыч сеньором в свитере с крестами в анамнезе. Свитер есть у тебя?
Аноним 10/03/24 Вск 14:11:46 #233 №3080078 
Можно на расте сделать движок уровня rage?
Аноним 10/03/24 Вск 14:40:24 #234 №3080126 
>>3080078
Сашенька, сперва уроки, потом движок.
Аноним 10/03/24 Вск 16:36:08 #235 №3080382 
>>3080078
Нужно.
Аноним 10/03/24 Вск 16:38:50 #236 №3080389 
>>3080005
>опыт в программировании на других языках есть? Может ну его, этот раст?
0
раст просто модный
Аноним 10/03/24 Вск 16:45:13 #237 №3080404 
>>3080389
Модный? Модный-то сишарп. А раст, он как шахматная задачка для продвинутых шахматистов.
> напиши программу, чтобы е два е четыре, мат в два тика, и ходить можно только конём, если пытаешься походить ладъёй - прога отказывается компилиться.
Аноним 10/03/24 Вск 17:08:18 #238 №3080441 
>>3080404
сишарпу лет 20, нет?
Аноним 10/03/24 Вск 18:13:15 #239 №3080600 
>>3080441
И чё, бля, и чёёёё???
Аноним 10/03/24 Вск 18:49:24 #240 №3080643 
>>3080382
Но как, если нет графической апишки на расте?
Аноним 10/03/24 Вск 18:53:18 #241 №3080649 
>>3080643
Нужно на расте сделать графическую апишку.
Аноним 10/03/24 Вск 18:54:34 #242 №3080652 
>>3080649
Ну ты и фантазер.
Аноним 10/03/24 Вск 19:22:53 #243 №3080703 
>>3080643
Есть.
> но это кок-пок биндинги!
По такой логике, приложение на расте вообще запускается в ОС, написанной на си. Надо начинать не с "графической апишки", а с написания ОС на расте. Тогда троллинг удастся.
Аноним 10/03/24 Вск 20:07:29 #244 №3080764 
>>3080703
>Есть
Нет, нету. Ты не видишь разницы между нативным апи и прослойками?

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

>троллинг удастся.
хуюлинг, додстер.
Аноним 10/03/24 Вск 20:17:35 #245 №3080770 
>>3080764
>Нет, нету. Ты не видишь разницы между нативным апи и прослойками?
>
> компилятор всё переводит в машинные коды, и на низком уровне нет разницы в языках

Ты буквально сам опроверг собственный тезис.
Аноним 10/03/24 Вск 20:44:08 #246 №3080790 
>>3080770
Ты не компетентен.
Аноним 10/03/24 Вск 20:59:04 #247 №3080807 
>>3080790
Если я оберну функцию malloc функцией yoba_malloc, означает ли это, что я больше не пользуюсь стандартной либой C?
Аноним 11/03/24 Пнд 09:17:34 #248 №3081168 
>>3080790
Ты не компетентен.
Аноним 11/03/24 Пнд 10:10:07 #249 №3081200 
>>3081168
ты такой забавный
Аноним 11/03/24 Пнд 13:24:28 #250 №3081427 
1710152668023.png
Аутиста закоротило ИТТ, лол.
Аноним 11/03/24 Пнд 15:36:16 #251 №3081688 
>>3078411
>и раст
>-safe memory language
>-анус ставишь?
>-нет
))
Аноним 11/03/24 Пнд 15:58:11 #252 №3081742 
>>3081688
Поставленный анус не проходит проверку борова-чекера как заимствованный, поэтому вангование не компилируется.
Аноним 11/03/24 Пнд 16:00:15 #253 №3081746 
>>3081742
>кок-пок боровчекер
Как же так вышло, что были баги в стандартной либе, язык же безопастный?
Аноним 11/03/24 Пнд 16:05:53 #254 №3081760 
>>3081746
Язык безопасный, а идеального кода никто не обещал. Баги есть. Баги отлавливаются. Так и живём.
Аноним 11/03/24 Пнд 16:07:16 #255 №3081766 
>>3081760
>безопасный язык
>никто тебе ничего не обещал
В голосину нахуй с таких ГАРАНТИЙ ))
Аноним 11/03/24 Пнд 16:20:49 #256 №3081789 
>>3081766
Соломенное чучело в треде:
> идеального кода тебе не обещали
> никто ничего не обещал
Аноним 12/03/24 Втр 01:25:32 #257 №3082425 
Если компания сделала проприетарный движок для ааа игр, имеет ей смысл развивать опен сорс движок для инди игр?
Аноним 12/03/24 Втр 09:52:14 #258 №3082548 
>>3082425
Да. Иди развивать.
Аноним 12/03/24 Втр 09:54:37 #259 №3082549 
>>3082425
Зачем индюкам опенсорс? Им главное чтобы куча фич и бесплатно.
Аноним 12/03/24 Втр 13:04:05 #260 №3082811 
>>3077554
Нет ты
Аноним 12/03/24 Втр 13:04:39 #261 №3082813 
>>3077550
Вот это настоящая база
Аноним 12/03/24 Втр 14:09:13 #262 №3082904 
Зачем нужно время жизни? Вчера читал, что-то не сильно понял. Только простой пример, что возвращается некий тип из функции, который моржет быть одой ссылкой или второй, Более сложного примера не удалось придумать
Аноним 12/03/24 Втр 14:47:25 #263 №3082980 
>>3082904
1. Данные автоматически удаляются при выходе из блока. Это понятно?
2. При вычислении некоторого выражения в некотором блоке, ты хочешь вернуть вычисленные данные. Такое бывает?
3. В расте ты вычислил данные, пытаешься их вернуть, но они удаляются согласно пункту 1.

Твои действия?

Ответ: надо как-то пометить возвращаемые данные, чтобы они могли пожить некоторое время, при выходе из блока, в вышестоящий блок и этой пометкой и является лайфтайм.
Аноним 12/03/24 Втр 15:24:56 #264 №3083063 
>>3082980
Какая же уебанская реализация. Осоюбенно static
Аноним 12/03/24 Втр 16:28:12 #265 №3083232 
>>3083063
Да, я когда до этого дочитал в растбуке, тоже приуныл. Сначала всё было хорошо, а потом пошло: а-штрих, бэ-штрих...

Надо было как-то элегантнее сделать.
Аноним 12/03/24 Втр 17:11:57 #266 №3083295 
>>3082813
хуяза, даун
Аноним 13/03/24 Срд 02:41:57 #267 №3084072 
>>3083295
Ладно.
Аноним 13/03/24 Срд 12:15:37 #268 №3084424 
>>3082980
Возвращаешь данные, а не ссылку на данные.
Аноним 13/03/24 Срд 12:18:01 #269 №3084427 
>>3080389
>раст просто модный
9 лет после релиза.
Аноним 13/03/24 Срд 12:23:56 #270 №3084431 
>>3082904
Костылизация, оказывает владение сложнее хеллоу-ворда плохо ложится на реальным мир разработки. Дальше будет хуже.
Аноним 13/03/24 Срд 23:44:14 #271 №3085325 
>>3067560
раст написан на раст
Аноним 14/03/24 Чтв 00:01:04 #272 №3085334 
>>3085325
Один раз раст и вот ты уже пидораст.
Аноним 14/03/24 Чтв 01:37:45 #273 №3085404 
rayon с его par_iter можно красиво распараллелить на несколько серверов? есть красивое решение? или это из совсем другой области?
Аноним 14/03/24 Чтв 13:17:01 #274 №3085909 
>>3085404
> это из совсем другой области
Аноним 14/03/24 Чтв 13:18:04 #275 №3085913 
>>3084431
Двачую. Вернулся опять на шарп. Мечтаю о нативном шарпе без дотнета (НО НЕ СИ!!). ИТТ сижу по привычке. Вдруг случится чудо и раст... Впрочем, нет.
Аноним 14/03/24 Чтв 13:53:24 #276 №3085951 
>>3085913
неосилятор, спок
Аноним 14/03/24 Чтв 14:02:50 #277 №3085974 
>>3085951
Я всё прекрасно осилил, просто пока что мне надо формошлёпить КРУДы, на шарпе мне привычнее и быстрее. Как появятся системные задачи - я раст в уме держу.
Аноним 14/03/24 Чтв 14:11:13 #278 №3085988 
image.png
>>3085974
>я раст в уме держу
а должен держать в сердечке, неосилятор
Аноним 14/03/24 Чтв 15:24:32 #279 №3086070 
>>3085988
> бубубу, яскозал!
Ладно-ладно ржавошиз. Держу в сердечьке, главное не нервничай, успокойся, положи нож на место, блядь!
Аноним 14/03/24 Чтв 16:55:29 #280 №3086141 
image.png
>>3085325
Раст написан на юните и на сишарпе
Аноним 14/03/24 Чтв 16:57:58 #281 №3086144 
>>3085951
Раст не сложный, он скорее неудобный, неприятный. Я осилил, но положил болт, просто не комфортно писать, не получаю удовольствие, особенно после котлина, где меня просто избаловали.
Аноним 14/03/24 Чтв 17:05:43 #282 №3086150 
>>3086144
>Раст не сложный, он скорее неудобный, неприятный
В чём это проявляется?
Аноним 14/03/24 Чтв 17:21:13 #283 №3086165 
>>3086150
Ну знаешь есть понятие цветных функций, а из лайфтаймов появляются еще цветные несовместимые типы. Эти костыли rc, refCell, fnMut итд. Само по себе владение, костыль, потому как работаешь с ссылками, а там другой раст. Магия макросов, само по себе трудное чтение кода, процедурное программирование зло. То есть, банально больше 3-4 параметров в функции уже зло, а писать в объектном стиле понадобиться и IoC, а там уже и геттеры/сеттеры, в общем, процедурное программирование мертво. Опшены это просто операция ветвления. Для промышленного кодинга эта хрень не годится точно, нужен стектрейс ошибок и иерархия ошибок.

Много еще от чего у меня бомбило, но я уже не помню, одно только отсутствие GC не выкупает все это говно.
Аноним 14/03/24 Чтв 17:28:19 #284 №3086175 
>>3086165
> одно только отсутствие GC не выкупает все это говно
> рили не выкупил
Мы вас выслушали. Мы вам перезвоним.
Аноним 14/03/24 Чтв 19:01:13 #285 №3086258 
аноны, тут, это, блэкрок esg лавочку прикрывает. Я вот подумал: а пидарасы в расте не по этой ли статье проходили? Если так, то скоро чулочников повыпрут за ненадобностью.

https://finance.yahoo.com/video/blackrock-drops-esg-approach-transition-225945468.html
Аноним 14/03/24 Чтв 20:57:32 #286 №3086418 
16945850756230.jpg
>>3086165
> процедурное программирование мертво
...

> банально больше 3-4 параметров в функции уже зло
уже даже в си эту проблему решили, посмотри как апи в вулкане том же устроен
Аноним 14/03/24 Чтв 21:27:10 #287 №3086452 
>>3086258
> скоро чулочников повыпрут за ненадобностью
Ты от этого бестолочью быть не перестанешь.
Аноним 14/03/24 Чтв 22:00:09 #288 №3086501 
>>3086418
Ещё бы в расте решили её, а то у них лапша из билдеров.
Аноним 15/03/24 Птн 00:09:55 #289 №3086570 
>>3086418
>уже даже в си эту проблему решили, посмотри как апи в вулкане том же устроен
Покажи
Аноним 15/03/24 Птн 02:53:51 #290 №3086593 
>>3086501
перепиши вулкан на раст, не будет лапши
Аноним 15/03/24 Птн 10:58:23 #291 №3086829 
>>3086144
>особенно после котлина
Хах, я на котлине не могу после раста. Хуй пойми откуда ждать иксепшон, енумы какие-то стрёмные, туплы ебануто реализованы. Но удобнее голой жабы, это да.
Аноним 15/03/24 Птн 17:55:05 #292 №3087285 
>>3086829
>Хуй пойми откуда ждать иксепшон
Сразу видно вкатуна, который никогда не работал. В 90-99% случаев ты не можешь восстановить контекст и просто логируешь сообщая о сбое, поэтому и ручная обработка, она же checked exception, была признана моветоном и исключена из котлинов и шарпов. Но зумеры вернули их в го, расте, вроде в свифте.

Я конечно понимаю, что раст низкоуровневый, но радоваться долбежки в ошибки на каждой строчке, такое себе удовольствие. Исключительные ситуации на то и исключительные, что не являются нормальным процессом работы и требуют отдельного внимания.
Аноним 15/03/24 Птн 18:07:31 #293 №3087292 
image.png
>>3086570
пикрил
вместо миллиона параметров, есть простая структура данных, где поля это и есть параметры
код становится читаемее во много раз

>>3086501
билдеры же один параметр принимают
Аноним 15/03/24 Птн 18:24:43 #294 №3087300 
>>3087292
Так это и есть билдер хуйня. Впрочем ничего заметно лучше все равно нет.
Аноним 15/03/24 Птн 18:29:17 #295 №3087302 
image.png
>>3087300
> Так это и есть билдер хуйня.
под билдером в 99% случаев понимают вот такую конструкцию
Аноним 15/03/24 Птн 18:32:46 #296 №3087309 
>>3087302
А внутри этой структы билдера хуйня как тут >>3087292
Аноним 15/03/24 Птн 18:38:14 #297 №3087318 
>>3087309
внутри там вобще всё что угодно может лежать, хоть глобальные переменные или синглтон

конкретно в этом коде происходит намного больше чем просто структурку заполняют
Аноним 15/03/24 Птн 18:55:19 #298 №3087345 
изображение.png
>>3087292
>вместо миллиона параметров, есть простая структура данных, где поля это и есть параметры
>код становится читаемее во много раз
Прикинь на расте можно также, добавь Default к структуре и ты можешь делать тоже самое нихуясе, да?
Только так лучше не делать, а более православный путь с билдером вот это >>3087302 там ты можешь например провалидировать каждое значение и проверить на обязательные, а остальные оставить дефолтными.
Аноним 15/03/24 Птн 19:03:04 #299 №3087352 
>>3087345
> Прикинь на расте можно также
а я говорил что на расте нельзя? или ты про что?
просто анон говорил что миллион параметров в функции это плохо, а я ответил что даже в си эту проблему уже решили

> более православный путь с билдером вот это
в сишке к сожалению такого не сделать макросы даже не рассматриваются как вариант
Аноним 15/03/24 Птн 21:07:30 #300 №3087515 
О, я похоже запустил тренд на нейрокартинки в оп пиках. Или не я?
Аноним 15/03/24 Птн 21:28:52 #301 №3087536 
>>3087352
>а я говорил что на расте нельзя? или ты про что?
Не, всё ок, я думал ты другой анон, которому неудобно.
Аноним 16/03/24 Суб 21:56:41 #302 №3088796 
Когда ваша поделка перестанет зависить от блотвера под называнием llvm, тогда и зовите. Идея-то хорошая.
Аноним 16/03/24 Суб 22:02:28 #303 №3088806 
>>3088796
LLVM - это широко используемая инфраструктура для разработки компиляторов, предоставляющая набор библиотек и инструментов для создания оптимизирующих компиляторов и генерации машинного кода. Многие известные проекты, такие как Clang, Rust, Swift и другие, используют LLVM в своей основе.

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

Однако такое сравнение некорректно, так как LLVM является легитимным и широко признанным инструментом в разработке ПО, а не вредоносной программой. Использование LLVM само по себе не делает проект хуже, а зависимость от тех или иных библиотек и фреймворков - обычная практика в разработке программного обеспечения.
Аноним 16/03/24 Суб 23:14:29 #304 №3088847 
>>3088796
Минусы блотвера под называнием llvm?
Аноним 16/03/24 Суб 23:24:40 #305 №3088852 
>>3088847
Мерко всё это. Грязно
Аноним 17/03/24 Вск 00:21:16 #306 №3088870 
>>3088852
Это в целом про раст, так что и llvm там к месту. Компилятор крестов не смогли за 10 лет написать, пусть теперь пидорастам дымоход чистят.
Аноним 18/03/24 Пнд 09:23:34 #307 №3090360 
>>3087285
>и просто логируешь сообщая о сбое
Ага, допустим. Вот только ты не знаешь, откуда ждать этот сбой. Каждую подозрительную строчку в try оборачивать и логировать?

Ну и, что касается практики - писал торгового бота на расте, там возможность обработки ошибок очень помогала.
Аноним 18/03/24 Пнд 10:05:40 #308 №3090395 
>>3090360
А это важно? Если какая-то операция может завершиться с двумя результатами - это не сбой, нужно оба состояния обрабатывать как обычно. Сбой это когда произошла какая-то неведомая хуйня - тут уже неважно что и где, т.к. нет гарантий что этот сбой не поломал ещё что-то. В try оборачивается блок кода, который пойдёт по пизде в случает сбоя внутри - в большинстве случаев этот блок всё равно надо будет рестартить заново с учётом произошедшего или вообще ронять весь рантайм. Условно, если ты собираешься читать файл, то надо чекнуть что это можно сделать и потом уже читать, а не читать на похуе и ловить эксепшены.
Аноним 18/03/24 Пнд 10:39:07 #309 №3090413 
>>3090360
Что за бред, не знаешь что ловить, лови общий Exception "на верху". Сидеть и долбиться в подобие if..else, тоже не радость.
Аноним 18/03/24 Пнд 11:23:12 #310 №3090462 
image
>>3090413

Самый простой пример, из того же трейдинга: нужно мне получить цену лота. В одном случае для меня это не критично, например, когда надо обновить данные в таблице (пикрил), в другом критично - когда хочу сделать ставку. Соответственно, я
а) всегда знаю, где может случиться ошибка
б) могу варьировать поведение в зависимости от : хочу - unwrap с паникой, хочу - наверх проброшу, а могу и просто заигнорить.
г) легко могу собрать, сортировать, посчитать и как угодно обработать ошибки, которые, суть, обычный вариант от enum.
Это вам не
>лови общий Exception "на верху"

>>3090395
>Если какая-то операция может завершиться с двумя результатами - это не сбой
ага, вот только в котлине это всё пиздец как неудобно. А если с тремя, а если с четырьмя? Что там нам предлагается, с кодами ошибок изъёбываться или отдельный класс под возврат каждой функции пердолить?
Аноним 18/03/24 Пнд 11:24:42 #311 №3090464 
image
Пофиксил вариант со сбором ошибок
Аноним 18/03/24 Пнд 11:54:03 #312 №3090511 
>>3090462
> с кодами ошибок изъёбываться
Ты же литералли это и делаешь.
Аноним 18/03/24 Пнд 12:04:47 #313 №3090525 
5dbd5105-30b2-445e-9497-7bcc5aa2fe07.jpg
>>3090462
Исключительная ситуация, это ситуация выходящая за бизнес логику, если тебе надо вернуть управляющие данные, то возвращаешь данные со статусами, а не придумываешь херню.

Для самых маленьких:
try {
//бизнес логика.
} сatch {
// не бизнес логика, исключительная ситуация, не гадящая в основную логику.
}
Аноним 18/03/24 Пнд 12:16:28 #314 №3090542 
>>3090525
Я же тебе, дурачку, показал конкретный пример. Есть функция, которая может вернуть ошибку. В зависимости от контекста вызова меняется поведение при возникновении ошибки. Если у тебя глобально один try / catch на всё, то, ну, ну сам понимаешь.

>>3090511
Я не изъёбываюсь, это всё где-то под капотом. Ты не видишь разницы: изъёбываться самому или доверить это дело языку и компилятору?
Аноним 18/03/24 Пнд 13:05:57 #315 №3090653 
https://github.com/klaxons1/Microsoft-Device-Emulator?tab=License-2-ov-file
часто вижу программы, которые наполовину написаны на си, а другая на плюсах. Типа автор не определился на чем он хотел писать?
Аноним 18/03/24 Пнд 13:18:36 #316 №3090676 
>>3090653
Там либы сишные, а код на крестах.
Аноним 18/03/24 Пнд 13:47:07 #317 №3090712 
>>3060192 (OP)
РАСТ не взлетит вообще. Я так думаю.

Ну... 1 главная причина: он уродливый. Его ОЧЕНЬ сложно читать. Даже если ты сам пишешь или переписываешь чей-то проект. А представьте 10 или 100 или 1000 человек работающих над N программами. Какая же мозгоебка.

Окей, где важна скорость и безопасность, самая база ОС, может быть, может быть написана на Расте.
Но если мы говорим о будничном софте, то я не вижу причин, почему кто-то будет тратить N месяцев на разработку проги на расте, когда конкурент за N/2 время будет такое же хорошее приложение сходной по размеру и компетенциям командой делать. Раст тупо не конкурентен там, где время разработки/скорость поддержки(апдейтов, улучшений) имеет немалый вес
Аноним 18/03/24 Пнд 14:05:32 #318 №3090740 
>>3090712
Почему бы не Аде писать? Всяко лучше чем пидораст
Аноним 18/03/24 Пнд 14:06:19 #319 №3090742 
>>3090712
>1 главная причина: он уродливый
Уродливым я бы не назвал, скорее причудливым.

>Его ОЧЕНЬ сложно читать
Нет если код написан профессионалом.

>когда конкурент за N/2 время
А конкуренты кто? C++ ближайший конкурент. И на нём в 2 раза быстрее писать код? Да ладно?

>Раст тупо не конкурентен
Спорный аргумент основанный на домыслах. В реальной жизни ты не пробовал, но думаешь что так будешь.
Аноним 18/03/24 Пнд 14:13:15 #320 №3090750 
>>3090742
>Нет если код написан профессионалом.
Покажи такой код
Аноним 18/03/24 Пнд 16:16:37 #321 №3090932 
Ладно пидорaxи убедили, собираюсь вкатываться в ваш пидораст. С чего начать? Алсо, что делать, если не хочется покупать новый жд, а то ебал его рот сколько места эта хуита занимает.

мимо-дед
Аноним 18/03/24 Пнд 16:19:44 #322 №3090939 
>>3090932
> сколько места эта хуита занимает
И сколько же?
> С чего начать?
С растбука. Только читай честно, без скипов и с выполнением ДЗ.
Аноним 18/03/24 Пнд 16:23:34 #323 №3090944 
>>3090939
10 гигов папка с проектами на расте.
Аноним 18/03/24 Пнд 19:17:48 #324 №3091306 
>>3090395
> это важно?
да
Аноним 18/03/24 Пнд 19:35:57 #325 №3091334 
>>3090742
>Если написан профессионалом
Хуя нихуя, код на ЛЮБОМ языке лучше читается если написан профессионалом, вот только уже люди не тупые и начали делать языки по принципу гайдлайнов для читабельности вроде го и зига, потому что не-профессионал - это то, на кого стоит ориентироваться создателю языка.
Вообще у раста нет идеи как таковой, его спиздили меилручнули-майкрософточипировали у создателя, он идет курсом как ветер занесёт, и через пару-тройку лет станет теми же плюсами с кучей нахуй ненужных фич которыми никто не умеет пользоваться, только это будет еще приправлено огромными бинарниками, уебищным ллвм-овским тулингом и десятками memory-leak'ов в std да и в простом safe.
У раста есть возможность спастись только одним путем - сделать форк стабильной версии, направить все ресурсы на оптимизацию и устранение проебов в памяти и уже МОЖЕТ добавлять фичи по необходимости, а этот железный корабль под именем "Ржавчина" пусть окисляется у майков на зарплате, пока не наиграются.
Аноним 18/03/24 Пнд 20:00:57 #326 №3091345 
1686053593830.png
>>3091334
> добавлять фичи
Лучше бы убирали и боролись с репитативностью синтаксиса.
Вот возьмём обработку ОДНОЙ ошибки от чела выше, что в ней видим:
> 9 открывающихся-закрывающихся скобочек
> лямбда
> дженерик
> енум
> монада
Против примитивной конструкции с if или циклом для заполнения векторов. Куда, блять, ещё сильнее замусоривать этот кал.
Аноним 18/03/24 Пнд 21:05:32 #327 №3091408 
>>3091345
А в чем проблема-то? Конкретно здесь это выглядит как выебоны, но лямбды так-то половину GoF делают ненужной хуйней.
Аноним 18/03/24 Пнд 21:06:24 #328 №3091410 
>>3090750
Любая книга по rust'у, миллион примеров.

>>3091334
Это уже не проблема самого языка. Язык не отвечает:
1) За количество вакансий.
2) За пользователей
3) За зарплату
И т.д.

Тоже самое может произойти с любым наикрутейшим фреймворком. Ты щас возьми любой супер-пупер язык, придёт рукожоп и сделает говно. Любой инструмент в руках долбоёба будет плохо работать. Ты щас дай скрипку Страдивари за 16 миллионов нюфагу и он её или сломает или сыграет полную хуйню. Это же не вина Страдивари, что он не сделал достаточно простую скрипту, чтобы даже полный долбоёб мог сыграть.
Аноним 18/03/24 Пнд 23:12:17 #329 №3091567 
>>3090542
Еще раз, для самых маленьких для растеров. Если что-то возвращает управляющие данные (влияющие на бизнес логику) то, это будет частью бизнес логики уже тавтология пошла, это не должно быть ошибкой.

Есть два потока состояний - нормальный поток и нет. правильно говорят, что системщики не понимают в архитектуру
Аноним 19/03/24 Втр 00:56:34 #330 №3091652 
>>3091410
> язык не отвечает за пользователей
Ты только что сказал, что ни разу не программировал ни на C, ни на Go, ни на любом другом подобном языке; язык ДОЛЖЕН ограничивать пользователя.
Почему огромное количество проектов до сих пор пишут на С, а не на плюсах, хотя у первого практически нет никаких преимуществ перед вторым? Да потому что писать плохой код на плюсах гораздо проще, падает планка качества проекта и повышается разношёрстность кода, делая команду менее состоятельной.
В Zig и Go очень часто компилятор не дает ничего сделать с кодом, потому что там ошибочная разметка или другие глупости, с которыми в коде хоть и нет багов, но читается он хуже. По этой же причине отсуствие классов в языке это ФИЧА, а не наоборот.

> любая книга, миллион примеров
Что то мне кажется, что количество материалов по расту гораздо больше, чем оригинального кода на этом языке. Ржавые это религиозные инфоцигане прогромирования, только наебывают тебя на священное время.
Аноним 19/03/24 Втр 02:20:09 #331 №3091692 
>>3091652
>Почему огромное количество проектов до сих пор пишут на С, а не на плюсах
Это их личный выбор. Почему программист или кабан выбрали язык А, а не выбрали язык Б, пусть психологи разбираются. Это может быть элементарный АВДРУХЧО аргумент, в каждой отрасли полно ссыкунов которые ссуться изменений и малейшего риска. Человек может верить во что-то, необязательно это будет правдивое. Он верит допустим в том, что С++ тормозит или С++ не подходит для больших проектов и не выберет изначально.

>хотя у первого практически нет никаких преимуществ перед вторым?
Любое действие в программировании можно сделать десятком разных способов. Причём не обязательно способ А лучше способа Б.

>В Zig и Go очень часто компилятор не дает ничего сделать с кодом, потому что...
Возможно, но мне лично похуй.

>количество материалов по расту гораздо больше, чем оригинального кода на этом языке
Это твоё личное мнение.
Аноним 19/03/24 Втр 07:29:32 #332 №3091754 
>>3091652
Чел, ты бредишь. Сишка меньше всего ограничивает кодера.
> отсуствие классов в языке это ФИЧА, а не наоборот
Когда в пердоликсе костылями эмулируют классы, то что это? Или в винде изобретают ком-объекты? Иди нахуй в общем.
Аноним 19/03/24 Втр 13:50:30 #333 №3092119 
>>3091567
Вот ты глупый, ей-богу. Сравни:
На расте ты всегда сразу знаешь, где у тебя Result, где Option, а где значение и можешь выстраивать от этого бузинес-логику.

На котлине хуй разбери, что там наворочано в сторонней функции. Хорошо, если она возвращает Result, который, впрочем, на котлине хуёво сделан по сравнению с растом. А может ведь и срыгнуть Exeption - что тогда? Тогда ты, такой, "Ааа, бля, дак оно ещё и крашнуться может, ссука" - и перелопачиваешь готовый код, меняя логику под это дело, так как результат вызова не такой уж обязательный и перетерпеть, в-принципе, можно.
Аноним 19/03/24 Втр 13:58:19 #334 №3092134 
>>3092119
Блять, ещё вот эта https://discuss.kotlinlang.org/t/stacktrace-points-to-line-after-end-of-file/4129/9 хуита постоянно мозг ебёт. Почему в низкоуровневом расте, где дохуя макросов, которые разворачиваются в простыни, такой проблемы нет, а в высокоуровневом котлине, который отжирает половину оперативы для хеллоуворлда, не нашлось способа срыгнуть нормальные номера строк в бэктрейсе? Шо джава говно, шо это.
Аноним 19/03/24 Втр 17:14:01 #335 №3092438 
>>3091754
Не эмулируют, а имплементируют, для тебя класс это что-то что на уровне проца заложено? Имплементация фич по необходимости и есть фича C, чё вы как маленькие.

>>3091692
>Мне лично похуй
Дурак ты. Я тебе добра желаю, перед тем как лезть в раст поработай хоть над проектом серьезным и может для тебя вопросы об архитектуре будут решаться не "психолухами". А так свое время угробишь только.
Аноним 19/03/24 Втр 17:31:38 #336 №3092477 
>>3092438
>Не эмулируют, а имплементируют, для тебя класс это что-то что на уровне проца заложено?
а что вы там scanf и printf и прочее из stdio.h не имплементируете по необходимости?
как вы будете бороться с тем, что один имплементирует так, а другой иначе?
что тогда не на чистом асме пишете? под каждый проект не создаете свой язык?

другой анон
sage[mailto:sage] Аноним 19/03/24 Втр 17:39:08 #337 №3092496 
>>3092477
> а что вы там scanf и printf и прочее из stdio.h не имплементируете по необходимости?
Нет необходимости.
> как вы будете бороться с тем, что один имплементирует так, а другой иначе?
https://git-scm.com/docs/gittutorial
> под каждый проект не создаете свой язык?
Ну вот раст делает же кто то, у них спроси.
Аноним 19/03/24 Втр 17:43:23 #338 №3092510 
image.png
>>3092496
>Нет необходимости.
так юзай раст и в имплементации классов у тебя тоже не будет необходимости?
Аноним 19/03/24 Втр 17:46:45 #339 №3092516 
>>3092496
и ты не ответил про asm - что на нем все не пишешь, а юзаешь готовое? имплементируй все с нуля, вот ссылка на гитхаб туториал у тебя есть, посмотришь как другие имплементируют и сделаешь так же
sage[mailto:sage] Аноним 19/03/24 Втр 17:50:19 #340 №3092525 
>>3092510
Блядь, еще раз - фичу нельзя убрать, можно только добавить. Если у тебя в языке есть классы, у тебя в мердж реквестах будут сплошные классы от студентов, а нахуй тебе это надо если у тебя проект не ООП? Это реально так трудно понять?
>так юзай раст
Memory leak в std, невозможность дебага unsafe? Нет спасибо.
Аноним 19/03/24 Втр 17:58:25 #341 №3092541 
>>3092525
ну а что ты будешь делать, если фичу добавили до тебя? при этом ты считаешь, что фичу зря добавили? или надо было имплементировать эту фичу иначе?
Аноним 19/03/24 Втр 18:00:41 #342 №3092547 
>>3092438
>поработай хоть над проектом серьезным
Да мне похуй, я психопат. Могу себе позволить поработать и над серьёзным и над потешным/несерьёзным. Чё ты мне сделаешь? Я бешеный!
Аноним 19/03/24 Втр 18:03:24 #343 №3092555 
пока все смахивает на классическое: "мы будем писать на С/C++, потому что мы там уже все возможные шишки себе набили и он у нас под коркой сидит, а нырять в что-то новое у нас уже ни сил ни здоровья не хватит", а остальное уже лирика и натягивание совы на глобус
sage[mailto:sage] Аноним 19/03/24 Втр 18:05:38 #344 №3092561 
>>3092541
Если фича вредит коду, то выберу другой язык или добавлю гайдлайн, но второе в рамках попынсорса гораздо хуже работает нежели в энтерпрайзе, поэтому по ситуации.

>>3092547
Ну тогда без вопросов, флаг в руки :)
sage[mailto:sage] Аноним 19/03/24 Втр 18:08:36 #345 №3092570 
>>3092555
Плюсы - плохой язык и раст не лучше, а Сяму раст не альтернатива, так понятно?
Аноним 19/03/24 Втр 18:10:20 #346 №3092575 
>>3092570
и ООП тоже отстой, да? который нужно добавлять по необходимости?
sage[mailto:sage] Аноним 19/03/24 Втр 18:26:25 #347 №3092616 
IMG20230811181305077.jpg
>>3092575
Ну умнеешь на глазах! Все так.
Аноним 19/03/24 Втр 18:28:28 #348 №3092622 
>>3060192 (OP)
Есть шансы вкатиться в Rust, если я джаваскриптизер обыкновенный?
Аноним 19/03/24 Втр 18:32:24 #349 №3092634 
image.png
>>3092616
понял вас, вопросов больше не имею
Аноним 19/03/24 Втр 19:09:03 #350 №3092731 
>>3092622
>Есть шансы вкатиться в Rust, если я джаваскриптизер обыкновенный?
Возьми ПОДАЙ ЗАЯВКУ и сам узнаешь. Чего ты ждёшь? Письменных блять гарантий, со штампом и росписью кровью? Их нету! Единственный кто может гарантировать вкат - это ты сам. Не жди советов "знающих людей", гайдлайнов, инструкций, пошаговых схем, никто тебе не скажет "учи вот это, это и это и ты гарантировано вкатишься".
Аноним 19/03/24 Втр 19:12:21 #351 №3092740 
>>3092634
Проблеск разума угас так же внезапно, как вспыхнул?

Да, представляешь, совсем необязательно прибивать ООП к языку.

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

Потому что:
Если язык изначально "ООП", ты столкнёшься с горой статик-бойлерплейта при написании необъектных программ (например, шарп).
Если язык изначально "неООП", ты столкнёшься с горой Объект.Метод-бойлерплейта при написании объектных программ (например обджект-паскаль из дельфи).
Аноним 19/03/24 Втр 19:31:21 #352 №3092797 
1661628913938.png
1709084165697.png
>>3092740
В языках без нормального ООП начинается отсос в ООП-задачах - это про сишку и почему она не нужна в 2024 году.
А вот в расте нет полноценного ООП, но всё прибито гвоздями к типам и их трейтам, как раз о чём ты пишешь происходит - куча бойлерплейта с impl вокруг структур, даже если структура пустая и нахуй не нужна.
Аноним 19/03/24 Втр 19:35:32 #353 №3092812 
>>3092740
в процедурном стиле можно писать и на расте, т.к. там сами еще не решили ООП они или нет

>Вполне можно сделать ООП как систему объектных типов рядом с системой необъектных типов.
вот это ты раст сейчас описал
Аноним 19/03/24 Втр 19:45:14 #354 №3092820 
>>3092797
>куча бойлерплейта с impl вокруг структур, даже если структура пустая и нахуй не нужна
если нужна просто функция (без структуры), пиши просто fn() без всяких блоков impl и пустых ненужных структур
Аноним 19/03/24 Втр 20:03:07 #355 №3092851 
>>3060192 (OP)
Если отказаться от std и прочих стандартных библиотек, компании Х разработает свои библиотеки, от rust что-то вообще останется?
Аноним 19/03/24 Втр 20:20:32 #356 №3092876 
>>3092851
Да, надоедливые похрюкивания боровчекера в консольку.
Аноним 19/03/24 Втр 21:33:11 #357 №3092986 
>>3092797
Чел тупо не понял, что ему написали.
Аноним 19/03/24 Втр 21:41:02 #358 №3092990 
>>3092812
> там сами еще не решили ООП они или нет
Делать языки ООП-языками - ошибка, ИМХО. Именно поэтому я - здесь. Потому что раст - первый из увиденных мной языков, который производит декомпозицию принципов ООП. (Но не первый из сушествующих, офк).

У меня есть структура данных. Я хочу, чтобы она получила признаки объекта. Что я делаю в ООП-языках? Я переделываю структуру в класс, создаю этому классу интерфейс, пользуюсь конструкторами для создания экземпляров. Казалось бы, хороший план, надёжный, как швейцарские часы, но... Где моя структура?

И вот я в расте. У меня есть структура данных. Я хочу, чтобы она получила признаки объекта. Что я делаю в расте? Я пишу типаж для структуры. Пишу имплементацию типажа. Возможно, в разных файлах. Изумительно. Структура лежит на месте. К ней подключены ООП-сущности. Идеальное разделение данных и логики. Джва года ждал. Сделоли.
Аноним 19/03/24 Втр 22:02:52 #359 №3093006 
>>3092990
а зачем тебе типаж, если у тебя просто одна структура данных? что понимаешь под "признаками объекта"? просто impl чем не нравится?
Аноним 19/03/24 Втр 22:15:07 #360 №3093012 
>>3093006
> а зачем тебе типаж
Вот хочу!
> у тебя просто одна структура данных?
Не одна.
> что понимаешь под "признаками объекта"?
То же самое, что понимали древнегреческие философы.
> просто impl чем не нравится?
И просто импл тоже пригождается.
Аноним 19/03/24 Втр 22:52:08 #361 №3093029 
>>3092990
Ты же шизоид. Всё что сделали в расте с ООП - поломали то что работало. Например инкапсуляция - её теперь нет, кишки лайфтаймов и боровов торчат наружу. Вместо наследования какая-то магическая залупа derive. Полиморфизм испоганили строгой типизацией. То что impl блоки отделены - это к ООП никакого отношения не имеет. По факту в расте ООП нет вообще ни в каком виде.
> получила признаки объекта
Пиздос дурка, чел даже значения слов не знает.
Аноним 19/03/24 Втр 23:53:03 #362 №3093053 
>>3093029
>Вместо наследования какая-то магическая залупа derive
Уже по этой фразе видно, что ты нихуяшеньки не понял. derive вообще не про то. Подозреваю, что ты и в ООП не особо разбираешься, раз такое выдал.

>ООП - поломали то что работало
нужность ООП вообще под вопросом, а в системном языке так и вовсе
Аноним 20/03/24 Срд 00:19:56 #363 №3093062 
>>3093029
>Вместо наследования какая-то магическая залупа derive
Перетолстил
Аноним 20/03/24 Срд 00:34:41 #364 №3093070 
16111479950850.webm
>>3093029
>Вместо наследования какая-то магическая залупа derive
Ору нахуй
Аноним 20/03/24 Срд 02:03:32 #365 №3093145 
>>3092119
Тебе говорят, что ошибки это не бизнес логика. Но отсутствие значения или какой-то флаг в динамической системе, могут быть б-логикой.

То что тебе приходиться долбиться каждый раз в резалт, это проблема говноязыков. Да еще без макросов в расте ошибки создавать тот еще бойлерплейт.
Аноним 20/03/24 Срд 02:13:12 #366 №3093156 
>>3092134
Раст не может на лету переобуться и из резалтов и высрать хер пойми какую панику? Думаю с макросами, ансейвами и ты тупыми обертками над си, можно поесть куда больше веселого говна, я бы тут осторожнее выеживался понятно что ты хеллоу-ворд-мэн, но раст ты разлюбишь до первого пердолинга дампа памяти
Аноним 20/03/24 Срд 02:15:16 #367 №3093159 
>>3092622
Зачем?
Аноним 20/03/24 Срд 06:45:24 #368 №3093229 
>>3092876
съеби из треда
Аноним 20/03/24 Срд 09:24:32 #369 №3093335 
>>3093156
>высрать хер пойми какую панику
panic! крайне редко используется, разве что в конечных приложениях, где ошибку пробрасывать некуда. Впрочем, если найдёшь либу с паникой - покажи.


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

>>3093145
>отсутствие значения или какой-то флаг в динамической системе, могут быть б-логикой

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

>долбиться каждый раз в резалт
Это гораздо лучше, чем долбиться в null, где тебе вообще ни хуя не понятно: нет данных в таблице? Нет таблицы? Нет базы?
>какой-то флаг в динамической системе
Ой, блять, SDL_GetError ещё притащи как образцовый пример работы с ошибками.
Аноним 20/03/24 Срд 14:10:28 #370 №3093629 
image.jpg
СИСТЕМА ТИПОВ
АЛГЕБРАИЧЕСКИЕ ТИПЫ
ПОЛИФОРМИЗМ
НАСЛЕДОВАНИЕ
МОНАДА
ЛЯМБДЫ
ИИНКАПСУЛЯЦИЯ

>системный язык
Аноним 20/03/24 Срд 14:32:30 #371 №3093681 
1710934349196.jpeg
>>3093629
Коде кондукт
Аноним 20/03/24 Срд 23:55:10 #372 №3094364 
Кто-нибудь знает что стало с группой в тг? Переехали в дискорд?
Аноним 21/03/24 Чтв 00:04:48 #373 №3094375 
Знатоки Токио на месте?
1) Как лучше распараллелить чтение/запись с сокета? (если нужно, накину больше контекста)
2) Это правда что RwLock работают по разному в разных ОС ? Планирую кросс компилить linux->win, поэтому хотелось бы знать о подводных камнях.
Аноним 21/03/24 Чтв 07:31:41 #374 №3094494 
Дайте гайд по вкату на работу на сабже. Есть опыт фулстакомакакинга в 3.5 года.
Аноним 21/03/24 Чтв 08:48:11 #375 №3094519 
>>3094375
Что значит распараллелить? Ты сначала вычитываешь все из сокета, потом пишешь туда.
Аноним 21/03/24 Чтв 09:45:11 #376 №3094566 
>>3094494
1. Заходишь в https://t.me/rust_jobs_feed, смотришь вакухи, понимаешь чо хочет рыночек и что из этого ты можешь
2. Гуглишь interview questions по этим темам, прикидываешь что из этого ты уже знаешь, а с чем надо разобраться
3. (опционально) Делоешь за пару вечеров/выходных/недель фуллстак todo-list на axum/actix/tauri/etc, и чтоб внутри был diesel/sqlx/solana/wasm/pgrx/etc что ты там обнаружил на первом шаге
4. Апплаишься на вакухи в конторы, куда точно не пойдешь, прост чтоб потренироваться на интервью
5. Актуализируешь списочек в п.2, освежаешь знания
6. Апплаишься на вакухи, куда хочешь устроиться, устраиваешься, серешь в треде
Аноним 21/03/24 Чтв 10:41:55 #377 №3094603 
>>3094566
Пиздос, одни сеньорские и лидовские вакухи. Как же ебут простых мидл+ господ.
Аноним 21/03/24 Чтв 11:30:16 #378 №3094633 
>>3094566
>todo-list
Это же попса и для вката сегодня нужна как минимум копия твиттера в качестве пета.
Аноним 21/03/24 Чтв 11:53:27 #379 №3094658 
>>3094633
Ну зависит же, в тч от предметки
Мне как-то тестовое задали на пару часов - ордербук закодить. Я закодил (и оффер получил), а потом за несколько дней развил его до примитивной биржи, с api, счетами, риск-менеджментом, персистентностью и хорошим RPS.
Теперь даю ссылочку на нее перед собесами и почти на всех собесах обсуждаем моё поделие вместо лайв-кодингов и тестовых
Аноним 21/03/24 Чтв 14:43:53 #380 №3094790 
>>3094519
В этом то и фишка!
Представь поток данных, который льётся подобно реке в двух противоположных направлениях...
Что интересно, у сокета в базе есть блокировка на чтение, в ожидании пакетов, но нет чего-то подобного на запись, подумывал сделать такой механизм, который бы писал в сокет, только если некоторые глобальные данные обновились в системе. Но непонятно, стоит ли делать это на мутексах или лучше как-то иначе через каналы пропердолить это

>>3094566
ты забыл самый главный пункт, крутануть 2-3 года в резюме
Аноним 21/03/24 Чтв 16:52:39 #381 №3094952 
>>3094790
>ты забыл самый главный пункт, крутануть 2-3 года в резюме
Но популярных жопаэсе или петухоне это сделать куда проще чем на нишевом расте, да и меня скорее всего на первом кодревью спалят что я не уверенный мидл, а чел прочитавший растбук и пару недель с боровом поебавшийся.
Аноним 22/03/24 Птн 10:29:49 #382 №3095639 
dxvk в расте работает?
Аноним 22/03/24 Птн 11:24:16 #383 №3095707 
>>3095639
Нет. Только ты один РАБотаешь, лох.
Аноним 22/03/24 Птн 12:29:42 #384 №3095761 
>>3087302
Так это литерали то же самое, только параметры ставятся не простым присвоением, а через методы.
Аноним 22/03/24 Птн 12:49:42 #385 №3095771 
>>3095639
Это плюсовое API, надо дополнительно обернуть на Си и биндгеном подлинковать.Еще есть какой-то костыльный крейт для подключения плюсов напрямую, но ну его нах
Аноним 22/03/24 Птн 13:25:23 #386 №3095805 
>>3095771
>надо дополнительно обернуть на Си и биндгеном подлинковать
боже какие костыли в расте...
Аноним 22/03/24 Птн 13:32:03 #387 №3095821 
>>3095805
Поэтому пользуйся православным Glide, очевидно же.
Аноним 22/03/24 Птн 13:32:31 #388 №3095822 
>>3095805
Это проблема технологии что она реализована на стаковерфловнутом говноязыке, а не божественном расте.
Аноним 23/03/24 Суб 20:39:49 #389 №3097416 
>>3094952
Ну бля чел, ты сам знаешь, надо быть уверенным на покерфейс ебале врываться, иначе никак.
Я несколько лет пердолил джаву, в надежде вкатиться, но это просто хуита, если опыт не крутить. Да я и сам понимаю, зачем им какой-то скуф самоучка, когда есть упругие свежие зумеры с профильных вузов, с горящими глазами, которым можно копейки платить. Короче рыночек так порешал, если нет альфа стержня, так просто не залететь никуда.
Аноним 23/03/24 Суб 20:41:33 #390 №3097417 
>>3094633
тудулист только для фронтовичков и мобильщиков может сработать, остальным надо покряхтеть.
Аноним 25/03/24 Пнд 17:39:12 #391 №3099310 
>>3060192 (OP)
Как считается будет лучше, если для раста начнут разрабатывать собственный компилятор вместо llvm?
Потенциально такой компилятор может иметь преимущества перед плюсового llvm?
Аноним 25/03/24 Пнд 17:56:20 #392 №3099351 
>>3099310
Нет, не будут разрабатывать, пушо проще любую архитектуру засунуть в бекенд llvm, чем писать с ноля компилятор.
Нет, не будет преимуществ (кроме как заткнуть дурачка, который считает отсутствие самописного бекенда в расте недостатком)
Аноним 25/03/24 Пнд 18:28:19 #393 №3099401 
>>3095761
только в методах ты можешь делать не только присвоение, если это не тривиальный какой нибудь случай
например валидация
Аноним 25/03/24 Пнд 18:31:27 #394 №3099403 
>>3099351
>Нет, не будет преимуществ
Почему не будет? Rust и C++ это разные языки, логично, что компилятор под rust должен в теории быть лучше, чем компиляторов плюсов. Потому что будут учитываться специфические вещи раста при оптимизации.

А если ты считаешь, что принципиально нет и не может быть ничего лучше богоизбранного LLVM и C++, и это пик развития человечества, ты, во-первых, ошибся тредов, плюсы обсуждают в своем треде, а во-вторых, нахуй тогда вообще нужны языки отличные от плюсов? Зачем что-то новое изобретать?

Это же просто по-сути обёртки вокруг С++. В чем смысл, в нескучном синтаксисе?

> заткнуть дурачка
Тебе придется много дурачков затыкать. Выйди из своей эхо-камеры на какие нибудь форумы, увидишь много разных мнений.
Аноним 25/03/24 Пнд 20:10:03 #395 №3099519 
>>3099403
>Это же просто по-сути обёртки вокруг С++. В чем смысл, в нескучном синтаксисе?

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

На расте написан фронтенд раста для LLVM. Он превращает исходники на расте в LLVM IR, а потом уже сам LLVM этот IR оптимизирует и через какой-то из бекендов (x64/ARM/RISCV/etc) превращает в машинный код. Так же делает фронтенд плюсов, написанный на плюсах, и фронтенг го, написанный на го.

Для gcc тоже есть фронтенд плюсов, и каким-то энтузиастом пишется фронтенд для раста rustc_codegen_gcc.

Так вот, зачем переписывать LLVM на расте? Там рили десятки и сотни человеко-лет труда. Чтобы что? Избавиться от висячих указателей/гонок в многопоточке? Но это не проблема для софта, который запускается эпизодически.

> какие нибудь форумы, увидишь много разных мнений
Я пока не видел ни одного мнения с серьёзной аргументацией про необходимость собственного компилятора раста, написанного на расте. Просто пуки в воздух "а вот у плюсов/сей есть".
sage[mailto:sage] Аноним 25/03/24 Пнд 20:22:40 #396 №3099526 
>>3099310
Лол, во первых они на расте LLWM в жизни не напишут;
Во вторых это очень небезопасТно будет, если у тебя утечка в unsafe ты базу никогда не раздебажишь, заново придется переписывать, либо оставлять каждый бинарий с утечкой;
В третьих если он будет селфхост то компиляция будет быстрее в разы, а зачем это микрософтам если язык нацелен на уничтожение опенсора и локальной компиляции в целом? Короче не будет такого никогда.
Аноним 25/03/24 Пнд 20:27:57 #397 №3099535 
>>3099310
> плюсового llvm
Это ведь худший компилятор плюсов, что угодно лучше шланга. Сравнивай с gcc или хотя бы msvc.
>>3099403
Чел, оптимизации делаются в соответствии с архитектурой, а не языком. Что за хуйню ты несёшь тут. Все языки на LLVM генерируют сначала IR-байткод, а потом уже оптимизируется под архитектуру и в машинный код компилируются.
Аноним 25/03/24 Пнд 21:14:29 #398 №3099571 
>>3099535
> худший компилятор плюсов
По каким критериям? По поддержке санитайзеров он например лучший. По понятности ошибок тоже лучше обоих. Да и по архитектуре.
Аноним 25/03/24 Пнд 21:16:58 #399 №3099572 
О какая интересная беседа тут у вас. Прям масло.

Баловался я как-то с llvm. Пытался добавить в него новую архитектуру для кодогенерации - по аналогии с теми, что там уже есть. Чем закончилось - очевидно. Убив пару дней на попытки это сделать, забросил в ужасе эту затею. Явно задача даже не на неделю, нет гарантии даже что за месяц можно добиться результатов на этом поприще. Там вникать глубоко нужнр, реально глубоко.

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

И ещё - методом тыка пробовать тоже не вариант - там базовые вещи в зависимостях, поэтому после каждоой правки в системе кодогенерации и оптимизации пересобирается половина проекта. А это долгий процесс.

Ух бля, не сложилось у меня с llvm.
Аноним 25/03/24 Пнд 21:20:15 #400 №3099575 
>>3099571
> По каким критериям?
Хотя бы по поддержке самих крестов. Единственный компилятор из тройки, до сих пор не имеющий полной поддержки С++20. Даже nvcc может, а шланг нет. А clangd такое лютое дерьмо, что даже JetBrains свою альтернативу с нуля написали, лол.
Аноним 25/03/24 Пнд 21:58:24 #401 №3099604 
>>3099519
>Просто так получилось, что большая часть его написана на плюсах.
>Так же и GCC - фреймворк для создания компиляторов, написанный на сях.
Почему бы появиться компилятору на расте?

>Так вот, зачем переписывать LLVM на расте?
Чтобы была специальная оптимизация под раст?

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

У настоящего языка должен быть собственный компилятор, который заточен под фичи и особенности этого языка.
Нет компилятора = нет языка.

>фреймворк для создания компиляторов
Это не язык тогда, а надстройка над фреймворком, который написан на другом языке, на другой логике.
Твой "язык" ограничен этим фреймворком, ты не можешь сделать что-то, что выходит за рамки его функциональности. А его функциональность определяется его авторами, а не потребностями твоего языка.

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

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

>Так же делает фронтенд плюсов
На чем была скомпилирована первая версия llvm? Вот и думай.


>>3099526
>Лол, во первых они на расте LLWM в жизни не напишут;
Им же хуже.
>заново придется переписывать,
В этом суть раста в безопасности. Криво написал, переписывай.


>>3099535
>Сравнивай с gcc или хотя бы msvc.
Что сравнивать? Вопрос был больше гипотетический. Понятно, что c/c++ это с нами до конца времен.
Аноним 26/03/24 Втр 09:14:34 #402 №3099806 
image.png
>>3099604
>Почему бы появиться компилятору на расте?
Он уже есть, это rustc

>Чтобы была специальная оптимизация под раст?
Специальные оптимизации под раст находятся во фронтенде, в rustc. Общие оптимизации - в llvm, они работают с IR

>У настоящего языка должен быть собственный компилятор, который заточен под фичи и особенности этого языка.
>Нет компилятора = нет языка.
Таак, python/perl/php/ruby/js/tcl - нет компилятора, не настоящие.
C#/Java с сателитами - компилятор только в CIL/байткод, которые запускаются в jit, написанном на плюсах, не настоящие.
Go/Swift/Julia/Rust - сделаны на llvm, не настоящие
Все компиляторы/трансляторы ассемблеров написаны не на этих ассемблерах - не настоящие.

Принеси-ка определение настоящего языка сюда. Только не из голосов в твоей голове и не с каких-нибудь форумов, а от кого-то более авторитетного в среде разработки языков - Страуструп, Ричи, Вирт, Гослинг, МакКарти вполне подойдут. Пик тебе для затравочки - опровергай.

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

>Твой "язык" ограничен этим фреймворком, ты не можешь сделать что-то, что выходит за рамки его функциональности.
Что такого я не могу сделать для раста в llvm, что мог бы сделать в отдельном компиляторе? Конкретнее, пожалуйста

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

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

>вот аналогия:
С кривыми аналогиями иди на свои форумы и в студенческий чатик
А то вдруг окажется, что в стране сиплюсплюсии есть своя армия и флот (llvm), армия и флот соседней страны (gcc), корпоративные армии и флоты (msvc/icc/nvcc/etc), причём штаб-квартиры этих корпораций находятся в другом измерении.

продолжаю кормление
Аноним 26/03/24 Втр 12:22:48 #403 №3100109 
>>3099519
>Избавиться от висячих указателей/гонок в многопоточке
Ну так и пидораст от подобных багов не спасает на 100%.
Аноним 26/03/24 Втр 13:13:39 #404 №3100210 
>>3099535
>Это ведь худший компилятор плюсов, что угодно лучше шланга
Схуяли?
Аноним 26/03/24 Втр 13:27:28 #405 №3100239 
>>3100109
Возвращайся обратно в /ga и не забудь извиниться перед своим парнем
sage[mailto:sage] Аноним 26/03/24 Втр 13:46:03 #406 №3100268 
>>3100239
>/ga/
Так его снесли и перекатили в этот тред. По статистике посмотри, по твоему почему сейчас тут обострение?
Аноним 27/03/24 Срд 17:41:14 #407 №3102202 
>>3099401
сингл респонсибилити же
Аноним 27/03/24 Срд 19:38:47 #408 №3102369 
>>3102202
значение знаешь?
Аноним 27/03/24 Срд 19:51:30 #409 №3102381 
>>3102369
Сейчас он расскажет что это когда только одно действие метод выполняет, лол.
Аноним 27/03/24 Срд 23:59:08 #410 №3102684 
>>3102369
нет
Аноним 01/04/24 Пнд 21:11:50 #411 №3109184 
>>3099806
>Давай уже вылезай из 80х годов XX века.
Ну блин, чувак, тогда придется отказаться от с++ и написанных на нем корпоративных высеров.
Аноним 01/04/24 Пнд 21:22:45 #412 №3109195 
https://www.reddit.com/r/rust/comments/14zehei/comment/js19e4b/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button
https://www.reddit.com/r/rust/comments/us6rza/comment/i92v47k/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button
Аноним 01/04/24 Пнд 21:43:27 #413 №3109209 
Rust developers at Google are twice as productive as C++ teams

https://www.theregister.com/2024/03/31/rust_google_c/

> When we've rewritten systems from Go into Rust, we've found that it takes about the same size team about the same amount of time to build it, that is, there's no loss in productivity when moving from Go to Rust. And the interesting thing is we do see some benefits from it. So we see reduced memory usage in the services that we've moved from Go ... and we see a decreased defect rate over time in those services that have been rewritten in Rust – so increasing correctness.

Получается пиздеж обман все это про низкую продуктивность н а расте
Аноним 01/04/24 Пнд 22:21:30 #414 №3109226 
>>3109209
Зная какие крестовики у гугла и то что они пишут фактически на С++03 - что угодно будет продуктивнее.
Аноним 02/04/24 Втр 10:09:51 #415 №3109564 
>>3109226
Читай внимательно: продуктивность на расте равна продуктивности на говне. а также котлине и прочих "высокоуровневых языках"
Аноним 02/04/24 Втр 10:30:05 #416 №3109582 
>>3109564
>котлине
У jvm проблема в скорости разработки кроется во всяких AbstractSingletonProxyFactoryBean и это не шутки https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/aop/framework/AbstractSingletonProxyFactoryBean.html как начинают всей этой хуйнёй заниматься так и уходит тонна времени. На расте и го писать все эти паттерны тяжелее и люди меньше занимаются написанием Паттернов, а больше кодом по делу
Аноним 02/04/24 Втр 10:40:01 #417 №3109588 
>>3109564
> а также котлине и прочих "высокоуровневых языках"
Хотелось бы узнать как ты сделал такие выводы. То что продуктивность говна как у сишки всем и так известно.
Аноним 02/04/24 Втр 10:51:05 #418 №3109596 
>>3109588
Личные очучения из опыта работы с котлином. Где-то быстрее раста из-за отсутствия борова, где-то медленнее из-за тупого тулинга и кривой семантики, где слишком дохуя ошибок приходится ловить в рантайме.
Аноним 02/04/24 Втр 11:05:58 #419 №3109610 
>>3109588
Если продуктивность говна как у сишки, то и у Явы под Граалем такая же продуктивность
Аноним 02/04/24 Втр 20:01:31 #420 №3110221 
>>3060366
и зачем это говно нужно?
я про гит
Аноним 02/04/24 Втр 20:46:41 #421 №3110253 
>>3109209
В гугле любой код проходит код-ревью владельца сервиса и мастера языка. Там код на код-ревью висит дольше чем пишется.
Цитата про продуктивность в таком контексте может значить всё что угодно.
Аноним 02/04/24 Втр 20:51:45 #422 №3110254 
>>3110253
Написал код - неделю хуи пинаешь, пока ревью ждёшь. Не работа - мечта! А может это скорость ревю выросла? Дак тоже плюс.
Аноним 02/04/24 Втр 21:28:23 #423 №3110262 
Тут кто-то про Java говорил, мб эксперт найдется, кто может на пальцах объяснить в какой момент времени GC вычищает объекты, на которых больше нет ссылок?
Просто представьте весь этот Spring с AOP магией, и попытайтесь понять такое, это невозможно.
Аноним 02/04/24 Втр 21:34:10 #424 №3110267 
https://www.youtube.com/watch?v=bS9em7Bg0iU
Аноним 02/04/24 Втр 22:56:19 #425 №3110306 
>>3110262
По дефолту гц пауза случается, когда мы создаём новый объект и приходится либо расширять кучу, либо нужно утрамбовать текущую. По факту есть оптимизации типа экспейп анализа и там хер проссышь. И вообще для жабы есть свой тред.
Аноним 02/04/24 Втр 23:18:29 #426 №3110320 
>>3110306
> гц пауза случается
Это же не GOвно, сто лет как есть асинхронная сборка мусора.
Аноним 03/04/24 Срд 01:21:07 #427 №3110369 
>>3110262
https://habr.com/ru/companies/otus/articles/776342/
Аноним 03/04/24 Срд 04:07:38 #428 №3110406 
На расте можно написать программу для webgpu?
Аноним 03/04/24 Срд 10:20:00 #429 №3110564 
>>3110406
Пробовал в гугле написать "webgpu rust"? Это быстрее чем на дваче вопрос оставить.
Аноним 03/04/24 Срд 10:29:22 #430 №3110568 
>>3110221
При разработке в Git прежде всего обеспечивается целостность исходного кода под управлением системы. Содержимое файлов, а также объекты репозитория, фиксирующие взаимосвязи между файлами, каталогами, версиями, тегами и коммитами, защищены при помощи криптографически стойкого алгоритма хеширования SHA1. Он защищает код и историю изменений от случайных и злонамеренных модификаций, а также позволяет проследить историю в полном объеме.

Использование Git гарантирует подлинность истории изменений исходного кода.

В некоторых других системах управления версиями отсутствует защита от тайного внесения изменений. Это может стать серьезной угрозой информационной безопасности в любой организации, занимающейся разработкой ПО.
Аноним 03/04/24 Срд 11:26:07 #431 №3110593 
>>3110564
вроде только js/ts
Аноним 03/04/24 Срд 11:37:29 #432 №3110600 
image
>>3110593
Ты это серьёзно?
Аноним 03/04/24 Срд 12:09:03 #433 №3110632 
>>3110600
У тебя неправильная выдача, речь не о wgpu
Аноним 03/04/24 Срд 12:40:15 #434 №3110649 
>>3110632
Ты шейдеры писать на расте хочешь что-ли? Такого нет, похоже. Могу нагуглить только https://github.com/EmbarkStudios/rust-gpu , но поддержки WGSL пока нет.
Аноним 03/04/24 Срд 13:24:38 #435 №3110669 
>>3110649
А на чем они пишутся, если vulkan в расте использовать?
Аноним 03/04/24 Срд 13:52:08 #436 №3110688 
>>3110669
Шейдеры в vulkan передаются в виде SPIR-V (байткод). Писать можешь на чём угодно, что сможешь транслировать в SPIR-V. Только причём тут webgpu и раст?
Аноним 03/04/24 Срд 16:01:27 #437 №3110822 
>>3110688
графика, чел.
Аноним 03/04/24 Срд 16:19:55 #438 №3110835 
>>3110822
Что графика? Я не телепат, не понимаю твои мысли.
Аноним 03/04/24 Срд 16:30:02 #439 №3110837 
>>3110649
> шейдеры писать на расте хочешь что-ли?
Кстати-кстати! Шейдерный язык GLSL является потомком си. Надо бы написать RSSL основанный на расте!
Аноним 03/04/24 Срд 18:29:51 #440 №3110937 
>>3110837
Можно на HLSL писать, он тоже в SPIR-V компилиться умеет, там почти кресты, даже дженерики есть.
Аноним 03/04/24 Срд 21:56:52 #441 №3111128 
https://www.youtube.com/watch?v=mve4H2ifY-I
Аноним 03/04/24 Срд 22:57:29 #442 №3111155 
>>3110937
> Можно на HLSL писать
Нельзя. Он богомерзкий. Майкрософт нашла критический недостаток в GLSL - он сделан не ими, и выпустила HLSL.
Аноним 03/04/24 Срд 22:58:20 #443 №3111156 
1712174299970.mp4
>>3111128
> Rust and Zig Combined
Аноним 04/04/24 Чтв 09:01:35 #444 №3111348 
>>3111156
Эхх, легендарные времена, когда телек был ещё не для быдла, но уже пытался быть интересным.
Аноним 04/04/24 Чтв 10:10:21 #445 №3111398 
>>3111348
Телик, быдло.
Аноним 04/04/24 Чтв 10:15:50 #446 №3111404 
>>3111398
От слова теливизор, видимо. Вот такие тела в школе не доучатся, а потом в айти катятся.
Аноним 04/04/24 Чтв 10:51:09 #447 №3111443 
>>3111404
а велик от слова велисипед?
Аноним 04/04/24 Чтв 11:38:40 #448 №3111500 
image
image
>>3111443
На моей стороне народ русскай
Аноним 04/04/24 Чтв 15:49:24 #449 №3111777 
>>3111156
Ну так все правильно, ты видел когда нибудь железные балки из одной ржавчины?
Аноним 05/04/24 Птн 00:27:44 #450 №3112261 
image.png
>>3111404
У меня одни пятёрки в аттестате, а ты прогулял урок, где рассказывали про суффиксы. Читай, восполняй пробел.
>>3111500
В Интернет, к сожалению, пускают даже без справки от психиатра, не говоря уже об аттестате. Так что это не показатель. На моей стороне академический справочник.
Аноним 05/04/24 Птн 08:05:22 #451 №3112410 
>>3112261
Это просторечное слово, следовательно, какие в пизду правила?
Телек vs телик идёт с соотношением 3:1 именно в той самой простой речи, которая срать хотела на правила и живёт своей бурной жизнью. Всякие попытки загнать её в рамки правил, считаю бюрократическим крючкотворством.
Аноним 05/04/24 Птн 11:31:54 #452 №3112589 
К вопросу о скорости разработки. Ебусь с жабой
java.lang.NullPointerException: Cannot read field "classname" because "model" is null

и знаете, шо? Проверяю объект - а он, сука, не null. Оборачиваю в try - а тоже похуй, при попытке доступа к classname валит исключение, причём не в моём коде, а где-то в потоке. Блять, я бы лучше лишние 10 раз с боровом поебался, чем с этим.
Аноним 05/04/24 Птн 14:05:10 #453 №3112732 
why.mp4
А почему нельзя значения переменных c и d на два байта вниз подвинуть ну и может значения имеющих к этому отношение регистров поправить перед тем как делать b.push()?
Аноним 05/04/24 Птн 16:30:41 #454 №3112902 
>>3111777
Вообще, непонятна душа англицкая, почему слово ржавчина им показалось достойной для названия языка?, который по своей задумке наоборот нержавеющий (ржавчина - это же мусор).
Аноним 05/04/24 Птн 17:01:48 #455 №3112934 
1599px-Rust-AH-2022.jpg
>>3112902
Да нет, назвали раст очень мудро и правильно, сейчас обьясню.
Когда в металлопроизводстве защищают металл от коррозии, создают процесс названный пассивацией, и один из таких методов, как ни странно, саму ржавчину и использует - например Кортеновская сталь (или "вечная сталь") полностью покрыта пленкой, которую зовут ржавчиной (но по сути это патина), пик - и есть этот слой. Это своего рода натуральный способ борьбы с короззией при помощи самой ржавчины. В нашем же случае коррозия отсылает на утечки памяти. В мозилле раст создали именно ради своего рода защитной пленки браузера; просто язык совсем неправильно поняли и он попал в руки корпорастов, которые пытаются сделать из него якобы замену плюсам, хотя предпологалась как вспомогательный язык - даже создатель раста писал, что сделали что то непонятное. Вообщем печально получилось, как корабль назовешь - так он и поплывёт.
Аноним 05/04/24 Птн 17:20:01 #456 №3112959 
>>3112934
> назвали раст очень мудро и правильно, сейчас обьясню
> создают процесс названный пассивацией
А, ну тогда всё ясно.
Аноним 05/04/24 Птн 17:26:56 #457 №3112972 
>>3112732
Представь что дальше по стеку не два байта, а две тыщи двести двадцать два. Как это скажется на производительности? Вообще, в си есть VLA, которые никто не использует по прямому назначению кажется.
Аноним 05/04/24 Птн 18:20:13 #458 №3113030 
Стикер
>>3112934
А грибы?
Аноним 05/04/24 Птн 23:28:24 #459 №3113326 
>>3112732
Теоретически можно, но гораздо проще просто аллоцировать массив с новой длинной дальше по стаку и копировать туда данные.
Кстати не знаю причем здесь стак, даже в куче массивы вроде не растут, только копируются с более длинные.
По крайней мере так в джаббе, а в расте массивы могут расти?
Аноним 05/04/24 Птн 23:42:40 #460 №3113329 
>>3113326
Vec в 2 раза растёт когда место кончается. Как именно растёт — копируется или как-то с ссылками ебутся не знаю.
Аноним 05/04/24 Птн 23:51:51 #461 №3113334 
>>3113329
Vec это не массив.
>>3113326
В расте нет такого типа — массив. Есть массивы заранее известной на этапе компиляции длины. Т.е. [T; 24] и [T; 42] — это разные типы. Они не могут расти по определению
Аноним 05/04/24 Птн 23:59:56 #462 №3113341 
>>3113329
Посмотрел, ну как в джаве (и как везде наверное) работает github.com/rust-lang/rust/blob/master/library/alloc/src/vec/mod.rs#L263
Просто копируют в новый массив большей длины и это в куче
>If a vector's length exceeds its capacity, its capacity
/// will automatically be increased, but its elements will have to be
/// reallocated
>If the vector's length would exceed its
/// capacity after the push, O(capacity) time is taken to copy the
/// vector's elements to a larger allocation.
Аноним 06/04/24 Суб 00:08:04 #463 №3113344 
>>3112410
Даже матюги пишутся по правилам. Например, пишем хуй, а не хухь; блядь, потому что проверяется словом бляди; пиздёнка без мягкого знака, несмотря на смягчение перед д. Так и с теликом: ну не выпадает там гласная из суффикса при склонении, поэтому пишем через и.
Разговорная речь ещё и знаками препинания оформляется, к слову.
Аноним 06/04/24 Суб 00:22:18 #464 №3113349 
>>3113334
Разговор начался с
>>3112732
> делать b.push()
Аноним 06/04/24 Суб 00:28:40 #465 №3113353 
>>3113349
В видео объясняется почему нельзя написать b.push() для массивов. Там буквально написан массив из 3-ёх u8. То же самое переспросил анон. Векторы тут не причём.
Аноним 06/04/24 Суб 09:19:37 #466 №3113465 
>>3113344

Я катаюсь на велике, но смотрю новости по телеку, ничего не могу с собой поделать. Возможно это от того, что сокращение часто происходит "на лету": Мань, что у нас сегодня по теле.. и далее мозг выбирает между визору или леку, что с тели.. было бы невозможно. Вариант телик на мой слух звучит как-то инфантильно-детсадовски, ещё и созвучно со словом челик: Это что там за (ч|т)елик? - а вот хуй ты проссы, что там сказано.
Кофе в среднем роде недавно узаконили, так и тут победа будет за нами.
Аноним 06/04/24 Суб 10:32:57 #467 №3113538 
>>3113344
https://www.youtube.com/watch?v=KmOcgnEoKcc
Аноним 06/04/24 Суб 11:37:45 #468 №3113590 
>>3113538
https://www.youtube.com/watch?v=f4EOMbmIqqw
Аноним 06/04/24 Суб 13:35:33 #469 №3113776 
>>3113326
Эхх, щас бы расти в расте как программист.
Аноним 06/04/24 Суб 13:57:35 #470 №3113795 
>>3113334
> [T; 24] и [T; 42] — это разные типы
Пиздос. У них там ещё и многомерных массивов нет, наверное?
Аноним 06/04/24 Суб 15:14:20 #471 №3113876 
>>3113795
>У них там ещё и многомерных массивов нет, наверное?
Тип T может быть любым типом, удовлетворяющему трейту Sized, например другим массивом.
Аноним 06/04/24 Суб 15:15:05 #472 №3113879 
1712405706023.png
>>3113795
Да хватит уже срать! Идите в свои треды и обсуждайте там свои джавы!
Аноним 06/04/24 Суб 16:06:15 #473 №3113951 
>>3113795
C чего бы им одним типом быть? Это не динамический массив же
Аноним 06/04/24 Суб 16:09:14 #474 №3113953 
>>3060192 (OP)
говно без задач
Аноним 06/04/24 Суб 16:38:52 #475 №3113980 
16815760584710 (1).png
чет смотрю все больше народу переписывает библы с C/C++ на пайтоне под раст
стоит ли закатываться?!
Аноним 06/04/24 Суб 18:23:59 #476 №3114105 
>>3113980
Ты разрабатываешь на питоне? Стоит, если ты:
1. Заебался поддерживать нативную либу.
2. Планируешь написать с нуля нативную либу.
3. Хочешь похайповать вместе с остальными.
Аноним 06/04/24 Суб 19:01:08 #477 №3114178 
>>3113980
Главная причина почему они это делают - уёбищные разрабы питона и то что питон на сишке написан. Собирать крестовые модули для питона просто ад, там ещё система сборки просто пиздец, хуже для крестов нет. В ней куча многолетних багов и ебучий ninja. По задумке припизднутых питонистов оно должно просто собираться одной командой на любых платформах, но мы же прекрасно знаем что кроссплатформенных крестов как и сишки не существует, у каждой системы свои компилятор и стандартная либа. Поэтому сборка крупных либ под виндой, если она таргетится под линукс - это такой цирк с конями, что даже всякие гуглы/меты не могут осилить, оно иногда собирается в определённых окружениях, иногда нет. А ошибки сборки из какого-нибудь nvcc - это отдельный пиздец, который годами никто не может разобрать и пофиксить. Хотя с nvcc раст тоже не сильно поможет, он ещё хуже с кудой дружит.
> стоит ли закатываться?!
Стоит если ты в первую очередь веб-питонист и тебе просто надо узкие места оптимизировать. Если ты из машоба, то раст в это плохо умеет, лучше дальше страдать со сборкой.
Аноним 06/04/24 Суб 23:54:00 #478 №3114640 
>>3113465
Ты смотришь новости по телику, не по *тельку.
>созвучно со словом челик
Так и с великом рифмуется. А если у тебя написание (!) звучит, то это ты просто не разбираешься в матчасти. Звук от буквы не отличаешь?
>Кофе в среднем роде
Грамматически у этого больше оснований, потому что такая начальная форма у слов среднего рода: поле, море и т.д. Но всё же употребление в мужском роде коррелирует с высоким уровнем образования.
Аноним 07/04/24 Вск 05:27:18 #479 №3114849 
>>3113344
> по правилам
А потом появляются всякие стеклянный, оловянный, деревянный.
Аноним 07/04/24 Вск 08:44:35 #480 №3114947 
>>3114640
> тебя написание (!) звучит
В просторечном слове очень даже звучит. Я могу написать блять вместо блядь или йоп твою за ногу именно, чтобы акцентировать на произношении, никто и не подумает доебаться. Так и с телеком я акцентирую отличие в произношении от телика, который для меня звучит нелепо.

>Так и с великом рифмуется
Не рифмуется, а созвучно, не путай. Ч и мягкая Т звучат максимально близко.
Аноним 08/04/24 Пнд 09:27:08 #481 №3116126 
Можно ли на расте писать десктопные кроссплатформенные приложения?
Аноним 08/04/24 Пнд 13:28:15 #482 №3116305 
Какую книжку лучше читать первой? Клабник С., Николс К. - Программирование на Rust или Макнамара Тим - Rust в действии?
Аноним 08/04/24 Пнд 14:53:52 #483 №3116369 
>>3116126
Есть привязки к популярным кроссплатформенным библиотекам для построения пользовательских интерфейсов.
>>3116305
Читай растбук.
Аноним 08/04/24 Пнд 17:21:12 #484 №3116453 
Какие расширения есть для вс кода? Поставил rust-analyser и он жрёт с ходу полгига озу, после редактирования toml вообще завис, так же дофига всякой шляпы добавляет в код, без спросу что-там создаёт в таргете (через гит увидел). А мне всего лишь нужна подсветка синтаксиса и автокомплит. Есть более легковесные аналоги?
Аноним 08/04/24 Пнд 17:38:57 #485 №3116458 
>>3116453
А хуле ты думал? Язык компилируемый. Ну естественно он компилирует код вначале. Rust-analyzer вполне адекватное расширение.
Аноним 08/04/24 Пнд 19:17:52 #486 №3116529 
>>3116453
А еще если ты поставишь антивирус касперского, он завизжит, что артефакты компиляции у тебя все вирусные.
Аноним 09/04/24 Втр 08:24:17 #487 №3116809 
Написал хеллоу ворлд, после компиляции бинарь 3,6 Мбайта. Это точно язык для системного программирования? Даже в голанге, где встроен рантайм, получается около 2 Мбайт.
Аноним 09/04/24 Втр 08:31:32 #488 №3116817 
>>3116809
Это ты в дебаге собрал. Но вообще в расте бинари огромные, даже в релизе хэллоу ворлд будет 400 кб весить, а 10 строчек кода с использованием std до мегабайта поднимут его. С либами вообще пиздец, сразу за несколько мегабайт улетает.
Аноним 09/04/24 Втр 08:34:15 #489 №3116824 
>>3116817
Это не нормально. Для сравнения многие стандартные линуксовые консольные утилиты занимают 20-100 Кбайт.
Аноним 09/04/24 Втр 08:48:31 #490 №3116840 
>>3116824
Одна только libc занимает 2 мегабайта, если линковать статически.
Аноним 09/04/24 Втр 08:50:46 #491 №3116847 
Ещё плагин через раз работает, постоянно отваливается. Я теперь понял, зачем там пункт restart server. Насколько же всё сыро, хотя уже прошло немало времени.

>>3116840
Разве нельзя сделать, чтобы он брал только те функции, которые нужны, а ненужные не включал?
Аноним 09/04/24 Втр 09:01:35 #492 №3116868 
>>3116847
В Расте тоже можно убрать лишнее, если специально заморочиться. Вот так всегда, заёбываются по мелочам вместо чего-то важного, а потом в 2024 году все приложения однопоточные и игры статтерят, потому что нам лень шейдеры компилить асинхронно.
Аноним 09/04/24 Втр 09:04:57 #493 №3116873 
>>3116868
Я хотел писать на расте легковесные утилиты для старых пека, потому что там сейчас ничего из современного невозможно запустить, всё гиганстких размеров и тормозит. А получается проблема в самих компиляторах, потому что они не позволяют делать маленькие программы, а сразу генерят эти огромные бинари, которые потом сжирают всю память и тормозят.
Аноним 09/04/24 Втр 09:16:46 #494 №3116880 
>>3116873
Старые - это 386-ые? Потому что даже у некроноутов 10 лет назад было от 4 гигабайт памяти, и полмегабайта даже на них не решали. Вот Электрон для них смерть.
Аноним 09/04/24 Втр 09:26:26 #495 №3116897 
>>3116880
На ZX Spectrum было вообще 48 Кб ОЗУ и там не то что консольные программы были, а даже цветные видеоигры. А теперь на 48Кб даже хеллоуворлд не запустишь.
И 10 лет назад 4 гига было только у мажоров. Лично у меня ноупук тех времен был 2 ядра 2 гига, сейчас там даже "легковесные" дистрибутивы линупса с трудом работают.
Аноним 09/04/24 Втр 10:56:45 #496 №3117081 
>>3116809
https://lifthrasiir.github.io/rustlog/why-is-a-rust-executable-large.html
Аноним 09/04/24 Втр 11:22:12 #497 №3117111 
>>3116873
Если ты прям такой оптимизатор, то рекомендую сначала освоить всё-таки что такое статическая и динамическая линковка. Тема изжёвана 100 раз уже. В ОП-посте есть ссылка на гитхаб, там есть статья в которой всё подробно объясняется. Ах да, тебе её уже скинули, ленивая жопа. Нихера ты писать не будешь всё равно, пишу ответ только для ньюфагов, которые решат что раст говно из-за таких провокаций. На расте можно писать как на си, только зачем.
Аноним 09/04/24 Втр 11:30:43 #498 №3117121 
>>3117081
Почему разработчики раст не написали свою библиотеку системных вызовов, а пользуются сишной? Наверно, придётся изучать API и писать свои обёртки на каждый системный вызов.

>>3117111
Об этом должны были подумать разработчики раста, а не рядовые программисты, которые знакомятся с языком.
Пока я вот вообще не вижу преимуществ перед сишкой. Фактически нам предлагают тот же С/С++ только с другим синтаксисом.
Аноним 09/04/24 Втр 11:38:21 #499 №3117129 
>>3117121
> тот же С/С++
В крестах хеллоу ворлд меньше 10 кб, не пизди на них.
Аноним 09/04/24 Втр 11:45:01 #500 №3117137 
image
>>3117121
>Почему разработчики раст не написали свою библиотеку системных вызовов, а пользуются сишной? Наверно, придётся изучать API и писать свои обёртки на каждый системный вызов.
Уже есть соответствующие крейты, бери и пользуйся.
>Об этом должны были подумать разработчики раста, а не рядовые программисты, которые знакомятся с языком.
У рядовых программистов не стоят задачи написать самый маленький хелловорлд. А у разработчиков языка не стоит задача заставить все операционные системы поставлять с системными библиотеками раста. Включай мозги.
Аноним 09/04/24 Втр 12:25:35 #501 №3117184 
>>3117121
>Пока я вот вообще не вижу преимуществ перед сишкой
На сишке ты будешь постоянно занят
- поиском нужной либы
- линковкой нужной либы
- правильно написать формулу для определения размера для malloc
- не забыть бы сделать free
Аноним 09/04/24 Втр 12:34:01 #502 №3117190 
>>3117184
> линковкой нужной либы
В 2024 году это одна строчка с FetchContent и ссылкой на гит либы. Cmake всё сам сделает.
Аноним 09/04/24 Втр 13:29:19 #503 №3117245 
>>3117190
Ну и вали в свой си-тред.
Аноним 09/04/24 Втр 14:00:32 #504 №3117266 
Коллеги, а может челлендж? У меня 8/12

https://rust-book.cs.brown.edu/ch17-05-design-challenge.html
Аноним 09/04/24 Втр 14:15:11 #505 №3117269 
>>3117121
https://docs.rs/libc/latest/libc/ обертки написали
Аноним 09/04/24 Втр 15:44:07 #506 №3117352 
fn plus_one(x: i32) -> i32 {
x + 1
}

Это я считаю дурным решением. Чем им не понравился return? А программист должен высматривать какие-то точки с запятой в коде. Я их может на автомате ставлю за все годы программирования на си-подобных языках.
Аноним 09/04/24 Втр 15:51:47 #507 №3117358 
>>3117352
Мне тоже сразу не понравилось, но в растбуке это было объяснено, и я согласился с логичностью этого решения. Но не помню, в чём была там суть. Короче, читай растбук и поймёшь, зачем они так сделали.
Аноним 09/04/24 Втр 15:55:29 #508 №3117360 
>>3117358
Аа... Вспомнил. Это из за выражений. Компилятор раста рассматривает языковые конструкции как выражения. Точка с запятой завершает выражение и начинает новое. Таким образом, ретурн становится не нужен. Если функция заканчивается выражением, то функция результат выражения и возвращает. Надеюсь доходчиво объяснил. Если непонятно, то как написано выше, читай растбук.
Аноним 09/04/24 Втр 17:15:01 #509 №3117390 
Правильно ли я понимаю, что если меня бесит костыльность плюсов с их невероятно огромным стандартом, противоречящим самому себе в тонких местах, но при этом не устраивает джава из за скорости и недостаточного контроля, то раст - то что мне нужно?
Аноним 09/04/24 Втр 17:24:38 #510 №3117400 
>>3117390
Какую задачу ты собираешься решать? Пытаюсь понять, что привело к выбору из этих 3ёх языков.
Аноним 09/04/24 Втр 17:28:53 #511 №3117408 
>>3117400
Я пилю свой проект который в теории мне должен деньги приносить, поэтому нужно экономить время. И тут Java >>> C++, потому что куча либ, сервисов, стандарт хороший. Но синтаксис просто пизда какой бойлерплейтный + есть числодробительные места в которых хотелось бы максимальной производительности без ебли со сборкой кусков написанных на разных языках в одного монстра
Аноним 09/04/24 Втр 17:29:27 #512 №3117410 
>>3117390
С такими шизоидными рассуждениями - да, как раз в раст. Там тебе расскажут один единственный метод написания кода и будешь писать.
Аноним 09/04/24 Втр 17:30:41 #513 №3117413 
>>3117390
Язык норм сам по себе. Я не понимаю, зачем сравнивать. Типизация есть, zero-cost abstractions есть, скорость есть, безопасность есть, форматирование, тестирование из коробки есть. Чё те ещё собака надо? Тебе не похуй чё там в с++? Не похуй на джаву? Какой язык тебе не дай, ты же всё равно используешь отсилы 10% возможностей. Для твоих васянских говнопроектов любой язык в мире подойдёт кроме ассемблера.
Аноним 09/04/24 Втр 17:38:38 #514 №3117421 
>>3117413
Че порвался?
> Какой язык тебе не дай, ты же всё равно используешь отсилы 10% возможностей
Как скажешь. Этого достаточно, чтобы 2900 иметь зеленых в месяц
Аноним 09/04/24 Втр 21:41:00 #515 №3117602 
>>3117390
>>3117408
Нет, скорее всего джава - это то что тебе нужно. Просто дело в том, что люди пишут на джаве на отъебись - и все тормозит, а потом идут в раст/сиси плюсплюс, считают байтики - и все летает. И связывают производительность с языком, а не с тем как они пишут код в каждом из случаев.
Недавно был челлендж выжать из джавы максимум, агрегируя миллиард строк на лету https://github.com/gunnarmorling/1brc
Естественно участники считали байтики и естественно джава со скоростью света всё разрулила.
Так что - будешь писать на джаве как на си - получишь и перформанс близкий к си, будешь на си писать как на джаве - получишь перформанс как на джаве.
Аноним 10/04/24 Срд 09:18:24 #516 №3117768 
Начал читать про владение и уже жопа горит. Кто это говно придумал?! Покажите мне! Покажите! Может ему лечиться пора? Он ещё не знает, не подозревает.
Аноним 10/04/24 Срд 10:05:27 #517 №3117805 
>>3117768
Прикинь, это ещё и заразно https://docs.modular.com/mojo/manual/values/ownership
Аноним 10/04/24 Срд 10:27:57 #518 №3117812 
>>3117768
>Кто это говно придумал?! Покажите мне! Покажите! Может ему лечиться пора?
Стало интересно, кто же действительно это придумал. Согласно википедии подструктурные, такие как афинные в расте, представляют из себя аналог подструктурной логики для типов (очевидно). А подструктурная логика вроде как впервые описана Иваном Орловым в 1928г. Ну а подструктрные типы как понятие как будто впервые появляются в статье Walker, David (2002) "Substructural Type Systems", но это не точно.
Аноним 10/04/24 Срд 15:05:34 #519 №3118069 
>>3117768
Благодаря принципу владения не нужен сборщик мусора, и при этом не требуется вручную освобождать мусор. Не нравится - не ешь.
Аноним 10/04/24 Срд 16:45:12 #520 №3118185 
gcc-hello.jpg
Для сравнения, попробовал откомпилировать на си и без всяких ухищрений, оговорок и миллионов ключей сразу получил адекватный размер бинарника в 16Кб.
Аноним 10/04/24 Срд 16:51:34 #521 №3118196 
>>3118185
Поздравляю.
Аноним 10/04/24 Срд 18:36:18 #522 №3118304 
>>3118185
Держи в курсе
Аноним 10/04/24 Срд 19:01:04 #523 №3118325 
>>3118185
Теперь сделай то же самое, но чтобы при исключениях выдавался человекочитабельный стектрейс.
Аноним 10/04/24 Срд 19:15:26 #524 №3118350 
>>3117602
Спасибо
Аноним 10/04/24 Срд 19:31:22 #525 №3118373 
>>3118185
Бля, я тут хотел чекнуть сколько у zig будет хеллоу ворлд, вроде помнил что меньше 10 кб был. В итоге чуть очко не сгорело. В стабильной версии 0.11 хеллоу ворлд под виндой вообще не собирается с -O ReleaseSmall с --release=small тоже ошибка компиляции, две строчки кода скопированы из доков зига, без оптимизаций компилируется и пишет в консоль. Ошибка очень информативная:
> error: the following build command failed with exit code 1
Ясно, понятно, ну думаю хуй с ним, поставлю последнюю dev-версию. Там хеллоу ворлд компилируется, но в консоли пусто. Пиздец нахуй. Я этот кал в принципе не долюбливал, но после этой хуиты точно больше не притронусь к нему.
Аноним 12/04/24 Птн 15:08:01 #526 №3120319 
>>3117408
>И тут Java >>> C++
kotlin >>>>>>>> java
Аноним 12/04/24 Птн 15:41:04 #527 №3120351 
>>3120319
На котлине нет value типов, а для числодробилок они нужны
Аноним 12/04/24 Птн 23:52:41 #528 №3120686 
image.png
Чего нахуй
Аноним 12/04/24 Птн 23:57:54 #529 №3120690 
>>3120686
Ну я 2.0 в инт перевел, хуй знает как по-другому
Аноним 13/04/24 Суб 00:00:03 #530 №3120693 
>>3120686
Компилятор говорит тебе пошёл нахуй, вот что. Типы тут прибиты гвоздями и не кастуются.
Аноним 13/04/24 Суб 11:40:56 #531 №3120874 
>>3120686
Альт+шифт+интер нажми. Написано же.
Аноним 13/04/24 Суб 11:58:04 #532 №3120885 
>>3120874
Так не сработает, он его сделать as float64, потом такой а тут должен быть инт и предложит добавить as i32 и так до бесконечности
Аноним 13/04/24 Суб 12:05:55 #533 №3120889 
>>3120885
А в чём собсна задача? Какого типа должен быть идентификатор?
Аноним 13/04/24 Суб 12:07:29 #534 №3120890 
>>3120885
да блядь
у тебя присваивается, что 1, то 2.0
сделай или 1.0 и 2.0 или 1 и 2
остальные аналогично - выбери один тип, т.к. переменная идентифаер у тебя одна и компилятор должен знать ее тип
Аноним 13/04/24 Суб 12:11:06 #535 №3120893 
image.png
>>3120889
>>3120890
Задача в том, чтобы работало, я вот решение написал уже >>3120690, успокойтесь

Кто-нибудь с таури работал? Я хочу что-то типа пикрила сделать, это возможно?
Аноним 13/04/24 Суб 12:18:37 #536 №3120898 
>>3120893
> я вот решение написал уже >>3120690, успокойтесь
Как тут успокоиться, когда ты пишешь
>>3120690
> в инт перевел, хуй знает как по-другому
Показывая полное непонимание происходящего.

А ещё и в таури лезешь, не поняв базовых типов, не поняв литералов.
Аноним 13/04/24 Суб 12:22:26 #537 №3120902 
>>3120898
>Показывая полное непонимание происходящего.
Так почему, я понимаю, что раст требует, чтобы возвращаемые значения в условии были одного типа.

Там на выбор есть сделать возвращаемые значения инт или флоат. Тк дальше идет дрочка с интами, и только 1 значение флоат, то проще поменять 2.0 на 2.

Под "хз как по-другому" я имел в виду, что концептуального другого решения кроме как привести все возвращаемые значения к одному типу я не вижу
Аноним 13/04/24 Суб 12:26:55 #538 №3120905 
>>3120902
Зачем вообще дрочка с цифрами? У тебя приходит строка и отдашь строку. Почему не сделать
> если хомяк то лес
> если змея то пустыня
???
Аноним 13/04/24 Суб 12:27:29 #539 №3120907 
>>3120902
>концептуального другого решения кроме как привести все возвращаемые значения к одному типу я не вижу
так его и нет
Аноним 13/04/24 Суб 12:32:18 #540 №3120909 
image
Я тут, аноны, работаю с teloxide через dptree (ну, пизжу с примеров). И просто охуеваю с dptree - они столько накрутили, что там чуть ли не свой язык погроммирования. Например, при написании бота ты пропихиваешь функцию для какой-то ветки (на скрине через branch) и сигнатура этой функции чекается в рантайме, нахуй.

Вот теперь думаю, как бы переделать на нормально.
Аноним 13/04/24 Суб 12:33:27 #541 №3120910 
image.png
>>3120905
Потому что автор задачи написал ниже "DO NOT CHANGE THIS STATEMENT BELOW"
Аноним 13/04/24 Суб 12:38:53 #542 №3120911 
>>3120910
Ну так с этого следовало начинать. А ты первый скрин всплывающей подсказкой перекрыл и траллируешь тут битый час.
Аноним 13/04/24 Суб 12:46:37 #543 №3120912 
>>3120902
> как привести все возвращаемые значения к одному типу
Enum
Аноним 13/04/24 Суб 13:14:39 #544 №3120932 
>>3120910
Ну и поменяй на 1, 2, 3, -1
Вообще, какое-то ебанутое задание. Джун, который думает, что он мидл, сделал задание для долбоёба, который думает, что он джун.
Аноним 13/04/24 Суб 13:24:44 #545 №3120934 
>>3120932
Какой нах джун, если я только синтаксис раста учу
Аноним 13/04/24 Суб 13:56:16 #546 №3120950 
image.png
image.png
Можете подсказать, что тут происходит с сигнатурой функции string_uppercase в пик1?

Я уже решил задачу через пик2. Сейчас хочу заставить это работать так, чтобы при этом data из main сохранилась и можно было её использовать после вызова string_uppercase (вроде бы это называется инвалидация, и я хочу избежать инвалидации data)
Аноним 13/04/24 Суб 14:00:29 #547 №3120951 
image.png
>>3120950
Хуй знает, че там автор задания делает, вот так работает и делает то, что я хочу. В чем я не прав?
Аноним 13/04/24 Суб 15:58:17 #548 №3121042 
>>3120893
> Кто-нибудь с таури работал? Я хочу что-то типа пикрила сделать, это возможно?
Можно, сделай async функцию и там запрашивай что хочешь.
Аноним 13/04/24 Суб 16:24:00 #549 №3121063 
>>3120950
После упееркейз у тебя создается новая String и тут же дропается, соответственно ссылка инвалидируется. Присвой её в новую переменную, и тогда она доживет до конца скоупа.
Типа:
let uppercased = str.touppercase()
let ref = &uppercased
println("{ref}")
Аноним 13/04/24 Суб 22:20:56 #550 №3121533 
image.png
В чем прикол с енамами, как это разгребать, когда в одной куче считай лежат структуры, которым ещё и методы можно добавлять.
Ваще жесть какая-то
Аноним 14/04/24 Вск 09:26:53 #551 №3121713 
>>3121533
В расте одна из лучших имплементаций енумов что я видел, я хз.
Аноним 14/04/24 Вск 09:37:57 #552 №3121718 
>>3121533
> В чем прикол с енамами, как это разгребать
Как и в любом другом языке. Кроме того что дополнительно к нумерованной константе енума в расте ты можешь прикрутить дополнительное значение. Вот бы в других языках так же. Хочу растовские енумы в шарпе. Аш пичот!

> // c# dotnet 12
> switch (eblya)
> {
> case Yebles.VPizdu _pezda: return _pezda.IsBreaded;
> case Yebles.VRot _rot: return _rot.NumOfTeeth;
> case Yebles: VZhopu _zhopa: return _zhopa.diameter;
> default: return Yebles.Droch;
> }

Пока что на шарпе такое можно делать разве что через наследуемые интерфейсы, но это горы ёбнутого бойлерплейта вырастут.
Аноним 14/04/24 Вск 10:10:43 #553 №3121732 
Some на шарпе.png
>>3121718
> разве что через наследуемые интерфейсы
Или через классы. В любом случае получится ГЦ-дрисня. А в растике нашем-то зеро-кост!
Аноним 14/04/24 Вск 12:10:25 #554 №3121854 
SomeT на шарпе.png
>>3121732
Или через классы с шаблонами. Всё равно получается Droch.
Аноним 14/04/24 Вск 13:26:31 #555 №3121936 
>>3121533
Алгебраические типы норм. Я бы кстати выбросил 99% фишек пидораста оставил няшные енумы и макросы, писал бы как на си и было бы заебись.
Аноним 14/04/24 Вск 13:39:19 #556 №3121950 
>>3121936
Двачую.
Аноним 14/04/24 Вск 14:05:49 #557 №3121991 
1713092750123.png
1713092750146.png
А вот так в шарпе можно реализовать скрин отсюда >>3121533
Программа работает так же, только телодвижений больше.
Аноним 14/04/24 Вск 14:15:57 #558 №3122014 
>>3121936
> макросы
За такие предложения даже обоссать не жалко.
Аноним 14/04/24 Вск 14:26:27 #559 №3122054 
>>3122014
Долбоёб иди нахуй.
Аноним 14/04/24 Вск 14:26:59 #560 №3122055 
>>3121991
Это пиздец.
Аноним 14/04/24 Вск 14:39:32 #561 №3122091 
>>3122055
Ждём, когда майкрософт обнаружит критический недостаток в расте...
Аноним 14/04/24 Вск 14:40:29 #562 №3122094 
>>3122091
Ты хотел сказать фатальный недостаток?
Аноним 14/04/24 Вск 14:42:30 #563 №3122097 
>>3122094
Можно и фатальный. Мне похуй. Главное, чтобы завезли растовые енумы в шарп.
Аноним 14/04/24 Вск 14:58:05 #564 №3122130 
Ананы, кто-нить пробовал на вкус Аду ? Как оно по сравнению с растом? Я тут пытаюсь, тулинг зело сырой, хотя alr и пытаются копировать с cargo.
Ещё узнал, что есть (будет?) gnat-studio для раста.
Аноним 14/04/24 Вск 16:07:41 #565 №3122272 
>>3122130
> ада
> ада
> ада
Пойди в питонотреде спроси, идиот.
Аноним 14/04/24 Вск 17:25:19 #566 №3122369 
>>3121991
Тебе заняться нечем, пчел? Успоуойся уже)
Аноним 14/04/24 Вск 18:24:24 #567 №3122461 
>>3122272
Нюхни калца, обиженка.
Аноним 14/04/24 Вск 18:59:17 #568 №3122510 
>>3121936
В зиге есть что-то подобное:

// first define the tags
const ValueType = enum {
int,
float,
string,
unknown,
};

// not too different from simple union
const Value = union(ValueType) {
int: i32,
float: f64,
string: []const u8,
unknown: void,
};

// just like the simple union
var value = Value{ .float = 42.21 };

switch (value) {
.int => std.debug.print("value is int={d}\n", .{value.int}),
.float => std.debug.print("value is float={d}\n", .{value.float}),
.string => std.debug.print("value is string={s}\n", .{value.string}),
else => std.debug.print("value is unknown!\n", .{}),
}

Спижжено отсюда: https://zig.news/edyu/zig-unionenum-wtf-is-switchunionenum-2e02

Правда зиг не для меня - я слишком туп чтобы за сырыми указателями следить, мне семантика владения ближе.
Аноним 14/04/24 Вск 19:12:42 #569 №3122539 
>>3122510
> string: []const u8,
У них штоле юникода нет искаропки в 2к24?
Аноним 14/04/24 Вск 19:13:59 #570 №3122542 
>>3122539
У них даже дефолтных аргументов нет, пиздуй заполнять структуры как в сишке.
Аноним 14/04/24 Вск 19:14:34 #571 №3122543 
>>3122542
Обоже, соу патетик.
Аноним 14/04/24 Вск 20:06:56 #572 №3122652 
>>3122539
Что есть юникод, если не слайс байтов?

>>3122542
>пиздуй заполнять структуры как в сишке
Все как диды завещали
Аноним 14/04/24 Вск 21:00:59 #573 №3122739 
image.png
Бля да хули так сложно-то ебаные модули нахуй. Ну блять современный язык нахуй с зависимостями через toml да ахуенно
Аноним 14/04/24 Вск 21:05:26 #574 №3122745 
>>3122091
https://en.wikipedia.org/wiki/Project_Verona
Аноним 14/04/24 Вск 21:06:37 #575 №3122746 
>>3122652
Что есть {что угодно} если не слайс байтов?
Аноним 14/04/24 Вск 23:13:44 #576 №3122906 
image.png
Накидал репозиторий, вот так норм делать?
Аноним 14/04/24 Вск 23:33:52 #577 №3122930 
>>3122906
Нахуя ты обернул вектор?
Аноним 15/04/24 Пнд 00:21:19 #578 №3122955 
>>3122930
Чтобы потом туда в теории добавить фул репозиторий с
Find, Save, Load и тд
Аноним 15/04/24 Пнд 13:11:11 #579 №3123347 
>>3122906
Ооп головного мозга, нахуя тебе пидораст, шёл бы в кресты за классиками, будешь там свои абстрактные фабрики ваять.
Аноним 15/04/24 Пнд 13:16:49 #580 №3123357 
>>3123347
Дебс, а как ты ещё блять рам репозиторий сделаешь? Да и в принципе репозиторий, который будет работать с бд
Аноним 15/04/24 Пнд 13:22:21 #581 №3123366 
>>3123357
Ебанашка, зачем в сиспроге всякие репозитории, ты явно хуитой занимаешься. Обернул вектор в структуру и рад, гений блядь.
Аноним 15/04/24 Пнд 13:26:22 #582 №3123379 
>>3123366
Отсталый, в курсе, что Rust язык общего назначения?
Аноним 15/04/24 Пнд 13:42:19 #583 №3123413 
>>3123347
> Ооп
> кресты
Когда кресты стали ООП языком?
Аноним 15/04/24 Пнд 14:11:00 #584 №3123453 
>>3123413
Always has been.
Аноним 15/04/24 Пнд 14:57:09 #585 №3123523 
>>3123453
В стандартной библиотеке крестов никакого ООП нет вообще.
Аноним 15/04/24 Пнд 15:21:18 #586 №3123570 
>>3123523
Там нет классов, наследования и subtype-полиморфизма?
Попей таблеточек мань
Аноним 15/04/24 Пнд 15:25:33 #587 №3123577 
>>3123570
> наследования и subtype-полиморфизма
Нет. Это тебе таблетки надо попить. В крестах метапрограммирование, какое в пизду наследование.
Аноним 15/04/24 Пнд 17:46:58 #588 №3123845 
image.png
>>3123577
>метапрограммирование
Оно ортогонально ООП.
Побереги свои фантазии для саниторов.
Аноним 15/04/24 Пнд 18:14:45 #589 №3123884 
>>3123845
С таким же спехом можно и Раст назвать ООП языком. Но по факту в либе крестов ООПа меньше, чем у раста. Наследование не используется в принципе, вместо ООП-полиморфизма используется функциональщина, классов в понимании полноценных ООП-языков типа джавы там не используют - просто структуры с RAII, очень много функционала в процедурном стиле без привязки к объектам - вообще типы там часто заменены концептами. То что язык позволяет на всех стульях сидеть ничего не значит, надо ориентироваться на код, утверждённый комитетом, т.е. стандартную либу.
Аноним 15/04/24 Пнд 18:35:47 #590 №3123908 
>>3123884
> С таким же спехом можно и Раст назвать ООП языком.
Нельзя, в расте нет наследования и subtype-полиморфизма
> надо ориентироваться на код, утверждённый комитетом, т.е. стандартную либу.
Так и запишем: поциент считает плюсы языком для написания стандартных либ. Алоу, открой любой крупный проект на плюсах - там сплошное ООП.
Аноним 15/04/24 Пнд 18:47:33 #591 №3123917 
>>3123908
Опять ты переворачиваешь всё с ног на голову. Какое отношение язык имеет к тому что утята пишут на си с классами? Если ты посмотришь на проекты под С++17 и выше, то количество ООП там будет стримиться к нулю.
Аноним 15/04/24 Пнд 20:06:28 #592 №3123988 
>>3123917
Приведи примеры таких проектов
Аноним 15/04/24 Пнд 20:21:51 #593 №3124002 
>>3122906
Зачем отдаёшь в массив копию датафайла? Почему бы не отдавать оригинал? А уже оттуда предоставлять ссылки. У тебя лайфтайм массива явно дольше отдельных элементов будет.
Аноним 16/04/24 Втр 20:01:55 #594 №3125441 
ПЕРЕКАТ >>3125439 (OP)
ПЕРЕКАТ >>3125439 (OP)
ПЕРЕКАТ >>3125439 (OP)
Аноним 16/04/24 Втр 20:24:03 #595 №3125477 
>>3125441
> перекат раньше 1500
Сразу видно какие пидорасты чмошные.
Аноним 16/04/24 Втр 21:13:43 #596 №3125562 
>>3125477
Ты своей тупизной весь тред засрал, вот и перекатили, чтоб не воняло
Аноним 25/04/24 Чтв 00:44:03 #597 №3134469 
>>3122906
вроде норм, главное убедись что ничего лишнего не клонируешь.
comments powered by Disqus

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