Этого треда уже нет.
Это копия, сохраненная 12 апреля 2020 года.

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

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

async/await наконец-то в стабильной версии!

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

https://www.rust-lang.org

Продолжение шапки: https://gist.github.com/TatriX/183c816f1346d418f969c4576c2b9b41

Предыдущий тред: >>1456440 (OP)
2 1539593
Bb
3 1539633
>>539530 (OP)
Я правильно понял значение радужного флага? Ну всё, дизлайк, отписка...
4 1539641
>>539633
Это же тред CoCолдов, хуле ты еще хотел.
5 1539675
на расте можно писать реал-тайм системы в вебе?
6 1539682
>>539675

>реал-тайм системы в вебе?


Что это вообще должно значить?

хттп и сокет либы есть
васм собирается
Хуле тебе еще надо?
7 1539683
>>539530 (OP)
Ржавые, все прошли опрос? Погнали жаловаться на дерьмовое коммьюнити в Рашке, кто ещё не голосовал.
https://blog.rust-lang.org/2019/12/03/survey-launch.html
8 1539815
>>539683
А чо оно дерьмовое то? Или ты по даунам с оранжевой борды судишь?
9 1539868
>>539530 (OP)
Какое же все гавно

МимоJSгосподин
10 1539884
>>539868
Вот поэтому у Раста коммьюнити лучше, у нас нубу прямо со входа в лицо пихают Code of Conduct, в котором белым по красному написано: "Не будь мудаком, сука!".
Тебя же уже тёрли, веб-макака, одного раза не хватило?
11 1539895
>>539884
Как же хорошо что джява разрешает быть просто мудаком! Ларри Элисон разрешает лично своим примером.
12 1540469
какой же ахуеный язык как на него все не перекатываются?
13 1540578
>>540469
язык то ахуенный, но тут две причины:
1) дизель сырое говно, не могущее в сабселекты, скл функции, футурки, да даже чистый скл код (слишком долго серилизируется через query_row, и то там хуйня)
2) макакам проще взять какой нить go/свифт/шарпапарашу/жабапарашу, потому что мол там либ больше, а еще модно
а вот на фочанах не особо умные доебываются до синтаксиса и идиом
sage 14 1540600
>>540578

>дизель сырое говно


А с постгрестным крейтом как дела обстоят не знаешь?
Пока хеллоуворлды шлепаю вроде проблем не заметил, но ни в какие тонкости не вникал
15 1540601
>>540600
приеклиалсь
16 1540613
>>540600
ну типо ты конечно можешь юзать сырую либу без дизеля (там даже ассинк вроде есть, но лично мне не удобно, лучше бы все это завезли в дизель)
17 1540699
>>540578
Кто берет кресты потому что там либ больше и они стабильнее тоже макаки?
18 1540700
>>540699
Больше либ вообще довольно странный аргумент.
19 1540716
>>540700

>Больше либ вообще довольно странный аргумент.


С чего бы? Если тебя либы не интересуют, возьми Standard ML, прекрасный язык, но либ для веба там почти нет.
20 1540721
>>540716
Язык без либ - ну тип хеллоуворлды на нём писать и одноклассникам на переменке хвастаться. Я бы не стал (и не стал до 2019) в раст вкатываться без либ.
21 1540724
>>539530 (OP)
Rust - это динамически типизированный язык.
let foo = 12;
let foo = "bar";
println!("{}", foo);
22 1540727
>>540724
Кек. C++ с auto тогда тоже динамически типизированный? У тебя пример выглядит не так, как оно выглядит в динамической типизации. Вот если бы раст позволял тебе сделать так:

let mut foo = 12;
foo = "bar";

то он был бы динамически типизированным. А ты просто создал и инициализировал новую переменную, скрыв старую.
23 1540732
>>540716

> но либ для веба


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

Больше всего либ для веба написано на пхп, так что надо на нём.
24 1540733
>>540724
Первый foo у тебя полностью проигнорируется компилятором.
25 1540914
>>540721
Язык с либами, но не для веба. Что-то для веба есть, но не очень много.
26 1540916
>>540724
принт просто цепляет ближайшую подходящую
27 1541299
Кто в 16 лет не мечтал запилить свой язык программирования, который наконец-то позволит писать всё и сразу, у того нет сердца. А кто и в 40 лет продолжает этим заниматься — у того нет мозгов.
28 1541458
>>541438 (Del)
У тебя детектор сломался, я всю жизнь в России живу, беги чинить свой гаджет.
>>541299
Но мы не пилим язык, мы пилим программы на уже готовом языке, разве нет?
image.png52 Кб, 669x952
29 1541463
30 1542497
>>541299
кто в 16 мечтал, в 40 ставит задачи по dsl'ям
1575936854937.jpg233 Кб, 595x842
31 1542503
>>541299
ну и зачем ты с lohomori спиздил цитату трехлетней давности?
15745001434770.jpg235 Кб, 1685x1086
32 1543866
Насколько же все-таки охуенны боровы с шедувенгами
Если начать пердеж бессмысленными терминами получается руст можно назвать мультипарадихменым?
full-list-plz.jpg66 Кб, 1280x720
33 1543931
>>543866
Огласите весь список, пожалуйста!
34 1543946
>>543931
Список парадигм?
Системная, функциональная, скриптовая (например как питон), back-end
35 1543964
>>543946
Мне кажется, что Вы не очень информированны в данном вопросе.
36 1544094
>>539530 (OP)
В бинарники с rustup никакие анальные зонды не встроены?
Футурки 37 1544214
Я правильно понимаю что runtime постоянно запускает поочередно .poll на всех футурках с определенным блочащим интервалом скажем N футурок раз в 5ms. Или там что-то серьезнее? Хочу вкатится в tokio
38 1544754
>>544214
Прими таблетки.
40 1544841
>>544754
спасибо за четкий и полный ответ, чего только ожидать от 90000iq погромистов 300к в нс на сосаке

>>544761
но тут же написанно только про само разделение на треды, как оно запускает футурки по очереди?
41 1544955
>>544841
те кто пишут футурку обязаны её разбудить по какому-либо событию. Это может быть как повтор через определенное время как ты описал, а может быть что-то завзяанное на ОС.
В токио пробуждение ведется через мио, что по сути евент луп с оберткой над сискалами epoll / kqueue / IOCP на разных ОС, т.е. ОС уведомляет тебя о приходе новых байт. Таймер в токио вроде бы сделан на отдельном потоке.

Мимо жертва Страуструппа, могу заблуждаться
42 1544983
>>544955
Токио уже на родной асинхроности работает.
43 1545924
гуглеш прожекты на рокете
@
выскакиевает обоссаный блокнот из индуских хеллоуворлодов ака реалворлд ехампле
@
смотришь код
@
адекватное мвс
@
с тестами
@
смотришь на автора

пиздец ты голова спасибо
подлизнул
44 1545926
>>545924
а все томушто надобыло актикс юзать

чтоб потом переписывать 2281337 строк при каждом обновлении
45 1546023
>>542497
Ну то есть нет мозгов.
46 1546115
>>544983
Как родная асинхронность меняет поведение, которое описал я?
Никак, это просто синтаксический сахар над футурками и вместо my_future.and_then() теперь будет две строчки с .await?, под капотом все тоже самое. Вообще сильно смущает уровень растопогромистов, среди них к тому же полно джаваскриптеров.
47 1547065
>>546115

> Как родная асинхронность меняет поведение, которое описал я?


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

> Вообще сильно смущает уровень растопогромистов, среди них к тому же полно джаваскриптеров.


Двачую. Пишут на Расте, а не знают как работает асинхронность в нём.
48 1547086
>>547065

> Двачую. Пишут на Расте, а не знают как работает асинхронность в нём.


тыже вкурсе что в расте нет стандартного рантайма для футурок?
49 1547112
>>547086
Куда делся?
50 1547116
>>547112
его там и небыло никогда

do u even rust?
51 1547312
>>547116
Это что, разрабы Раста сами не знают, что у них есть, а что нет? Хотя раз на даче говорят, то я поверю.
52 1547359
>>547312
ты разраб раста?
53 1547537
>>547312
Рантайма нет в std либе, потому что когда его туда добавят, удалять его оттуда будет невозможно. Будет какая-то ебля, как с Infallible типом, который почти невозможно теперь поменять из инариативного енама в синоним "!", потому что на этом инфоллибле уже код понаписан; уже джва раза отменяли стабилизацию этого never-type. Разрабы не хотят такого ещё раз, поэтому и не пихают рантайм футурок в стд либу. В стандарте только await есть. Но авейтить можно только в асинхронных функциях и блоках. В итоге последнюю футурку надо как-то самому авейтить, потому что мейн функцию нельзя делать асинхронной. Так что рантайма футурок в стд либе нет.
54 1547924
---
2236.jpg5 Кб, 166x113
sage 55 1547925

>and_then()

56 1548661
реалбно ли вкатиться через rust
пишу нравится вроде получается хотелось бы хотябы на 10к где смотреть вакансии??
57 1548785
>>548661
Нет работы кроме блокчейна, но туда джунов не берут.
58 1549037
берут еще как, нужно искать
59 1549726
>>549037
Найди мне. Резюме сам напишешь.
60 1549867
Туплы ведь как и в остальных языках просто вручную вговнокоженные структуры с прикрученым сахаром изкоропки?
Можно как-нибудь навелосипедеть для 13+ элементов свою сохраняя синтаксис и деструктуризацию?
61 1549901
>>549867
Сделай нормальную структу.
62 1550066
>>549867
Таплы — это просто безымянные структуры со всеми полями в pub виде и номерами вместо имён. Если тебе надо что-то сложнее — сделай не безымянную структуру.
sage 63 1551229
напоминаю, что создатель языка - обосранный самоучка без формального образования, гордо называющий себя "инженером по призванию", который пару лет поигрался со своим язычком, потом решил что выгорел, пару лет еще поболтался как говно в проруби в мозилле, занимаясь непойми чем, а потом и вообще свалил в эйпл делать свифт
64 1551253
65 1551276
>>551229
Тебе не похуй, кто там все эти языки и библиотеки создаёт? Может, ты ещё и шоу-бизнесом интересуешься?
66 1551462
>>551229

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


> РЯЯЯ, НУЖНА КОРАЧКА, БЕЗ КОРАЧКИ ТЫ НИХТО И БЫДЛА КОДИР!1!1!1! ЫЫЫЫЫ, ЧТО БЫ СДЕЛАТЬ СВОЙ ЯЗЫК НУЖНО ЗНАТЬ ВЫСШИЙ МАТАН!1


дай угадаю, ты пишешь на говне, которое создавалось быдлокодером за неделю, а потом "улучшалось" в течение несколько десятилетий?js
67 1551488
>>551229
Что лишь в очередной раз подтверждает, что образование в классическом понимании этого слова - переоценено. Тем более образование компьютер сайнтиста или софтваре инженера.
68 1551489
>>547925

>161219


>не async/await

69 1551523
>>551488
как по мне это подтверждает лишь то что ржавчина - хайповый хипсторский проэкт с веселыми ребятами любящими переписывать мир заново
70 1551525
чуваки, вы понимаете что раст для него был лишь ебаным пет-проектом, хитрым планом по сути, как получить известность и устроится уже на нормальные бабки в топовую фирму
потому что без образования по специальности хуй бы его куда взяли
а так да, челик роботает час в эйпл, мечта сбылась, хули
71 1551526
>>551523

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


может комуто смешно, но так оно и есть лол, и в этом нет ничего плохого, так как раст является абсолютно новым уникальным языком, дада я про Borrow Checker
72 1551528
>>551526

>раст является абсолютно новым уникальным языком, дада я про Borrow Checker


я конечно понимаю что ты жирнишь и троллишь, но, к примеру, еще/даже в, прости господи, borland builder 3 можно было подрубить (одной галочкой) адресс санитайзер и чекер массивов и он неплохо работал
да че там говорить, в сях подобным утилиткам сколько уже лет? 30? 40?
73 1551529
>>551525
Чтобы попасть в эпл такие жертвы не нужны
74 1551530
>>551529
нужны, дружок, нужны
если ты самоучка и единственное что можешь написать в графе образование своего cv это то что ты "инженер по призванию"
75 1551534
>>551528
пруфы
76 1551535
ВАСЯ БЕЗ ОБРАЗОВАНИЯ
@
НАПИСАЛ СВОЙ ЯЗЫК ПОГРОМИРОВАНИЯ, КОТОРЫЙ СТАЛ САМЫМ ЛУЧШИМ ЯПОМ ВО ВСЕЛЕННОЙ
@
ПОЛУЧАЕТ 300ККК В НС

ПЕТЯ С ОБРАЗОВАНИЕМ
@
НАПИСАЛ СВОЮ ПАРАШУ, ОБЕРТКУ ПОД СИ И ДОБАВИЛ ТУДА ООП И ТЕМЛЕЙТЫ
@
ПОЛУЧАЕТ 300ККК В НС

ТЫ С ОБРАЗОВАНИЕМ
@
РАБОТАЕШЬ В МАКДАКЕ

ТЫ БЕЗ ОБРАЗОВАНИЯ
@
РАБОТАЕШЬ В МАКДАКЕ
77 1551541
>>551535
ТВОЯ МАМКА
@
ЕБЕТСЯ ЗА ДЕНЬГИ
78 1551542
>>551534
https://en.wikipedia.org/wiki/Memory_debugger
в с++ builder был интегрирован boundschecker если память не изменяет
15718931843170.jpg32 Кб, 584x404
79 1551544
хз я пишу мне по кайфу балдежные структуры с енумами которые крути хоть в ооп хоть в адт абстракции к боровам которые дают писать имутабельно понимая во что оно скомплюктируется со всеми движениями в памяти еще и скорость околосишная и биндов уже миллиард с развивающимся васмом
меня еще ни один язык так не доставлял советую попробовать перед тем как тут срать ребята
80 1551550
>>540733
Почему? На мой взгляд ошибка.
81 1551554
>>551550
потому что ты не осилил шедовинг и пытаешься воевать с компелятором
переменные идут %кей<тип>% -> /валуе/
если %кей<т1>% не совпадает с такимже %кей% но %<т2>% старый %кей% дропается и создается новая переменная

