Двач.hk не отвечает.
Вы видите копию треда, сохраненную 8 февраля в 11:52.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
1698512277178.jpg68 Кб, 550x550
Rust #28 /rust/ 2898122 В конец треда | Веб
Rust — невероятно быстрый язык для системного программирования без segfault'ов и с гарантиями потокобезопасности.

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

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

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

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

Ресурсы на русском:
https://rust-lang.ru/
Отдельное спасибо автору этого гитхаба(старому ОПу). Здесь вы сможете найти много полезной информации: https://gist.github.com/TatriX/183c816f1346d418f969c4576c2b9b41
Предыдущий: >>2800762 (OP)
2 2898165
C++ лучше чем раст.
3 2898183
>>898165
Омерзительный си++ с его дебильным синтаксисом. Пиши правильно.

> Омерзительный си++ с его дебильным синтаксисом лучше чем раст.


Хаха! Как смешно.
А ты смешная нейросеть, я обозначу твой лайфтайм последней буквой алфавита.
image.png221 Кб, 636x568
4 2898346
1698523480345.webp120 Кб, 789x863
5 2898389
>>898346
Не зря слово с++ созвучно со словом sick. Ты больной, ты же поехавший, ты осознаёшь это?
Screenshot2023-10-28-17-34-29-687org.telegram.messenger.png441 Кб, 1080x2248
6 2898503
>>898346
Всем rust job поцоны!
7 2898594
>>898183

>Омерзительный си++ с его дебильным синтаксисом.


Двачаю каждый раз после работы с ним приходится мыть глаза и руки. Говно для дедов никак не помрет
sage 8 2898763
Еще даже ничего толком не вкинули, а растобляди уже порвались, лол. Ну кроме истеричек и ебанутых этим поделием никто не будет пользоваться, это и давно понятно.
9 2898801
Что умрёт раньше раст или го?
10 2898810
>>898801
Однозначно го, ибо применяется только для микрописек в вебе. Растошизики сейчас перепишут дохуя всего и сожмут анальными клещами яйца кабанов. Поддерживать же надо.
11 2898851
>>898810

> Растошизики сейчас перепишут дохуя всего


Вы говорите об этом так, будто это что-то плохое. Переписываем. И что ты мне сделоеш? Шизиком обзовёшь? Да хоть горшком обзови. Я отбираю у тебя индустрию, а ты можешь только ржавожопить в моих тредах.
12 2898883
Бля, видимо, царь был прав, когда говорил, что болезные таким образом компенсируют свою ущербность, собираясь в кучки нитакусиков. Руби, хачкель, вот теперь раст.

>Я отбираю у тебя индустрию, а ты можешь только ржавожопить в моих тредах.


Вот примазался к некому илитарному сообществу, присвоил чужие заслуги и теперь ты не ничтожество ебаное, а член сообщества интеллектуалистов, двигатель истории.
13 2899111
>>898851

>Переписываем.


Еще бы этим переписанным кто-то реально пользовался. Классическое "переписывание на руст" выглядит так:

Взяли что-то известное, начали переписывать. RIIR! Анонсы по всему интернету! Такие же рустодрочеры налепили звездочек на гитхабе, нихуя нормально не работает, но все знают что это ПОБЕДА
@
Проходит время, проект явно затормаживается. Ведущий разраб уже наигрался и пилит что-то другое. Начинается важный этап в жизни проекта - придумывают CoC, лепят радужные флаги, срачи в ишшуях, банят недовольных, вот это все
@
Все, пиздец, проект сдох, забыли и забросили. Последний коммит год назад (убрали оскорбление меньшинств из комментария в коде).
@
Всем уже похуй, переписывают следующее
14 2899159
>>898883

>Руби


Кстати довольно интересная штука для своего времени была, много на что повлиял и много чего подарил миру как сам руби, так и рельсы. Но всякие вкатуны даже не удосужились почитать о нем прежде чем писать сюда
15 2899190
>>899159
Речь о другом идет, маня. Ты либо прикидываешься, что не понимаешь, либо реально аутист.
16 2899233
>>899159

> убогий клон коммон лиспа от неосилятора


Нда, соу новаторство, мач инфлюенс, ушла эпоха...
17 2899246
>>899111
В ядро раст затащили, а плюсы не затащили. Плюсовикам сосать
Гугл потихоньку переписывает ведроид на расте - с каждым релизом всё больше
В месе Rusticl уже практически стал официальной реализацией OpenCL

ну и так далее. А теперь перечисли системные языки без сборщика мусора, которые появились в последние 20, да даже 30 лет и могли бы похвастаться чем-то подобным.
18 2899252
>>898883

>Руби


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

Раст же на несколько голов лучше плюсов - и тулингом, и безопасностью, и макросами, и отсутствием null. Этим не могли похвастаться предыдущие убийцы сей, в вот раст может. Время пришло, Рим рушится на твоих глазах, центурион.
19 2899263
>>899190

> маня. Ты


Нет ты.
20 2899283
Стоит только подождать...
21 2899287
>>899252

> Время пришло, Рим рушится на твоих глазах, центурион.


Я родился слишком поздно для великих географических открытий.
Я родился слишком рано для освоения космоса.
Но!
Я родился вовремя, чтобы своими глазами увидеть закат эпохи СИ.
22 2899291

>жидолобби и копрораты немного продавили язык


>ряяя закат эпохи, конец


Лол.
Пока что у языка не будет альтернативного компилятора, который можно написать за пару недель, то о замене Си даже речи идти не может. То что есть сейчас - это анальнокорпоративное трансоподелие.
Там, кстати, проект по формализации и стандарьизации раста для критических систем загнулся)
23 2899299
>>899246

>В ядро затащили


>Гугл потихоньку


>уже практически



> RIIR! Анонсы по всему интернету!



<-- вы находитесь здесь

Ну показывай уже, не стесняйся - что там полностью переписали на руст, и мы этим пользуемся каждый день. Пока вижу только вскукареки и пуки каждый год. И каждый год одно и то же
24 2899307
>>899299

> что там полностью переписали на руст,


Ну как же... Вот десятая версия grep, cat и ls. Мало?
25 2899316
>>899291

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


Нахуй не нужон. Делаешь под свою архитектуру бекенд для llvm, описываешь в target'е и кросскомпилишь для нее свой хеловорд

> Там, кстати, проект по формализации и стандарьизации раста для критических систем загнулся)


Пруфы что загнулся сейчас здесь, в одной с тобой комнате?
26 2899323
>>899316

>Нахуй не нужон


НИНУЖНА.
Классика, да. Язык который претендует на замену фундаментального ЯП определенно должен быть под контролем корпов и разноцветными фашистами.

>Пруфы что загнулся сейчас здесь, в одной с тобой комнате?


Ну когда коммерческий проект открывает код и прекращает разработку, то это со мной в комнате или нет?
27 2899326
>>899233

>руби


>клон коммон лиспа


Ну вот и выросло поколение
28 2899328
>>899190

>не понимаешь


Да как мне понять ебанатика со стокгольмским синдромом, который приходит постоянно в тред языка который он ненавидит
29 2899347
>>899328
Причина бахмута?
30 2899358
>>899299

>полностью


А тебе зачем полностью? Большие проекты, типа blender/inkscape/chrome, не один десяток лет пилятся, там ебанёшься всё полностью переписывать. Хватает того, что сейчас всё больше новых проектов с нуля пишется на расте, а что-то и переписывается потихоньку.
Вон, в пиндосских банках до сих пор код с КОБОЛа переписать не могут - говорит ли это о том, что КОБОЛ охуенней раста? Нет. Говорит ли это о том, что он охуенней плюсов? Да, так как в логике плюсодебила именно это и является критерием охуенности.

Вообще, само то, что у раста охуенно сделан FFI и он заточен на то, чтобы на него переписывали, это одна из киллер-фич.
31 2899367
>>899323

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


И rust и llvm под лицензией apache 2, форкай сколько угодно и развивай своей армией коммунистических монохромных традиционал-патриотов, делов-то. А самопальные компиляторы в нативный код после появления llvm - удел студентов и поехавших борщехлёбов.

> Ну когда коммерческий проект открывает код и прекращает разработку, то это со мной в комнате или нет?


Все что хотели - влили в апстрим и опенсорснули, остальное пилят внутри конторы и посталяют за деньги. О полном прекращении разработки речи нет.
32 2899381
>>899358

>>>Избавляемся от мерзкого дедовского легаси говна, переписываем все на руст


>>Покажи что-то полностью переписанное


>ебанёшься всё полностью переписывать



Ясно
33 2899383
>>899367

>И rust и llvm под лицензией apache 2, форкай сколько угодно и развивай своей армией коммунистических монохромных традиционал-патриотов, делов-то. А самопальные компиляторы в нативн


Ты понимаешь, что даже внутри растосообщества случился раскол между шизами и создали форк под названием crab?
Язык полностью подзалупен и управляется корпами, которые current things тебе в новости про обновления компилятора пихают.
Плюс llvm не все фичи раста позволяет реализовать, ну это так, к слову.
34 2899390
>>899381
Потихоньку переписывается. Примерно также бодро, как в 1990-е переписывали с сей на плюсы. Не всё сразу, но процесс идёт.
35 2899410
>>899383

>форк под названием crab


Ещё более маргинальная хрень, чем был libav в своё время. Без корпов, увы, никуда. Корпы не будут доверять тому, чем не управляют. В этом плане расту нехватает своего Линуса Торвальдса, который бы вёл чёткую линию и не давал корпам превратить проект в такое же болото, в которые вырождаются все их корповские поделия.

Во всяком случае, мы живём в интересные времена. Чую, к тому моменту, когда допилят альтернативу заболоченному расту, скажем, условный vale, какой-нибудь GPT 5~6 можно будет попросить переписать все растовские крейты на эту самую альтернативу (и, более того, впоследствии апдейтить их таким же образом).
36 2899411
>>899383

> Ты понимаешь, что даже внутри растосообщества случился раскол между шизами и создали форк под названием crab?


Вот видишь, захотели и создали, молодцы же. Не самый большой скандал в опенсорсах btw

> Язык полностью подзалупен и управляется корпами, которые current things тебе в новости про обновления компилятора пихают.


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

> Плюс llvm не все фичи раста позволяет реализовать, ну это так, к слову.


И это все равно больше, чем у всех вместе взятых компиляторов си, и управляемых корпами, и самопальных
37 2899453
>>899390
А, ну то есть ты понимаешь, что в 90-е переписывая на кресты, получили еще большую кучу говнокода - но уже и на си и на си++.

А теперь к этому добавился зоопарк из скриптового софта, сортов джавы и веба.

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

Максимум что будет - это появится еще какой-то софт на еще одной экзотической херне. И буквально через несколько лет история повторится, на поехавших рустовиков будут смотреть как сейчас на каких-нибудь рубистов. А может и хуже, вы кроме того что нетакусики, еще и душните своей повесточкой
38 2899481
>>899453

> душните своей повесточкой


Расскажи побольше об этом. Или ссылочек подкинь. Я без подъёба, я ньюфаг в расте. Чё там за драма с повесточкой?
39 2899499
>>899481
Короче, я сам загуглил.
Как я понял, суть токова: Есть некий Жанхейд, матёрый сишник и представитель ЛГБТБЛМ, который, сокрушался, почему на конфах по расту нет чернокожих. В руководстве фонда-раст нашлось пара правачков с яйцами, которые пидорнули Жанхейда с роли главного докладчика. Жанхейд, разумеется, поняв, что ему там не рады со своими вскудахтами про нигеров, отказался выступать. После чего все пидоры и сочувствуюшие с рёвом и соплями сбежали из фонда.

Только я не понял, почему местный набигатор обвиняет раст в повесточке? Тут ситуация ровно наоборот.
40 2899502
>>899453

>в 90-е переписывая на кресты, получили еще большую кучу говнокода - но уже и на си и на си++


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

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


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

Хаять раст сейчас, это как хаять айфон в 2008 - кнопочное говно ещё шевелится, но всем уже всё понятно. "А потом выдумают телефон вообще без экрана, хи-хи-хи, ха-ха-ха".
41 2899503
>>899481
Они даже в анонсах релизов фигачат политоту по повестке

https://blog.rust-lang.org/2020/06/04/Rust-1.44.0.html - "police brutality currently happening in the US "

https://blog.rust-lang.org/2022/02/24/Rust-1.59.0.html - "Today's release falls on the day in which the world's attention is captured by the sudden invasion of Ukraine by Putin's forces"

https://blog.rust-lang.org/2022/11/03/Rust-1.65.0.html - "Before going into the details of the new Rust release, we'd like to draw attention to the tragic death of Mahsa Amini"

Гугли что-нибудь типа rust woke movement, там будут еще посты этих поехавших
42 2899511
Поясните, зачем нужен раст в принципе? Почему просто не юзать джаву везде? Вы скажете, жава жрёт память, но позвольте, пусть приложуха на спринге жрёт 300 мегов оперативки, да ради бога. Это константный расход, при постоянно дешевеющей и увеличивающейся памяти. Через 10 лет у нас будут по терабайту оперативки в устройствах, а джава будет сжирать всё те же 300 мегов. Но это же вообще капля. При этом мы получаем быстродействие, мультиплатформу, безопасность и язык полностью опенсорсный. Хочешь - пиши свою реализацию JVM и юзай. Где я неправ?
43 2899512
>>899503
Это биомусор из мозиллы. Следи за руками:
Мозилла, будучи на пике, в начале 2010-х выкатывает FirefoxOS, Rust и Servo. А потом случается такая нездоровая хуйня. Мозилла, как некоммерческий фоундейшн, получающий деньги, в том числе, от фондов, уже тогда немного зависела от пидорасов. И в 2014 году случился скандал - за недостаточную толерантность к жопотрахам из мозиллы попёрли основателя Брэндона Эйха. После этого мозилла окончательно оказалась во власти пидорасов и сделала ставку в своём развитии не на расширение пользовательской базы браузера, а на расширение штата пидорасов, за которых щедро донатят фонды. В итоге скатилась в то, что имеем, и я даже рад, что раст эвакуировали с этой тонущей залупы.
Сейчас у меня есть надежда, что пришедшие корпы аккуратно вытеснят оставшихся выставочных пидорков, так как фонды уже не особо нужны корпы будут давать бабло за ехать, а не за шашечки.
1698610737019.png44 Кб, 808x518
44 2899514
>>899503
Загуглил. Любопытно. Пикрелейтед. И я это двачую. Есть язык, а есть люди, ебанашки, которые постят повесточку и политоту в блоге. Ебанашки проживут свои 70 лет и вымрут. А язык вечен.
45 2899515
>>899511
Гугли Concurrent modification exception
Раст безопаснее даже джавы.
Ну это помимо того, что многие алгоритмы на джаве тормознее в десятки раз.
46 2899520
>>899511
Потому что это системный язык программирования, т.е. предполагается что на нём можно написать ОС или её компоненты. Джава требует виртуальной машины и не подходит для такой задачи.
47 2899522
>>899511