let foo = 1;
let foo = "bar";
println!("{}", foo);
foo<string> это отдельная переменная никак не относящаяся к первой
ну и плюс у тебя foo<number> никак не используется и откинулось бы в любом случае

let foo = 1;
println!("{}", foo + 1);
let foo = "bar";
println!("{}", foo);
тут просто 2 разные переменные никак не относящиеся друг к другу

let foo = 1;
let foo = "bar";
println!("{}", foo + 1);
println!("{}", foo);
тут просто кто-то насрал себе в штаны

если совпадает и новое /валуе/ ты просто перезаписываешь переменнную (очевидно если ты пишешь имутабельно на момент компеляции оно оптимизирует в мутацею)

let foo = "oaeu";
println!("{}", foo);
let foo = "bar";
println!("{}", foo);
у тя одна мутирующая переменная
81 1551554
>>551550
потому что ты не осилил шедовинг и пытаешься воевать с компелятором
переменные идут %кей<тип>% -> /валуе/
если %кей<т1>% не совпадает с такимже %кей% но %<т2>% старый %кей% дропается и создается новая переменная

let foo = 1;
let foo = "bar";
println!("{}", foo);
foo<string> это отдельная переменная никак не относящаяся к первой
ну и плюс у тебя foo<number> никак не используется и откинулось бы в любом случае

let foo = 1;
println!("{}", foo + 1);
let foo = "bar";
println!("{}", foo);
тут просто 2 разные переменные никак не относящиеся друг к другу

let foo = 1;
let foo = "bar";
println!("{}", foo + 1);
println!("{}", foo);
тут просто кто-то насрал себе в штаны

если совпадает и новое /валуе/ ты просто перезаписываешь переменнную (очевидно если ты пишешь имутабельно на момент компеляции оно оптимизирует в мутацею)

let foo = "oaeu";
println!("{}", foo);
let foo = "bar";
println!("{}", foo);
у тя одна мутирующая переменная
82 1551638
>>551544
Какой смысл учить язык, который применяется только в системщине?
15741161729290.png122 Кб, 316x320
83 1551649
>>551638
руст применяется только в системщине?
84 1551650
>>551638
мир:

> язык общего направления


хуйло с абулия:

> применяется только в системщине

85 1551651
>>551638

> применяется только в системщине?



Он и в системщине не ок:

https://os.phil-opp.com/first-edition/
86 1551654
>>551650
Я вот кстати думаю, что мнение про системщину не случайно появилось. Главная страница сайта раста поддерживает это. И вопрос: насколько это соответствует действительности? Firefox вот к системщине не относится.

мимо
15707526375930.png17 Кб, 400x400
87 1551656
время пердежа в лужу
88 1551659
>>551650
Ну подожди. Вот смотри - сетевые приложения на нем писать - это постоянная анальная боль, т.к. разработчики полтора фреймворка постоянно меняют весь API при каждой минорной версии. Всякие веб-сервисы и прочий энтерпрайз тоже не тянет - нет библиотек да и писать на таком низкоуровневом языке тот еще квест. Остается какие-нибудь низкоуровневые демоны и прочая системщина, которая не ходит в сеть и не работает с многопоточностью. Но тут мы узнаем, что писать многопоток на русте - это снова анальная боль, т.к. стандартная библиотека не предлагает ничего, чтобы уняло эту боль.
Это я еще не говорю о поддержке со стороны IDE. На данный момент, "лучшая" поддержка - это плагин от Jetbrains для Intellij IDEA. Но там тоже не все так гладко.
89 1551663
>>551654

Тут всё просто.

Системный это когда

1) Может функционировать из каробки без OS - зависимой рантайм библиотеки/фич языка.

2) Имеет прямой доступ к памяти без абстракций

3) Поддерживает структуры с однозначным отображнием в память - что бы можно было разные memory-mapped регистры у какой нибудь аудиокарты теребить.
90 1551666
>>551663
То есть только сишка?
91 1551669
>>551659

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


юзай стейбл версии, хотя отчастимогу согласиться, не слабо препекло когда актикс решили на async/await перенести

> Всякие веб-сервисы и прочий энтерпрайз тоже не тянет - нет библиотек


есть

> низкоуровневом языке


значение знаешь?

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


???

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


ты си описываешь? в расте изподкоробки есть Arc, Mutex, Atomic, Rc, RefCell, Weak etc..

> Это я еще не говорю о поддержке со стороны IDE.


IDE - нинужно, есть сублайм с rust enchancment

> На данный момент, "лучшая" поддержка - это плагин от Jetbrains для Intellij IDEA. Но там тоже не все так гладко.


сорта говна
92 1551672
>>551659
просто напиши своё
93 1551674
>>551669
К чему все эти отрицания? Ведь библиотек нет, а те что есть не позволяют писать типичные проекты с той же скоростью, которые предоставляют мейнстримовые языки.
На счет IDE ты зря. Ты же не малолетний дебил, который пишет на джаваскрипте? Rust - язык со строгой статической типизацией. Тут IDE как раз нужна с хорошей поддержкой все языковых конструкций и фишками присущими любой нормально IDE - автокомплит, подсветка некорректного кода, дебаг и еще много чего.
Т.е. область применения этого Раста довольно узкая. На сайте пишут о встроенных проектах, сетевых сервисах и консольных утилит, но здесь он начисто сливает какого-нибудь Python или Go. Ну и хваленная производительность достигается через unsafe, который превращает твой надежный Rust в какую-нибудь сишку.
94 1551676
>>551674

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


ты тот самый долбаеб который подключает всякие крудопомои типо restdjango или как его там?

> На счет IDE ты зря. Ты же не малолетний дебил, который пишет на джаваскрипте?


на этой параше тоже приходитсья писать, но только для браузера

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


в сублайме есть все кроме дебаггера, для дебага есть RR в терминале

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


весь сейв код это ансейв, следовательно что тебе мешает использовать ансейв код если оно нужно? но поверь, твое веб говно будет и без ансейф кода работать в пять раз быстрее аналогичного пиздоно говна
95 1551716
>>551676
Предметная область раста так и не определена. Попытка усидеть на нескольких стульях ни к чему не приведет. Веб пишут на гоу, питоне, джава, сишарпе, скала. Распределенные системы - эрланг, скала (акка), джава. Сетевые демоны - гоу, питон. Консольщина - питон, гоу.
Системщина и ебмеддед - си и плюсы.
Одно радует, что в расте очень дружелюбная атмосфера и принят CoC, если вы понимаете о чем я.
15715331379061.jpg80 Кб, 890x643
96 1551720
>>551716
ну так выкатывайся отсюдова
97 1551743
>>551716

> Веб пишут на


>гоу, питоне, сишарпе


медленная параша

>джава, скал


нет, на этой параше пишут 40 летние долбаебы, работающие в 100летней шааге и которые ничего кроме жвм говна в своей жизни не видели

> Системщина и ебмеддед - плюсы.


пиздеж, плюсы нужны только для десктопа и игрулек

>>551720
кьючую
98 1551745
>>551743

>кьючую


это что таоке
99 1551749
>>551745
Ребята не стоит вскрывать эту тему. Вы молодые, шутливые, вам все легко. Это не то. Это не Чикатило и даже не архивы спецслужб. Сюда лучше не лезть. Серьезно, любой из вас будет жалеть. Лучше закройте тему и забудьте что тут писалось. Я вполне понимаю что данным сообщением вызову дополнительный интерес, но хочу сразу предостеречь пытливых - стоп. Остальные просто не найдут.

типо двачую, но с одной закрытой мелкоборды для прогеров
15719038013740.png216 Кб, 500x365
100 1551755
>>551749
как стать прогером?
101 1551757
>>551755
писать код
102 1551758
>>551757
Если он будет писать код, то он станет кодером. Чтобы стать прогером, надо прогать!
artworks-000480241830-0bi9bb-t500x500.jpg39 Кб, 500x500
103 1551759
>>551757
я пишу мне говорят что я моляр
104 1551764
>>551743
Зачем ты себе анус-то дернул, дружище?
105 1551765
>>551759
Ну так маляр норм бабло зарабатывает
106 1551769
>>551743

>медленная параша


>>551743

>нет, на этой параше пишут 40 летние долбаебы, работающие в 100летней шааге и которые ничего кроме жвм говна в своей жизни не видели


Лол, чего ты сразу не сказал, что ты никогда не работал программистом. Гоу с питоном у него медленные, лiл! На скале у него никто не пишет!
107 1551774
>>551769

> Гоу с питоном у него медленные, лiл!


так и есть. макака, плес

> На скале у него никто не пишет!


пишут всякое говно вот и вывод, бекенд парашу на этом писать уж точно не следует
108 1551780
>>551769

>Гоу с питоном скала


серезно кто вообще на этом говне пишет
109 1551784
>>551780
Ты такой странный. Ты же понимаешь, что удел раста - это ебать байты за мелкий прайс? Т.е. ничего полезного ты не делаешь. Пилишь поди какие-нибудь никому ненужные сетевые сервисы, которые гоняют байты туда-сюда.
110 1551785
>>551780

>скала


Единственно нормальный язык для разработки распределенных систем.
111 1551789
>>551784
бля, макака тролит, спешите видеть

пиздуй уже денечку зарабатывать, зачем ты тратишь время на каких то задротов, которые учат расты/си? не забудь еще семью зависти, так как так проще, а потом на свою жалкую 100тысяс рублей жс макакой платить за детей
112 1551793
>>551789
Аккуратнее там, старина. Смотри клавиатуру борщом не запачкай, лiл!
113 1551858
>>551793
боже, какой же ты колхозник. умриблятьсосвоимблевотнымЛилом
114 1551896
ну, 6 вакух на hh есть
норм
115 1551902
в "моем круге" одна вакуха, хех
с ебанутыми требованиями - питон, раст и экселлент инглишем за 150к деревянных
116 1551934
>>551902
А что не так? Это тебе же не тормознутый веб пилить на джаве. Или какие-нибудь унылые веб-сервисы на гоу. Тут кедром по низам фонит!
518639233provod-dlya-schetok.jpg412 Кб, 1280x949
117 1552124
Оставишь вас на день, так вы срач уровня пщ-треда разведете. Впрочем хорошо же.
118 1552130
>>552124

> пщ-треда


А что он? Там уже 4 дня никто не пишет. А ещё говорят, что раст непопулярен.
119 1552131
>>552130
Хз, не слежу. Но когда краем глаза смотрел, там в основном говно разной степени твердости летало из стороны в сторону.
120 1552139
>>551542
Ты же понимаешь чем чек в рантайме отличается от чека не этапе компиляции?
Нет тут точно все дебилы из го треда собрались.
121 1552221
>>552139
на этапе компиляции в крестах и си (в отладочной версии) программы тулза динамического анализа кода (которая в том числе будет делать проверки границ, другие проверки неправильной работы с дин памятью) будет делать свои интристики в исходный код, так же возможно придется линковаться со специализированной отладочной версией стандартной библиотеки
далее чтобы проверить работу естественно приходится запускать программу, в идеале прогонять ее через тесты
блядь, а как еще можно проверить работу с динамическим (заранее неизвестным на этапе компиляции, как по размеру так и где и как будет выделено) выделением памяти? чудес не бывает
другое дело что утилиты статического анализа тоже могут поймать часть ошибок работы с теми же самыми массивами выделяемыми на стеке (тк размер их известен на этапе компиляции, утилита стат анализа просто может это посчитать), так же на этапе статического анализа можно отловить и часть явных ошибок работы с памятью - к примеру отсутствие пары new-delete или перепутанные delete и delete[]

что поражает в раст-коммьюнити (если смотреть со стороны) - это их заносчивая самоуверенность что они делают какие-то вещи в первый раз
хотя в экосистемах других языков этот инструментарий уже существует не десятилетиями, а поколениями даже
122 1552237
>>552221

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


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



Си\С++ - это стандарт в вакууме.
Настроить среду для разработки - работа для отдельного плачиваемого специально обученного айтишника.

Раст объединяет в одном цельном проекте накопленный десятилетиями опыт.

Си - суперсложное говно которое вне огромной корпоративной инфраструктуры не поддерживаемо.

С темже успехом можно сказать что С# ничего нового не делает.

Ничто е ново под лучной. Хорошо делай хорошо будет.
1423072906037.png244 Кб, 1600x800
123 1552260
15707526375931.png205 Кб, 480x360
124 1552345
>>551784
я-то на расте продолжаю делать формочки и чуствую себя замечательно
кто вообще в 2020 учит языки че сложного в наченании писать на расте?? ты или тролб или совсем тупой не осилятор бро
125 1552348
>>552345

>наченании писать на расте


Подобные языки изучаются минимум год до момента, когда ты сможешь написать какую-нибудь незамысловатую консольную утилиту. Ну и формочки клепать на расте - это такое. Быстрее всего это делается на питоне, плюсах (кьют) или каком-нибудь сишарпе.
126 1552353
>>552348
ну если ты тут будешь неделями срать так не прочитав 4 главу гайда для груднечков о том почему foo = 1 и foo = "foo" две разные переменные может и год
127 1552360
>>552353
Причем тут 4 глава каких-то грудничков? Такие языки как Haskell, Rust, Scala, Clojure, Erlang - изучаются годами. Т.е. ты тратишь буквально минимум год на изучение языка, перед тем как написать хоть что-нибудь удобавримое. А ведь для работы нужно еще знать такие вещи как систему сборки, библиотеки и фреймворки. В итоге ты гробишь несколько лет, а потом обнаруживаешь, что работы на этих языках или нет, или нужны матерые спецы с минимум 3 годами коммерческого опыта в этих языках и фреймворках.
15704631707820.png196 Кб, 512x512
128 1552365
>>552360