> Поясните, зачем нужен раст в принципе?


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

> Поясните, зачем нужен мерс в принципе? Почему просто не юзать запорожец везде? Вы скажете, запорожец жрёт бензин, но позвольте, пусть запор на МККП жрёт 300 литров бенза, да ради бога. Это константный расход, при постоянно кривых и ухабистых дорогах в моём селе. Через 10 лет у нас рассыпятся последние асфальтовые дороги, а запор будет сжирать всё те же 300 литров. Но это же вообще капля. При этом мы получаем проходимость, дырку для подлёдной рыбалки в днище, задний привод и отремонтировать можно хоть в чистом поле проволочкой и изолентой.

48 2899527
>>899520
А что там выше чувак про ллвм писал? Хочу разобраться.
>>899367

> самопальные компиляторы в нативный код после появления llvm - удел студентов и поехавших борщехлёбов

49 2899533
>>899527
Осталось только сконпелировать через llvm джабу и вот тогда заживём.
50 2899538
>>899533
Читаю этот тред на лоре от 18 года и проигрываю вголосину https://www.linux.org.ru/forum/development/14669771
51 2899542
>>899527
"виртуальная машина" в llvm - это хайповое название для IR, который появляется после парсинга/синтаксического анализа исходников фронтендом. Когда бекенд компилит IR в машинные коды, там уже нет никакой виртуальной машины.
52 2899543
>>899522
Так это как раз всякие растоманы и хотят ездить на условной механике и без электроники, чтоб машину чувствовать и можно в гараже было вручную перебрать. Вот хочется им работать сцеплением, иметь возможность влезть в говна и с раскачки выехать из них, под горочку машинку заглушить и сэкономить байтики бензинчик, потом гордиться этим. Я же предлагаю принять технический прогресс и ездить на автомате с кучей электроники и ассистентов.
53 2899547
>>899543
Бред.
Принцип заимствований - это автоматика невиданная доселе ни в одном языке. Это изменение в подходе к кодингу на принципиально ином уровне. Если продолжать аналогию с транспортом, раст предлагает электрический тесламобиль вместо мерса.
54 2899548
>>899511

>Где я неправ?


Раст быстрее
55 2899550
>>899547
Чушь. Условно вы механическую коробку без синхронизаторов с двойным выжимом сцепления (язык си) хотите заменить той же механической коробкой только с синхронизатором. Тот же Столяров с ВМК говорит, что раст не нужен. А он умный дядька
56 2899555
>>899550

> Тот же Столяров с ВМК говорит, что раст не нужен. А он умный дядька


Я умнее.
57 2899597
>>899548
И что ты с этой скоростью будешь делать? 99% задач в айтишечке сейчас IO-bound - на них и питона с головой хватает
58 2899608
>>899548
Там где нужна скорость, а именно в умножениях матриц, там уже всё написано. И даже не на сишечке, а на фортране. Прикинь, весь современный мышелёрнинг держится на дедовских формулах в фортране, которые дёргаются из питона. Раст не нужен. Живите теперь с этим.
59 2899610
>>899597
Ну вот сейчас обработкой и анализом аудио занимаюсь, например. Чем там 99% замнимается мне поебать ну и не 99% всё таки, ~90..95% скорее

Питухон не хочу потому что динамикодрисня даже если там найдётся подходящая либа, джавашарпы не выдадут нужный перформанс
60 2899623
>>899608

>Прикинь, весь современный мышелёрнинг держится на дедовских формулах в фортране


Самое, блядь, смешное, что в C99 ввели т.н. VLA, чтобы бумерки могли перекатиться с фортрана, в итоге, где эти ваши VLA? Про раст вообще молчу.
61 2899625
>>898883
Был свидетелем как в го накручивали звезды гитхабе между собой, но большая странность была это координация в выравнивании минусов на хабро-комментах.
В ру говорящем топовом чате котлина, местные токсики низводили людей пассивной агрессией и лобызались только перед друг другом.

Так что да, это странно для технических грамотных людей, то фанатики, то завуалированное развлекающиеся быдло.
62 2899626
>>899623

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


Бумерки за это комитет с говном смешали, VLA никто не пользуется.
63 2899627
>>899626
Да там скорее всего была группа поехавших трансов с "ДАВАЙТЕ ВСЕ НА СИ ПЕРЕПИШЕМ", ниче не напоминает лол?
64 2899628
>>899410

> условный vale


Бегло глянул, какая-то копия раста.
65 2899682
>>899511

> Через 10 лет у нас будут по терабайту оперативки в устройствах


Через 10 лет в абсолютном большинстве устройств будет ОЗУ столько же, сколько и сейчас - в районе пары килобайт. И раста там никогда не будет, поскольку он нафиг не нужен на устройствах, где не используется динамическая аллокация. А джава, кстати, на некоторых есть и будет в виде уродца Java Card.
66 2899686
>>899623

>в C99 ввели т.н. VLA, чтобы бумерки могли перекатиться с фортрана


Голой сишкой в около-HPC никто не пользуется. Кроме фортрана это питон, плюсы (и CUDA), потому что там все либы и софт.
67 2899693
>>899514
Ну и нахуя в технические анонсы релизов пихать политоту? В чем смысл?

Вот представь, какой-нибудь clickhouse в анонсе релиза навалит кринжа про Израиль и гоев. Или там про вековую дружбу Чечни и ДНР. Зачем? Чтобы что?

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

Щас они просто в бложек пишут недовольные. А потом что, начнут протестваре подсовывать по гео ай пи? Что-то нет доверия к настолько социально активным ебанашкам
68 2899694
>>899693
Это вы еще не видели крестовый поход против токсичных констант для отладки по типу DEADBEEF, DEADBABE и т.д.
69 2899711
>>899502

>и говна нет, и тулинг замечательный


>насколько раст лучше плюсов


>как айфон в 2008


>всем уже всё понятно



Конечно понятно
70 2899742
>>899628
Не совсем. Чел пытается выдать язык с простотой go/zig и скоростью+безопасностью раста.
71 2899766
>>899742

>безопасностью раста


ряя ансейф
72 2899802
>>899694
Видели.
73 2899813
>>899693
Не начнут. Там один ебанат уже подсовывал протестваре в нпм. Его так заканселили, что еще много десятилетий другим неповадно будет.

Фактически щас ждем развития ситуации с крабфорком. Если краб взлетит, то ржавопедовкам придется поупырить мел.
74 2899866
>>899766
Даунич, ты хоть понимаешь, что это такое? Например, прилетел у тебя из сишной либы пойнтер на что-то, что должно быть цветной картиной 64х64, разраб мамой клянётся. А там черно-белая и выход за границы. Вот в таком случае оборачиваешь свой код в ансейф, сжимаешь кулачки, анус и доверяешь сишному разрабу.
75 2899872
>>899866
Я другой анон, но кто залил говна разработчикам Redox, что память текла как сука? Снова сишники?
76 2899891
>>899872
Память текла, это не обязательно ансейф, прикинь. В расте всего 3 способа потечь памятью, из них 2 прямо так и заявлены (leak и forget), третий - создать циклические ссылки через RC. Собственно он и есть единственный способ случайно добиться от безопасного (без ансейф) кода на расте чего-то вроде UB (если считать таковым прибитие проги по OOM).
image.jpg11 Кб, 223x250
77 2899892
>>899866

>разраб мамой клянётся


РЯЯЯ АНСЕЙФ
78 2899898
>>899892
Иии? Я же писал в предыдущем треде - тебя, долбоёба, должен волновать твой код. Те либы, которые ты используешь с 10к загрузок и выше, или написаны более умными людьми, или отсмотрены и оттестированы на 100 рядов. Если же либа непопулярная, rg unsafe crate_name в помощь.
79 2899901
>>899898
Ебать даун.
80 2899904
>>899291
Ллвм, чел...
81 2899906
>>899326
Я старше тебя. Коммон лишп появился в 80-ых. Когда и как появился руби думаю ты сможешь сам погуглить. Ну и это, учи мемы.
82 2899910
>>899904

> Ллвм, чел


А у нас есть ллвм тред? Я чота всерьёз задумался о написании своего конпелятора (своего языка мечты, который похож на раст, но есть отличия). Вчера глянул материалов по нему, и выглядит всё не слишком сложно.
83 2899917
>>899906

>Ну и это, учи мемы.


Дедуль, я не знаю чего вы там в своих журналах публиковали, но сравнивать лисп и руби это как сравнивать молоток и отвертку.
84 2899940
>>899910
Лучше помоги ребятам vale до ума довести. https://vale.dev/roadmap
85 2899946
Кстати, нашёл косвенное подтверждение своим словам о причинах успешного старта раста.
Безопасный язык, который загнулся ровно тогда, когда начался раст http://cyclone.thelanguage.org/ от AT&T

В чём же дело, почему не взлетело? Да потому, что AT&T в начале 2000-х, это не мозилла в начале 2010-х, которая не просто родила из себя новый язык, но и заявила, что будет писать на нём свой новый браузер и даже показала этот самый браузер. Это был прям аргумент для старта посерьёзнее фич самого языка.
86 2899955
>>899946

>ровно тогда, когда начался раст


Ебать даун.

>Это был прям аргумент


Ебать даун.
87 2899990
>>899940
Бегло ознакомился. у него та же самая синтаксическая проблема, какая есть и у раста, и у си. Точки с запятой. Я искренне не понимаю, зачем в 2к23 точки с запятой в конце языкового токена? Мой язык мечты без точек с запятой.

> import a