>Такие языки как Haskell, Rust, Scala, Clojure, Erlang - изучаются годами


>Т.е. ты тратишь буквально минимум год на изучение языка


т.е. ты сделал вывод из своего же никак не обоснованого пука
129 1552371
>>552365
Какое у тебя жесткое отрицалово идет, старина.
130 1552372
>>552371
зачем на гитлабе репу скрыл?
131 1552374
>>552372
Какую именно?
132 1552376
>>552374
опять выходишь на связь? по хуйне которую пишешь тебя любой тут вычислит
133 1552377
>>552376
Я ничего не скрывал на гитлабе!
134 1552380
>>552377
гавно сначала хотя бы лишись жизни перед тем как тут писать
135 1552381
>>552380
Ты совсем поехавший? Какой еще гитлаб? Какой скрытый репозиторий? Айс, это ты?!
136 1552383
>>552381
ты думаешь ты один человек?
137 1552396
>>552383
Не читайте мой гитлаб!
138 1552399
>>552396
мало того что срешь еще и закрытые борды палишь дебил
139 1552402
>>552399

>закрытые борды палишь


Ты совсем поехавший? Какие еще закрытые борды?
140 1552403
>>552402
ты всё ещё тут? чего ты добиваешься?
141 1552404
>>552403
Ну ты же АЙС!
142 1552406
>>552399
Это не закрытая борда!
143 1552408
пидорасы взяли убили мертвый тред и я в этом замешан простите все пожалуйста(
144 1552607
>>552221
Ну то есть на этапе компеляции в крестах нихуя не проверяется, чекай на этапе выполнения.
145 1552743
>>551554

> let foo = "oaeu";


> println!("{}", foo);


> let foo = "bar";


> println!("{}", foo);


> у тя одна мутирующая переменная


ты забыл про bounds/scoped упомянуть
15760135359010.png57 Кб, 657x527
146 1552759
>>552743
сам не дошол еще
хех
147 1552772
>>552759
>>552743
да и сообственно вопрос, что это за хуйню ты высрал?

никакие мутабельные переменные там не появляются, а уж тем более &str и String, так как первое это просто референс, а второе хуита из std, которая никаких магических типажей не умеет, что бы прямо во время комплементации чето там мутить, статичная параша заменится другой, но не перезапишется
148 1552775
>>552772
пруф:

```
fn main() {
let a = 5;
let aref = &a;
let a = 6;
println!("{}", a);
println!("{}", aref);
}
```
149 1552781
>>552772
Ты прав я ошибался спасибо большое что поправил
150 1552813
>>552772
>>552775
Почему компелюктуор не может перевести это в мутацию в случае с

let foo = "a";
println!("{}", foo);
let foo = "b";
println!("{}",foo);

в эквивалент

let mut foo = "a";
println!("{}", foo);
foo = "b";
println!("{}",foo);

Разве одна мутирующая не будет эффективнее?((
151 1552834
>>552813

> Почему компелюктуор не может перевести это в мутацию


потому что на это могут ссылаеться референсы и никто всерьез не будет задумываться о том что, какой нить вася сдумает в одном и том же скоупе создавать переменную с одинаковым именем, и одинаковым типом, если можно просто перезапистью
152 1552836
>>552813

> эффективнее


Оно скорее похую совсем будет и скомпилируется в один и тот же бинарник.
153 1552849
>>552836
Не(
Я чето в глаза долбился когда последний раз смотрел
image.png131 Кб, 936x454
154 1552885
155 1552956
>>552834
есть какойнебудь гайд как дописать компилятор чтобы оно нормально это мутировало??
156 1553189
>>552221
Мимо, я крестопетушок.
Разница в том что твой баунд чекер в быдлере покажет тебе проблему только когда она случится в рантайме, в русте борочекер на этапе компиляции вроде как должен не допускать юз афтре фри, дабол фри и т.д., границы динамических массивов проверяются так же в рантайме.
157 1553190
>>552237

>Си - суперсложное говно которое вне огромной корпоративной инфраструктуры не поддерживаемо.


охуел сука как уебу, куда проще си то?
158 1553191
>>553190
Не он, но думаю имелось ввиду сложность написания безопасной и не текущей программы.
159 1553209
>>553190
Хелло ворлд и лаба1 не считаются.
160 1553537
Мля все равно не могу понять чего компеляктору с О3 сложно понять что я говнокожу и просто мутнуть
В идеале разве не так должно быть?(
161 1553599
>>553537
А ты сам попробуй мозгом проделать оптимизацию, и поймешь какой сложности стоит задача.
162 1553657
>>553537
Что ты там мутатить собрался? Закидывается переменная куда надо, вызывается call, хуита твоя выводится, закидывается следующая и ещё раз проход.
Попробуй цикл какой-нибудь высрать, может найдешь что тебе надо.
163 1553794
Начал ради интереса читать про раст-бук на оф. сайте. С первых страниц начал охуевать от того, что они там всё предлагают делать в командной строке.
Есть ли под раст нормальная IDE уровня Visual Studio, внутри которой и компиляция и отладка, и выделение ошибок?
164 1553815
>>553794
Иди почитай что-нибудь другое.
165 1553822
>>553815
Что другое?
167 1553834
>>553831
Я уже знаю 1С и джава скрипт, я хотел из макаки стать человеком.
168 1553837
>>553794

>Есть ли под раст нормальная IDE


>внутри которой и компиляция и отладка, и выделение ошибок?


Есть https://intellij-rust.github.io/

>уровня Visual Studio


Хз что это за уровень такой.

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


Пиймав зумера. Бедные дети, на шинде сидят, пиздос.
15735055643860.jpg46 Кб, 1080x1076
169 1553838
>>553834

>Я уже знаю 1С и джава скрипт, я хотел из макаки стать человеком.


>хачу кнопачки

170 1553853
>>553794
Наоборот, в консоли намного удобнее и быстрее же. Пока неповоротливая IDE запустится и прогрузится, пока найдёшь, где в менюшках скрыты нужные кнопки, успел бы 10 раз в виме написать код, ввести нужные команды, исправить ошибки в коде и перейти к следующей главе. Большие проекты в консоли писать тяжело, но для обучения - самое то.
171 1553906
>>553190

>охуел сука как уебу, куда проще си то?


Чисто синтаксис например ублюдочный.
Сколь ни будь сложная программа - сплошной ад и баги уровня переполнение стека\буфера, которые почему-то необнаруженные по 20 лет остаются, несмотря на все "крутые" анализаторы кода и прочий "инструментарий".

Речь идёт о процессе создания и поддержки ПО.

А чисто синтаксически и семантически, тот же паскаль проще например.
Я уже не говорю про лисп.
image.jpg89 Кб, 1280x1280
172 1553910
Может есть какая-нибудь удобная либа для контроля I/O?
Хотелось бы чтобы был threadDelay(100) параллельно ему читался инпут
Если инпут вошел за 53мс, threadDelay ждал бы еще 47
173 1553911
>>553910
И если тред делей закончился без инпута, то уже следующий цикол и прошлый инпут наверное сбросить?
174 1553912
>>553906
Нормальный синтаксис! Если он такой ублюдочный, почему тогда куча других языков его переняла? А? А?! Шах и мат, антисишник!

Не в синтаксисе дело, а в том, что сишка слишком много вещей не проверяет, а молча разрешает
175 1553915
>>553912
Охуенный синтаксис, двачую!
http://c-faq.com/decl/spiral.anderson.html
176 1553917
>>553853
Чтобы ввести нужные команды, сначала надо изучить команды командной строки. Порог входа повышается. А ещё там в оф. книге про баш-скрипты упоминают сходу...
Выглядит как этакий фейс контроль на входе в илитный руст-клуб, обычных людей отпугивают сразу одним своим видом, макакам типа меня дают постоять в очереди, потратить часы своего времени, но внутрь всё равно не пускают. Просочиться дают лишь ноулайферам миллениалам-красноглазикам.
Обучение без точек останова, без мгновенного подчёркивания ошибок - это развлечение для тех, у кого дохуя времени.

>неповоротливая IDE запустится и прогрузится


VS с решарпером действительно грузится долго. Только нахуя мне её закрывать. Я комп раз в 2 месяца перезагружаю. VS висит себе открытой всё время.
177 1553927
>>553917
Пиздец ты беспомощный.
178 1553928
>>553917
Ну, ты сам видишь, какой у раста контингент. Если "хочешь стать человеком", возьми плюсы, от них больше проку. Ну или питон/жабу.
179 1553930
>>553928
Как там у крестов с аналогом cargo?
180 1553932
>>553930
А никак, лол. В крестах сборка проекта и управление зависимостями - полный пиздец. Один из старейших языков, а ничего толкового до сих пор нет.
181 1553933
>>553932
Впрочем, что-то имеется. Но доминирующего решения нет.
182 1553934
>>553932
А модули то уже завезли, или по прежнему надо с ифдефами ебаться?
183 1553947
>>553928

> какой у раста контингент


Какой?
184 1553960
>>553947
до 22 и без вышки
185 1553995
>>553960
После 22 и вышки начинают боятся командной строки?
186 1553999
>>553995
хз мне просто одиноко решил о себе что-то написать
Steve Ballmer - Developers-VhhGeBPOhs.mp41,2 Мб, mp4,
320x240, 0:24
187 1554234
>>553912

>Если он такой ублюдочный, почему тогда куча других языков его переняла? А? А?!


Потому что Си продвигала Американская Радиотехническая Корпорация?
На своих дексах, после чего интел был "вынужден" переобуться и начать выпускать Си процессоры, которые теперь везде.

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

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

Так например первый 32хбытных процессор интела был заточен под модулу и аду, заточен для работы с объектами, умел безопасно управлять памятью, и имел функционал позволяющий минимумом усилий реализовывать ОС.

>Не в синтаксисе дело, а в том, что сишка слишком много вещей не проверяет, а молча разрешает


Дело в том, что сишка говно.
И синтаксически, и семантически.
И Си процессоры RISC(ARM RISC-V) x86(который внутри тот же риск) - говно.
А С++ - это говно в кубе.
188 1554298
>>554234
Любопытно. Маркетинг, в общем.
А почему тогда возможно написать компилятор модулы/ады для x86, если он "си процессор"? Синтаксис - это ведь всего лишь про то, ставить фигурные скобки или begin/end, например. А то, на какой архитектуре будет крутиться полученная программа - другой вопрос. Сишка ведь не прибита гвоздями к x86. Если бы была архитектура, скажем, с аппаратной сборкой мусора, то ничего не мешало бы написать компилятор сишки и для неё. Или нет?
189 1554312
>>554298

>А почему тогда возможно написать компилятор модулы/ады для x86, если он "си процессор"?


Потому что Тьюринг Полная архитектура?

>Синтаксис - это ведь всего лишь про то, ставить фигурные скобки или begin/end, например. А то, на какой архитектуре будет крутиться полученная программа - другой вопрос. Сишка ведь не прибита гвоздями к x86


Еще как прибита.

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

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


Зависит от архитектуры.
У Си программ, чисто синтаксически, есть требование доступа ко всему объёму памяти. А без указателей это уже не Си.
Но ты конечно можешь эмулировать любой код.
Но как бы, вся суть Си в том, что это такой продвинутый ассемблер, причём очень конкретный ассемблер.
190 1554317
>>554298
чувак, ты поосторожней с инфой что заливает тебе в уши этот фанатик..
191 1554353
>>554317

>пук

192 1554354
>>554234

> Американская Радиотехническая Корпорация


шо? каво?

> Си процессоры


Я конечно НЕ УВЕРЕН, но вроде бы процессоров, для которых C является аппаратным языком - нет, как-то обычно C в какой-нибудь язык ассемблера компилируется.

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


А, кхм, ясно. Нам нужна своя, революционная и контримпериалестическая индустрия ПеКа.

> первый 32хбытных процессор интела умел безопасно управлять памятью


Опять же, Я МОГУ ОШИБАТЬСЯ, но первым 32-битным CPU от интел был 80386, который (как и современные процессоры) x86?

Короче, ты какой-то вообще больной, не пиши сюда больше.
193 1554360
>>554354

> Я конечно НЕ УВЕРЕН, но вроде бы процессоров, для которых C является аппаратным языком - нет, как-то обычно C в какой-нибудь язык ассемблера компилируется.


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

мимо
194 1554366
>>554360
Звучит странно, обычно это компиляторы/части программ подгоняют под конкретные фишки процессоров.
195 1554434
>>554366

>Звучит странно, обычно это компиляторы/части программ подгоняют под конкретные фишки процессоров.



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

Но это всё, что приходит в голову, лол.
196 1554651
>>554366

>Звучит странно, обычно это компиляторы/части программ подгоняют под конкретные фишки процессоров.


В мире победивших Си процессоров на рынке массового компьютинга - да.
А вообще, нет.
У тебя есть задачи которые нужно решать, под них разрабатывается железо.
197 1554677
>>554354

>шо? каво?


Чет я попутал. Речь о Digital Equipment Corporation шла.
https://en.wikipedia.org/wiki/Digital_Equipment_Corporation

>>554366

>Звучит странно, обычно это компиляторы/части программ подгоняют под конкретные фишки процессоров


У нас точно системного программирование тред?
В котором знатокки сишки и аппаратных архитектур?
https://en.wikipedia.org/wiki/Reduced_instruction_set_computer

>In the mid-1970s, researchers (particularly John Cocke) at IBM (and similar projects elsewhere) demonstrated that the majority of combinations of these orthogonal addressing modes and instructions were not used by most programs generated by compilers available at the time.


>Some aspects attributed to the first RISC-labeled designs around 1975 include the observations that the memory-restricted compilers of the time were often unable to take advantage of features intended to facilitate manual assembly coding, and that complex addressing modes take many cycles to perform due to the required additional memory accesses.


Для тех кто в танке, речь идёт о Си компиляторах.
198 1554693
>>554434
В Си нету никакого управления памятью и контроля доступа как явлений.
В Си и Си процессорах ограниченная поддержка рекурсии.
Это так, с ходу, самое очевидное.

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

Си имеет смысл только как обёртка над очень конкретным и очень скудным набором команд.
Си код a = c + b буквально означает захуярить b и c в регистры, послать команду ADD, и результат захуярить в память по конкретному адресу.
199 1554726
>>554693

> контроля доступа


Ну да. И защищённый режим - чисто программная абстракция.

> ограниченная поддержка рекурсии


Конечно, ведь у других архитектур сегменты резиновые.

> захуярить в регистры


А на 100 переменных - 100 регистров и тысячи вариантов mov.
200 1555310
>>552813
Потому что у тебя там константы. Ты хоть через жопу переподвыподвернись, но константы не перезаписываются, потому что они — константы. Вот если ты напишешь так:

let mut a = 5;
a += 1;
let a = a + 1;
То конпель тебе просто замутирует уже существующую переменную в последнем let.
201 1555321
>>554360
Процессоры не затачивают под языки выше уровня 10101010010111100. Даже асм для процессора высокоуровневый, ему сразу байты подавай, а в асме ты сперва строчки пишешь, чтобы в байты потом превратить. Сишка так быстра только из-за gcc, где оптимизации под каждый отдельный процессор. Тогда почему же почти все языки кроме си и крестов юзают LLVM, спросишь ты? Потому что удобнее. Выбирая между микрооптимизациями GCC и удобством LLVM, где и относительная простота написания компилятора, и кроссплатформенность без ебли, ленивые людишки выбирают последнее. К тому же, новые версии раста выходят каждые шесть недель, там просто времени нет на каждый плюх в код компилятора ебаться с GCC. Мы же не каждые три года новую версию выпускаем, как некоторые.
202 1555356
>>554693

>В Си и Си процессорах ограниченная поддержка рекурсии.



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

>ты собираешься писать на си под стековые процы



Также, как работают компиляторы Си на существующих стековых процессорах.

> тегированную память



А это вообще вредная херня. Динамик диспатч на уровне примитивных команд, вообще офигеть. Ты как это конвееризировать собрался, если не знаешь, какую операцию выполняешь на каждом шаге?
15716276114670.png153 Кб, 345x481
203 1555360
>>555310
Вкатываюсь в хеллоуворлды на ассемблере чтобы понять че происходит
Мне все еще кажется что после всех оптимизаций мутеть одну фегню эффективнее чем двигать поинторы но хз
204 1555361
>>555310
Господи, прочитайте уже, что такое Single Static Assignment. На уровне ЛЛВМ вообще нет понятия мутабельной переменной.
205 1555463
>>555360
Смотри, есть такая строчка: `let s = "qwerty";`. Теперь давай посмотрим на тип переменной `s`. Она имеет тип `&'static str`. Эта ссылка состоит из двух usize переменных — указателя и длины. А теперь следи за руками: те данные, на которые указывает эта ссылка, являются константой. Они хардкорно записаны в исполняемый файл (например, .exe) и подгружаются в кеш при запуске программы. Ты не можешь их поменять, потому что не можешь. Поменять ты можешь только саму ссылку, чтобы она указывала на какую-то другую строку с другими длиной и адресом. Но откуда ты узнаешь адрес и длину? Тебе их надо либо прочитать, либо посчитать. А потом куда-нибудь записать. Но чтобы записать эти два новых usize элемента в твою f, тебе надо помнить положение f в стеке. Так что там почти похуй, перезаписывать старое или пихать новое.
206 1555465
>>555463
длинуто ты откудо берешь? на сколько я помню &str указывает на саму строку, а не ее длину, соотвественно что-бы подсчитать длину, тебе нужно пройтись по всей строке в поисках '\0'
15758487451700.jpg144 Кб, 1216x1080
207 1555466
>>555463
Спасиб я кажется что-то понял
208 1555469
>>555465
Нет, size_of::<&str>() выдаст тебе в два раза больше, чем size_of::<usize>(). Говорю же, длина с указателем там хранится. А вот как оно считается при загрузке в кеш — хуй знает. Но вроде должно тоже по длине брать данные.
>>555466
Пожалуйста.
210 1555598
>>555356

>Ты как это конвееризировать собрался


У вас конвейер головного мозга 4той стадии. Вы непоправимо больны Си парадигмой.
211 1555929
я вас всех люблб ребята
212 1555976
>>555929
Хочешь поняшимся в попчески?
1282786204310.jpg23 Кб, 522x399
213 1555982
>>555929
ЖС-тред дальше, родненький.
214 1555985
215 1556253
>>555598
Это не си, это схемотехника.
216 1556254
>>556253
Ну так он выше заливает, что си чуть ли не интерпретируется процессором напрямую.
217 1556274
Не понимаю как до 0.5 обновить поменял инит и вызов нью на простое импл дефолт и поменял билд на билдер и финиш рун на билд енд старт
Оно работает но какие-то лаги на драг енд дропе чяднт
218 1556347
Чем D лучше Rust?

Крайне сложно представить себе реальный проект в котором писать Rust было бы экономически оправдано. Вся структура языка заточена на то, чтобы вынуждать человека указывать достаточно низкоуровневые подробности не тогда, когда это действительно нужно, а ПОСТОЯННО. Исключение где Rust может быть реально полезен могут составлять только Embedded и hard real-time системы. Однако это капля в море разрабатываемого софта. На Rust нельзя написать ни одной программы, не имея хорошего понимания lifetime & ownership. Это автоматически делает его очень сложным. Так же стоит отметить очень свобразный апострофо-кавычечный синтаксис Rust значительно усложняющий написание кода. D в этом отношении гораздо проще и универсальнее. К тому же в D есть режим betterC позволяющий использовать ручное управление памятью и сводящий 80% преимуществ Rust к нулю.

Что значит слово Rust?

коррозия; ржавчина
моральное разложение; коррупция, продажность
вредное влияние безделья, бездеятельности (на характер, способности)
ухудшаться, портиться, притупляться, вырождаться (от бездействия)
притуплять, ослаблять (память, ум)
томиться от безделья
портить, развращать, разлагать
219 1556375
>>556347

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


Так-то это одна из причин, почему на него перекатываются, лол
220 1556385
>>556347

> Крайне сложно представить себе реальный проект в котором писать Rust было бы экономически оправдано.


с чего бы? представь себе такой хайлоад сервер, где каждая наносекунда важна, и всякая поебот на типо жаба с ее конченым GC там нн будут даже рассматривать. из вариантов:
С - неподойдет, nuff said.
C++ - у него был шанс, но изза ебаннутых бесполезных абстракций, отсуствия нормального ADT и прочей непродуманной хуйни он не подошел.
Rust - имеет хороший рантайм футурок от tokio, нормальный ADT изподкоробки, удобный и продуманный std, идеальная парадигма контроля памяти ownership, скорость исполнения иногда превосходит си, при том на си нет допустим веб говна, а на расте как нехуй делать, вывод: раст является САМЫМ ОПТИМАЛЬНЫМ РЕШЕНИЕМ ДЛЯ ВЕБ СЕРВИСА

пруф в виде актикса загуглите сами web frameworks benchmark
1526329307584.png108 Кб, 996x380
221 1556397
>>556385

> пруф в виде актикса

222 1556402
>>556347
Спорить с жирной пастой бессмысленно, но всё же я скажу, что любой убогий язык, на котором есть куча либ, в миллионы раз лучше прекраснейшего языка, на котором нет ничего. Где хотя бы D-тред?
223 1556405
>>556397
к чему это вообще? увидел &[u8] и включил режим

>РЯЯЯ, БАЙТОЕБСТВО!!1!


?
224 1556408
225 1556412
>>556408
?????что
15721819185430.jpg28 Кб, 512x422
226 1556440
>>556397
Что тут вообще может быть не так?
227 1556444
>>556440
Захардкожено то, что не должно.
228 1556454
>>556402

>Где хотя бы D-тред?


Ультра годноту прилюдно обычно не обсуждают.
В sn, например, одни графоманские пасты.
В sci нет тредов про эфир.
В math нет арийской математики.
В spc нет тредов про лунный заговор.
В ra нет тредов про БТГ.
В re нет треда про реализм.
229 1556459
>>556454

> re


Раз лысый - это цвет волос, то D - это язык программирования???
230 1556466
>>556454
как только начинает течь кровь, ты больше не ребенок
ты женщина
и можешь иметь дело с мужчинами
231 1557648
>>556454

> В re нет ph


Пофиксил
232 1557652
>>557648
Философия отличается от религии только тем, что в ней нет бога в явном виде.
Но мы не в b
15726105402710.jpg5 Кб, 189x220
233 1557655
Серверлессный васм саас на русте
Стоит того?
Может есть подобные опенсорсные проекты?
234 1557664
>>557655
Cлишком много модных баззвордов вместе. Не взлетит.
235 1557665
>>557655
Надеюсь, с блокчейном и нейронками?
236 1560827
оцените код хули
на коммиты не смотрите, там пизда

https://github.com/3beyond/3beyond
237 1561618
>>539530 (OP)
Как вникнуть во владение? Ебусь уже несколько дней, но всё равно не могу написать хоть что-то сложнее хелоуворда из-за этого
238 1561632
>>561618
Показывай код и сообщение компилятора.
239 1561697
https://www.reddit.com/r/rust/comments/ehup6r/reddit_on_rust/

> We're likely going to be writing a few new fun parts of Reddit in Rust

240 1562014
>>561697
Кажется что все разговоры о том, взлетел ли раст или нет, можно оставить в прошлой декаде.
1480313132600.png266 Кб, 1726x986
241 1562205
242 1562210
>>562205
Столько раз это постили, и ещё ни разу никто не написал, что эти шприцы означают.
243 1562214
>>562210
Ржавый обогнал цпп по производительности.
244 1562284
>>562214

>обогнал


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


ну растодебилы, ну тупые
245 1562549
>>562284
На одинаковом.
246 1562649
>>539530 (OP)
Так, блять. Ржавчина же заявлена как системный язык. Какого хуя это говно не компиляет нормально под Win XP? Это просто ебень какая-то. И нахуй он нужен, если требования к ОС жёстче, чем у какого-нибудь дотнета?
247 1562684
>>562649

>дотнет


дотнет это вообще интерпритируемая житопараша

>пытается что-то закомпилить под труп


>пытается вообще под шиндусы


установи сначало нормальную ос, твои шиндус проблемы тут никому не интересны
248 1562917
>>562684

> нормальную ос


Ну и нахуй тогда все эти "системные языки" нужны? Можно сразу брать какой-нибудь "нормальный язык", которому нужно "нормальное железо", например жаба или питон. Системные языки на то и есть, что должны быть максимально неприхотливыми, как сишка. Тогда при чём тут вообще сабж? Получается, раз он не решает свои задачи, у нет нет области применения?

мимо
249 1562953
>>562917

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


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

>Получается, раз он не решает свои задачи, у нет нет области применения?


Кстати, а последний сишный компилер от майкрософта хотя бы поддерживает эту XP? (нет)
Вот и подумай что ты сам сейчас высрал.
250 1562985
>>562953
Разумеется, легче думать, что раз кто-то что-то там задепрекейтил, то сразу же у всех волшебным образом апгрейднется железо. И нечего поддерживать не надо, 100% пользователей - айтишники, которые могут с этим справиться сами. И кроссплатформенность никому не нужна, одни проблемы от неё, пусть все на винде 10 сидят.
251 1563012
>>562953

> А нахуя кому-то допиливать компилятор и рантайм ради депрекейтед даже самим микрософтом системы — я хз.


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

> Кстати, а последний сишный компилер от майкрософта хотя бы поддерживает эту XP? (нет)


Предпоследний поддерживает в 2017 студии. Раст никогда не поддерживал.
Да это и не только на Винде, например ржавчина не поддерживает на Линуксе ядра ниже 3.9. Никто не будет тратить кучу денег ради апгрейда под какой-то там ЯП. Вот тот анон правильно написал, это ничем не отличается от апгрейда железа под жабу. Тот же сегмент POS до сих пор на половину работает на Windows XP Embedded или даже старше. Если у кого-то есть хотя бы какая-то часть таких машин, то Раст сразу автоматом идёт нахуй.
252 1563067
>>563012

>ведь карго не умеет в офлайне собирать



[dependencies]
yobalib = { path = "Disc:/yobafolder" }
253 1563081
>>563012
что ты несешь содомит? растодевы не будут тратить время и силы на поддержку старой параши, ибо на старом железе оно будет овердолго компилиться.
254 1563089
>>563067
Сам хоть пробовал так собрать рандомную репу с гитхаба?
255 1563100
>>563081

> не будут тратить время


Всё понятно с ними.
256 1563141
>>563100
ну окей... что мешает установить линуксы?
257 1563281
Что не так с обSerde? Делаю структуру с вектором других структур, в поле с вектором толкаю вектор из пары элементов и что я вижу? В жсон-выхлопе только первая структура. При этом в консоли компилятор ничего не говорит, ему норм. Неужели постоянно в этой кривой поделке такое будет? И как мне накостылить нормальную сериализацию?
258 1563450
>>562985
Так, а как связана поддержка и написание нового софта, мань? Сиди меси своё легаси на сях старых стандартов, нахуя тебе там раст?
Для софта, юзаемого офисным планктоном, он действительно нахуй не нужен, а на сервере шиндовс используют только те, кто повёлся на хайп с дотнетом, и у них там свой мир, где мс пилит свой раст, лол.

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


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

>>563012

>Вот с таким отношением энтерпрайз никогда на это не перейдет


А нахуй энтерпрайзу раст-то, додик? Много системных штук твой энтерпрайз делает? Я что-то ни одной не видел.

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


Ещё раз — это нихуя не добровольный процесс, вот прям совсем. То, что на твоём заводе юзают XP — не от адекватности явно.

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


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

>Предпоследний поддерживает в 2017 студии


Ну, последняя версия плюсового компилятора для XP — 2012, причём его вместе со старым рантаймом надо докачивать в инсталяторе отдельно и настраивать проект для сборки. Блядь, даже мс, сидящая на 80% на легаси говне уже пытается убрать это депрекейтед говно подальше от себя.

>Никто не будет тратить кучу денег ради апгрейда под какой-то там ЯП


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

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


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

>Тот же сегмент POS до сих пор на половину работает на Windows XP Embedded или даже старше


Ииии... Нахуя тебе там раст? В смысле, на старых кассах, которые и без того работают? В твоих мухоёбинсках где такая куча такой старой залупы, ей даже в сеть смотреть не нужно. А в дсах сплошь и рядом новые терминалы, в которых и paypass, и прочие атрибуты пост-бумерской эпохи есть, и работают они уже не на XP.
258 1563450
>>562985
Так, а как связана поддержка и написание нового софта, мань? Сиди меси своё легаси на сях старых стандартов, нахуя тебе там раст?
Для софта, юзаемого офисным планктоном, он действительно нахуй не нужен, а на сервере шиндовс используют только те, кто повёлся на хайп с дотнетом, и у них там свой мир, где мс пилит свой раст, лол.

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


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

>>563012

>Вот с таким отношением энтерпрайз никогда на это не перейдет


А нахуй энтерпрайзу раст-то, додик? Много системных штук твой энтерпрайз делает? Я что-то ни одной не видел.

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


Ещё раз — это нихуя не добровольный процесс, вот прям совсем. То, что на твоём заводе юзают XP — не от адекватности явно.

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


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

>Предпоследний поддерживает в 2017 студии


Ну, последняя версия плюсового компилятора для XP — 2012, причём его вместе со старым рантаймом надо докачивать в инсталяторе отдельно и настраивать проект для сборки. Блядь, даже мс, сидящая на 80% на легаси говне уже пытается убрать это депрекейтед говно подальше от себя.

>Никто не будет тратить кучу денег ради апгрейда под какой-то там ЯП


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

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


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

>Тот же сегмент POS до сих пор на половину работает на Windows XP Embedded или даже старше


Ииии... Нахуя тебе там раст? В смысле, на старых кассах, которые и без того работают? В твоих мухоёбинсках где такая куча такой старой залупы, ей даже в сеть смотреть не нужно. А в дсах сплошь и рядом новые терминалы, в которых и paypass, и прочие атрибуты пост-бумерской эпохи есть, и работают они уже не на XP.
15738117297240.jpg20 Кб, 600x315
259 1563452
>>563012

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


Бля, какой же это рарный вин. Пакетный менеджер что-то откуда-то тянет, посоны! Он же не для того нужен-то!

>>563081
Там ты же это, за линупсы там, против пропиетарщины, опенсурс все дела. В чём проблема тянуть всё руками и редактировать конфиги когда стянул и проверил? Юникс-вэй жеж. Ты кстати довно в ядро заглядывал? Телеметрии не запихнули случайно?
4e880c97054586ea910c0a6af5e9c2c9.jpg117 Кб, 807x481
260 1563457
>>563100
Эх, бля, вот гнойные пидорасы, как с жавой и досом всех объебали! Поленились, сука, крестьянам поддержку запилить!
261 1563501
>>563450
Ох, блять.

> Я что-то ни одной не видел.


Ты его вообще видел?

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


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

> А их кто-то спрашивал?


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

> ей даже в сеть смотреть не нужно.


Налоговая уже два года как ебёт за такое. Хотя за МКАДом всё возможно...

> А в дсах сплошь и рядом новые терминалы, в которых и paypass, и прочие атрибуты пост-бумерской эпохи есть, и работают они уже не на XP.


Это ты из головы взял? Большинство банкоматов на XP, половина ДС на говне мамонта сидят, которое даже семёрку не вытянет. До сих пор DOS используется в POS, если ты не в курсе. Ты удивишься, но эту срань поддерживают в 2020 и даже апдейтят под новые законы. Никто не будет тратить деньги на новое железо, переучивание персонала, покупку софта и обслуживание его просто потому что какие-то пердолики решили не делать нормальную совместимость. Ты вообще в курсе во сколько встанет только обновление 1000 машин под свежую ОС? Кто за это платить будет? Кто обновлять будет?

> paypass


Какое отношение эквайринг имеет к ОС?
262 1563543
>>563501
И зачем туда лезть то? Работает как-то, ну и заебись, даже если с дохуя правильной сишкой или чем угодно туда лезть, то оно всё равно будет никому там нахуй не нужно. Пусть спокойно отгнивает. И хп, и дос, и коболы всякие.
263 1563889
>>563501

>Какое отношение эквайринг имеет к ОС?


Какое отношение POS имеет к ОС?

>Ты его вообще видел?


Системный софт? Да дохуя. Но делается обычно не теми компаниями, которые называют "энтерпрайзом".

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


Ну просто проебут на поддержке больше, как и те, что не захотели слезать с коболо, но мне лично похуй, а тебе?

>Скорее кодеры пойдут новую работу искать


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

>Налоговая уже два года как ебёт за такое. Хотя за МКАДом всё возможно...


Ну я не с 1С работаю (видимо, в отличие от кое кого), прости, не знал таких подробностей.

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


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

>Ты вообще в курсе во сколько встанет только обновление 1000 машин под свежую ОС? Кто за это платить будет? Кто обновлять будет?


Ну как кто? Клиенты.
264 1564050
Анонзы, такой трабл. Есть, короч, макрос, которой рекурсивный. Ну, тип, такой
MACROS![a,b,c,d]
трабл в том, что эти abcd у меня лежат в векторе v, а реально их не 4, а гораздо больше. Может кто подскажет, как развернуть вектор вовнутрь макроса значениями, если их число заведомо известно? Скажем, для 9 значений чтоб можно было написать что-то типа такого:
MACROS![unroll_nine![v]]
что ни делаю - всё какая-то хуйня получается.
265 1564801
>>564050
$foo:tt вместе со скобочками не пробовал? Хотя я не понимаю, нахуя надо анроллить вектор в переменные. Чего тебе от этой фигни надо? Есть же remove() и swap_remove().

Вообще, рекурсивные макросы такое себе, там же потолок низенький на рекурcию. В залуп никак не превращается?

В общем, рассказывай, нахуя тебе анроллить вектор, тут без примера не разберёшься.
266 1565999
>>563281
Ты же понимаешь, что без кода ты беспруфный кукарек?
268 1566467
>>566063

> #![allow(dead_code)]


> #![allow(unreachable_code)]


Сигнатура файла в формате .rs блеать. Какой вообще смысл по умолчанию это запрещать, если все всё равно в начале каждого файла пишут директивы для выключения этих запретов? Почти как в перле с его use strict/use warnings.
269 1566468
>>566467

> в начале каждого файла пишут директивы для выключения этих запретов


Пиздишь.
270 1566638
>>566467
Лол, но нет. unused_imports под use super::*; в тестах или в автореф макросах, но никак не на весь файл. Дед код никогда не разрешал, а анричебл только однострочные паники или ретёрны после бесконечного лупа, так, на всякий случай.
087.gif110 Кб, 326x281
271 1566659
>>562210

> ещё ни разу никто не написал, что эти шприцы означают.


Зумера... Гугли box plot или "ящик с усами". Это классика, школьник, это знать надо!
272 1566670
>>562205
Слоооожный неэффективный хаскель быстрее простого и эффективного goвна. Найс.
273 1566880
>>566659
Спасибо.
274 1566899
>>566670
Ты это как вычислил?
1.jpg192 Кб, 960x1280
275 1568009
>>539530 (OP)
Есть ли в rustc какие-то оптимизации кода в духе С-шного -march=native?
2.jpg37 Кб, 600x600
277 1568041
278 1568534
>>568009
LLVM же, а не gcc, забудь про оверохуенную оптимизацию, она просто неплохая.
279 1568538
npm run dev
280 1568561
>>568534
Всё равно лучше, если код опирается на всякие SSE2 и прочее подобное
1460486948266.png82 Кб, 1390x406
281 1568979
282 1570818
>>568979
Давно пора.
283 1570819
Борщехлебство, Байтоёбство, Долбоёбство!
284 1573743
Кто-нибудь пишет что-нибудь под веб на расте?
285 1573866
>>573743
я борду пишу
286 1573992
>>573866
На cgi-скриптах.
287 1574011
>>573992
не, на расте
288 1574033
>>574011
Бля, это противоречит чтоли? Там хоть на сишке можно.
289 1574034
>>574033
cgi скрипты это другое
290 1574038
>>574034
Но ты их можешь на расте писать.
15762308928340.jpg94 Кб, 580x625
291 1574098
Можно ли на расте писать в функциональном стиле? На работе плюсы+питон выдался перерыв, и я в какой-то момент от безделья загорелся функциональщиной: чистые функции, ссылочная прозрачность, вот это все. Раст с его запретами на кучу мутабельных ссылок и временами жизни пока что для меня выглядит как идеальный кандидат под это дело. Сам сложнее калькулятора ничего на нем не писал, да и тот скопипастил будучи студентотой два года назад.
292 1574103
>>574034
Ты случайно не из тех, кто считает, что "скрипты" могут быть написаны только на интерпретируемом языке?
293 1574106
>>574103
скрипт это сценарий, интерпретируемый интерпретатором

растс компилирует код в машинный код исполняемый процессором
294 1574113
>>574098
Можно, пиши.
Но лучше сперва попиши на хачкеле, после него функционально будешь на чём угодно писать.
295 1574151
>>574098
Без двух лет студент нашел работу на плюсах? Странно.
296 1574168
>>574151
А сколько должно пройти, чтобы найти работу на плюсах?
Я знаю несколько таких человек, один еще учится в маге.
297 1574191
>>574168
А говорили, что на крестах джуны не нужны. Что там дядьки старые 10-20 лет опыта.
298 1574209
>>574191
Да мне просто интересно, откуда в плюсах появляется новая кровь тогда, если там все сразу миддлы. Вот умрут все миддлы и сениоры от старости, кто их говно поддерживать будет? А новое писать?
299 1574214
>>574209
Гу как же. Поступают в аспирантуру в говноНИИ, набираются формального опыта и идут в норм конторы.
300 1574792
>>573866
Расскажи подробней. Какой фреймворк, если используешь. npm и прочие webpack'и юзаешь?
301 1574884
>>574792
actix-web для бекенда, репа: https://github.com/3beyond/3beyond

для фронта вуе с нпм/вебпаком и всем вытекающем
302 1575444
actix-web.... все
303 1575509
>>575444
Предпосылок ебанутости автора было довольно много.
304 1575597
>>575444
Что всё то?
305 1575616
>>575597
ну что..... пиздец настал.

>>574884
похоже придется переписывать это все под wrap
1434482481896.jpg10 Кб, 215x234
306 1575619

> Issue history summary:


>


> Found by Shnatsel


> Closed as harmless to users by fafhrd91


> Proven harmful to users by Nemo157 and reopened by JohnTitor


> Fixed and closed by fafhrd91


> Proven unfixed and proposed new patch by Nemo157


> New patch commented "this patch is boring" by fafhrd91


> Issue is deleted


> Fix is reversed by fafhrd91, issue still present


>

307 1575630
>>574884
https://github.com/actix/actix-web

Так будет с каждой библиотекой и фреймворков на расте!
308 1575656
>>574884
Бежал бы ты с актикса. Мейнтейнер необучаемая микрософто-обезьяна. Мало ему было прошлого раза, так он опять устроил хуйню с "ваш патч скучный".

Но вообще меня интересует, пишет ли кто под WASM на расте.
309 1575663
>>575630
Проиграл с необучаемого. Туда ему и дорога, тащем-та.
310 1576091
>>575656
да я думаю найти похожие фреймы с поддержкой multipart и типо того, хотя actix-web будет довольно таки сложно заменить

>>575630
ну напишем еще 10 фреймворков
311 1576177
>>575630
Жаль на гитхабе нельзя минусовать.
312 1576179
>>574191

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


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

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

Правда была как минимум одна хорошая контора, чисто внешне, тепло уютно, правда она филиал какой-то европейской. И в то время, в 2012, они уже во всю набирали жаваскрипт девелоперов.

Типичная поделка крестопрограммистов это например МИР ТАНКОВ, которому виндовс рунртайм длл нужен, даже представлять страшно какой там дерьмокод внутри.
313 1576185
>>539530 (OP)
https://github.com/actix/actix-web/issues/5

Вот, пожалуйста! Отличный пример коммьюнити раста - набежало сэжэвэ и начало ныть, мол "а чего это ты удалил проект, ммм?!!! ты подставляешь коммьюнити!!!! а ну вертай все взад!!!".
314 1576186
>>576185
Хорошо же.
Пердаком дева можно греть целую планетарную систему теперь.
А если этот омежка вернёт проект, то это шин вообще будет. Одни плюсы, бомбит и работает бесплатно.
315 1576221
https://github.com/microsoft/verona
Ну шо почаны, время оценивать что там высрал мс.
На первый взгляд там больше раста концепций из pony напиздили.
1511842240642.jpg82 Кб, 680x680
316 1576282
>>576221

> class

317 1576422
Недавно чисто случайно увидел статью: https://habr.com/ru/post/483142/

Суть в следующем: "Наша команда Immunant любит Rust и активно работает над C2Rust — фреймворком миграции, берущим на себя всю рутину миграции на Rust."

Я офигел, это же автоматическое воровство кода растом в промышленных масштабах! В комментах кто-то проверил:
$ find ~/prog/ioq3 -name ".rs" | xargs cat | grep unsafe | wc -l
9241
$ find ~/prog/ioq3 -name "
.rs" | xargs cat | grep fn | wc -l
9740

В переводе с баша на русский: в коде 9740 функций, из них 9241 - unsafe.

https://tsar1997.blogspot.com/2019/12/blog-post.html#comments
319 1576475
>>576452
У вас там в расте все такие шизики?
320 1576501
>>576475
ну а хуле ты хотел от СоСолдов-то.
321 1576507
>>576501
А можно пользоваться растом и либами, но шоб без таких говноедов?
Вон как в джавке - пошел и скачал с мавена.
322 1576531
>>576507

>мавена


только если будешь свой плагин писать, не прописывай artifactId как maven-<plugin>-<name>. швятой COPYRIGHT INFRINGEMENT же.
324 1576679

>What sews resentment is being repeatedly dismissive of serious problems, as we're seeing with this hackish use of 'unsafe' features - that's an attitude that diminishes the self-worth of others.


Ебанутые фанатики, поборники ЦЕЛЬНОСТИ развалят раст к хуям.
вижу ансейф
@
тригерюсь
325 1576690
>>576679
Хз, я там в подробности не вникал, но если нет очень конкретных причин использовать унсейф, то делать этого очевидно ненужно.
Я привык байтоебить мне лень ваш раст изучать - это не весомая причина.

Как я понял, при использовании этой библиотеки может возникать неопределённое поведение, что есть гроб кладбище пидор.

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

Потому что маленький кусочек дерьмокода может скомпрометировать целый огромный стек.
image.png434 Кб, 474x548
326 1577237
https://habr.com/ru/post/484436/
Я хоть не любитель раста, но в восторге что погнали санными тряпками говнокодера, который делал продукт ради бенчмарков. У гоферов бы такое комьюнити.
Мое уважение

А теперь по теме. Стало очевидно, что оставив возможность unsafe раставчане тупо оставили окно в С++. Теперь нельзя быть уверенным, что в очередном йоба-проекте, очередной йоба-разработчик не захочет говнить unsafe кодом.
Вы потенциально оставили дверь черного хода открытой.
Мои поздравления
327 1577241
>>576221
Забавно что эти как раз таки и смогу сделать что-то годно и юзер-френдли.

>>576282

> class


Чет не нашел. Там рили хотят ООП или просто типы?
328 1577243
>>577237
Ну и помойка же хабр.
Автор мудила, да.

А с унсейвом там не то. Дело не в том что там унсейв как таковой, а унсейв там ломающий компилятор, тоесть там 'хак', который в любой момент может начать приводить к сломанному коду на выходе.
Автор использует этот хак чтобы срать буквально сишкой уже.
Это не преднамеренный функционал, это неверное его использование.
329 1577288
>>577243

>Ну и помойка же хабр.


А мне кажется, помойка - это /pr
1534219493874.jpg43 Кб, 900x708
330 1577293
>>577288
Уёбывай на хабр тогда.
331 1577295
>>577293
То, что /pr/ лютая параша с больными людьми, автоматически не означает, что я не должен его читать.
sage 332 1577296
>>577288
Несомненно.
Но это не отменяет факт, что хабр всегда был вторичной парашей для недалёкого быдла, а сейчас это просто форум с посредственными переводами англоязычных статей.
333 1577298
>>577296

>Но это не отменяет факт, что хабр всегда был вторичной парашей для недалёкого быдла


Илитарий закукарекал.
Хабр это пока что лучший ресурс по АйТи на русском языке. Не согласен? Назови альтернативы (спойлер: ты не сможешь)
334 1577302
>>577298

> по АйТи на русском языке


Нинужно же.
335 1577305
>>577302
Любой программист по умолчанию теперь должен учить английский? А как же русская школа программирования, вот это все?
336 1577307
>>577305

> теперь должен


Всегда был должен.

> русская школа программирования


Хуйня из под коня.
337 1577308
>>577307
Вот зачем ты сделал меня грустить?
338 1577314
>>577305

> А как же русская школа программирования


Учи oberon.
4947638original.jpg180 Кб, 858x664
339 1577395
340 1577453
>>576282
А в чём проблема-то? Ну класс и класс.

>>577241

>Забавно что эти как раз таки и смогу сделать что-то годно и юзер-френдли.


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

>Чет не нашел. Там рили хотят ООП или просто типы?


https://tutorial.ponylang.io/types/classes.html
Наследования в том же пони нет, у них в примерах тоже. Это типы, на какой-то хуй названные классами. Очередной триумф парадигмы над практичностью, шо.
341 1577472
>>577453
Тебе и собаку не проблема.
image.png173 Кб, 1346x624
342 1577475
>>577453

>В-е-н-д-о-р-л-о-к.


Выбирайся уже из криокамеры, дотнет 5 будет полностью кроссплатформенный (смотри в новостях), то есть net core станет основным. Есть годный typescript, vscode.
Что что, а мягкие умеют делать инструмент для разработчиков (и да, по тестам уже сейчас net core в достойном топе)
image.png83 Кб, 1080x960
343 1577481
>>577475
Ну и asp net это полноценный фреймворк, а не костылевариение типа actix обидчивого ноунейма
image.png80 Кб, 1126x970
344 1577484
>>577481
Чет зажевало картинку.
1579330503141.jpg74 Кб, 818x864
345 1577532
может есть какой-нибудь опен сорсный проект куда легко вкатиться если тупой
346 1577535
>>577532
В форк актикса вкатывайся :)
347 1577538
>>577532
питон
348 1577541
>>577535
Какой форк?
>>577538
Под себя пока не начал ходить
349 1577543
>>577535
Вставляй им подлянку в виде unsafe
350 1577547
>>577541
Одаренным только в хаскель.
351 1577553
>>577541

>Под себя пока не начал ходить


А ты и правда туп, не врал.
352 1577558
>>577541
Свой собственный.
353 1577562
>>577532
Какой ЯП? Свой проект лучше всего, конечно же. Заодно гит освоишь в полной мере.
354 1577566
>>577562
Rust
Гит основы вроде знаю
355 1577567
>>577562

>Какой ЯП?


Было глупо это спрашивать в Rust-треде, наверное. В свое оправдание скажу то, что я промахнулся мимо МВП-треда.
356 1577580
>>577314

>oberon


Тот самый, которым один шизик однажды полхабра засрал?
357 1577583
Стоит ли вкатываться в котлин? Что-то по началу он мне зашел, а сейчас сомневаюсь.
358 1577586
>>577583
Вкатывайся в актикс.
359 1577589
>>577580
Хз, не сижу на хабре. Но видел, что наши программисты пилят компиляторы какие-то, лекции о нужности языка делают и тд. Только выглядит это всё плачевно на фоне того же vlang, который создал один человек. Будто не могут нормальный кроссплатформенный компилятор написать.
360 1577594
>>577589

>vlang


Ого какая прелесть.
361 1577606
>>577594
Выглядит правда годно. Жалко только что будет как с D.
362 1577626
>>577606

> Жалко только что будет как с D.


Попадёт в двадцатку tiobe? Есть ещё zig lang.
15711363402890.png694 Кб, 750x1000
363 1577645

>Rust тред


>редкие упоминания единичный либ


>тонна бессмысленного пердежа

image.png600 Кб, 1280x724
364 1577647
>>577645
Теперь это V lang тред.
365 1577648
>>577645
@
Веб фреймворк умер.
366 1577650
>>577647
У него компилятор-то перестал течь и сегфолтиться?
367 1577657
>>577650
На расте перестали писать в топ либах unsafe?
368 1577658
>>577589

>vlang


Реально годная штука, может попишу чего-то на нем когда-то. Спасибо, анон!

А вообще, было бы интересно увидеть объединенный тред альтернативных продолжений/переосмыслений C (Nim, D, V, Fantom, Cyclone, Pike - тысячи их).
image.png396 Кб, 360x540
369 1577660
370 1577661
>>577658

>А вообще, было бы интересно увидеть объединенный тред


Так подыми.
15735055643860.jpg46 Кб, 1080x1076
371 1577665
>>577475
Чел, перечитай моё сообщение, вендорлок там не в том смысле используется, лол.
372 1577828
>>577658
Когда ещё те хипстеры в конце 2000-х - начале 2010-х вовсю рубили на рельсах, уже тогда я предрекал руби ненужность и даже немножк его хейтил. Почему? Да потому, что ещё один питон, только с кучерявым синтаксисом. А питон тем и хорош, что это такой единый скриптовый язык для всего, с кучей батареек.
Вот эти все альтернативные языки примерно о том же - не взлетят, покуда не предоставят принципиальных отличий от уже имеющихся. Вот когда появится такая тема:
прогеры всего мира: "Боже, как мы заебались с проблем-нейм, половина рабочего времени на неё уходит"
авторы нового языка: "Чуваки, ай-да к нам, у нас есть решение для проблем-нейм"
тогда можно паковать манатки. А до тех пор никто не будет валить на эти языки с языков с коммьюнити и кучей готовых либ.
373 1577996
>>577828
Руби более продвинут, чем унылый высер Гнидо Обоссуна.
Пердон взлетел потому что это легкая встраиваемся параша, которую может взять любой человек, даже не являющийся программистом и напердолить быдлоскрипт по фасту. Приблизительно по той же причине, например, рнр был сверхпопулярным языком в вебе.

Не знаю о каких принципиальных отличиях ты говоришь. Принципиально есть несколько парадигм, несколько систем типов, конкурентных моделей, видов полиморфизма и все. Все остальное это детали, а не что-то принципиальное.
374 1578120
>>577996

>рнр был сверхпопулярным языком в вебе.


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

Питон в те года выглядел как нонейм с экзотических синтаксисом и экзотическими проблемами поехавшего одиночки, до версии 3 было далеко, а пхп уже с 5 версии стал вменяемым (питон и с 3 версии не особо стал адекватным).
Сейчас питон имеет тучу всяких фишек, но все как-то через одно место, через грязные фантазии Гвидо, видимо.
375 1578131
>>577648
Веб фреймворк бенчмарк фреймворк
376 1578135
>>577665
Лол, модератор пост про опенсорс пятого шарпа потер. Какого-то ущербного сюда привели. хороший повод сленять отсюда
377 1578137
Ну че токсики, как поживаете? Уже научились как правильно писать на rust? Подготовили свои анусы попенсорц проекты?
378 1578157
>>578135
Куда?
379 1578168
>>578157
реддит но, думаю, ущербный потрет пост
380 1578183
>>578168
Я думал, что борда какая-то.
381 1578190
sage 382 1578197
>>539884

>белым по красному


Ну и мудаки
383 1578201
Ну что вы, зумеры, Аду уже открыли или все велосипеды понячные изобретаете?
384 1578217
>>578201
какой у тебя стек, уебищне? щарп/жабаговно или жс?
385 1578218
>>578217
Python + C (~80% / 20%)
мимокрокодил, не понимающий какое удовольствие писать все время на низкоуровневом языке
386 1578221
>>578218
я тоже не понимаю... поэтому я за раст - лучший высокоуровневый язык
387 1578224
>>578217
Ада?
388 1578231
>>578221

>лучший высокоуровневый язык


Пахнуло семидесятыми.
389 1578284
>>578201
В чём её достоинства?
390 1578338
>>577996

>Руби более продвинут


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

>легкая встраиваемся параша


не легче lua, не в этом дело.
391 1578344
>>578284
Байтоёбила для несуществующей машины, и не участвовала в языко-срачах.
1432852343392.jpg159 Кб, 1270x1452
392 1578353
393 1578360
>>578344
Gnat вполне работает на существующих.
394 1578759
>>578231
... actix-web перешел под управление юки...
395 1578834
>>578360
Ада не на аде писала.
396 1579075
>>578759
Ну еб вашу мать. Только решил на работе начать проект на актиксе - на следующий его снесли. Только начал проект на варпе - актикс вернулся. Пидоры хотя варп очень даже неплох на самом деле
397 1579174
>>579075
Брать для работы и бизнеса низкокачественные продукты, каких-то херов, которые то обижаются то не обижаются и пишут код чисто под бенчмарки почти как на си?

Это все что может дать раст за эти годы, этот кустарный уровень производства?

Даже го со встроенным http выглядит не так ущербно.
398 1579223
>>579174
Посто в раст набежало крестовиков и сидебилов у которых и гото это норм. Это было неизбежно видимо. Пройдёт время и они переварятся. Бугурты и профиты со всякими артиксами это хорошо, значит сообщество живое и активное.
399 1579226
>>579174
>>579223
Кстати, это всё вскрывает истинную суть байтоёбов, сишников и крестовиков, они просто неумеют в структурированное программирование. Дело не в контроле байтиков, а в том что эти овощи вообще не думают о пробллемах вроде ошибок доступа к памяти, когда высирают очередную лапшу. Отсюда столько багов с выходом за границы буфера блядь в 3жды переаудитином ссл или любой другой ключевой либой.
400 1579320
>>579174

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



Well, обычно при выборе либы я смотрю на количество звездочек/коммитов в репозиторий, а не на треды на реддите. Возможно стоит пересмотреть свой подход.

> которые то обижаются то не обижаются



А мы же помним еще про left pad, да? Думаю тут проблема не конкретного языка все таки.

> Это все что может дать раст за эти годы, этот кустарный уровень производства?



Ну да. Без нормального использования в продакшене нихуя и не появится. Причем так, чтобы сами конторы коммитили обратно в open source.

> Даже го со встроенным http выглядит не так ущербно.



Как жаль, что сам язык хуевый.
401 1579404
Раст - убийца си и крестов. Скриньте, через лет 10 весь системный софт будут писать на нем, и огромная часть проблем (бинарные эксплуатации тащемта) уйдет в историю, так как уж больно мощный импакт у таких атак. А софт, написанный неговнокодером на расте, заовнить практически нереально, все типы переполнений и гуляющих указателей идут строго нахуй. Хз чего вы ополчились против ржавого
402 1579418
Новичку без бэкграунда вкатиться в раст чуть менее чем нереально, да? Ну в смысле синтаксис очень сложный?
404 1579429
>>579421

> benchmark


> hello world


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


авторитарно...
405 1579432
>>579429

> > benchmark


> > hello world


Ты бы хоть разобрался ради чего он.

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


Напиши свой пример.
406 1579454
>>579432

> Напиши свой пример.


системкол + статик

кстати интересный факт, в том же бенче в сикоде используется не printf, а puts
1506322928476.jpg60 Кб, 754x721
407 1579523
>>579432

> ради чего он


Ради чего?
408 1579524
>>579429

> используется макрос


В бинарнике то никаких макросов.
409 1579525
>>579421
Какая нахуй разница в 0.0000000000001 наносекунду, если на расте можно писать безопасный код, в отличие от Си?
Железо сейчас куда мощнее, чем в 70ых, эти 0.00000000001 наносекунды не имеют никакого значения даже в хард РТ проектах, если тебе при этом дается буст в 300% в плане безопасности.
410 1579527
>>579525
На скриптопараше и прочих гц еще больше безопасности.
411 1579533
>>579524
дальше то что? в примере си использует вывод статичной строки через puts, пока раст раскладывает твой println в еще дохуилен аллокаций, строк и прочего...

если коротко: было бы куда честнее использовать в си printf или в расте еще дописать функцию для вывода
412 1579552
>>579533

> раскладывает твой println в еще дохуилен аллокаций, строк и прочего


Схуяли?
413 1579559
>>579523
Systemcalls.
414 1579560
>>579527
скриптопараша и гц не годятся для системного программирования, в скриптопараше не находят бинарные уязвимости
415 1579584
>>579560

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



У скриптопараши и GC основная проблема - это проблема Мюнгхаузена, что бы написать на них операционную систему нужно что бы операционная система уже была написана, а вовсе не проблемы с производительностью.
416 1579605
>>579418
Хз, несложнее Си.
417 1579797
>>579605
Слышал, что rust сложный. На уровне C++, а в некоторых моментах сложнее. Миф? Правда не сложнее Си?
418 1579803
>>579421
println! в паре с opt-level=s, а чувак ещё и удивляется. Просто какое-то уёбище, которое смогло выучить три команды на ассемблере пытается что-то кому-то доказать, но не может даже элементарно прочитать, что делают команды компилятору и почему раст по дефолту импортит std prelude, а в эмбеддед надо указывать #![no_std]. Вот когда у этого долбоёба стек переполнится, он охуеет это дебажить, а любой белый растер сразу узнает что случилось из ошибки. И вместо того, чтобы дебажить ассемблерный код и проблемы с памятью, в расте остаются только проблемы логики, которые изи ловятся юнит-тестами. К тому же в любой программе сложнее хелловорда компилятор оптимизирует лучше долбоёбов-ассемблероёбов, которые даже в кроссплатформенность не могут.
419 1579824
>>579797
У них сложности в разные места уходят.
420 1579841
>>579824
Ну, у Си сложность в вылавливании утечек, выходы за границы, UB и тд. Но синтаксиз не сложный. А у rust что? Подумываю для embedded вариант, но отпугивали мифы о сложности.
421 1579852
>>579797
Смотри, есть две стороны сложности: сложно в обучении и сложно в бою. Раст сложен в обучении: сразу и борроу чекер и очень-ёбаный-рот-ты-не-можешь-сам-превратить-мне-i32-в-i64-почему-я-должен-сам-это-указывать-ебучий-ты-раст? сильная типизация, и деление на safe-unsafe, которое невозможно понять, не имея глубокого понятия UB. Но потом, когда ты ебошишь либу или программу, ты понимаешь, какие проблемы могут вылезти и почему они могут вылезти, поэтому они не вылезают, пока ты не обосрёшься с usnsafe'ом в своём коде или кто-то другой не обосрётся с ансейфом в либе, которую ты юзаешь.
В си наоборот — выучил пару типов (инты, були, указатели), пошёл кодить. Но потом ты охуеешь, когда у тебя вылезет UB, а ты не знаешь, что такое UB и почему на одном компьютере твоя программа выполняется, а на другом крашится. В итоге ты вместо пары недель на обучение тратишь по дню на каждый новый баг. В итоге через четырнадцать багов ты проебёшь времени больше, чем на обучение по книжкам раста. А багов будет много.
В крестах кроме тех же проблем, которые есть в си, ещё есть проблемы OOP, проблемы с тем, что вместо std либы надо учить boost и другие best-libs, которые ещё хуй найдёшь, ещё проблемы с линковкой, которые тоже охуеешь дебажить. Ещё в крестах надо учить best-practices, но ты не узнаешь про эти бест-практисы, если тебе кто-то другой не подскажет.
А вот в расте все эти бест-практисы в книгах и учебниках уже есть. К тому же в расте вместо OOP, который часто убивает производительность (намного чаще и намного сильнее, чем ты думаешь), система трейтов. Трейты позволяют и множественное наследование и всякие другие вкусные штуки. Ещё есть макросы. Макросы сложны, но просто невероятно охуенны, когда ты научишься их писать. Они даже позволяют делать то, что нельзя пока что делать другим способом:
https://github.com/dtolnay/case-studies
422 1579870
>>579852
в расте непойми что, кадавр из функциональщины и императивщины
423 1579873
>>579852
Но нахуй изучать Раст, если почти всё то же самое есть в D, только без ебли и с gc?
424 1579887
>>579870
А кто мешает юзать что-то одно, пока не выучишь другое? Пока не выучишь итераторы, не юзай функциональщину. Пока не хочешь лезть в лоу-левел, не юзай императивщину. Но вот если ты делаешь функцию по типу
fn foo<T>(iter: impl Iterator<Item=T>, other: impl Iterator<Item=T>) -> T {
for _ in iter.zip(other) {/ do thing /}
}

То тут надо уже знать, что такая штука хуёво раскладывается для Chain итераторов, и надо вместо этого писать iter.zip(other).for_each(|a, b| {/.../});

В общем, для неких вещей надо чётко понимать, что они могут и как работают. А так я не понимаю твоих претензий. Функциональщина удобна на хай-лвл кодинге, а императивщина на лоу-лвл.
425 1579889
>>579873
Потому что в D ничего нет, есть только ебля и GC.
426 1579892
>>579870
Нет никакой разницы с современными плюсами. Кроме разве что той, что плюсовый компилятор тебя не бьёт по рукам за проёбы, и использует их для оптимизации собранного бинаря.
427 1579893
>>579873
А Nim?
428 1580093
>>579870

> из функциональщины


Что именно ты под этим подразумеваешь?
429 1580162
>>579852

> Раст сложен в обучении


Нет.

>>579797

>Слышал, что rust сложный. На уровне C++, а в некоторых моментах сложнее. Миф? Правда не сложнее Си?


Если ты на Си НЕ кодил, то тебе будет сильно проще чем если ты уже матёрый Си кодер.
О сложности раста говорят Си мартышки, очевидно, которые просто не могут переобучиться.
Они думают что это будет как Си, а это совсем не как Си.

>На уровне C++


С++ - помойка, нет ни одного компилятора реализующего стандарт, и нет 2х компиляторов реализующих одно и то-же подмножество стандарта.
430 1580168
>>579841

>Но синтаксиз не сложный.


У Форта совсем простой, и че, думаешь легко учиться на форте писать?
431 1580175
>>579421
О, очередной даунич сравнивает абсолютно разный код. Тащемта ничего не мешает тебе также дернуть низкоуровневую сишную функцию из раста, да, и будет прям как в си https://lifthrasiir.github.io/rustlog/why-is-a-rust-executable-large.html .
432 1580190
>>580162
Понятно. Как раз в Си не вкатывался. Буду ржаветь.
433 1580802
Поясните, что такого безопасного делает раст, чего не может C++? Допустим у меня есть динамический массив на 10 элементов, и идет доступ к нему по индексу введенному пользователем. Пользователь вводит 1000 и программа соответственно крашится. Как от этого защищает раст? Компилятор ведь не может предугадать, что введет пользователь. Да, он может вставить проверку на размер этого массива, но что если дальнейшие инструкции программы зависят от этого самого элемента?
434 1580821
>>580802
ну, тебе не обьязательно проверять длину массива, если ты используешь вектор то можешь на нем .get(idx) применить и получить опциональное значение
435 1580825
>>580802
Если ебашить unafe { .get_unchecked }, то никаких отличий.

А если делать так >>580821 то проверка вставится сама собой. Не только на размер массива, но и в куче других случаев.
436 1580828
>>580821
Так значит этот .get уже содержит проверку на индекс с условием возврата опционального значения. Но ведь я могу точно так же и в C++ написать функцию которая проверит индекс и вернет опциональное значение. Так в чем тогда заключается эта супер безопасность раста? Допустим вот такой псевдокод:
vector array;
array.reseize(10);
a = array[228]; //228 было введено пользователем и неизвестно при компиляции
a.field1 = 1488;
В С++ такой код крашнет программу, а что будет в расте?
437 1580835
>>580828
а, ну безопасность как раз таки не в твоих массивопарашах (олсо там просто панику вызовет при попытке индексировать массив за пределами, почему хз), а в бороучекере и строгих правилах передачи ресурсов.

Если коротко: у переменной может быть только один овнер, который если захочет позволит давать доступ к свой памяти (Rc, RefCell, Arc, Mutex etc). Вообщем на расте куда проще писать код в том плане, что компилятор тебя пошлет нахуй, если ты захочешь сделать к примеру глобальную переменную между потоками, так как такая переменная не будет иметь типаж Send
438 1580838
>>580835

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


ну это имеется в виду любое, что Send типажа не имеет, к примеру любой примитивный тип, строчки.

А еще раст четко определяет лайфтаймы у референсов, тут нельзя как в си параше выделить поинтер и запихать его в овер9001 йоба структур, которые будут до конца жизни программы вертеться. если конечно изначальная переменная не статична
439 1580840
>>580835
Так в С++ есть же unique_ptr, shared_ptr, weak_ptr которые все это реализуют и ограничивают владение.
441 1580869
>>580865
Высосано из пальца.
442 1580871
>>580162

>нет ни одного компилятора реализующего стандарт,


Как понять что растомразь пиздит? Она открыла рот.
443 1580873
>>580865
Так он же сам блять заюзал move семантику и передал ресурс другой переменной. Если бы он написал auto stolen = orig компилятор его бы тоже нахуй послал.
444 1580876
>>580873
А в этом случае почему не посылает? Спокойно компилирует, потом вываливает сегфолт. Это норма?
445 1580881
>>580876
Не норма, но крестовикам что ни пихни, они скажут "Мы так не пишем!" Гении ебаные не ошибаются никогда.
446 1580889
>>580876
Ну да, то что дефолтный компилятор это не детектит хуево конечно, но есть же различные санитайзеры которые обнаруживают это.
447 1581969
>>580889
А вот сейчас бы язык, в котором такой санитайзер прям сразу был, полезная ведь штука. Вот бы кто-нибудь сделал.
юи 448 1584726
бамп
1580257373794.png118 Кб, 1080x1303
449 1585288
code review уровня opensource
450 1585292
>>585288
В тестах они и в самом расте попадаются.
https://github.com/rust-lang/rust/search?q=homura
451 1585300
>>585292
ну у меня поэтому и появилась идея тоже самое в своем пулреквесте сделать) как раз таки на тот момент мадоку досматривал
452 1587301
У кого-нибудь есть актуальные (2020 года) примеры actix-web + tokio-postgres? Как я понял, они в очередной раз переписали все и я на всех примерах ем говно ведрами.

>error[E0495]: cannot infer an appropriate lifetime for autoref due to conflicting requirements


Да пошел ты нахуй, сука-мразь.
453 1587428

>>error[E0495]: cannot infer an appropriate lifetime for autoref due to conflicting requirements


Меня эта хуета в край доебала. Я даже пример из интернета не могу запустить: https://github.com/TechEmpower/FrameworkBenchmarks/blob/master/frameworks/Rust/actix/src/db_pg.rs#L107-L131
Вот такая ошибка вываливается у меня:
https://pastebin.com/dxsFizTq
Анон, помоги, иначе придется выкатываться из этого злоебучего говна, все нервы мне уже сжег обоссанный компилятор
454 1587794
>>587428
self.client возвращает референс, а не значение. Ты не можешь собрать референсы в Box, потому что Box может жить вечно, а твои референсы живут только пока живёт &mut self.
455 1587795
>>587794
Точнее, не self.client, а весь чейн, который начинается с self.client. Этот чейн возвращает референс с лайфтаймом как у &self, ты этот референс пихаешь в вектор, а потом пытаешься вернуть из функции эти референсы на временно созданные внутри функции итемы.
sage 456 1588142
>>587795
>>587794
Я вчера примерно после третьей банки пива так и подумал, но спасибо, что смог это вербализовать, потому что у меня кроме "бля" и "пиздец" слов не было, настолько я преисполнился в своем сознании. Как же хорошо в Питоне было, сидишь, обмазываешься строками как хочешь...
Теперь надо понять как эту хуету вылечить.
И да, ты можешь как-то оценить тот код из бенчмарка, который я скинул выше? Почему он работает? Там же в https://github.com/TechEmpower/FrameworkBenchmarks/blob/master/frameworks/Rust/actix/src/db_pg.rs#L114-L116
примерно то же самое происходят - берется self и его мемберы, пихаются в вектор, а вектор потом внутри футуры разматывается. Футура, в свою очередь, уже в хуй пойми какой зоне видимости.
457 1588144
>>588142
Сажа из говнотреда приклеилась, извените
458 1588172
>>588142
Там в вектор значения пихаются, очевидно же. Или &'static референс.
459 1588186
>>588172
Хуйня в том, что в моем коде, который вызывает ошибку, тоже значения вроде бы пихаются: https://pastebin.com/jpGaM6Sw
460 1588521
>>588186
Я не вижу твоего определения PgConnection, а потому не могу ничего сказать. Весь нужный код дайте, пожалуйста.
461 1588589
>>588521
https://pastebin.com/TqZEWfAJ
Client и без Box тоже не работает, я уже от безысходности перебором начал решения искать, изначально Box не было.
462 1588598
>>588589
Есть подозрение, что проблема в query_one()
https://docs.rs/tokio-postgres/0.5.2/tokio_postgres/struct.Client.html#method.query_one

Там четыре лайфтайма в функцию заходит. И это грустно. А так да, вроде как всё заовненное выходит.
463 1588600
>>588598
Я правильно тебя понял, что без распердоливания кода в tokio-postgres у меня выхода нет?
464 1589088
>>588598
>>588521
>>588172
Короче, спасибо тебе, анон. Я нихуя не доволен результатами расследования, так как пришлось въебать кучу документации, тем не менее ты помог сдвинуться с мертвой точки. Родина тебя не забудет.
Более детальные ответы я смог найти здесь:
https://users.rust-lang.org/t/lifetime-of-object-captured-in-future-a-solution/13663
https://users.rust-lang.org/t/help-with-static-lifetime-on-self-when-using-async/31482
465 1590767
>>585300
>>585292
Лет через надцать подросшее поколение кодеров будущего будет клясть на чём свет стоит старпёров-зумеров с их протухшими мемасиками и отсылочками в коде.
А может и раньше, эти анимы выходят и забываются со страшной скоростью.
466 1590870
>>590767
То-то я смотрю еву уже все забыли
467 1590890
>>590767
Но ведь Мадока это кино для взрослых.
468 1591214
>>590870

>еву


Это как "Ромео и Джульетту" сравнивать с современными любовными высерами для чтения в поездах и залах ожидания. Немного утрирую, но суть та же.
469 1591225
>>591214
а теперь извинись за мадоку
470 1591251
https://developers.google.com/web/updates/2019/12/webassembly
В хром завезли поддержку DWARF. А значит отлаживать WASM должно быть гораздо легче.
471 1593923
есть ли либы типо image для асинхронного чтения картинок? нужно из мультипарта сейвить картинку и ее тамбнейл на лету, как такое сделать асинхронео в image или png крейтах я хз
472 1594048
>>593923
Почему асинхронно? Ты же знаешь, что асинк однопоточный?
473 1594049
Хочу запилить маленький веб сервис потоковой музыки/видео. Думаю вкатиться в раст, много слышал про него, да и сам по себе внешне нравится язык.
Компилируется не так же долго и хуево, как кресты?
Что там за особенность одиночной записи и множественного чтения объекта? Как полагаю, это и есть то самое, чому раст типа безопасен.
474 1594110
>>594049

>раст типа безопасен


Весь раст построен на unsafe, лол. О какой безопасности ты говоришь? Все бенчмарки, где раст рвет гоу, джава и дотнет - это просто авторы фреймворков и библиотек выдрачивали перформанс, переписывая проект на ансейф, лул.
475 1594128
>>593923
Ну ты берешь крейт с асинхронным получением мультипарта, получаешь Stream<Bytes>, и пишешь сырые байты в память/файл как угодно.
476 1594181
>>594128
эти байты надо раскодировать, ибо картинка сжата

>>594048
дальше то что?
477 1594186
>>594181

> эти байты надо раскодировать, ибо картинка сжата


ну то есть я представляю это как то так:

есть парсер png со всякими адам7, deflate и прочей жестью, оно на вход получает поток байтов и валидирует их, попутно обновляет состояние, кидает ошибку если нужно.

ну то есть обычный такой future::poll, вот только такого я увы не в image, не в png не нашел, даже просто закидывание байт без асинхронности, только если целиком все и сразу...
478 1594276
>>594181
Ну заверни в нужный декодер свой стрим, оно будет налету декодировать твой deflate. А по поводу валидации - я не знаю формат твоих картинок, но вполне модет быть, что нельзя ничего валидировать, пока оно не будет все в памяти. Или пиши свою очень сложную хуиту, которая будет нлету проверять структуру байт.
479 1594287
>>579525

>буст в 300% в плане безопасности


Тогда почему в расторепах столько ансейва?
480 1594290
>>594276

> декодер свой стрим


а ты найди мне такой
481 1594295
>>594287

> столько


Сколько?
482 1594297
484 1594329
>>593923
https://github.com/image-rs/inflate
вот, в том же image всё уже есть. В самом низу пример - он уже готов для асинхронности. Распаковал пачку байт - передал другому потоку на запись, а в текущем потоке продолжаешь распаковку.
485 1594915
>>594329
благодарю
486 1595613
>>594915
А теперь признавайся - полюбас или тестовое делаешь, или по работе.
Заебала жаба, возьмите меня к себе.
487 1595946
>>595613
имиджборду пишу
488 1596000
Здравствуйте растияне. Как выглядит ситуация на данный момент в плане популярности этого языка? Вырасла ли она за последние годы или осталась прежней? Я слышал, что бэкенд Дискорда на Раст переписали.
489 1596029
>>595946
Защиту от zip-бомбы предусмотри, писатель.
sage 490 1596193
>>596000
hh.ru / поиск / rust
491 1597014
>>596193
То есть все очень плохо?
492 1597066
>>596029

>Защиту от zip-бомбы предусмотри, писатель.


Это чё такое?
494 1597262
>>597094
А имейджборда тут причем?
495 1597277
>>597262

картинка грузить планируешь?

png формат знаишь?

Их пездюк.
496 1597278
>>597262
Ну, вот собрался ты свою распаковывалку deflate потока писать. Берёшь и без задней мысли хуяришь прямо на диск всё, что там нараспаковывалось в inflate - а там терабайт нулей. Эт во-первых.
А во-вторых, извлекать поток прямиком на запись ещё и бессмыссленно, т.к. ФС всё равно будет буферизировать данные в памяти и только потом скидывать на физический носитель сразу крупными пачками.
Проще и безопаснее принять данные, валидировать, а уж потом куда-то там писать или не писать.
497 1597288
>>597277
В пнг вроде зипа нет.
Зачем картинки читать вообще на сервере?
Стандартные либы не имеют этих защит?

>>597278

>Ну, вот собрался ты свою распаковывалку deflate потока писать.


Нет спасибо.

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


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

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


Наверное. Думаю все же стримить в файл сразу разумнее, случаи невалидности по определению будут крайне редки. Лишние буферы раздувать то же не самая хорошая идея..
498 1597308
>>597288

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


так прямо on the fly не ? получил с мультипарта данные, завалидировал, загрузил куда надо, еще и успеешь сохранить части тамбнейла на диск

> В пнг вроде зипа нет.


> Зачем картинки читать вообще на сервере?


тамбнейлы

> Стандартные либы не имеют этих защит?


ну кто знает...
499 1597313
>>597308

>так прямо on the fly не ? получил с мультипарта данные, завалидировал, загрузил куда надо, еще и успеешь сохранить части тамбнейла на диск


Я немного не пони о чем ты.
500 1597329
>>597313
превью картинки, исходная допустим 1024х1024, а тебе нужно отобразить уменьшенную версию 256х256
501 1597333
>>597329

>превью картинки, исходная допустим 1024х1024, а тебе нужно отобразить уменьшенную версию 256х256


Да, это понимаю. Я твоей фразы в принципе не понял. Что ты конкретно предлагаешь? Или спрашиваешь у меня?
502 1597344
>>597333

> Что ты конкретно предлагаешь


асинхронно читать байтики из мультипарта...

то есть в идеале, при получении, сохранять их в файл и еще раскодировать, что бы на основе их на лету создавать превью картинки
503 1597345
>>597308

>еще и успеешь сохранить части тамбнейла на диск


Смысл распаковки, обработки и записи на лету есть только для больших данных, типа видео, например - вот там разрешаю, делай. А тамбнейлы твои всё равно будут копиться в памяти и фактически писаться на диск по мере накопления буфера на запись. И без разницы, где именно будут копиться данные - в памяти твоей программы, или в буфере ФС.
Твой тамбнейл всё равно ни кому не дался, пока не будет сохранён полностью - тут ты и в раннем начале записи ничего не выигрываешь. Только переусложнишь код и создашь лишнюю нагрузку.
504 1597350
>>597345

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


не будут, мы будем доставать байтики, уменьшать в n раз и сохранять на диск, хотя словарь будем хранить полностью как я понимаю
505 1597353
>>597345

> Только переусложнишь код и создашь лишнюю нагрузку.


ну почему же? скорость до клиента маленькая, и если подумать, то когда приходят байтики ты просто часть обрабатываешь и наслаждаешься. в итоге можно аж секунды времени сохранять для каждого запроса
506 1597368
>>597353

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


У тебя накладные расходы на асинхронное взаимодействие "поток распаковки" -> "поток тамбнейла" отожрут процессорного времени куда больше, чем ты сэкономишь по сравнению со сжатием сразу готовой картинки. Хотя, для очень больших картинок возможно будет смысл резать их порциями по ~1МБ

>>597350

>доставать байтики, уменьшать в n раз и сохранять на диск


я так понимаю, знаний о том, как устроены современные ФС, у тебя нет от слова совсем.
507 1599473
>>597368

>я так понимаю, знаний о том, как устроены современные ФС, у тебя нет от слова совсем.


Но ведь современные фс сделаны специально так, чтобы не нужно было знать, как они устроены..
508 1599479
>>599473
Если пытаешься в наносекунды, то надо.
509 1600096
>>599473
Лан, распишу подробнее. Современные ФС (и не очень современные) не пишут байтик сразу на физический носитель как только тебе это приспичило - сперва операции на запись копятся в кеше в оперативе.
Отсюда первый вывод: в плане экономии памяти нет разницы - что ты будешь сразу писать по байтику (по сути в кеш в оперативе, а не на диск), что создашь тамбнейл и захуячишь его на запись целиком.
Второй вывод: это не имеет смысла также в плане сохранения оригинальной картинки, так как крайне редко никогда тебе будут аплоадить что-то, превышающее по размеру кеш на запись.
Третий вывод: это также бессмысленно в плане балансировки нагрузки, так как она у тебя и так будет равномерной за счёт множества клиентов. Скорее наоборот: чутка сгладив пики ты добавишь +5% нагрузки на ЦП собственно алгоритмом сглаживания этих самых пиков.
разве только, если ты будешь запускать борду на ардуине с ограничением в 1 подключенного клиента - вот там такое пригодится.

я тебе советую не страдать хуйнёй и отложить такие тонкие оптимизации на потом. Вот потом можно будет сделать чисто ради вау эффекта: например, чтобы новый пост с тамбнейлом начинал прогружаться ещё до того, как у отправителя поста его картинка загрузится на сервер. Ну и обновление треда по вебсокетам, ессно. Но чтобы в этом был смысл, нужно дохуя юзеров, а тебе до этого как до луны.
510 1600324
>>600096

> Лан, распишу подробнее. Современные ФС (и не очень современные) не пишут байтик сразу на физический носитель как только тебе это приспичило - сперва операции на запись копятся в кеше в оперативе.


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


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

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

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


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

> Ну и обновление треда по вебсокетам, ессно.


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

кстати, тот чел >>599473 не я а борду я пишу
511 1600568
>>600324

>хранить это все в озу будет идиотизмом


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

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


справедливо только в случае однопоточной работы - я же не зря ардуину упомянул. А если у тебя единовременно аплоадятся 10~1000 картинок, то нагрузка будет размазываться и так, без всякого извлечения из мультипарта на лету.

>чем это лучше запроса получению постов, чей номер выше последнего поста по таймеру?


>занимает пол секунды


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

извлекать мультипарт на лету есть смысл - только чтобы сэкономить память на его хранении. Но писать тамбнейл на лету никакого смысла нет - я об этом.
512 1601050
>>600568

> писать побайтово сразу на физический носитель - вот это идиотизм. Слава б-гу, современные ФС этим не страдают.


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

лучше закинь пруф на примере с ext4
513 1601217
>>601050
загугли про vfs_cache_pressure и ext4 write cache

это всё, кстати, можно отключить и писать, действительно, напрямую - но ценой снижения скорости и ресурса HDD.
514 1602362
Анончик, для питона есть такая штука - mako. Годный темплейтный движок, может в циклы и условия прям внутри темплейта. Есть ли что-то подобное для раста? Желательно, чтобы поддерживал работу на этапе конпеляции - буду шейдеры им генерить.
515 1602363
Перекатывайте уже.
.PNG35 Кб, 994x543
516 1602417
>>602362
А как именно ты хочешь генерировать шейдеры? В расте есть два способа автоматизировать что-что во время компиляции: процедурные максросы, которые превращают расто-подобный псевдокод в растовый код (можно даже С++ встраивать, пикрил) и build.rs-скрипт, который по сути является отдельной программой (для него даже отдельные зависимости указывать можно), выполняемой до компиляции, где можно генерировать какой-нибудь код.
Тред утонул или удален.
Это копия, сохраненная 12 апреля 2020 года.

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

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