>func main(str[] args) {


>for i in args {


> print("arg {i}")


>}



>int func non_void() {


>return 123


>}



Как-то так. Код со "скоупами" легко разбирается на токены без необходимости разделять их точками с запятой или \n-ами.

> import a func main(str[] args) { for i in args { print("arg {i}") } int func non_void() { return 123 }

88 2900030
>>899990

>точки с запятой в конце языкового токена


С кем на одной борде сидим, пиздец.
89 2900046
>>899892

>АНСЕЙФ


Иногда для работы с сишным говном без него никак, а так не представлю нахуя его везде пихать. У меня на проекте который уже год пилю с уже большим объемом кода всего в паре местах std::mem::transmute чтобы из циферки в БД сделать enum не расписывая всё вручную и ужасная небезопасность заключается в том что если циферка будет неправильная, то будет показан неправильный вариант enum, пизда как опасно.
Если ты пихаешь его везде это не значит все так делают
esc.webp48 Кб, 640x360
90 2900148
>>900046
Это не наш ансейв виноватый, это ваш ансейв плохой.
У тебя там стандартная либа на ансейвах написана.
Самый быстрый веб-сервер настолько был пропитан ансейвами, что выплыло в драму, автор аж психанул и удалил репу. То есть, фанатики взяли и предъявили челу с продуктовым решением, что он слишком много юзает ансейвы, лол.
Где вообще эта грань правильных и неправильных ансейвов. Сколько можно, а сколько уже много? А может уже один ансейв делает разработку не безопасной полностью?

Почему в шарпах даже не знают, что есть ансейв и работа с указателями, а в самом безопасном языке (даже безопаснее чем шарп, как говорят сами фанатики), ансейв является частью разработки?
91 2900161
>>899990
Си-подобный синтаксис - это вообще рак мозга. Никогда не используй си-подобный синтаксис для пет-проектов.
92 2900163
>>899917
Скорее как шуруповерт и отвертку. Но я уже понял, что тебе виднее, чем самому Матцу.
93 2900180
94 2900189
>>900148
Шарпошизик тут как тут
95 2900202
>>900163

>Матцу


Приведи хоть цитату, что он делал копию лиспа. Возможно он что-то и взял вдохновившись лиспом, например те же блоки и то что любая конструкция что-то возвращает, но в остальном он больше похож на SmallTalk, но никак на лисп.
96 2900247
>>900148

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


Те, кто выходил хоть немного за рамки крудошлепства, еще как знают.
Любой ffi в сишарпе - горы unsafe.
Stack-allocated массив в структуре - unsafe.
Zero-copy parsing - снова unsafe.
Alloc-free сетевой API - сплошной unsafe.
97 2900254
>>900189
Я работаю на го, я хотел в пример джаву привести, но не уверен что там есть ансейв тэг. что за тригер на шарп??
98 2900287
>>899742
Погоди, а zig сильно проигрывает в скорости/безопасности? Я думал он в туже нишу целит что и Раст, просто менее хайповый. Сам зиг не глядел, но по отзывам сложилось такое ощущение.
99 2900297
>>900247
Когда есть возможность посчитать на гитхабе ансейвы эти языков, так врать и маневрировать не имеет смысла.
100 2900346
>>900148

>У тебя там стандартная либа на ансейвах написана.


>Где вообще эта грань правильных и неправильных ансейвов


Нигде, если нету формального доказательства, что программа безопасна, то привет.
101 2900419
>>900346
Проблема только том, что то формальное доказательство, с которым носится каждый растер в инете не является доказательством реального языка раста. То есть, там тупо взяли условный срез с языка в вакууме и доказали что этот формальный кусок безопасен. То что, раст не дотягивает до этого формального языка, маркетологам уже было не важно, эффект достигнут, фанатики носятся и тыкают всех в "навучную" статью.
102 2900420
>>900297

> посчитать на гитхабе ансейвы эти языков


Это ты хорошо придумал.
Вот ансейфы в стандартных либах дотнета и раста.
Теперь правдывайся
103 2900427
>>900202
Гугли сам, мне лень, говорю честно. Алсо, в чём вообще бугурт-то? Ты же не будешь спорить, что скриптопараши от неосиляторов популярные динамические языки (питон/руби/жс) генеалогически восходят к лишпу и фактически прост раз за разом реализуют некоторый его сабсет с нескучным синтаксисом уже четверть века как добро пожаловать снова?
104 2900438
>>900420
А в джаве сколько?
105 2900449
>>900254

>что за тригер на шарп?


Да есть тут один шизик, ученик столярова и любит шарп
106 2900480
>>900287
Он где-то даже шустрее раста за счёт меньшей безопасности. Это скорее такой себе рефреш си.
107 2900485
>>900419
Ну какое-то доказательство лучше никакого, особенно, если это стдлиб какой-нибудь, проблема в том, что этим наверное полторы калеки занимаются, вот и выходит сейф по-пидорастовски это "либы, которые ты используешь с 10к загрузок и выше, или написаны более умными людьми, или отсмотрены и оттестированы на 100 рядов", а в остальных случаях долбоёбы бегают по гитхабу и выискивают ансейф блоки: РЯЯ АНСЕЙФ.
108 2900502
>>900419
Если сможешь вызвать ub в безопасном расте, то эту дыру прикроют в течение полугода - возможно даже выпиливанием какой-то фичи.
109 2900505
>>900287

>Я думал он в туже нишу целит что и Раст, просто менее хайповый.


Скорее си на стероидах: указатели, маллок, фри, деструкторов нет, есть дефер как в го, ООП нет, есть интерфейсы в виде обвязки вокруг указателей на функции, вместо препроцессора и макросов - метапрограммирование на самом зиге, встроенный парсер си, поэтому можно просто инклудить хидеры.
110 2900514
>>900485
В догонку, помню был проект Rust Belt, они находили баги в стандартной библиотеке, ещё вроде шедулер для токио (не уверен, что именно для него) тоже формально верифицировали.
111 2900532
>>900420
Звездобол продолжает манипулировать. Я и говорю, фанатики.
112 2900552
>>900148

> esc.webp


Зачем убегать от боров-чека?
Не нравится боров? Возьми другой язык.
>>900161
Вкусовщина чувак.
image.png15 Кб, 509x219
113 2900562
>>900420
Дотнет не является сишарпом, это даже знаю я. Это общий фреймворк.
А вот причина, по которой мягкие переписывают дотнет с плюсов, это показать что дотнет не просто язык, это продукт, который используют они сами и он пригоден даже для такой высокопроизводительной околосистемной херни, поэтому там ансейф будет не только в комментах.
Это яркий контраст какому-нибудь котлину, где до сих пор их главная IDE на жабе, а на котлине какие-то полу утилиты, или раст, на котором не написана не один продукт, кроме крипты, у которой волатильность жизни ровна какашке в унитазе (да и зачастую там в перемешку плюсы).

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

Я тебе говорил конкретно продукты пишущияся на шарпах и расте, но ты тролль, потому что юзаешь чирипикинг и спорить с малолетним фанатиком себе дороже. Но я знаю, что пока ты искал, что вкинуть, ты увидел какая жопа на расте с этими ансейвами.
114 2900572
>>900449
Он же любит С++, шарп и раст сравнивает только местный Сережа, это только его уровень компетенции.
115 2900575
>>900562
Но ведь стандартная либа дотнета полностью написана на сишарпе, а стандартная либа раста - на расте.
Как так получилось, что в прикладном сишарпе ансейфа больше, чем в системном расте?
116 2900579
>>900575

>РЯЯ АНСЕЙФ

117 2900586
>>900572
Ну я короче в душе не ебу, но в тред почему-то приходит много шизов
118 2900597
>>900586

> в тред почему-то приходит много шизов


Так ты тред-то почитай. 99% набигающих шизов - это барнаульцы.
119 2900656
А вот вам новый язык, вдохновленный Rust и Swift. Безопасный как раст, но удобный как свифт. Основная идея - все зло от ссылочных типов, поэтому ссылки будут только при передаче параметров и через специальную систему проекций (еще будут в поинтеры, но они будут внутри ансейф, поэтому можно). При поддержке Google и Adobe. Главный автор - голландский гендер-бендер Димитрий Дими Ракордон (оба на пиках). Ну и название придется по вкусу русскоязычным пользователям:
https://www.hylo-lang.org/
Все как вы тут любите.
120 2900666
>>900562
Погоди. Дотнет написан на дотнете на 80%, а раст написан на расте на 99.9%. Значит ли это, что мс меньше доверяет своей платформе, чем раст фаундейшон? Или что ты там высрать хотел, я так и не понял.
121 2900669
>>900666

>раст написан на расте на 99.9%


LLVM уже переписали на раст?
122 2900674
>>900669
Нет, на С++.
inb4 РЯЯЯ АНСЕЙФ
123 2900677
>>900656
Блять. Они реально издеваются над нами.
124 2900679
>>900669

> LLVM уже переписали на раст?


https://github.com/bytecodealliance/wasmtime/tree/main/cranelift
image.png25 Кб, 574x335
125 2900684
>>900656
Это троллинг такой? Почему рас и прочие хуйлоленги так сильно загаживают синтаксис? Я лучше на лишпе буду писать, чем на этой херне.
126 2900687
>>900656
Хуита, Vale мне больше нравится. Другое дело, что эта хуита имет больше шансов хотя бы потому, что написана на swift, в отличие от vale, который на, пиздец-пиздец, с 2013 года со шкалы переписать не могут.
В любом случае обоим желаю успеха.
127 2900697
>>900684
Думаю, в будущем синтаксис можно будет наворачивать так же легко, как сейчас моды на графон в майнкрафте. Ты видишь код в виде лиспа, кто-то в виде сей, а у кого-то питон. Тем временем, внутри это псевдокод а-ля брейнфак.
128 2900706
>>900697
Я в будущем планирую не жить, потому что все вокруг хуета, включая меня.
129 2900708
>>900679
А почему вы тогда с LLVM не перекатываетесь?
Значит ли это, что растовики меньше доверяют софту на расте, чем софту на С++? Или что ты там высрать хотел, я так и не понял.
130 2900720
>>900708

> вы


Кто "вы"-то блять? Ты один тут сидишь.
131 2900730
>>900708
LLVM - это 20 лет оптимизаций компилятора под все архитектуры, наборы команд и модели процов. Что-то подобное с нуля сейчас вряд ли кто-то напишет за вменяемое время.
132 2900735
>>900708
Раст не написан на llvm. Всё, что делает компилятор раста - выдаёт код для оптимизирующего компилятора. А этот компилятор может быть разный - llvm/gcc/cranelift.
Раст написан на расте и транслирован в машинный код посредством llvm, это не значит, что он написан на llvm. С тем же успехом можно сказать, что swift написан на llvm. Это каким ебанатом надо быть, я поражаюсь.
133 2900739
>>900735

> Это каким ебанатом надо быть, я поражаюсь.


Я подскажу. Это надо быть таким ебанатом, который из треда в тред заходит сюда и срёт.
134 2900768
>>900735

> Всё, что делает компилятор раста - выдаёт код для оптимизирующего компилятора


>транслирован в машинный код посредством llvm



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

Почему нельзя попросить растовиков из этого треда? Это же легко, на расте вообще все получается легко, быстро и качественно
135 2900785
>>899682
Действительно, какая разница где выходить за пределы массива, на стеке или в куче ?
136 2900822
>>900768

> You may need to install the Visual Studio C++ Build tools when prompted to do so.


Хотел переписать бэкенд копилятора раста на расте, но для установки раста нужно поставить 6гб билдер С++.

Да что же это твориться то?? Как тут побеждать С++, когда для раста нужно ставить сам С++.
137 2900826
>>900785

>Действительно, какая разница где выходить за пределы массива


Ну да, ведь проверка границ массива - уникальная фича раста. Люди до этого только в 2015 году додумались.
138 2900881
>>900822
Когда РЯЯЯ АНСЕЙФ заложен при рождении, вообще если подкинуть расто-додикам этот тейк, то им же можно будет стэк переполнить, ну, мол, братан сегодня ты ищешь ансейф блоки на гитхабе, а теперь поищи их в llvm, который конпелирует растопарашу. Богатая идея.
139 2901004
>>900822
Ну это может и не раста проблема. Чтобы в студии что-то билдить постоянно приходится всяких тулчейнов ставить гигабайтами просто потому что.
140 2901238
>>900881

>Богатая идея.


Еще есть богатая идея найти работу.
image.png1,9 Мб, 1430x804
141 2901302
>>900822

>Хотел переписать бэкенд копилятора раста на расте, но для установки раста нужно поставить 6гб билдер С++.


Странно, что не любящие корпов и трансов противники раста пользуются виндой, а не чем-то более свободным и традиционным, ну да ладно.
Расту для формирования бинарей нужен линкер. На винде это link.exe из ms build tools, ld из msys2 или ldd из llvm. Разработчики rustup учли пожелания некоторых неопытных пользователей, и добавили самый простой способ установить линкер. 6Гб - цена невежества.
Теперь даже ты сможешь собирать бинарники на винде.
142 2901307
>>901302
ldd lld
быстрофикс
143 2901327
>>900881
>>900768
Когда человек слишком тупой не, что для раста, даже для питона.
Алё, мань, небезопасность llvm не ебёт никого, кроме разработчиков, а они потерпят. Погугли "llvm segfault" - это оно самое. Но на качестве выдаваемого кода это никак не сказывается - оно либо отработало, либо нет.
Ещё тебе аналогия: какую-нибудь супер-современную хуйню могут делать на станках 30-летней давности просто потому, что их хватает, а новые стоят денежку и не радикально лучше при этом. Это не значит, что технологии 30-летней давности ого-го какие и надо везде только их и использовать, это луддизм ебаный.
Для совсем тупенкого поясняю: llvm, это станок, его пока хватает, на качестве продукции (софта) его отсталость пока никак не сказывается. А вот плюсы и раст.. Ну, думай так, что это тоже такие станки, на том же конвейере, вот только качество продукции на выходе уже сильно разнится.
144 2901427
>>900552
С одной стороны да, с другой стороны однозначность, компактность и лёгкость парсинга - объективные параметры.
145 2901492
>>901327

>ВЫ ТУПЫЕ!


>небезопасность llvm не ебёт никого


>ВЫ ТУПЫЕ!


>качество продукции на выходе уже сильно разнится


>РАСТИК ЛУЧШИЙ!!1



Понятно.
Кстати,а ты же на расте программируешь, да? Покажи свой гитхаб
146 2901552
Растаны, посоветуйте крейт для линейной алгебры, чтобы там были векторы, не те которые Vec, а которые Vec2/Vec3.
Всё утро гуглю безрезультатно.
Я ожидаю примерно такой синтаксис:

> let v = Vector2::new(100.0, 500.0);


> let l = v.length(); // в результате получаем 509.9


> let n = v.nolmalized(); // в результате получаем (0.196116, 0.980581)



> let a = Vector2::new(3.0, 4.0);


> let b = Vector2::new(4.0, 5.0);


> let c = b - a; // в результате получаем (1, 1)

147 2901575
149 2901737
Растобляди, оправдывайтесь
https://thenewstack.io/bjarne-stroustrups-plan-for-bringing-safety-to-c/
Ваша миссия на этом закончена. Вы успешно заставили стариков работать, а теперь можно и умирать.
150 2901834
>>901737
Слишком поздно. Надо было начинать лет 10 назад, глядишь, к сегодняшнему дню всё и согласовали, к 2025 первый безопасный конпелятор бы вышел. А кроме безопасности есть же ещё макросы и тулинг. Плюс надо куда-то девать null и ООП ебаное.

Мощный старик сейчас выйдет из кабинки, плюсисты с ложками смачно это всё схавают, но вряд ли это воодушевит кого-то со стороны.
151 2901843
>>901834

> но вряд ли это воодушевит кого-то со стороны.


Как минимум воодушевит пользоваться этим больше, чем растом лол
152 2901858
>>901843
Разве что безопасность на легаси-говно натягивать.
153 2901918
>>901834

>Слишком поздно.


Не, нормально. Это тоже перемога в будущем, как у растанов, аля перепишем, скоро будет, напишем, завезут и т.д. Только Страусу и комитету доверия больше. Если начали, то закончат.
Вы над чем-то серьезным вообще работаете? Если вам ТАК нужны обновления и новые фичи, то имхо, вы какую-то хуйню делаете.
154 2902000
>>901737
болгары в плюсотреде уже восхитились
155 2902051
>>902000
Зашёл в плюсотред, увидел слово "фабрика", словил флешбек, триггернулся, проблевался, закрыл. Как же лампово всё ручками писать на ржавом, никаких фабрик фабрик фабрик фабрик фабрик фабрик фабрик.
156 2902052
>>901737
В сипипи появиться оператор safe?
safe {
}

А если серьезно, то да, чаще прокси языки завозят в основной какие-то фичи и на этом их жизнь угасает. Тот же котлин и лум, те же нуллабл типы в других языках.
16893508335621.png275 Кб, 640x346
157 2902054
>>902052
Да, пока раст юзает llvm на плюсах, это прокси язык.
158 2902057
>>902052
Ну, грубо говоря, да.
159 2902058
>>902051

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


Кто мешает так делать на плюсах?
160 2902064
>>902058
Отличие ржавого от плюсов вт том, что если на плюсах ты не следуешь паттернам, не делаешь зарядку, не кушаешь кашку по утрам, то рано или поздно твой код превратится в жуткую лапшу и происшествие с указателем становится лишь вопросом времени.

А на расте можно писать хоть вдупелину пьяным - оно или соберётся и будет работать, или не соберётся.

Утрированно, конеш, но как-то так.
161 2902077
>>902064
Полная хуйня. На расте тоже можно лютой жижой настрать с кучей unwrap и Arc<Mutex<Box<u8>>>, которая будет падать в панику в рантайме.
162 2902083
>>902077

> настрать с кучей unwrap


Насирай unwrap_or

> настрать с кучейArc<Mutex<Box<u8>>>


Не боксируй, да не боксируем будешь!
163 2902094
>>902083

>не делойте плохо, делойте хорошо


Ну такое во всех языках работает.
will learn rust.png263 Кб, 500x360
164 2902121
165 2902147
>>902051

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


У Си неоспоримое преимущстве нету этого говна плюсного и растопараши с трейтами и прочим ненужным говном, от которого блевать только тянет.
166 2902148
>>902121
ахахаха
167 2902152
>>902147
Недавно на собече засрал трейты в итоге не прошёл хахахаха
168 2902156
>>902152
В батплаг.ио себесодавлся и тебя послали? Лел.
169 2902193
>>902156
Когда я заплакал от боли, они стали ворчать, что разработанный "трейт" это нормально для раст программиста и таких плаксивых девственниц они не берут.
Зря только волосы в синий красил.
170 2902197
>>902064
На расте можно написать так, что потом в 40 функциях будешь фиксить лайфтаймы ручками.
Язык не только замедляет разработку, так еще веселит в рефакторинге.

Все что не хватает си это просто тулинга и сахара, нахер никому ансейф не страшен, а вот эти макросы это тот еще адок.
171 2902201
>>902197

>Все что не хватает си это просто тулинга и сахара


Ебать даун. Тупо растопидор, но с другой стороны.
image884 Кб, 1280x720
172 2902210
>>902197

>Все что не хватает си это просто тулинга и сахара, нахер никому ансейф не страшен


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

Разрабатываю прошивку на си для одного устройства. Начиная с некоторого времени оно стало падать в hardfault. Это такое состояние на ARM процессорах, при котором он не может продолжить выполнять инструкции. По некоторым причинам у нас нет особой обработки такого состояния, только сброс содержимого регистров (coredump), после чего устройство зависает.

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

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

Бага глупая и тривиальная, а вот искать её было очень "увлекательно". А всего-то нужно проверять границы массива принудительно, как в расте.
173 2902332
>>901552
И зачем тебе Раст для этого?
174 2902386
>>901552
Ой, карочи проще самому реализовать. Пикрелейтед.
>>902332
Переписать тетрис и змейку на раст. Что за вопросы глупые?
175 2902483
>>902210

>был написан с ошибкой.


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

Понимаешь, проблема в компетентности программистов, такая же шляпа будет и на расте, только писать эта кодмонки будет раза в два еще дольше. Я еще уверен что в близь железной разработки, автопроверку индексов будут отключать как-то, ибо ресурсы не бесконечны.
176 2902525
>>902483

> в близь железной разработки


Это в какой деревне бабушки так говорят?
177 2902549
>>902525
Ну когда у тебя 100мбайт, ты можешь абстракций себе напечь, сладких таких и сметанкой обмазаться. А когда, у тебя, сынку, 1-2кбайта памяти, тут, увы, не разгуляться, придется долбиться без абстракций, сразу в железку, поэтому и эти ваши буржуйские, зиро-хер-асбтракшен в виде проверки индексев массива, могут быть роскошью.

А то, что Алёшенька глупенький еще и проверку гуляющего индекса не сделал, так это не страшно, научиться еще мальца, за то не будет с рефакторингом месяц епстись как Сережка из соседнего отдела, да и везде клонировать структуры, или чего хуже, в Rc сувать гадости свои.
178 2902576
>>902386
Глупо на расте писать змейку.
179 2902628
>>902549
Блять, ты реально больной, ты шиз, ты осознаёшь это?
180 2902638
>>902386

>Ой, карочи проще самому реализовать. Пикрелейтед.


Если тебе чисто вектора нужны. Если трансформации нужны, матрицы, кватернионы, лучше готовую брать. Но glam не советую. Хранить трансформацию в виде матрицы поворота и вектора смещения - не самая здравая идея.
181 2902643
>>902386
Нормализацию лучше с проверкой делать, и ситуацию если длина меньше эпсилон, как-то обрабатывать: выдавать какой-то дефолтный вектор, например.
182 2902644
>>902638

> Хранить трансформацию в виде матрицы поворота и вектора смещения - не самая здравая идея.


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

Требую объяснений, сударь.
швыряю перчатку в ебало
183 2902645
>>902628
Растёнок порвался, несите следующего.
1698837922544.png104 Кб, 490x490
184 2902650
>>902645
Все растята порвались. Ты поебдил тред. Можешь катиться дальше.
185 2902673
>>902644

>А вот тут поподробнее.


Матрица кроме ориентации и скейла хранит еще наклон осей (skew, оси могут быть не ортогональны), если ты например, трансформацию анимируешь, то надо на каждый чих матрицу править - ортонормировать, проверять что длина векторов единичная (если скейла нет, если есть - будет копиться ошибка), если матрица 4х4, очищать нижний ряд (0 0 0 1). Матрица может неожиданно стать вырожденной, тогда ее уже никак не поправить. Т.е. в матрице слишком много лишней информации для хранения ориентации. С кватернионом все проще - нормализовал и все. Плюс физика со скейлом (особенно неюниформным) совсем не дружит, т.е. для физики нужна будет отдельный вид трансформации без скейла. Ну и матрицы будут тормознее даже без проверок, например, инверсия трансформации с кватернионом гораздо проще и быстрее. Ну и сами кватернионы идеологически проще, если их понимаешь.
186 2902680
>>902638
Там же есть кватернионы.
>>902644

>мало того что устраняют гимбал лок эйлеровских осей


Гимбал лок - это от углов Эйлера
187 2902689
>>902210
Для таких вещей лучше всего подходит неиронично Ада. Там типизированные рейнджи, индексы, проверки границ на уровне типов, есть изначально и под них все заточено. В расте до new type додумались додумались только несколько лет назад. В Аде, например, изначально есть типизированные индексы для инстанса массива (так, что индекс подходит только к определенному объекту), и это там базовая база.
изображение.png10 Кб, 248x128
188 2902696
>>902680

>Там же есть кватернионы.


Есть, но трансформации там такие. С кватернионом надо самому делать.
image.png47 Кб, 264x191
189 2902715
190 2902735
>>902673
Хм, ясно. Опять обманули.
191 2902798
>>902483

>А вот на расте написать логическую ошибку нельзя.


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

Справедливости ради, стоит заметить, что программы на C/C++ можно компилировать с включенными санитайзерами (-fsanitize=...), которые в том числе могут отслеживать корректность обращения к памяти в рантайме. Однако, для разработки на микроконтроллерах это мало применимо (по крайней мере я не знаю как это делать), а на десктопе это даёт существенное замедление (очень хорошо заметно на задачах с литкода, они санитайзеры принудительно включают, и по моему опыту решения на C работают примерно раза в 4 медленнее решений на Rust).

Я всё это написал, потому что не согласен с утверждением про тулинг, сахар и ансейф.

>>902689
Ну даже не знаю как прокомментировать. Хороший язык наверное. Жаль, что никому не интересен.
image.png17 Кб, 515x147
192 2902812
>>898122 (OP)
растобляди, какого хуя на пике легитимная операция?
хули он без вопросов сравнивает None и Some?
это ж классический джавапидорский NullPointerException, избавление от которого нам обещали
193 2902815
>>902812
Это же синтаксический сахар. Он сравнивает два значения одного типа. Просто благодаря сахару они синтаксически кажутся разными типами. Ну это же база. Палишься.
194 2902818
>>902815
Полная без сокращений запись выглядела бы так:

> assert!(Option<f32>::None < Option<f32>::Some(5.4));

195 2902821
>>902798

>Жаль, что никому не интересен.


Интересен, но жирным конторам. Там лицензия на одного разраба стоит пять килобаксов в год. Хотя есть и свободная версия. Но это не хипстерский язык, конечно, не shiny new thing.
197 2902829
>>902815
я эксперта по расту вроде из себя не корчил
какой толк тогда от этого None?
вроде обещали, что None - это аналог null и даже круче
типа если нихуя нет, а должно быть, то бьем тревогу
а тут она спокойно с ним работает вместо того, чтобы паниковать
198 2902848
>>900826
Съехал с темы:

>>899682

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



Получается что нужен. Это первое.

Второе. Раст делает это лучше чем другие ЯП. Быстрее, (основная фишка) корректно, и чаще проще чем все остальные мейнстрим языки без Сборщика мусора и виртуальной машины. + с более современным инструментарием чем Ada. Де-факто стандартизированные: автодок, билд система, менеджер пакетов.
199 2902858
>>902829

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


Нет, почему же? У тебя сам тип Option<f32> подразумевает возможность пустого значения, никакого

>а должно быть


дальше у тебя в коде должна быть ветка для варианта None, вот и всё. Например, дефолтное значение через unwrap_or().
Для должно есть Result<f32, Error>, где Error это любой тип, представляющий твоё видение ошибки, хоть строка. И то, это не чтобы сразу упасть, а чтобы обработать ситуацию соответствующим образом.
200 2902861
>>902829
let a: Option<String> = None;
let b: Option<f32> = None;
let x = a == b;

Вдогонку, такой код не будет валидным, так как типы a и b разные, хоть и оба имеют значение None.
201 2902863
>>902858
это я все знаю, unwrap, unwrap_or_else и т.д.
прокидывание этих Error'наверх через ? тоже знаю и прочее

просто растобляди рисовали другое вроде
получается, что тоже надо все руками проверять
охуительные гарантии раста
202 2902868
>>902863

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


Нет, не тоже, и не всё.
let a: Option<f32> = None;
let b: f32 = 0.5;
let x = a + b; //Не скомпилируется. Надо проверить a, а b у тебя заведомо нормален

Разница в том, что в зыках с null у тебя будет что-то вроде
var a: f32 = null;
var b: f32 = 0.5;
var x = a + b; //Скомпилируется, но не факт, что результат работы кода будет тот, который ты ожидал. Если проверять, то всё - и a и b
203 2902875
>>902848

>с более современным инструментарием чем Ada. Де-факто стандартизированные: автодок, билд система, менеджер пакетов.


Раст и Ада в принципиально разных весовых категориях тут. У Ады SPARK, куча тулов для статического анализа и формальной верификации. Cargo - это просто несерьезно, там же реально васяны с is_even и left_pad как в pip и npm, один неловкий шаг - и у тебя куча левого говна в проекте. С нормальным подходом либы должны быть тоже формально верифицированы, с четким контролем версий и зависимостей, с воспроизводимыми билдами. У раста инфраструктура изначально под такое не заточена.
204 2902927
>>902210

>А всего-то нужно проверять границы массива принудительно, как в расте.


То есть раст вставляет бранч в обьектный код на каждый доступ к элементу массива?

Вот эта хуйня

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


Была бы через какой-нибудь ансейф в расте, но челик-писатель скорее всего задумался бы вставить проверку из-за асейф-шейминга кек.
205 2902930
>>902798

>Разница в том, сколько усилий придётся потратить на её поиск и исправление


Из-за затенения переменных можно неделями локализовывать ошибку.

>При панике по принудительной проверке искомое место было бы очевидно сразу.


Паника нехера не дешевая абстракция. И вообще исключения в ембеддед зло.

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


На сях есть неплохие анализаторы кода, раз на программистах сэкономили.
7vnaaxfv7j881.jpg100 Кб, 623x500
206 2902944
>>902927

>То есть раст вставляет бранч в обьектный код на каждый доступ к элементу массива?


zalupa-cost-abstraction

Там еще в Rc подолбиться можно, если клонировать устал.
207 2902994
>>902812
У шарфа всегда фолс, а вот котлин вообще не разрешает нуллабл типы сравнивать.

Кокотлин куда прогрессивнее чем супер-продуманны и любимый раст. Вот и думайте (да и вообще синтаксис опшенов говно)
208 2903003
>>902927

>То есть раст вставляет бранч в обьектный код на каждый доступ к элементу массива?


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

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


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

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


Хз, возможно, продуктового опыта на расте у меня пока нет.

>Паника нехера не дешевая абстракция. И вообще исключения в ембеддед зло.


Полноценная паника не нужна, достаточно содержимого регистров в этот момент, а там пусть уходит в бесконечный цикл. Ну а так эмбед эмбеду рознь. В принципе для реализации исключений нужно только сгенерировать пару таблиц (extab и exidx для ARM), на 32-битном проце это 4 байта на каждую простую функцию. Да подлинковать код, который с этими таблицами работает. Производительность не затрагивается при этом, а места занимает совсем чуть-чуть больше.

>На сях есть неплохие анализаторы кода, раз на программистах сэкономили.


Конкретно мою ошибку не отловил ни один анализатор. Пробовал gcc, clang и PVS.
209 2903039
>>903003

>было бы банально лень


Я про то, чтобы из-за упрощения и чтобы не ебаться, делать как-то через ансейф. А вообще вроде в расте нету такой straightforward, прости Б-же, штуки как сишный массив, там же какие-то присяды вроде через какую-то залупу из стд либа, как у плюсодебилов.
210 2903079
>>903039
Почему нет? Есть тип [T; N]: https://doc.rust-lang.org/std/primitive.array.html

Для обычной индексации применяются квадратные скобки как в любом другом сиподобном языке. При этом язык гарантирует, что ты не вылезешь за пределы массива. Чтобы несейфово что-то сделать с элементами нужно его к слайсу привести и вызвать get_unchecked_mut в блоке unsafe. Т.е. чтобы сделать небезопасно, надо как следует поебаться.
image49 Кб, 787x387
211 2903086
Хотя в принципе специально приводить ничего не надо, спасибо растовой магии.
212 2903145
>>902863

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


Так ты же сам свой f32 в опшен завернул, показав тем самым что он может быть None, а раз так то будь добр теперь держать оба варианта в голове в коде когда с этой переменной работаешь и соответственно делать проверки ну или .unwrap() иначе не скомпилируется
image.png609 Кб, 604x457
213 2903159
>>903145
ожидание были такие, что это будет делать сам язык
вот может мне из input'а прийти или f32 или нихуя
и надо мне его сравнить с другим f32
вот приходит мне нихуя, а сравнение все равно работает
214 2903188
>>903086
Я всего неделю раст изучаю, а вы мне тут ансейвы в моск льёте. Хватит!
image.png51 Кб, 256x197
215 2903203
>>903188
Это неотъемлемая часть раста.
216 2903206
>>903086
Странная конструкция, я лично ожидал бы нечто такое:
unsafe { *arr.set_unchecked(2, 42) }
16988616240290.webm2 Мб, webm,
406x720, 0:30
217 2903284
218 2903332
>>903206
Идиоматичная конструкция для раста — получение мутабельной ссылки с помощью метода get_mut() или его вариаций: https://doc.rust-lang.org/std/index.html?search=get_mut
219 2903333
>>903086
>>903206
Ну вот за это говно и не люблю вашу растопарашу.
220 2903383
>>903086
можно конфиг потрогать?
1624172088510.png177 Кб, 1574x616
221 2903421
222 2903460
>>903332

> Идиоматичная конструкция


> get_


>>903206

> set_


Раст тут не при чём.
Сеттеры и геттеры это классика, это знать надо. Они идиоматичны глобально, для любого языка.
set(key, value)
get(key, default) - в расте второй параметр гета, дефолтное значение, переместили, а обработку таких ситуаций возложили на возвращаемое значение. Причём тут идиоматичность? Тут скорее вкусовщина.
223 2903663
>>903421

>отличительная фича оси - написано на расте


Кринж.
Screenshot from 2023-11-02 12-57-11.webp12 Кб, 529x532
224 2903674
>>903159
Ты можешь написать свой Option, для которого это сравнение работать не будет. Там всё просто, на самом деле.

https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=8c13b8447ef743748acad43ea27c74ac

Причём impl не особо нужен, если всё делать через if let. Ещё можно From реализовать для обычного Option, там всё тоже тривиально.
225 2903778
>>903674

> Screenshot from 2023-11-02 12-57-11.webp


Бля, глаза вытекают. И как мы раньше на белом фоне кодили?.. К хорошему быстро привыкаешь.
Screenshot from 2023-11-02 15-39-54.webp14 Кб, 529x532
226 2903792
>>903778
Возможно, на элт монике оно так лучше смотрелось,
227 2903848
>>903792
Что ты сделал? Т.е. там был оператор (>) для float и None. Нафиг он нужен, прост интересно?

В одном яп который похож чем-то на раст
# Some (1.) > None;;
- : bool = true
Но это с натяжкой понятно:
type sometype = White | Black;;
Black > White;;
- : bool = true

Но
# float > None;;
Error: This expression should not be a constructor, the expected type is
int -> float
228 2903874
>>903848
Для стандартного Option реализован трейт PartialOrd https://doc.rust-lang.org/std/cmp/trait.PartialOrd.html для сравнения с типом T, поэтому сравнение валидно. Я написал свой без реализации.

То есть MyOpt ≠ Option , хотя выглядит и работает почти так же.
229 2904035
кста а почему нет треда про haskell ? или на нем два с половиной человека пишут
230 2904053
>>903332

>Идиоматичная конструкция для раста


Это нарушение инкапсуляции. Конечно, для того примера это не важно, но раз это прям идиома, то это плохо.

Есть какая-то вечная пропасть между промышленным программированием и вот этими фантазерами новых языков, а ведь полиморфизм (хотя бы интерфейсный) и инкапсуляция это единственно что делают разработку в сотни человек менее болезненной.
232 2904216
>>904053
Получение элемента массива по индексу - нарушение инкапсуляции? Моск не жмёт, братан?
image.png39 Кб, 1445x365
233 2904249
>>898122 (OP)
чтобы сделать свой итератор для структуры, мне надо имплементировать трейт итератор, а конкретно метод next

вопрос такой: я правильно понимаю, что в самой структуре должен быть какой-нибудь счетчик, чтобы сохранять на каком элементе мы сейчас находимся?
234 2904296
>>904249
ну да, только не в самой структуре, а структуре итератора
235 2904299
>>904296
а эту структуру итератора я должен делать или достаточно реализовать некст?
236 2904304
>>904299
Чтобы реализовать трейт для структуры, нужно определить структуру.
237 2904310
>>904299
а у тебя раст первый язык?
238 2904313
>>904304
это понятно
есть структура
импелементим трейт Iterator (fn next)
так? что-то еще требуется?
239 2904316
>>904310
ага
240 2904330
>>904249
ты при итерации собираешься изменять свою структуру?
241 2904335
>>904330
допустим, что мутабельность не нужна
242 2904341
>>904335
struct a {
arr: [u8; 5],
}

let b = a { arr: [1, 2, 3, 4, 5] };

вот структура и ее экземпляр для примера
как мне получить итератор всей структуры, а не b.arr.iter?
243 2904348
>>904313
Нужно не просто написать функцию, а явно указать, что реализуешь трейт. И помимо функций потребуется указать тип Item.

impl Iterator for MyStruct {
type Item = ???;
fn next(&mut self) -> Self::Item {
???
}

Потом можешь пользоваться
244 2904349
>>898503
Ору. Если всё так хорошо, почему ты тут сидишь? Ах, да...
245 2904354
>>904341
Делаешь структуру
aIterator<'a> {
parent : &'a a,
index: usize
}

Для неё реализуешь Iterator. Потом для a реализуешь IntoIterator.
246 2904359
>>904354

>Потом для &a реализуешь IntoIterator


fixed
247 2904362
>>904348
ок. вернемся к тому с чего начали: где конкретно хранится состояние итератора?
как он понимает на каком элементе находится?
в next? так он каждый раз заного запускается
image.png21 Кб, 1542x93
248 2904368
>>904354
понял, спасибо
я с этого и начал
image.png277 Кб, 896x1789
249 2904392
250 2904475
>>904209
а хули тред то через навигатор на /pr/ не индексируется? а так пасиба
251 2904479
>>903383
Емакса что-ли? Надо проверить нет ли чего-то личного...
252 2904561
>>904216
Получение ссылки на этот элемент массива. с кем я тут сижу
Screenshot2023-11-03-00-38-13-430com.android.chrome.png560 Кб, 1080x2248
253 2904592
Штож такое творится, корпы собираются дать денег трансам, чтоб те пихали ряя-ансейфы им в драйверы!
Караул!
254 2904595
>>904592
Нас ждет усиление маркетинга. И хорошие новогоднии премии.

Интересно за бабло удается получить влияние? Не думаю что мягкие добровольно садяться на чужую вендерную иглу.
255 2904634
>>904592
когда раст влияет на винду - винда влияет на раст
256 2904649
>>904634
Они, кстати, пытались свой форк раста запилить, но потом поняли, что не потянут.
Ещё такие мысли:
... с одной стороны, очень удобный для корпов язык, ибо контроль. На плюсах каждого васяна не проверишь, что он там понаписал, а тут поиск по unsafe + clippy дают 99% уверенности
... с другой стороны, как ни посмотришь на вакансию у корпов, так нужен пхд-олимпиадник, но вот раст, это же слишком сложно, поэтому пока осторожно
257 2904651
мысль вдогонку
...на покупку близзард мс потратила 7 ярдов, на покупку беседки 70 ярдов, а на раст пока что 11 лимонов. К вопросу о том, какие бабки вертятся в идустрии и какой % реинвестируется в инструменты.
258 2904679
>>904561
И как это нарушает инкапсуляцию? Ты понимаешь, что если отдаёшь куда-то голый массив, то очевидно в него могут писать и поинтить на его внутренности (и клиент в свою очередь понимает, что поинтеры могут протухнуть)?
259 2905192
>>904053
Нету тут нарушения для раста. Мутабельная ссылка может быть только одна, при этом если это ссылка на кусочек внутреннего представления некоторого сложного типа, то это правило распространяется на все данные целиком. Это безопаснее и эффективнее любых сетеров/гетеров в конвенциональных языках. Конечно никто не мешает написать сеттер, если необходимо добавить дополнительную обработку. В случае массива это не нужно, как и в случае многих других типов из стандартной библиотеки, которые представляют из себя обёртки вокруг сырых данных.
image.png49 Кб, 225x225
260 2905290
>>904679
>>905192
Бестолковая миддлота. Во первых я сразу написал, что для этого примера не имеет смысла, но плохо как идиома раста.
Но у ограниченных сработал триггер в голове и начали объяснять мне то, что я сам подчеркнул.

Не люблю учить миддлоту, но инкапсуляция это не история о приватных переменных, это сокрытие бизнес логики внутри объекта или модуля.
Будет у тебя контейнер, который сегодня отдает только ссылку, а завтра понадобиться помимо изменения значения изменить еще какое-то состояние внутри контейнера (кэш, хуешь, время записать, админа нахер послать, ивент пульнуть, лог дернуть итд). Так вот сеттер решает проблемы безболезненно для API и не поломает миллион чужого кода, а идиома раста сосет, потому что дергает кишки и самолично меняет, нарушая инкапсуляцию.
261 2905311
>>905290

> инкапсуляция это


> это сокрытие


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

А сокрытие - это сокрытие.
263 2905340
>>905290
Пишешь свой трейт, декларируешь там
unsafe fn set_unchecked(&mut self, index: usize, value: T)

потом имплементишь его для Vec<T> и наслаждаешься идиоматичной жизнью, продолжаешь поучать мидлов с высоты своей параши.
264 2905385
>>905290
Ты же тупой и старый, тебе уже поздно помогать.
265 2905397
>>905290

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


Ок, но какая бизнес логика может быть у контейнеров? Ещё раз, это идиоматично только в этом случае — обёртки вокруг сырых данных. Может я конечно не то слово подобрал, когда говорил про методы вида get_mu(). Да и у меня нет продуктового опыта на расте, поэтому может я ошибаюсь насчёт распространённости таких конструкций. Но в стандартной библиотеке это повсеместно, ссылку на документацию уже писал.
266 2905402
>>905290

>типа системный язык


>сокрытие бизнес логики


ПидаРАСТы, я ваших матерей ебал.
267 2905410
А хотя ты пример бизнес логики привёл, оказывается. Ну в принципе в стандартной библиотеке есть примеры и сеттеров, классика это варианты Cell, ну а таки их в целом много: https://doc.rust-lang.org/std/?search=set_
Хз, в принципе про новый трейт правильно анаончик написал, при необходимости добавить сопровождающий код им можно это очень легко сделать.
124.jpg59 Кб, 341x521
268 2905454
А ещё я вот что придумал:
Что на расте идиоматично, то на плюсах - смерть.

можно и наоборот.
269 2905483
>>905311
>>905314
Дети ютуба. Кто-то пернул и понесло.
Как кроме сокрытие одного от другого ты изолируешь еще данные?
Поэтому инкапсуляция, это изоляция или сокрытие, что однохерственно.

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

Какая же каша в бошках. Видимо чем больше смехуечков в видео, тем правее оно будет?

Еще раз инкапсуляция это разделение на изолированную внутреннюю часть, через интерфейс взаимодействия API, но достигается это всегда сокрытием первого. То есть, сокрытие это частное инкапсуляции.
270 2905688
>>905483
Попроси чатгпт пересказать тебе видео, раз самому просмотреть внимательно до конца религия не позволяет.
1699040483023.webp18 Кб, 580x469
271 2905718
>>905454
Кто на раст петпроджекты не переписал - тот красоты не видал.
272 2905760
>>905688
Ты лучше скажи как можно инкапсулировать, кроме как сокрытием?

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

Это не как не отменяет понятия инкапсуляции в программирование - некая закрытая йоба из которой торчат ручки для управления. неожиданно это подходит и для обычных функций, но надо было продать ООП
273 2905848
>>905760

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


Еще раз.
В видео всё подробно разложено на примерах. Но нет. Будем изъёбываться на двачах. Мы ж не зумеры, мы видосы не смотрим.
274 2905887
Почему у Раста такой уебищный синтаксис с кучей визуального мусора? В чем проблема была взять Си синтаксис?
Screenshot from 2023-11-04 11-42-57.webp20 Кб, 1079x632
275 2905903
>>905887
Возьми си-синтаксис и добавь к нему
- лайфтаймы
- дженерик-функции/структуры/енумы/контейнеры

так, чтобы это выглядело тебе по душе. Потом покажи нам.

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

> уебищный синтаксис


Вкусовщина. Не спорим.
277 2905916
>>905903

> питонический синтаксис


А там можно на отступах соорудить скоуп (блок), возвращающий значение?
Типа:

> let x = 10;


> let y = { x += 5; x };


Если да, то малацы, годно сделоли, батя одобряе.
1699086375245.png37 Кб, 846x45
278 2905927
>>905903
Ля какие. Изобрели goto и хвастаются, что в большинстве языков это нот посибл. Канешна. За выход из внешней функции внутренним замыканием на собесах по хую линейкой стукают. Потому и нот посибл.
279 2905951
>>905887
Так они и взяли си-синтаксис, из-за чего у раста уебищный синтаксис с кучей визуального мусора. Взять что-то нормальное (лисп-подобный или мл-подобный) они не могли, так как утята-сппшники бы не стали смотреть на раст, т.к. 95% разработчиков оценивают язык по синтаксису (и логотипу).
Screenshot from 2023-11-04 13-02-52.webp27 Кб, 763x628
280 2905954
>>905927
Это игрушечный язык для создания игрушек, типа Jai/Odin. Всё необходимое в поставке - поддержка GL, джойстика, звука, васма. Если выбирать - писать игрулю на питоне или на этом лобстере, я бы выбрал его. Ну, такую игрулю, 2D квест с элементами сурвайвл шутера, не более
Как раз тот случай, когда не надо париться "а что будет с языком и моим проектом через 10 лет?" - повыпускать патчи годик и хватит. Даже если сам лобстер загнётся, можно использовать сгенеренные cpp файлы (конпеляция через плюсы) и пересобрать из них под что там будет в будущем.
281 2905968
>>905954
Честно говоря, я уже битый час ломаю голову, как оно там работает. В документацию лезть не хочу. Ну вот например ген это аут-параметр, так? При этом это лямбда. Внутри тейка она записана в переменную Ф? И рекурсивно вызывает себя? Пока и++ сравняется с н? после чего вернёт войд? Не понимаю в чём тут фишка? Нет, ну я понимаю, что это ленивый генератор, который запускается только по требованию. и в реале туда можно засунуть тяжёлые алгоритмы, которые есть смысл лениво вызывать. Но всё равно, суть происходящего от меня ускользает.

Выше я написал, что они переизобрели гоу-ту, но это что-то иное.
282 2905971
>>905968
А говорят, что это раст сложный.
283 2905977
Пацаны, насколько имеет смысл писать для десктопа на расте, ковырять винапи? Или нахер это не нужно...
Меня почему-то тошнит от синтаксиса Си и плюсов, от раста конечно тоже не в восторге, но это меньшее из зол...
284 2905982
>>905977
Хочешь - пишешь. Не хочешь - не пишешь. Смысл каждый находит для себя сам.
Или тебе вакансии нужны на дядю?
285 2906085
>>905968
Ну ты как с инкапсуляцией разберёшься, про call/cc почитай, синьорный ты наш.
286 2906090
>>905977

> 2024


> винапи


Зачем? Вопрос без троллинга. Десктоп на сабже пишут, но без интерактивной разработки и с компиляцией по полчаса это боль. Хотя тебе будет норм, крестовикам не привыкать, бгг.
287 2906165
>>905848
Чудо, я с тобой говорю, а не с видео.
Сейчас кину тебе 11 часовое видео, поговори с ним, малолетний гений.
16893508335672.png724 Кб, 500x1000
288 2906271
>>905971
Он не сложный, он неудобный для больших проектов.
Там даже пользовательские ошибки нудно писать руками без обертки макросов.
Почему неудобство называют сложным я хз. Наверное чтобы отыграться на слабо, мол не хочешь писать бойлерплеты эти, значит фу, ты не осилил.
289 2906489
>>906090
а как это? я вот нарыл что есть обертка windows-rs, через неё вроде удобнее всего... а ты что имеешь в виду?
290 2906523
>>906489

> я вот нарыл


Здесь смотрел?
https://areweguiyet.com/
291 2906609
>>906489
Попробуй Slint
292 2906935
>>906271

> писать бойлерплеты эти


Но ведь...
Но ведь именно для этого в язык сразу же завезли пакетный менеджер и коммунити-пакеты. Весь бойлерплейт будет постепенно написан и опубликован. И тебе нужно будет только ассетфлипнуть нужные крейты с удобным тебе бойлерплейтом и без задней мысли делать бизнес-логику.
293 2907002
>>905977

>Пацаны, насколько имеет смысл писать для десктопа на расте, ковырять винапи?


Если чисто под винду - бери шарп, там формочки удобнее всего лепить. Для кроссплатформы - Qt и c++. Другие варианты - боль. Для раста нормального гуя не будет никогда, будут или биндинги или кривые либы от васянов с минимум функционала.
294 2907076
>>907002

> или биндинги


Кстати, биндинги если уж брать, так dear imgui. Самый крутой гуй на сегодня. Просто посмотрите, какие фирмы на нём лепят формочки.
295 2907107
>>907076

> так dear imgui. Самый крутой гуй на сегодня.


Это как раз васянка. Т.е. нет RTL тектса, интернационализации, accesibility, использования особенностей системы вроде меню на маке и т.д. Подобное на расте и так есть.
image.png1,2 Мб, 1944x752
296 2907162
>>907002

>Если чисто под винду - бери шарп, там формочки удобнее всего лепить.


А как же Compose Multiplatform на котлине
297 2907264
>>905290

>Так вот сеттер решает проблемы безболезненно для API и не поломает миллион чужого кода, а идиома раста сосет, потому что дергает кишки и самолично меняет, нарушая инкапсуляцию.



В Джаве ты можешь сохранить объект через сеттер и продолжить им пользоваться без оглядки на то, как, он может использоваться в кишках. Буквально ни разу не слышал, что это вызывает проблемы.
298 2907585
>>907162

>А как же Compose Multiplatform на котлине


Это же что-то вроде JavaFX и QtQuick. Для приложений в мобильном/браузерном стиле. Такое для десктопа обычно не очень подходит, потому что там нужны специфические компоненты, вроде навороченного TreeTable, нужна нормальная поддержка Drag'n'Drop, системного клипборда. Под виндой почти всегда нужна хоть минимальная интеграция с офисом (вроде сохранения отчета в docx или вставки рич текста из него же). Так-то джавовский свинг подходит почти для всего, но под него кодить очень больно.
299 2907710
>>907585

>Это же что-то вроде


Не знает что это и высерает целую пасту как все должно быть плохо. Мы что в ответах-мейлру?
300 2907730
>>907710

> Мы что в ответах-мейлру?


Мы на мейлаче же. Классика. База.
301 2907772
>>907710

>Не знает что это и высерает целую пасту


У них на странице даже ссылки на доки нет, значит по-умолчанию говно какое-то. Тем более, что идея все еще на свинге работает.
302 2907808
>>907772
Как-будто ты доки читаешь и тесты пишешь.
303 2907815
>>907808

>Как-будто ты доки читаешь и тесты пишешь.


Читаю, конечно. Тесты - по ситуации.
image.png5 Кб, 288x165
304 2907864
>>907815
Тогда просто начни. А что дальше? Ты же не миддлок какой-то, можешь открыть API посмотреть и даже в сорцы в редакторе пооткрывать. Накройняк пробежаться по Jetpack Compose, сравнить архитектуры, попробовать оттуда.
Потом может статьи какие найдешь, ты же не миддлок и можешь дальше одной ссылке в гугле спуститься.
Давай, ты сможешь, быть программистом это не сложно, просто изучай!
https://habr.com/ru/articles/527586/
А там, быть может и гитхаб откроешь для себя
https://github.com/JetBrains/compose-multiplatform-desktop-template
305 2907881
>>907864

>Тогда просто начни.


Зачем? У меня есть на чем гуй писать, а это говно мне точно не понадобится ни в каком виде.
306 2907885
>>907864
Я эту хрень, конечно не знаю, но мне хватило 5 минут пробежаться и понять что это декларативная шляпа на базе котлин (длс) и даже увлеченно проскролил ролик на ютуб.

Причем у меня сразу флешбеки как я по сорцам осваивал один из асинхронных вебсеверов и даже всплакнул, вспомнив какой на жабе был удобный тулинг в отладке, сидишь прям в реалтайме сорцы в отладке читаешь.
307 2907888
>>907881

>Зачем


Чтоб не ныл. Доков он в декларативной шляпе не увидел и испугался.
308 2907981
>>907888

>Доков он в декларативной шляпе не увидел и испугался.


Ссылка на документацию - обязательная часть, если ты программный продукт продаешь. Ссылка на гитхаб, ботай сам - это несерьезный подход, как будто опенсорц от хакера Васи, а не фирма мирового уровня. До такого даже индусы не опускаются.
309 2908021
>>907981
Джуниор потерялся без доки, плак плак, не пугайте мальчика сорцами.

90% доков, это просто текст на отвали, по типу херак херак и вуаляк. Та же основная книга-дока по расту именно из той же серии, просто тур по языку, вместо погружения в новую парадигму.
310 2908045
>>908021
какая у раста новая парадигма (в сравнении с плюсами и шарпом)?
311 2908309
>>908045
О, а можно я покормлю этого? Можно? Можнооо?
Новая парадигма в том, что после присвоения переменной она становится недействительна. Так программировать становится намного сложнее и интереснее. Как будто квест в игре разгадываешь. "Бляяя, опять боров чекер ругается! Да шош такое!"
image.png375 Кб, 480x559
312 2908388
>>908309
не, я тот анон, что выше спрашивал про None < Some и итераторы

как я понимаю Rust - это тот же C++, но со свистоперделками (безопасная работа с памятью и т.д.)
типа на C/C++ ты можешь выстрелить себе в ногу, а тут ты анально огорожен от этого

поэтому я и спросил про парадигмы - что там сильно иначе?
ну если доебки borrow checker'а тянут на новую парадигму, то ок
подумал, что вдруг там есть более фундаментальные отличия, поэтому и спросил
313 2908428
>>908388
Здесь вообще не работает ООП или попытки его эмулировать. С другой стороны, в плюсах оно тоже не работает и вообще лжепропок.
314 2908457
>>898122 (OP)

>GUI для Rust: http://www.areweguiyet.com/


> Electron + "(framework on top of it)"



- вы там совсем ебанулись?
image.png7,1 Мб, 2048x1536
315 2908534
Чому не сделают нормальный красивый установщик как в джаве какой нить? Чому надо в консольке чета нажимать и доустанавлить какие то там visual studio c++? Да и чтоб обнова прям как на жабе выходила, чтоб в значках появлялась иконка крабика с обновой. Хочеца.. как же хочеца... Язык реально хорош..
316 2908554
>>908534
Ну сам возьми да сделай. КТОООО ЯЯЯЯЯЯ!? САМ СДЕЛАТЬ КРАСИВЫЙ НОРМАЛЬНЫЙ УСТАНОВЩИК!?!?! Этот вопрос надо задавать непосредственно мейнтейнерам. Ты сейчас общаешься с пустотой, так как в треде нет ни одного человека из группы разработчиков раста, кто принимал бы решения делать или не делать фичу. У них на сайте есть адреса всех слак групп, почты, они непосредственно внедряют новые фичи. А мы обычные пользователи языка, не знаем почему так сделали и нам похуй.
317 2908674
>>908534
Литерали нахуя, а главное зачем? Для бабы сраки которая консолькой пользоватсья не умеет?

>доустанавлить какие то там visual studio c++


Шта
image.png264 Кб, 2504x1276
318 2908725
>>908674

>Для бабы сраки которая консолькой пользоватсья не умеет?


Будет красиво и приятно

>Шта


Имею в виду пикрил
319 2908756
>>908534
Его начинали делать, но он оказался ненужОн. Тем, кто мог бы его сделать, консоль удобнее, а кому он нужен - не могут его написать лол

Вообще, выглядит как хорошая идея для пет-пректа
320 2908825
Разработчик, который не умеет пользоваться терминалом это лолкек.
1699273201211.jpg50 Кб, 720x480
321 2909076
>>908825
Мы в треде прекрасно понимаем, разработчик чего залетает к нам в тред и толсто тралит, и чем он умеет пользоваться. Но, тактично умалчиваем, посмеиваясь.
322 2909441
>>909076
Шиза, конечно понятно что тут 1,5 шизика без работы, которым скучно и легион вкатунов, которым обязательно перезвонят, но о чем ты?
323 2910403
>>899694
Где про это прочитать можно?
324 2910423
>>910403
https://github.com/rust-lang/rust/blob/master/src/tools/tidy/src/style.rs#L61
Могу только сурс дать с "ПРОБЛЕМНЫМИ" константами.
Гуглится за секунду, бро.
325 2910583
>>899693
Раб тупой.
326 2910654
>>910583
Схуяли он раб, говноед? Каждый уважающий себя специалист должен держать свою область в чистоте и относиться с своей работе с уважением.
Представь, что ты приходишь на сеанс к стоматологу, а он тебе начинает какую-то политоту прогонять? Кому это нахуй надо?
327 2910785
>>910654
Почему дантист, а не сразу работник реанимации.. Т.е. никому нельзя ничего кроме работы, нужно работать несмторя ни на что при любых обстоятельствах. Политика только у рабов отдельно от жизни, политка, это не приятно, это же борьба. Люди используют те методы борьбы, которые могут. Агитация, это тоже один из методов. Раб этого не понимает, он послушен, политика где-то там, господин знает как лучше и не нужно рыпаться. Ну а кто не согласен, тот не правильный раб и другим рабам следует его наказать, так?
328 2910846
>>910785
Господи, какой же ты дегенерат...
Надеюсь, что тебя машина собьет или чего похуже.
329 2910849
>>907864

>гитхаб откроешь для себя


Спасибо, но я - не соевый пидор.
330 2910865
>>910785
Поехавший, ты действительно хочешь чтобы каждый человек постоянно высказывал свою политическую позицию?
Вышел по улицу, встретил дворника с женой - они тебе пояснили за Израиль и притеснения мусульман.
Зашел в магазин, одна мерчендайзерка подошла и рассказала о том что Путин ей дал денег за тугосерю, великий политик. Второй опять рассказал про Израиль.
На кассе спросили, за кого ты голосовал на предыдущих выборах, кассир_ке не понравилось что ты аполитично мямлишь, не пробила скидку.
Охранник на выходе пожелал встретить Новый Год на развалинах Фашингтона.
Водитель автобуса по громкой объявил что сегодня день памяти и скорби по Жириновскому и включил погромче его речь.
Все встреченые на улице бабы сраки останавливают тебя чтобы рассказать про хорошую пенсию и про молодца Путина.
Гопники подходят и спрашивают за какую ты партию епта, и где твой партийный знак отличия нах.
Директор управляющей компании твоего дома член ЕР, поэтому везде установлены громкоговорители и по ним круглосуточно передают важные политические новости. Вечером музыка, засыпаешь под звуки патриотических песен.
Мне кажется отлично будет
331 2911034
>>910849
А какой ты пидор? Гороховый, судя по всему.

Пасаны. Этого отныне гороховым пидором звать будем.
332 2911146
>>910865
Ну вот, опять, тупой блять раб. По твоему выступать против массового убийства сопоставимо с тем, что ты написал? Ты даже не знаешь что такое политика и лезешь. Ай страшно... запретить!!
sage 333 2911177
>>911146
Короче, поясню. Есть только один способ добиться каких-то политических действий. И как бы тебе не нравилось, это массовое социальное требование и организованное дествие которое за этим следует. Которое подразумевает что люди иногда сопрят. Но не в таком виде как ты написал, но и это тоже способ, если это действует. Но обычно это по другому, но в том числе в блогах, газетах, исскуство и т.д., не может быть совсем не навязчиво. Да блин, ты посмотри на государство, оно действует очень навязчиво, ТВ, реклама, могут силой заставить, и ты молчишь, раб. А тут ты решил повозникать и придумал таких тупых историй, которых нет или почти нет, никто тебя не дергает на улице и силой никуда не тащит.
334 2911208
>>911146
Я понимаю, что малолетнему трансхохлу и борцуну с системой тяжело осилить такое понятие как этика, но у людей с ICQ выше хлебушка она есть, в том числе рабочая.
Попробуй припиздовать на аниме сходку и спросить у них почему они политической агитацией не занимаются. Тебя, скорее всего, обоссут или в лучшем случае пошлют на хуй, и будут правы, потому что люди пришли обсудить ОПРЕДЕЛЕННОЕ множество тем, а не заниматься копротивлением.
Также политические игры - очень сложная, грязная и мутная тема, с которой приличные люди не всегда хотят возиться. И только ты тут в агрессивной манере можешь всех рассудить, укзать кто раб, а кто нет.
Да и еще, возможно тебе не приходило этого в голову, но людям может быть похуй на массовые убийства и current thing, понимаешь? Теперь будем отменять людей из-за их моральных устроев? А не дохуя ли ты на себя взял? Легче тебе мозги выбить, как и всем истеричным крикунам из ЛГБТпедолобби. Вот скажи мне, нахуя мне политика в ченджлогах компилятора? Это как агитка в тех.паспорте машины или высказывание на пачке молока.
image.png12 Кб, 1200x1200
335 2911392
Ну зачем??
336 2911460
>>911392
Да это ещё не так страшно. Давайте лучше обсудим, зачем ::? Неужели их хвалёный компилятор не может отличить компонент::неймспейса от компонента.типа? 1995 год - Delphi мог, 2023 год - Rust не смог.
337 2911497
>>911392
Чтобы парсить легче.
Си-синтаксис не такой уж и хуевые.
338 2911505
>>911497

> Чтобы парсить легче.


В чём лёгкость-то?
Все языковые конструкции прекрасно различимы без отдельных символов. Если стоит слово for, то за ним ожидается выражение-итератор и блок кода. Если есть символ = значит справа ожидается выражение. Не вижу проблем с этим.
339 2911676
Кто нибудь писал бэк на расте?
Есть какой нибудь устоявшийся джентльменский набор? (Фреймворк, коннектор для бд, орм, либы для брокеров)
Мимо питонодебил, интересует что то по типу FastAPI + SQLAlchemy + pika под раст
340 2911838
>>911676

>бэк на расте?


Зачем? 90% твоих тормозов будет в БД и i/o, остальное добивается кэшами.
Именно поэтому в нулевые люди стали пересаживаться с си на перл и пхп, потому что львиная доля тормозов была не в скриптах.
341 2911857
>>911676
Я писал. Ну классика же - axum, serde_json, tokio. Там ничо особо и не надо. Для sql есть sqlx. Всё остальное по задачам.
343 2911986
>>911857

> serde_json


Поясни плиз за nanoserde? На крейтсах пишут что он легковеснее и быстрее.
344 2912076
>>911949
Есть такие же для С++?
345 2912101
>>912076
мемчики, мемчики - ничего лучего для прокрастинации не придумали еще. Лень учить базу, гули мемчики, мемчики сами не нагуглятся...
346 2912104
>>911986

>Поясни плиз за nanoserde?


Ой бля, это вообще никакой особой роли не играет. Чтобы почувствовать разницу между serde_json и nanoserde, нужно сериализовать/десериализовать json'ы по 500 мегабайт минимум. От того что ты пол-килобайта данных засериализуешь, ёпта ты сэкономишь может 1 наносекунду. От этого ты никому погоды не сделаешь. Я бы вообще не заморачивался, если только ты не работаешь с embedded и там каждый килобайт памяти на счету. Или если ты прям вообще жёсткий минималист и у тебя навязчивая параноидальная мания оптимизации. Тогда ладно.
347 2912120
>>912101
Я тимлид вообщет. Могу себе позволить. А ты иди работай дальше, не прокрастинируй тут.
348 2912190
>>912120
А я билл гейтс ага
349 2912290
>>899512

>что раст эвакуировали с этой тонущей залупы.


Много стало лучше?

П.С. - где все прорывные китайские языки программирования? Ни одного не видел
350 2912411
>>911949
>>912076
Боевые картинки против сложного и страшного си
@
В треде сидят одни вебмакаки питонисты
352 2912542
>>912527
Смищно.
353 2912574
>>912527
Поинтер на поинтер в аниме стиле классно вышел, разрешишь использовать в обучающих слайдах (внутри галеры все равно)?
354 2912581
>>912411

>против сложного и страшного си


>на картинке висит растоблядь

355 2912593
>>912527
void* это указатель не на путоту, а на НЕВЕДОМУЮ ЕБАНУЮ ХУЙНЮ ИЗ ЧЕРНОЙ БЕСКОНЕЧНОЙ ПУСТОТЫ КОСМОСА
image.png4 Кб, 134x67
356 2912639
>>912527
отнеси обратно
image.png710 Кб, 1080x745
357 2912665
>>912527
поясните по пику плиз
void * - это просто указатель на какую-то область памяти без привязки к типу данных, которые там находятся. так?
а что значит empty? это какое-то ключевое слово? или имя переменной?
358 2912680
>>912665
С-тред тут >>2835039 (OP)
359 2912696
>>912680
спасибо, анон
360 2914170
Хруст девелопмент би лайк

>клонируешь проект с гитхаба


>запускаешь карго билд


>качаются сотни зависимостей


>одна из зависимостей - сишный тулчейн


>компилируется сишный тулчейн


>сишный тулчейн компилирует код на сишке


С каждым днем мы все дальше от бога...
361 2914234
>>914170
Любишь системщину - люби и ffi'шечки собирать.
1699536093536.png162 Кб, 365x441
362 2914252
>>914234
Я в раст не за системщиной пришёл. Мне наобещали скорость. Я планировал пилить скрипты на медленном питоноподобном скриптовом языке, который при этом запускается мгновенно без компиляции и за это я плачу медленностью. А потом я планировал переписывать критичные к скорости скрипты на быстрый компилируемый язык. Мне предложили раст. Я не хотел си++. Боялся си++.

Но знаете, что я вам скажу? Изучив раст я внезапно начал понимать си++. А моя изначальная скриптовая среда, которая с медленными скриптами, она на крестах написана, и крестами идеально дополняется.
363 2914274
>>914252
Любишь переписывать критичные к скорости части скриптов на быстрый компилируемый язык - люби и ffi'шечки собирать.
364 2914455
>>914252
Попробуй лобстер.
✓Питонический скриптоподобный синтаксис.
✓Безопасный. Есть боров-чекер с автоматическим подсчётом ссылок.
✓Можно сразу запускать без компиляции.
✓Можно компилировать в плюсовый код.
365 2914569
>>914455
Я наверное туповат, гуглил этого лобстера еще когда ты в прошлый раз о нем упомянул, но не выгуглил. Дай просто ссылку на их сайт, плиз.
366 2914575
>>914569
https://github.com/aardappel/lobster/

лубая хуйнянейм гуглится как хуйнянейм lang
367 2914581
>>914575
Блять, мистика какая-то. Я точно так и гуглил, и мне выдавало не сам язык, а какой-то дизайн паттерн штоле. Блять, теперь загуглил - выдаёт язык. Что за мандела у меня тут творится? Ну да ладно. Спасибо. Пойду почитаю.
368 2914974
В билд-системах отсталых языков программирования
1. ты пишешь на непонятном скриптовом языке, который надо учить.
2. у каждого проекта своя билд-система
369 2914975
>>911208
Я его тоже могу понять. Рядом город который на 50% разрушен самоходными артиллерийскими установками и прочими градами. Позиция "моя хата с краю" работает до тех пор пока до тебя не доберутся раскулачиватели20ХХ. Вот он и изливает свои опасения и боль в такой форме, в надежде что это поможет.
никогда не помогало, есть только выгода.. там, на уровне властей мира сего, в момент принятия решений
370 2914977
>>914974

>каждого проекта своя билд-система


С одной стороны это плохо, а с другой заебись, ибо появляется свобода выбора из говен.
Тебе не придется мириться с косяками партийной системы, а можно будет взять ту, которая тебе подходит.
371 2914994
>>914974
Никто не запрещает дёргать rustc (или даже cargo) из тех же билд-систем.
372 2915060
>>914974
Надо быть полным уёбком, чтобы на языке для определённых задач писать и макросы (м4), и билд скрипты (cmake, makefile), и скрипты общего назначения (баш, схема, тикль, питон, твоя мамка).
374 2915263
>>915242
Ох, уж эти студенты. Я ещё помню времена, когда преподавали паскаль, дак они на Вирта этого молились. Такое, немножк стадное

На С++ пишет наш регион
И все, кто с нами.
Кто на другом языке пишет -
Тот под нами.

Segmantation fault ежжи -
Ай Саул, от души...
375 2915349
Блин, как совпало удачно, ржунимагу
https://youtu.be/MQzT2KQZQWI?t=40

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

кто не понял - это я продолжаю исследовать тему молодых-консервативных студентов-плюсистов
376 2915438
>>915242
Блять, у меня водица байкальская из экрана замироточила.
github-top-languages-by-percentage-growth.png26 Кб, 1024x576
377 2915621
Что корпы и трансы творят!
378 2915639
>>915621
Ой, ну теперь точно заданачу в фонд, уговорили.Чем ближе новогоднии топ премии, тем безумние графики
379 2915653
>>915621
Даже отдельным цветом выделено, "вот вот тут топчик, смотри!"
top.webp21 Кб, 1024x576
380 2915698
>>915653

>цветом


какаим-то не тем цветом, замечу
Screenshot20231110165913.png90 Кб, 443x556
381 2915728
Прошёл тестовое на блокчейн, господи это просто другой мир. Какие-то SPL-токены, минтинг, SOL'ы, лампорты... Епаааать. После бекенда это как будто НЛО, придётся заново учиться. Я-то думал, что там просто поменял библиотеку и пересел на блокчейн. А там не, нихуя. И хороших курсов-то особо нету...
382 2915907
>>915728
Порадуемся за растопидора, челик пошёл работать в очередной зумерский баттплаг.ио хотя в баттплаге работа, куда лучше.
383 2915935
>>914455

>✓Можно сразу запускать без компиляции.


Разве это не была фишка GO на релизе что у него компилятор был практически мгновенный и можно было использовать го как скриптовой язык?
384 2916053
>>915935
Ну и? Этот, зато, без сборки мусора.
385 2916356
>>915621
Интересно, это рост доли или по абсолютным показателям?
Если рост доли, то норм, а если по абсолютным, то, получается, что те, которые выросли меньше, чем на 27%, в относительном выражении не выросли, а просели.
386 2916563
>>916053
ок, выключил сборку в го, ещё отличия остались? ну кроме того что об этом лобстере никто не слышал вообще
387 2916569
>>916563
Хуй ты в жопу себе выключил, даун. Тут автоматическое управление памятью без сборщика мусора, как в расте/свифте.
Вот носятся с говном своим, не знают, куды пристроить. Да закопайте, ёпты.
388 2916588
>>916569

>автоматическое управление памятью


Ещё со времён C+ не понимаю - людям чтоб, блядь, так трудно delete сделать когда больше не нужна им хуёвина их??? Ещё блядь указатели запретите мол СЛОЖНАААА
389 2916597
>>916588

>Просто не оставляйте багов, лол

390 2916638
>>916588
Вдобавок там ещё и работа с nil лучше сделана, чем в этом го сраном. Вообще, прикольный язык для маленьких проектов/на поиграться. Заточен на разработку игр (батарейки внутри языка), но никто не запрещает сделать что-то кроме.

На втором пике - стреляюще-летающий треугольник и практически весь код для него. Есть lsp для вскода, что для экзотического языка уже достижение.
391 2916656
>>915621
А то, что у них полосок на одну больше, чем языков, никто и не заметил. Заебись график сделали.
392 2916716
>>916656
Просто раст настолько топчик, что одна его полоска не поместилась полностью и пришлось дополнительную рисовать на новой строке.
393 2917087
>>916638

>весь код для него


ага а mouse position дядя приносит из коробки?
85ny60.jpg51 Кб, 581x499
394 2917152
>>915060
Спасибо, я определился
395 2917154
>>916656
Сбегал, проверил https://github.blog/wp-content/uploads/2023/11/github-top-languages-by-percentage-growth.png?w=4000 - и правда так. Поначалу уж испугался, что опеннетчики нафотошопили.

>>917087
Да, это одна из фич. Вообще, это питон, хачкель и раст в одном, пускай маленьком, но флаконе, с заточкой под игры. В этом плане у него проблема с позиционированием - это детский язых для взрослых дядь, знакомых с хэви функциональщиной.
396 2917224
>>917154
>>915698
Ладно полоски, у них там протухший груви выше позиций джавы, го, шарпа и млять самого объемного по репам - жопоскрипта.
Явно лепил бездарь далекий от тенденций в айти, но зачем мягкие так стали активно пиарить раст?
397 2917295
>>917224

> зачем мягкие так стали активно пиарить раст?


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

По сравнению с си, где по умолчанию всё мутабельно и всё ансейфно - это просто как небо и земля.
398 2917312
>>917295

>и безопасен


Безопасен снаружи, опасен внутри.jpg
399 2917330
>>917295
Большая часть сишных ошибок, это код некомпетентных макак-студентов, поэтому, для прикладных задач с головой хватает управляемых языков, а там где плюсы нужны сейчас, надо реально ручками управлять, поэтому раст он не пришей к звезде рукав для рынка и именно поэтому так медленно популяризируется.

Нахер вы повторяете мантры евангелистов, достала одна и та же глупость за эту безопасность и звездежом про нулевые абстракции, есть тут ли реальные программисты? Есть ли реальные догадки почему мягкие так к расту решили пристроиться?
400 2917349
>>917224
Это график прироста контрибьюторов, а не график вообще. Джава топчется на месте, а на груви, может, девопсы конфиги строчат - вот и вырос.
401 2917364
>>917330

> есть тут ли реальные программисты?


Нет. Здесь только комнатные джуны, которым не перезвонили. УХАДИ.

> почему мягкие так к расту решили пристроиться?


Я уже описал почему.
Если у тебя не хватает знаний, чтобы это понять - твоя проблема.

Еще раз повторю. Майки выбрали раст не по техническим, а по организационно-комерческим причинам. Настоящие программисты™ не смогут тебе ответить на этот вопрос. Потому что вопрос лежит в сфере знаний настоящих банкиров™.
402 2917368
>>917330

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


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

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


Ну, а теперь сам ответь на вопрос - а что ж оно всё сегфолтит и сегфолтит? Переписали бы на управляемые языки, или брали бы на работу только одних сеньоров - анон с двача уже давно всё решил. Иди к мелкомягким в топы, поясни, как надо. Главное, дверь с ноги открывай, а то всерёз не воспримут.
403 2917377
>>917364
Нахер ты по два раза пишешь, тебе уже сказал, что твое шаблонно-маркетинговое мнение не нужно, зачем ты тоже самое высрал?
404 2917386
>>917330

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


Ну, скажем, разработка игр. Сейчас 2 пути: безопасно на # и опасно на ++ (посмотри обзоры игр - "всего пару раз вылетела" как комплимент). Раст тут удачно вклинивается между # и ++, по скорости ближе к ++.
Да и любая другая задача уровня "разработать шуструю приложуху", где сейчас используются ++.
405 2917387
>>917368

>Ну, а теперь сам ответь на вопрос - а что ж оно всё сегфолтит и сегфолтит?


Потому что бизнес не хочет за это платить. Качественный код стоит очень дорого, а специалисты еще дороже. Эту проблему решают управляемые языки. Поэтому буквально бизнесу невыгодно оплачивать все эти сигфолты и раст никак не родит ни новых спецов из вчерашних питонистов и не сделает код качественнее чем это сделала бы жаба или шарп или го. Но он реально очень сильно замедляет разработку в сравнение с управляемыми языками.
406 2917391
Ладно, я понял что тут зомби с агитками.
Может мягкие хотят больше своих людей в фонд пропихнуть или хз, но точно не от внезапной победы над памятью.
1451118847131694570.webm172 Кб, webm,
600x336, 0:04
407 2917416
>>917391
Ты в рептилоидов под кроватью тоже веришь, мань?
Тебе ж показали: раст растёт быстрее, чем пользовательская база гитхаба. То есть, новых репозиториев всё больше появляется на расте. Давай подумаем вместе:
1. Агрессивный маркетинг.
2. Фейковые репозитории.

какой стул выбираешь?
408 2917559
>>915349
Сложно выбрать лучшее, когда ничего не знаешь.
Я вот тоже из бейсика и паскаля выбирал паскаль. А потом из бейсика, паскаля и плюсов выбирал плюсы.
409 2917633
>>917330

>Нахер вы повторяете мантры евангелистов, достала одна и та же глупость за эту безопасность и звездежом про нулевые абстракции, есть тут ли реальные программисты? Есть ли реальные догадки почему мягкие так к расту решили пристроиться?


Потому что манагеры рулят, мантра про т.н. безопастность пидераста хорошо продаётся людям с iq воробушкаманагера.
410 2917686
>>917416
3. Составители статистики очень хотели сделать руст хоть где-то на первом месте

Нам же методику тестирования и первичные данные не предоставят, да? Придется догадываться что этот странный график означает
411 2917698
>>915621
4 место - HCL
5 место - TSQL
8.5 место - Makefile

Что это за херня вообще, Что этот график показывает?
412 2917754
>>917698

>Что этот график показывает?


То что lua - лучший язык?
413 2917810
>>917330

> Большая часть сишных ошибок, это код некомпетентных макак-студентов,


Да-да, горы CVE, эксплуатируемых через buffer overflow и прочие проебы с указателями и памятью, в ядре linux/windows, драйверах, браузерах, БД, всяких sudo/coreutils - это все некомпетентные макаки-студенты понаписали, а другие студенты-макаки на ревью проглядели.

А потом корпы и трансы дали Линусу Торвальдсу денег на нативный пиар, шоб раст в ядро затащил, - надо же как-то агрессивный маркетинг делать
414 2917821
>>917810

>Да-да, горы CVE, эксплуатируемых через buffer overflow и прочие проебы с указателями и памятью


То есть в растопараше этих проблем нет?
415 2917832
>>917821
В коде на расте их кратно меньше.
Ну и пойнт про макак-студентов - тухлый, несите новый.
416 2917841
>>917832

>В коде на расте их кратно меньше.


>Ну и пойнт про макак-студентов - тухлый, несите новый.


Тупо продажа говна недалёкому говну.
417 2917843
>>917841
Продолжайте использовать сырые пойнтеры, мистер далекое говно
418 2917857
>>917843
Так ведь не макака-студент и в расте их будет использовать.
419 2917927
>>917857
Но только в ряя-unsafe блоках, которых мало, которые легко ищутся и которым уделяют особое внимание на ревью.
А си-плюсовый код - один сплошной ряя-unsafe.
420 2917948
>>917927

>ряя-unsafe блоках


В си-параше таких мест будет меньше, потому что см. диаграмму выше.

>уделяют особое внимание на ревью


Как выше сказаны было >>917841

>А си-плюсовый код - один сплошной ряя-unsafe.


Всё что нужно знать о растопидорашках.
image.png53 Кб, 150x239
421 2918132
>>917416
И главный прорыв года - груви!
422 2918152
>>918132
Ты просто не умеешь анализировать данные. 2023 - год раста и индусов - девопсов.
423 2918158
>>918152
Раст тоже в девопсе, или что?
Если это было бы о девопсе, то го там улетел бы на луну.
А если бы о контребьютинге, то улетел бы js и петухон с их обилием реп.

Абсолютно маня график по всем сторонам.
И эта наивная попытка натягивать раст на глобус.
джаваГосподинВкатилсяВТред.png1,8 Мб, 1920x1280
424 2918167
>>918152
Прирост индии и азии, джава где-то вперде.
425 2918299
>>918152

> и индусов


>>918158

> улетел бы на луну


И успешно приземлился.
426 2918340
Есть тонна времени чтобы накатить еще один язык (раст или шарп), работа, зп не важна, просто убедите почему ваш инструмент лучше чем другой.
427 2918355
>>918340
Нахуй мне это надо?
428 2918407
>>918355
Ты можешь вообще уйти с треда, ты свободен.
429 2918424
>>918340
По задачам
430 2918427
>>918340
Если изучишь раст, сможешь лампово сидеть с нами в этом итт треде. А если изучишь шарп, придётся сидеть в том неуютном треде с теми кодомакаками. Загрустишь там, пойдёшь по чужим тредам толсто набрасывать, тебя отовсюду будут гнать ссаными тряпками, так и будешь бегать по доске неприкаянный.
image.png2,1 Мб, 1806x774
431 2918433
432 2918624
>>918340

> просто убедите почему ваш инструмент лучше чем другой


Слыхал про такую штуку как шахматные задачи? Когда шахматисты расставляют несколько фигур на доске и предлагают друг другу сделать мат в два хода.

Так вот. В мире айти раст - это такая шахматная задача. Сделай приложение на расте с боровчеком вместо гц и опциями вместо нуля, с кортежными энумами и типажами вместо ООП.
Раст для тех, кто устал от %язык_нейм% и хочет чего-то новенького.
433 2918645
>>918158

> то го


Того, речь об индусах. Миллион разрабов туда, миллион сюда. В этом году пара индусских галер решили девопсить на груви - вот и скачок.
Вон, тип с го на раст переписывает, юзая только стандартную либу, даже без карго, на одном rustc
https://www.twitch.tv/videos/1965033761
434 2918753
>>918624

>Раст для тех, кто устал от %язык_нейм% и хочет чего-то новенького.



Будто дилдак для анальной блажи рекламируешь, ей богу.
Screenshot from 2023-11-12 16-01-17.webp124 Кб, 792x327
435 2918780
>>918753
Вот сразу видно, что ты novicheque
436 2918818
>>918753
У кого что болит, тот о том и говорит. Таким образом ещё путешествия рекламируют например, но ты сразу вспомнил дилдаки, пидор.
437 2919450
Блин, весёлый язык. Ни разу не конкурент расту, но тоже безопасный. Одно жаль - дока у него почти никакая.
Детей учить самое то. На видео кружок с лучами и код для него.
Банзай, ёптыть
438 2919653
>>919450
Чё за язык-то?
440 2920094
>>919664
Пиздуй в свой лобстер тред и там его обсуждай.
441 2920277
>>920094
Какой ты токсичный. Такие нужны раст-ссобществу.
442 2920380
>>920094
Ревнует.
443 2920430
>>899940
https://vale.dev/comparisons

> Javascript is like a soft autumn breeze, easy and refreshing.


> Programming in Rust feels like an addictive puzzle game!


прикольный проект с интересными (пока-что нереализованными) идеями, но я с недавнего времени пилю дизайн своего языка, и скажу что со стороны у этой вали есть пробелы с дизайном
то есть он выглядит лучше си и раста, конечно, но первый он пока заменить не может, а второй набил больше фанбазу и, пусть и через анальные потуги, статически может больше, а поэтому валя только может предложить трейдофф
в целом, конечно все три говно. как всегда.
>>900287
зиг - смена шильдиков на сях, посмотрел мельком презентацию на ютабе и охуел с того как мало изменено
444 2920432
>>898122 (OP)

>inb4 столяров, царь


хех все аноны с лора сюда сдристнули, да и хорошо, тут хоть без анальных мочераторов, но и пятизвездочных не потролить конечно
445 2920441
>>920430

>пилю дизайн своего языка


Сейчас пилить дизайн языка, это то же самое, что в 2005 пилить дизайн своего кнопочного телефона. В том плане, что сейчас ассортимент языков примерно тот же, что в 2005 кнопочных телефонов, но такое ощущение, что вот-вот сама концепция поменяется радикально.
081.jpg36 Кб, 680x788
446 2920456
>>920441
Согласен, каждый новый язык как штамповка. Если бы думал что у меня выйдет очередной штамп - нахуй бы мне оно надо, но набираются идеи год за годом, некоторый из которых весьма как раз радикальны, поэтому в этом есть интерес для меня. Вырабатывается своя философия. Рассказывать особо не хочу -- во первых все пока довольно мутно, во вторых не охота ни с кем спорить, просто тихо слежу за новыми языками, изучаю старые, пизжу и внедряю какие-то стоящие идеи из них. Пока-что могу сказать что задизайнить все без эксперементов на железе нихуя не выйдет, буду со временем пилить мелкие прототипы что бы подробнее знать как работает железо.

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


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

>поменяется радикально.


Еще стопорит индустрию тупо то что дизайн компов застрял в 70х, и с этим трудно бороться.
447 2920458
>>920430
Самое годное это в котлине последнии лямбды, лямбды с контекстом, да и вообще весь ДЛС котлина.
448 2920521
>>920441

> такое ощущение, что вот-вот сама концепция поменяется радикально


Для LLVM запилят удобный ГУЙ и каждый школьник сможет запилить свой язык. Таким образом все программы будут по сути написаны на IR который ты на лету восстанавливаешь в свой любимый язык и удобно читаешь, несмотря на то, что изначально тот код был написан на каком-то языке, который ты ни разу не видел, и транслирован в IR.
jacque-fresco-zagadka.jpg35 Кб, 604x604
449 2920526
>>920458
Ну это типа обычные лямбды и кложи? Поясни.
450 2920530
>>920458
>>920526
Давайте вы двое пойдете в котлин-треде котлин обсуждать? Ок?
451 2920611
>>920530
а хуле я то, он первый начал
Screenshot12.png24 Кб, 445x581
452 2920935
>>898165
Скажи мне что это такое на пике, и как с ним бороться?

Я серьезно, потратил время на разбор старого рогалика. Не понимаю почему при чтении переменной, она у меня корраптится.
image.png39 Кб, 1051x511
453 2920939
>>920526
Если последним аргументом у тебя кложа в функции ее можно вызвать сразу через "{}":

А с контекстом у тебя передается объект, например аллакатор можно вызвать только в контексте кложи только так.
memScoped {
val arg = alloc<IntVar>()
val result = readValue(42L, arg.ptr)
}
454 2920940
>>920530
У тебя тред без хейтеров тонет, тут можно даже твое очко обсуждать, треду это не повредит, а почаны синтаксису разному просвещаются.
455 2920943
>>920935
Почти разобрался.
Как понял, компилятор хочет приводить последний экспрешн тернарного оператора (тут это "" типа const char[1]) ко второму, тут это yolo типа String.
если написать yolo ? (const char звездочка)yolo : ""
то все норм, потому что самому компилятору приводить уже не надо.

Непонятным остается вопрос. Почему он дважды освобождает yolo? Ведь он как будто тут вообще не при чем. Типа привести последний экспрешн не удалось, но освободить что-нибудь да надо...
Screenshot13.png51 Кб, 1569x423
456 2920945
:(
457 2920947
>>920939
В общем, посмотри на котлин DSL, это не какая-то магия и кодегенерация, это прям синтаксис котлина. Конечно они сперли вдохновились у груви, но у них это все на статик типах.
Если бы я делал синтаксис, то вдохновился бы такими лямбдами.
458 2921075
>>920939
>>920947
Хм, ОК, почитаю поподробнее на досуге, спс.
459 2921265
>>920456
Надеюсь ты уже прочитал dcpl и pfpl и tapl?

В противном случае я ЗАПРЕЩАЮ тебе думать о создании своего языка. ведь ниша "я не знаю plt и всё равно запилю" уже занята го, бадум-тсс
460 2921313
>>921265
Только скачал DCPL пока что. Еще год назад и подумать не мог что пиление языка это что-то чем захочу заниматься, и только с недавнего времени захотелось поизучать языковую теорию, вещи вроде plt redex, поближе понять как работает железо и.т.д. Неспеша буду почитывать всякую литературу.

>dcpl и pfpl и tapl?


Я нашел https://github.com/steshaw/plt но как понял то что ты перечислил - топ из топа, возьму на заметку.
461 2921396
>>920935
Копи конструктор же вызывается. У тебя просто создается копия и все
462 2921566
>>921265

> dcpl и pfpl и tapl?


Говно от кукаретиков-хачкелистов очкамелистов, не написавших ни одного популярного ЯП.
463 2921705
>>921396
Ну создалась копия (невидимая как я понял). А оригинал почему удаляется?
464 2921707
>>921705
Два раза
/быстрофикс
465 2921751
>>921396
Все, понял. В игре самописный кэш строк.
466 2921863
>>921566
Получается это дно днищ. Отпало желание читать.
467 2921953
>>920940

> тред тонет


Тебе не похуй?
image.png40 Кб, 765x248
468 2922048
>>898122 (OP)
есть более лаконичные способы узнать, что число Some(f32) входит в диапазон, не создавая новые трейты/методы? может в стандартной либе есть что-то еще?
469 2922051
>>922048
макросы тоже предлагать не надо
image.png17 Кб, 891x99
470 2922093
>>922048

>более лаконичные


есть менее лаконичные!
471 2922099
>>921566
Думаешь, книга, обобщающая и систематизирующая всякие штуки из языков программирования, у Брендана Эйка или Гвидо Ван Россума вышла бы лучше?
1699983692947.png6 Кб, 297x129
472 2922108
473 2922283
>>900656

Присмотрелся, пот потёк от inout и воспоминания нахлынули. В фортране был intent у аргументов, который мог быть in, out, или inout.
1699994295209.png10 Кб, 312x215
474 2922313
>>922108
Не лаконично, зато элегантно. Вот из-за чего я вкотился в раст:
Screenshot from 2023-11-15 09-44-32.webp18 Кб, 1110x332
475 2922479
Даже так можно.
image.png17 Кб, 462x221
476 2922657
>>922479
а через if let не дает
477 2922701
>>922657
if let проверяет конкретное значение, это прям равенство. А match, это именно, что мэтчинг, который более гибкий.
478 2922715
>>922701
if let - это сахар к >>922479, поэтому мог бы и работать
480 2922823
>>921313

>поближе понять как работает железо


>https://github.com/steshaw/plt


Всякие говно натягивать на глобус, мне кажется, это путь в никуда.
481 2922830
>>922048
>>922093
>>922108
Это ирония?
image.png41 Кб, 598x740
482 2923067
>>922830
хуй знает, я серьезно спрашивал
я писал хуйню типа пика, пока не узнал, что можно просто писать enum_name as Integer, чтобы получить дефолный индекс, или вообще самому присваивать индекcы прямо в объявлении enum'a (A = 10, B=20, C=25, и т.д.)

поэтому и спросил - может тут есть тоже способы попроще, чтобы не писать if x > min && x < max {}

ну и пользуясь случаем порекомендую анонам книжку Easy Rust - кратко, сжато и по-делу, очень простой английский https://dhghomon.github.io/easy_rust/
483 2923115
>>923067

>пикрил


>может тут есть тоже способы попроще, чтобы не писать if x > min && x < max


>не ирония


Может всё-таки ирония?
Screenshot20231115184615.png83 Кб, 434x597
484 2923303
Публикую пример тестового на Rust. Может кому-то пригодиться. Само задание звучит так:

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

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

Моё решение: https://pastebin.com/rCPk3C3X
Я прислал буквально на следующий же день. Они ДВЕ НЕДЕЛИ его проверяли и сказали пикрелейтед, мол всё плохо - нет поддержки utf8, много аллокаций и вообще мол unwrap() используешь. Хотя я только в одном месте его написал. В общем как-то так.
485 2923314
>>923303
а что тестов так мало?
спасибо, что поделился
486 2923327
>>923314
Они изначально прислали в таком виде, там уже были тесты. Я подумал, ну ок. Если уже есть тесты, значит надо чтобы они прошли и дело в шляпе. Оказывается неееет, это засчитали как недочёт. Кто бы знал что они обратят на это внимание.
image370 Кб, 1238x1329
487 2923366
>>923303
Ммм, 68 text justification с литкода, только входные данные в другом формате. Я так сделал когда-то. Часть доёбов применима тоже, впрочем.
image56 Кб, 999x384
488 2923368
>>922657
Поменяй < на =. Даст, но с суровым варнингом.
489 2923371
>>923366
Неплохо, ну видишь, они сразу скажут - а чё так много unwrap()? А чё комментариев нет? А зачем ты слова сохраняешь в большой вектор? Ну и всё в таком духе.
image67 Кб, 859x368
491 2923382
>>923371
Вообще, такое задание hard кста, удивительно предполагает формат живого общения. Тогда можно хоть ответить, что все unwrap() гарантировано будут успешными, а вектор на производительность никак не влияет. Хотя, я бы сейчас действительно переделал без unwrap(), лол.

Проверяется это задание полчаса от силы, так что сдаётся мне истинная причина отказа вовсе не в нём.
492 2923385
>>923379
Как же я страдаю от отсутствия тернарного оператора в расте...
image.png42 Кб, 1726x289
493 2923392
>>923368
работает, но прямым тестом пишет, что флоат в паттернах не канает
494 2923393
>>923303

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


А чё сделать-то надо?
495 2923395
>>923392
а у тебя не пишет из-за #[warn(illegal_floating_point_literal_pattern)]
496 2923400
>>923385
Говноед, спок.
тернарники добавляют когнитивную нагрузку
497 2923403
>>923400
Жру говно программирую на сях уже лет 20, как-то привык к этой нагрузке. В расте их не хватает, когда используешь итераторы активно. Хочется написать красивый однострочник, а получается ебала на пол-экрана.
eurewmCl5hM-1.jpg61 Кб, 765x377
498 2923408
>>923403
Тогда как никто другой должен ненавидеть непонятные однострочники конструирующие ядерный реактор и запускающие терраформирование Марса.
И комментарий в стиле "хелпер функшн"
Пример из STL
499 2923414
>>923408
Возможно. Однако касаемо раста, по факту любой if-else в нём — это выражение с тернарным оператором. Вот только иногда его хочется записать компактнее.
500 2923416
>>923414
Да я про Раст вообще не ебу.
Случайно зашёл а тут плюсы обсуждают.
501 2923539
>>923382
Лол, да в этом и суть. Чтобы просто ЗАПИСАТЬСЯ НА ИНТЕРВЬЮ нужно сначала выполнить тестовое. То есть они даже не будут общаться, если не выполнишь задание. В моё время было по-другому: вначале общались, а потом если есть сомнение брать или не брать, давали тестовое. Сейчас найм стабильно идёт в 3 этапа. Хз, с чем связано. Может слишком много кандидатов? Я уже постил другое тестовое >>915728 там была та же история - вначале дали тестовое, а потом пригласили на собеседование. Я так подозреваю, сейчас везде такая история.
image.png101 Кб, 947x679
502 2923579
>>923366
Млин.
while Some(front_word) = words.front()

А я вот через fold забабахал только что на ради интереса.
ПЕРЕКАТ 503 2923616
Обновить тред
Двач.hk не отвечает.
Вы видите копию треда, сохраненную 8 февраля в 11:52.

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

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