Этого треда уже нет.
Это копия, сохраненная 6 октября 2018 года.

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

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

https://www.rust-lang.org

Учить

> Оф. книга, она же растбук


https://doc.rust-lang.org/book/
https://rustbyexample.com/

> Очень хорошая книга, отлично зайдет после растбука:


http://shop.oreilly.com/product/0636920040385.do

> Список интересных проектов


https://github.com/rust-unofficial/awesome-rust

Писать

> IDE


https://areweideyet.com/

> Вебня


http://www.arewewebyet.org/

> Игры


http://arewegameyet.com/

> Etc


https://wiki.mozilla.org/Areweyet

Новости

> Компиляция всего, что произошло за неделю


> Иногда постят вакансии


https://this-week-in-rust.org/

> Сколько вешать в лайках


https://github.com/trending/rust

Старый тред тонет тут >>1154517 (OP) (OP)
2 1227131
В чём его преимущество и недостатки перед Си?
3 1227132
абстракции с нулевой стоимостью
семантика перемещения
гарантированная безопасность памяти
потоки без гонок данных
обобщение через типажи
сопоставление с образцом
вывод типов
маленькая среда исполнения
эффективный FFI
4 1227135
>>27132

>потоки без гонок данных


ето как?
6 1227137
>>27136
на русском плиз
и я не знаю, что такое многопотчность, ты слишком сложный пример дал
7 1227139
>>27137
Если ты не знаешь что такое многопоточность, то думать про гонки тебе еще очень рано.
8 1227166
>>27137
Кыш блять
9 1227280
>>27127 (OP)

>github.com

10 1228343
С первого взгляда на примеры кода на Rust синтаксис кажется каким-то ебнутым и нечитаем, в сравнении с С.
11 1228345
>>28343
http://c-faq.com/decl/spiral.anderson.html
Да что ты говоришь?
12 1228353
>>28345
Прости, я совсем не понял смысл того, что ты приложил этот линк.
Возможно это из-за того, что я длительное время программирую на С/С++ и потому мне все эти вещи кажутся логичными и сами собой разумеющимися. Но, ИМХО, взглянув поверхностно на листинг кода С ты сразу поймёшь что он делает.
13 1228360
>>28353
Да ты что?
Ну ка, взгляни поверхностно вот сюда и расскажи что тут происходит: https://github.com/gcc-mirror/gcc/blob/master/liboffloadmic/runtime/offload_target.cpp#L157
14 1228366
>>28360
Так и думал, что такая хуйня начнётся. Но ставил на то, что ты вытянешь что-нибудь из линуксового ядра. Само собой, чтобы понимать что делает, надо будет изучать контекст. Не хочу тратить на это своё время.

Зубодробительные куски кода, больше смахивающие на обфусцированные, можно сделать на любом языке и с любым синтаксисом. Поэтому мое предыдущее предложение было о том, что чтобы понять код на С нужно меньше знать С, а больше понимать написанный алгоритм.
15 1228368
>>28366
Мань ну что за чушь ты несешь?
Ты знаешь си, и очевидно читать код на си тебе проще.
С хуя ты решил что ты должен сразу понять код на неизветсном тебе языке? Открой еще код на хаскеле и удивляйся тому, что там тебе вообще ничего не понятно.
16 1228370
Ну и да, если ты думаеш что си это про понимать алгоритм, то ты находишь в информационном вакууме.
Вот хотя бы https://vilhena.wordpress.com/2010/07/04/quicksort-haskell-vs-c/
17 1228373
>>28368
Ладно, возможно ты и прав.

>>28370
Да, реализацию быстрой сортировки на хаскеле видел и в две строчке. Можешь считать меня отбитым, но для понимания алгоритма мне ближе будет код на С. И мы ведь обо всём об этом говорим в рамках системного программирования, потому что С для чего-то большего вряд ли уже нужен.
18 1228383
>>28373
Ты путаешь жопу с пальцем.
Что хаскель, что раст позволяют описывать именно алгоритм, потому что в этом можно сказать вся суть функционального подхода. В случае с сишкой ты просто чуть более удобно пишешь инструкции для проца о том как байты гонять туда сюда.
19 1228476

>Rust - невероятно быстрый язык


По сравнению с питоном?

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


>без segfault'ов


Ахахах, ложь, для системного нужен unsafe, а значит будет тот же segfault, никаких плюсов тут нет.

>абстракции с нулевой стоимостью


Строки в utf8, всякие типажи плохо влияют на память, итд. Такие абстракции может и есть, но в большинстве...

>семантика перемещения


В С ненада (имхо), а в плюсах есть

>гарантированная безопасность памяти


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

>потоки без гонок данных


Неплохо.

>вывод типов


Имхо ухудшает читаемость кода.

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


По сравнению с питоном?

>эффективный FFI


Да вполне обычный.
19 1228476

>Rust - невероятно быстрый язык


По сравнению с питоном?

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


>без segfault'ов


Ахахах, ложь, для системного нужен unsafe, а значит будет тот же segfault, никаких плюсов тут нет.

>абстракции с нулевой стоимостью


Строки в utf8, всякие типажи плохо влияют на память, итд. Такие абстракции может и есть, но в большинстве...

>семантика перемещения


В С ненада (имхо), а в плюсах есть

>гарантированная безопасность памяти


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

>потоки без гонок данных


Неплохо.

>вывод типов


Имхо ухудшает читаемость кода.

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


По сравнению с питоном?

>эффективный FFI


Да вполне обычный.
20 1228494
Как написать веб-приложение (бек + фронт) на расте.
https://medium.com/@saschagrunert/a-web-application-completely-in-rust-6f6bdb6c4471
21 1228499
>>27127 (OP)
Какой смысл делать unsafe-мод в языке, если это нарушает безопасность? Почему нельзя сделать unsafe-мод безопасным?
 .jpg70 Кб, 465x528
22 1228501
>>28494
Ёбаный пиздец.
23 1228502
>>28499
Просто не используй unsafe.
24 1228503
>>28502
Хорошо, а почему нельзя сделать unsafe безопасным?
25 1228505
>>28503
Что значит сделать безопасным? unsafe просто отключает некоторые проверки конпелятора, а значит и гарантии безопасности, которые эти проверки и дают. Он не делает автоматом код небезопасным, безопасность зависит от программиста.
26 1228507
>>28505

>unsafe просто отключает некоторые проверки конпелятора


А вот нахуя их отключать, чтобы писать низкоуровневые вещи?
27 1228516
>>28507
Нужно конкретные случаи смотреть.
28 1228541
>>28507
Компилятор не всегда может понять что код безопасный. unsafe означает не "небезопасный", а то что безопасность кода гарантируется программистом.
29 1228553
>>28541

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


Ну так сделайте компилятор нормальный, хуле.
Иначе какой смысл этого языка, кроме того, что он еще не такой перегруженный как кресты
30 1228558
>>28553

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


Это невозможно, поскольку подобная безопасность зачастую условлена особенностями операционной системы, сторонних библиотек или даже процессора. Например программируя для микроконтроллера, ты можешь знать, что работать определённым образом с областью памяти по адресу X безопасно, но компилятор-то об это не знает. Потому ты и используешь unsafe-блок.
31 1228561
>>28558

>невозможно


Значит нужно переписать все с нуля, используя только 100% безопасные способы.
32 1228570
>>28561
Это уже к производителя процессоров/операционных систем.
33 1228581
>>28476

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


Пруф?
36 1228606
>>28594

>2014


Принципиально не читаю то, что было написано более года назад. Неси другой пруф
37 1228619
>>28606
Пруф?
38 1228787
>>28583

>currently working on the Swift team at Apple



То Хоар, то этот. Там что, всю наиболее толковую растовскую команду яблочники скупили, чтобы работать над конкурирующим языком программирования? Тогда неудивительно, что раст перестал серьёзно развиваться.
39 1228801
>>28787
Еще Слава тоже у них работает, реально крутая команда. Не понимаю, почему они до сих пор не пытаются захватить рынок языков. Свифт действительно неплохая попытка натянуть нормальный язык на привычное говнарям си-подобное говно.

>раст перестал серьёзно развиваться.


4.2

Алсо, раст - это скорее конкурент го, шарпу, джаве и в некоторых случаях рубипитонам. Оба они конечно конкурируют с крестами, но на самом деле отлично ужились бы вместе, у них немного разные ниши.
40 1228802
>>28787
Да и к тому же он был VOLUNTEER, ну то есть просто слал патчи видимо, в самой команде его не было.
41 1228805
Почему у него такой ебанутый синтаксис? Читаю примеры кода и еле-еле понимаю его: https://github.com/rust-lang/rust/blob/master/src/test/run-pass/weird-exprs.rs
42 1228831
>>28805
Тебя не смущает название файла?
Да, люди ебанутые и иногда пишут странную хуйню, и этот тест проверят что странная хуйня работает как надо.

Все предъявы итт по поводу "ебанутого синтаксиса" от недалекости. А любой лисп по вашему вообще хуйня для инопланетян? А хаскель и прочие идрисы?

Есть конкретные вопросы, типа "почему фича X использует такой синтаксис, а не такой"?
43 1228895
>>28831
У лиспов как раз дзен-синтаксис, идеально простой и понятный, никаких "weird exprs", объясняется даже ребенку за минуту.

Но вопрос >>28805-анона и вправду странный.
44 1228960
>>28831
Идрис это же пару стпелочек для хипстеров, что там понимать в синтаксисе?
45 1229130
В общем ОП-хуй нехило так обосрался, несите старого.
46 1229708
>>28476

> Быстрый


Да, быстрый

> unsafe


В си у тебя segfault может выпасть непонятно когда и где
В расте достаточно отдебажить unsafe куски чтобы они правильно исполняли "контракт"

> Влияют на память


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

> Семантика перемещения


В расте она нативная и более эффективная и понятная, чем в крестах

> Утечки


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

> Маленькая среда исполнения


По сравнению с почти любыми языками

> Вывод типов


Уж получше чем void
47 1229711
>>29708
void\\
Не ебу как тут эскейпить, кароч если что там две звёздочки возле void
48 1229975
>>29708
Мне кажется что все, кто думает "зачем нам другие языки, на сишке же все то же самое только быстрее работает" просто никогда не писали ничего сложнее laba1.cpp
49 1230203
>>27127 (OP)

>Rust — невероятно быстрый язык



Где адекватные бенчмарки, которые это подтверждают?
51 1230219
>>30215
Как что-то может быть быстрее си? Он же "самый низкоуровневый из всех высокоуровневых"
мимо иду в свой питонотред
52 1230234
Какие русскоязычные растовские форумы сейчас наиболее популярны? С удивлением обнаружилось, что на cyberforum.ru до сих пор нет растовского раздела.
53 1230240
>>30219
Лол, да я просто накидываю. В первых двух бенчмарках он там быстрее си. Ну видимо компилятор более эффективно накомпилял, бывает. Так-то они все примерно на одном уровне конечно, ну и синтетические бенчмарки - это конечно сферический такой показатель.

А вообще, низкоуровневый\высокоуровневый не значит быстрый\медленный, ортогональные вещи.
54 1230241
>>30234
Попробуй https://2ch.hk/pr/ (М)
55 1230771
>>27131

>В чём его преимущество и недостатки перед Си?


В начале книги сказано http://shop.oreilly.com/product/0636920040385.do
ssJMT30.png317 Кб, 2560x1440
56 1231039
>>27127 (OP)
Няшнота-то какая!
yFV3s1vM.png447 Кб, 512x512
57 1231156
>>31039

> строки длиннее 80ти символов


> няшнота

58 1231159
>>31156
Я на 100 всегда ставлю. 80 слишком мало. Ну и отступы - 2 пробела.
59 1231248
>>31039
Погоди, а если твоя функция возвращает Result, то зачем ты везде пишешь unwrap, если можно писать ? и потом уже чекать ошибку
IAMhackerMAN.jpg112 Кб, 500x500
60 1231255
>>29708

Автор поста отвечает!

>Да, быстрый


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

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


В С/C++ можно наделать абстракций, а куски отладить.

>в некоторых местах лучше си


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

>Кстати чтобы на си написать как на расте нужно изъебнуться, а на расте как на си почти без проблем.


Примеров не будет?

>Вообще не ебет


Ды питон тогда лучше взять, лол.

>В расте она нативная и более эффективная и понятная, чем в крестах


А почему в плюсах она не нативная и менее эффективная?

>Их уж поменьше


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

>И вообще сам язык заставляет думать о том что пишешь


Особенно я люблю думать о лайфтаймах и прочей хуйне, да.

>По сравнению с почти любыми языками


Блять, ну давай исключений наделаем, Perl самый быстрый!!!! по сравнению с почти любым языком. скриптовым, ну и кроме парочки там... ну а так быстрый!!! Ты же сам сравниваешь с сишкой постоянно, а тут начинаешь "ну и что, поменьше python/etc.... "

>Уж получше чем void


Ты видишь что я пишу вообще, лол? Ты блять с Сишкой чтоль говоришь? Она блять не живая, ты конечно можешь но зачем цитировать куски моих фраз? А void это отличная штука.
IAMhackerMAN.jpg112 Кб, 500x500
60 1231255
>>29708

Автор поста отвечает!

>Да, быстрый


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

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


В С/C++ можно наделать абстракций, а куски отладить.

>в некоторых местах лучше си


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

>Кстати чтобы на си написать как на расте нужно изъебнуться, а на расте как на си почти без проблем.


Примеров не будет?

>Вообще не ебет


Ды питон тогда лучше взять, лол.

>В расте она нативная и более эффективная и понятная, чем в крестах


А почему в плюсах она не нативная и менее эффективная?

>Их уж поменьше


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

>И вообще сам язык заставляет думать о том что пишешь


Особенно я люблю думать о лайфтаймах и прочей хуйне, да.

>По сравнению с почти любыми языками


Блять, ну давай исключений наделаем, Perl самый быстрый!!!! по сравнению с почти любым языком. скриптовым, ну и кроме парочки там... ну а так быстрый!!! Ты же сам сравниваешь с сишкой постоянно, а тут начинаешь "ну и что, поменьше python/etc.... "

>Уж получше чем void


Ты видишь что я пишу вообще, лол? Ты блять с Сишкой чтоль говоришь? Она блять не живая, ты конечно можешь но зачем цитировать куски моих фраз? А void это отличная штука.
61 1231257
>>31039
Полный пиздец, любой файл из Mojolicious (а оно на Perl, который считается нечитабельным), будет читабельнее и красивее.
62 1231263
>>31257
>>31156
>>31248
Блядь, я вообще-то про имакс и вм, скрин на реддите нашел, бггг.
63 1231269
>>31263
Так еще бля лучше, вм и емакс еще хуже! Во первых в баре бесполезные кружки вместо циферок у воркспейсов, во вторых надписи и иконки не выравненны по вертикали, в третьих тень налазит на панель, а должно быть наоборот, в четвертых хуево все видно, хули одноцветно? В пятых хули внизу не выравненно у емакса выделение? В шестых меня заебало, ну хуйня же, хз что тебе понравилось тут, ну если допилить нис будет, мне тож нравилось пока на превьюшку смотрел.
64 1231289
>>31269

>бесполезные кружки вместо циферок у воркспейсов


Я не представляю, каким аутистом надо быть, чтобы циферки были полезны. Вот нахуя тебе циферки?

>надписи и иконки не выравненны по вертикали


С чего ты взял? Вроде по центральной линии выровнены как раз. Или ты не про кружки это уже?

>тень налазит на панель, а должно быть наоборот


Схуяли наоборот? Панель - это негатив спейс, кури хиги аппла.

>хули одноцветно


Ну пиздец, а тебе надо радугой? За этим к скалистам

>хули внизу не выравненно у емакса выделение


Вот это кстати реально параша, на юникодных символах его так распидорашивает. Но я так понимаю чтобы это решить надо перепиливать все шрифты, это не имаксовая проблема.
65 1231290
>>31269
А, ну и

>мне тож нравилось пока на превьюшку смотрел.


:3
66 1231348
>>27127 (OP)

>пик2


А можно мне тоже самое, но без двоеточий?
67 1231350
>>31348
Можно. Просто импортируешь нужные объекты и все.
68 1231356
>>31289

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


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

>С чего ты взял? Вроде по центральной линии выровнены как раз. Или ты не про кружки это уже?


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

>Схуяли наоборот? Панель - это негатив спейс, кури хиги аппла.


А хули у них тень как я хочу? Потому что блять панель она перед фоном, ебать ты довен, тралируешь чтоль меня? Ды я те с вертухи в печень дам, сразу блять поймешь с кем базаришь чепушило

>Ну пиздец, а тебе надо радугой? За этим к скалистам


Нет блять, я хочу чтоб текст можно было читать

>>31290
Чмокаю в щечку но кулак летит в почку
69 1231359
>>31350
Ну так и чего ж не импортировали?
70 1231364
>>31255
Нахуя ты сравниваешь с питоном, если раст быстрее даже большинства компилируемых языков, типа haskell, swift, go? Компилятор генерирует почти тот же код что и сишный, весь твой "оверхед" и "рантайм" это проверка границ массива и unwind, ну и да, компилятор пока что не так хорош как gcc. В бенчмарках раст иногда оказывается быстрее. А в реальной жизни разница будет минимальна, если не в пользу раста за счёт удобных абстракций. let b = a.into_iter().map().filter().map().filter(), и иди ебись хотя бы с этим на си.
А насчёт move-семантики в c++, там нельзя перемещать сам объект, только вызывать move-конструктор или использовать ссылку, по сути это оверхед.
71 1231398
>>31364

>типа haskell, swift, go?


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

>это проверка границ массива и unwind


Да много чего еще, я уже писал, и че? Я же говорю си + оверхед.

>В бенчмарках раст иногда оказывается быстрее


Хошь в моих бенчмарках си будет быстрее всегда?

>А в реальной жизни


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

>и иди ебись хотя бы с этим на си


type_t b = filter(map(into_iter(a)));
Че, без точки не мыслишь уже? Я уверен такая хуита нужна только потому что раст ограничивает мышление подобной хуитой, а в сишке такое не нужно будет и решится одним циклом. Видел долбаеба недавно которому нужно было из сишки исключения кидать в виде heap-allocated строк, ну не дебил ли? Можно было просто enum из кодов заебашить, хуйня эти ваши абстракции, в математику идите с ними и там ебитесь.
72 1231404
>>31398
Что-то я погуглил и не нашел нормальной либы которая мне сделает filter(map(iter())) как в расте, дак ещё и без выведения типов тебе придется void f(void) юзать, но оно же тебе не нужно и в c++ auto просто так добавили.
Ты можешь писать как хочешь.
Пишут на си, что-то пишут на расте. Приведи пример твоего компилируемого языка не из 20 века как си и фортран, с чем ты хочешь сравнивать. Кроме крестов.
73 1231407
>>31404
Ебучие звёздочки
74 1231408
>>31404

>дак ещё и без выведения типов тебе придется void f(void) юзать


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

>Ты можешь писать как хочешь.


Уебывайте на вашей лодке капитан

>Пишут на си, что-то пишут на расте.


А че там нормального на расте пишут?

>не из 20 века


Ахаха, обидно что твой язычок 21 века унижает сишка из 60х? Пиздец, а давай наоборот, давай сравним первый компилятор сишки, и компилятор раста из 60х годов, ну епта, показывай исходники, будем собирать под эмулятором PDP-11.
75 1231409
>>31407
Ды я смысл и так понял, даже не обратил внимание
76 1231413
>>31408
Кароче давай я до вечера пятницы придумаю задачку
Что-нибудь на матрицы
На выходных или сколько тебе нужно времени напишешь на си
Погоняем тесты и бенчмарки, сравним количество кода
77 1231415
>>31413
Ды мне пиздец влом, еслиб я знал фортран и матан то матрицы бы с тобой порешал, а так лучше в каэсочку поиграю
78 1231416
>>31415

> Фортран


Ну а представь что ты не лабу профессору пишешь, а видеоигру или бизнес-логику
У нас как-то была лаба - написать сетевой чатик, только чтоб нормально работал, т.е. треды там, поллы, шифрование поверх tcp. Так вот писать на C это боль.
79 1231417
>>31416
Фортран бест язык для матриц же, интель его пиздец как оптимизирует. Лабу я никогда не писал так как школу не заканчивал даж.

Писал борду на сишке, мне понравилось, разве что не смог подобрать нормальную либу для шаблонизатора и въебал lua, так как лень чет было.
80 1231432
>>31408

>Си это язык с широкими возможностями



Тогда почему за последние 10 лет на этом языке не появилось ни одного нового крупного проекта?
81 1231433
>>31432

>ни одного нового крупного проекта?


все современные проекты ориентированны на маркетинг, там нет технологий
82 1231561
>>31416

>Ну а представь что ты не лабу профессору пишешь, а видеоигру



То я беру и качаю godot/unity/ue4.

> или бизнес-логику



То я вдумчиво изучаю требуемой конфигурации 1с предприятие и пытаюсь понять, нужно ли изобретать велосипед.
83 1231597
>>31398

>Хошь в моих бенчмарках си будет быстрее всегда?


А хочешь в моих бенчах всегда быстрее будет раст?
84 1231613
>>31433
Технологии есть. В любом случае, людям не хочется начинать новый крупный проект на небезопасном языке, с которым большую часть времени придётся тратить на исправление багов вместо развития.
85 1231690
>>31432
gtk, python, tarantool, да куча всего, смысл перечислять.

>>31597
На клык хочешь?
86 1231738
>>31690

>gtk, python, tarantool, да куча всего, смысл перечислять.



Перечисленные тобой проекты появились более 10 лет назад. Перечитай ещё раз вопрос.
87 1231745
Можете пояснить за unsafe? Захотелось мне потыкать Раст, решил сделать простенькую тулзу, которая взаимодействует с Xorg, но оказалось, что все взаимодействия с иксами приходится делать внутри unsafe. Это я делаю что-то не так или на практике unsafe используется в расте постоянно? Читал где-то, что unsafe вообще был введен для внутренних нужд языка и его использование в обычной жизни - это очень плохая идея
88 1231750
>>31745
Ну вообще все вызовы через FFI считаются unsafe. Сделай свои safe-абстракции над функциями xorg'а и работай с ними.
89 1231753
>>31738
gtk3 - 2011, python3 - 2008, tarantool - 2008. Да хуй знает, я новым ничем не пользуюсь, ну разве что uTox какой нить, но он не особо крупный.
90 1231780
>>31753

> gtk3 - 2011, python3 - 2008,


Ты бы ещё минорные версии указал.
91 1231782
>>31753

>gtk3 - 2011, python3 - 2008


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

>tarantool - 2008


А месяц? 10 уже стукнуло.

>uTox какой нить, но он не особо крупный


Соглашусь.
92 1231789
>>31356

>Нахуя кружки, убирай их


Эм, у меня нет никаких кружков. Ты в порядке? Цепочку постов перечитай, аутист склерозный.

>я те пишу тект и иконки


Кружки - это и есть иконки, мимоКО. Алсо, успокоительных прими.

>А хули у них тень как я хочу?


Шизофазия.

>Нет блять, я хочу чтоб текст можно было читать


Дислексия во взрослом возрасте не лечится, анончик, уже поздно.
93 1231793
>>31398

>хуйня эти ваши абстракции


Лол, байтоеб сферический, в вакууме.
trixie.png25 Кб, 111x165
94 1231796
>>31415

>>напишешь на си


>Ды мне пиздец влом


>>31417

>школу не заканчивал даж


>въебал lua, так как лень чет было



История жизни байтоеба сферического, в вакууме.
95 1231824
>>31690

>На клык хочешь?


Так ты хуйню какую-то пишешь. Раст сопоставим с С, судя по бенчам там разницы около 3-7%, где между ними. Если хочешь это опровергнуть, то напиши свои бенчи и скинь исходники в тред, что бы аноны могли оценить насколько ты оптимально их написал. Или уползай под шконарь сразу.
96 1232116
>>31782
gtk3 полностью переписали же, питон хз.

>>31824
Ага, а Java обгоняет С++ на некоторых тестах, а хесель быстрее С на некоторых тестах, а питон.. ну такого я еще не слышал. Выше уже расписали что раст = си + оверхед, на си можно всегда написать быстрее, особенно учитывая gcc vs rustc.

>>31789

>Эм, у меня нет никаких кружков


Я про твой анальный кружок

>Кружки - это и есть иконки, мимоКО. Алсо, успокоительных прими.


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

>Шизофазия.


>Дислексия


Долбоебия у тебя, понял пидор, а теперь брысь под лавку!

>>31796
А ты прям полон сил? Ну давай пиши тесты, потом будем оптимизировать версии.
97 1232117
>>32116
Можно написать быстрее
Вот только сколько ты будешь ебаться с кодом чтобы достичь того же уровня производительности и функционала
98 1232118
>>32117

>того же уровня производительности


Ты ебанутый? Выше растеры сами пишут что раст кое где обгоняет сишку, по случайности написанного кода.
99 1232119
>>32118
Ты блять уже пишешь будто сишка интерпретируемая хуйня с которой надо ебаться чтоб к расту приблизиться.
100 1232146
>>32116

>gtk3 полностью переписали же


Во-первых, это не так. Во-вторых, даже если бы было так, то многие проекты в процессе своего развития переписывались до неузнаваемости по сравнению с изначальной версией (Initial release), но это не делает их новыми.
101 1232152
>>32146
Ну могли бы и язык сменить, поломали ж совместимость, я больше про это. Ну похуй, забей.
102 1232154
>>31432
Сам спросил, сам отвечу:

wayland
Initial release: 30 September 2008

systemd
Initial release: 30 March 2010
103 1232277
>>32116

>Ага, а Java обгоняет С++ на некоторых тестах, а хесель быстрее С на некоторых тестах, а питон.. ну такого я еще не слышал.


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

>Выше уже расписали что раст = си + оверхед


Мне твои мантры не интересны. Вот тебе пруфы из реального мира.
https://www.techempower.com/benchmarks/#section=data-r16&hw=ph&test=plaintext

https://benchmarksgame-team.pages.debian.net/benchmarksgame/faster/rust.html

Раст это безопасные кресты, постепенно приближающиеся к С. При этом, на самом С крупный проект сделать не реально.
Screenpart.PNG4 Кб, 335x192
104 1232384
>>32277

>Раст это безопасные кресты, постепенно приближающиеся к С


Еще бы с такими-то требованиями, лол. Попробуй погонять свои тесты на машине не первой свежести, может вся разница и вылезет. Хуею с этих индусов.
мимо
105 1232423
>>32384
Это стандартное современное железо. Пруфы гони, что на старом железе хуже работать будет.
106 1232487
>>32277

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


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

>Вот тебе пруфы из реального мира.


>https://benchmarksgame-team.pages.debian.net/benchmarksgame/faster/rust.html


>https://benchmarksgame-team.pages.debian.net/benchmarksgame/program/pidigits-rust-3.html (один из 2 двух примеров где раст "выигрывает")


>По ссылке раст почти везде сливает, даже и по 5 секунд.



>При этом, на самом С крупный проект сделать не реально.


Собственно только матанопетух не осиливший сишку и мог такую хуйню нести, не удивлен. А теперь подумай/посчитай
сколько строк в windows/linux.
107 1232614
Написал небольшую хуйню, которая должна будет работать на моем сервере, но когда пытаюсь запустить бинарник на нем, мне выдает `/lib64/libc.so.6: version `GLIBC_2.18' not found`. Я понимаю, что проблема в том, что на моей пекарне стоит версия новее чем на сервере, и нужно при компиляции указать версию glibc, которую нужно использовать, но как это сделать я в гугле не нашел. Или может быть можно как-то статично сликовать нужную версию?

И еще один вопрос, какого хуя программа на ~50 строк уже весит 5мб? Из зависимостей есть только bufstream. Релиз версия билда весит столько же.
108 1232642
>>27127 (OP)
Есть теоретическая задача написать игровой движок уровня UE4, так вопрос в том, почему на Rust лучше/хуже писать чем на С/С++, каковы преимущества/недостатки Rust в этом проекте вы видите, например как скорость разработки, подверженность непонятным багам, скорость выполнения инструкций, многопоточность и т.д?
Мне реально интересно и хочется узнать ваше мнение.
1532210400071.jpg79 Кб, 800x450
109 1232643
>>32614

> программа на ~50 строк уже весит 5мб

110 1232651
>>32642
Ты будешь писать и поддерживать его один, потому-что никто больше не знает Раст. Никому он нахуй так же будет не нужен, т.к. никто не знает Раст.
111 1232653
>>32651

> Никому он нахуй так же будет не нужен, т.к. никто не знает Раст


Тот же юнити на цпп, а сами игоры на шарпе/жс.
112 1232689
Ржавчина — memory-safe, значит она гарантирует, что ни один используемый объект не будет случайно удален. Однако, memory leaks are memory-safe, значит нет гарантий удаления неиспользуемых объектов. Как эта проблема решается?
В няшной все просто — если ты точно знаешь, что пришло время освободить память, то делаешь free и не ломаешь голову.
А как тут быть, если используешь какой-нибудь RefCell, а он затупил и начал течь?
113 1232694
>>32689
RefCell сам по себе не затупит и течь не начнёт. Memory leaks в safe Rust возможны, только если ты наделаешь циклических ссылок в Rc/Arc или сделаешь mem::forget. Ещё один вариант - это если ты проебёшься с FFI, но это уже unsafe.
114 1232723
>>32643
Напишите в шапку раз это такая платина. Ну и проблема с glibc никуда не делась, а эта проблема была первостепенной для меня.
115 1232727
>>32723

>Напишите в шапку раз это такая платина



Для Go, где тоже толстые бинарники, так и сделали https://2ch.hk/pr/res/1159767.html (М)
116 1232787
>>32642
Лучше на C или С++, так как для них куча библиотек, и куча документации к этим библиотекам, и все вопросы давно решены.

Плюсы раста, ну пожалуй в cargo, иии ну хз, мб если те язык больше нравится, то еще это.
117 1232837
>>32642

>игровой движок уровня UE4



Задай себе вопрос: через сколько лет он устареет?
Мне кажется, что Rust лучше выбирать для долгоживущих проектов.
118 1232996
>>32837

>через сколько лет он устареет?


Что значит устареет?
119 1233196
>>32996
Это тот момент, когда движок придётся практически полностью переписывать для соответствия современным реалиям. Если ты не планируешь этого делать, то можешь обойтись и без раста.
120 1233211
>>33196
Мне кажется это уже не будет проблемой языка. Проблема раста (по крайней мере для гейдева), что там
1) только совсем недавно появились средства для работы с SIMD и они ещё не до конца оптимизированы.
2) совсем нет аналога constexpr из C++. Появится только ближе к концу года.
3) совсем нет инлайн ассемблера. Даже интрисиков.

Но макросы там - это конечно вещь. С ними даже рефлексию можно замутить (так например работает serde - библиотека для (де)сериализации).
121 1233219
>>33211

>совсем нет аналога constexpr


Разве макросы не покрывают это?
122 1233226
>>33219
Частично. Можно использовать билд-скрипты (которые тоже пишутся на расте), но это уже скорее выглядит как костыль. Да и с организацией кода будут проблемы.
123 1233803
>>33219
Еще есть lazy_static
124 1233808
>>33803
static и const это совсем разные вещи.
125 1233811
>>33808
Что интересного делают через constexpr на крестах?
126 1233813
>>33811
Некоторые и игори полностью на них писали: https://jguegant.github.io//jguegant.github.io/blogs/tech/meta-crush-saga.html
127 1233818
>>33813
По ссылкам не ходи. Можно пример ИТТ?
 .png37 Кб, 960x540
128 1233822
>>33818
Это простой блог на гитхабе, там даже js не нужен. Он просто генерировал игру, которая в зависимости от действий пользователя выдаёт определённый файл с состоянием игры, написанным на C++. Затем файл инклюдится в проект и игра компилируется вновь с учётом этого состояния. Затем бинарник снова запускается и цикл игры продолжается.
129 1233823
>>33822

> файл с состоянием игры, написанным на C++


Впрочем конкретно там не C++, а просто строка с символами, которую в компил-тайме разбирают constexpr функции.
130 1233844
>>33822
Это все классно и замечательно. Но можно не хитровыебанный пример?
131 1233871
>>33822
Что только люди не делают, лишь бы лисп не изучать. ну реально, это же пиздец как уродливо
132 1233914
>>33813
А примеры реального применения то есть?
133 1233977
>>32837

>Задай себе вопрос: через сколько лет он устареет?



С 1999 только молодеет - выкинули UnrealScript, прикрутили блюпринты, грофон стабильно увеличивают.
134 1233978
>>33977

С 98, тащемта, в 99 унрил дурнамент уже вышел.
135 1233983
>>33196

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



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

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

К слову, есть и удачные примеры, на чистом сисярпе без юньки и с достаточно норм перфомансом при таких-то фичах написана Space Engineers:

https://github.com/KeenSoftwareHouse/SpaceEngineers
136 1233986
>>32837

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



Мне кажется, ты не совсем понимаешь, что такое игровой движок.

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

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

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

И вот создать хотя бы такой же толковый инструмент для этих 90% ты не осилишь.

> Photoshop


> Задай себе вопрос: через сколько лет он устареет?


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

137 1233991
>>33986

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



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

> Game studio Ready At Dawn switching to Rust for all new development


https://twitter.com/AndreaPessino/status/1021532074153394176
140 1234385
>>33983

>кстати, сколько их там было, убийц крестов за все эти годы с выхода Unreal


Два (сисярп и ди).
141 1234531
>>32487

>А раст у нас без оверхеда? Ты че сука тролишь? Да ди нахуй чмошник, в рот тя ебал


>в расте еще ща напишут абстракций хуже питона будет


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

>По ссылке раст почти везде сливает, даже и по 5 секунд.


Он 5 секунд слил только в 1 тесте. Во всех остальных раст отстает на доли секунд. А теперь вспоминаем, что при этом у них ещё нихуя не оптимизированный компилятор.

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



>сколько строк в windows/linux.


А еще давай посчитаем сколько человекочасов это заняло. садись два
142 1234536
>>34531

>Ты совсем долбоёб сравнивать


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

>Раст вполне сможет со временем перегнать С


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

>Он 5 секунд слил только в 1 тесте.


А я писал что во всех? Не, знаешь что, иди ты нахуй
143 1234552
>>34536

>КУДАХ БАБАХ КУКАРЕКУ


Ох уж эти школьники.
144 1234599
>>34536

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


Так ты же кукарекашь, мол у раста ОВЕРХЕД, и он НАМНОГО медленнее С. Увы, реальность ссыт тебе в глаза, где раст не только на равне с С но и имеет потенциал стать быстрее.

>Блять ебанутый, пиздец какой же ты поехавший


У тебя врети?

>По ссылке раст почти везде сливает, даже и по 5 секунд.


>Значительно сливает только в 1


>КУКАРЕКУ! А я писал что во всех?


Ясно все с тобой.
145 1234616
>>33991
А ещё студиям может быть выгодно тем, что:
1) Софт на расте сложнее взломать.
2) Даже если исходники доступны, то конкурентам сложнее будет скопипастить код, ибо для этого придётся сначала вникнуть в новый язык.
146 1234693
>>34616

>1) Софт на расте сложнее взломать.


Принцип неуловимого Джо?

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


Вы пропустили драму с WestWorld / Fallout Shelter?
Что бы сделать "новую" игру достаточно жпеги заменить и всего делов то.
147 1234700
>>34616

>Софт на расте сложнее взломать.



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

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



> то конкурентам сложнее


> ААА-студии



Порву шаблоны - они друг с другом и наработками делятся и помогают в проектах. И годноту регулярно на GDC и Siggraph выкладывают. Нет у них конкурентов, тупо по причине денег, которых у других нет, чтобы делать подобные проекты. Это в мелком софтонаебизнесе возня и ворование "laba1.cpp" друг у друга, у крупных ребят уже всё это давно пройдено.
148 1234713
>>32384

>Обсуждение языка программирования Rust.


>Выложил системные требования одноименной игры.


>Мама, смотри, я троллю /pr.

149 1234751
>>34531

> оверхед в виде дополнительных проверок


Что за проверки?
150 1234884
>>34552

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



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

>где раст не только на равне с С но и имеет потенциал стать быстрее


Жава быстрее, я в тестах видел, иногда обгоняет плюсы! Ряя!212 D-Lang убица крестов, подумаешь оверхед в виде GC, быстрее я скозал!2121 Мам скажи им, я нихочу осознавать сваю ниправоту!21212

>Ясно все с тобой.


Хуйло безглазое, прочитай еще раз, я сказал что раст сливает и по 5 секунд, ты блять там где видишь хотя бы "сливает в паре тестов по 5 сек"? А нигде, ты понимаешь что ты хуйло и никто по сравнению со мной, и пытаешься на какой то хуете выкрутиться, но выкрутиться может только твоя мать на моем хуе
151 1234918
>>34751

>Что за проверки?


Выхода за границы array например.
152 1234921
>>34343

>Суровый чувачок!


Ряяяя, программисты должны не поднимать ничего тяжелее ложки, и по 18 часов в день сидеть за монитором.
153 1234925
>>34343

> Основатель игровой студии


> Выглядит как орк третьего уровня с INT = 2.5


> Самая известная игра студии - говнокинцо The Order: 1886


> Обвинил во всех проблемах C++ и собирается переходит на Rust


Все сходится.
154 1235167
>>34884

> блять конечно медленнее


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

>Жава быстрее, я в тестах видел, иногда обгоняет плюсы!


Нет дурич, разрабы компилятора раста говорили что в нем возможны оптимизации, которые в С невозможны.

>Хуйло безглазое, прочитай еще раз, я сказал что раст сливает и по 5 секунд


Даун еще раз, значительно сливает он только в 1 тесте. Во всех остальных на равне.
155 1235184
>>35167

>Во всех остальных на равне.


Ты че уебок, каждый может зайти и посмотреть как твой раст хуяст сливает сишке, усе иди нахуй даже такому чмошнику отвечать не буду, нахуй нужно.
изображение.png258 Кб, 1280x3146
156 1235207
>>35184

>каждый может зайти и посмотреть


Почему ты не сделало скрин, школобыдло?
157 1235214
>>34921
Программист-бодибилдер — редкое явление.
Но, видимо, он уже сам не программирует, а только руководит программистами.
158 1235307
>>34918
А еще какие например?
159 1235310
>>35307
Смысл проверок в расте заключается в том, что во-первых они явные, а во вторых компилятор не даст тебе забить хуй на их обработку без unsafe:
https://play.rust-lang.org/?gist=77e39f7df2fa278650a11783359a4acf&version=stable&mode=debug&edition=2015
160 1235311
>>35310
Некоторые проверки можно перенести из компил-тайма в рантайм. Тот же RefCell позволяет обойти borrow-checker и все проверки времени жизни переменной проводятся во время выполнения программы.
161 1235314
>>35311
И это тоже.

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

Если прокладка между монитором и креслом считает себя настолько умной и не совершающей ошибок, то конечно можно дальше писать на сишке. Лично я хочу чтобы либо компилятор проверял за меня большую часть вещей (раст, хаскель, ...), либо чтобы стратегия обработки ошибок была построена так, что вообще похуй что сломается (эрланг).
162 1235326
>>35314

>в половине тестов в 1.5 раза медленнее


>хуй целых пизда десятых


Школьник, ты?
163 1235333
>>35326
Мне эти >>35207 тесты вообще кажутся странным. Вот если бы Си конпелировался при помощи clang+llvm, то сравнение было бы честным. А то возможно вся разница в пирформансе исходит из разницы между машинным кодом, который генерит llvm и gcc.
164 1235338
>>35333

>пирформансе


Точно ты.
165 1235339
>>35338
Да я я я. Что я?
166 1235341
>>35326

>в половине тестов в 1.5 раза медленнее


Ну и где эта половина? Ты даже считать не научился, а лезешь за низкоуровневые языки тереть.
167 1235342
>>35339
>>35341

>эти школоманявры


Ясно.
168 1235343
>>35342
От того что ты называешь собеседника школьником, сам умнее не становишься.
169 1235346
>>35343

>эти характерные школофразы


Понятно.
170 1235348
>>35346
Если не перекроешь каждый пост тебя что, мамка не похвалит. Давай, назови меня ещё раз школьником. На большее у тебя ума не хватит.
Стикер512x512
171 1235351
>>35348

>этот проход в мамки


Ясно.
Понятно.
172 1235353
>>35351
Слабовато. Плохо обзываешься, негодно. Ну же, постарайся ещё раз.
Стикер512x512
173 1235359
>>35353

>обзываешься


Ох уж эти школьники.
174 1235363
>>35359
Во, умничка. Ещё и боевую картинку прикрепил. Родина гордится тобой.
15302709921670.jpg94 Кб, 440x550
175 1235371
Окей, разговор идет за перформанс, рассказывайте конкретные юзкейсы из настоящих проектов которыми вы занимались, и где вы столкнулись с проблемами производительности и как вы их решали.
Стикер512x512
176 1235373
>>35363

>Родина гордится тобой.


АТО
177 1235389
>>35371
Нет никаких проблем с производительностью. Есть требования делать сразу 100k rps.
178 1235391
>>35389

>100k rps.


Это много?
179 1235397
>>35342
Все, ты уползти решил? Ну ладно, мой тебе совет быть более гибким. Язык не понацея, а инструмент, если он устарел, то его стоит закопать и перейти на более совершенные технологии.
180 1235399
>>35397

>понацея


Школьники, школьники never change.
181 1235400
>>35399
Спс, что поправил мою орфографию. Хотя это и очевидная очепятка.
Стикер512x512
182 1235401
>>35400

>эти школооправдания


As expected.
183 1235403
>>35401
Ну не траль плз..
184 1235408
>>35403

>плз..


Обожаю плачущих школьников - вы такие няши :3
185 1235412
>>35391
Да.
186 1235415
>>35412
Соболезную.
187 1235476
Мод, забань этих кукарек уже, развели срач ни о чем.

Свежих новостей вам в ленту:
https://this-week-in-rust.org/blog/2018/07/24/this-week-in-rust-244/
188 1235523
189 1235526
>>35333
А то что там для Си несколько реализаций отличающихся в производительности в несколько раз тебя не смутило. Тестирование на алгоритме длиной в пару сотен строк - так себе показатель.
190 1235644
2 года опыта работы в джаве, приглядываюсь к расту
думаю, через 2-3 года перекачусь в раст на удалёнку. как раз вакансий побольше будет
191 1235653
>>35644
Не перекатишься. Rust используют не для написания говна для GC, на нем пишут системный код, а он нихуя не твоя Java, извини. Вангую перекатишься в Go. Как раз и вакансий побольше будет.
192 1235657
>>35415
Ну уже немного больше получилось. 100к в худшем случае. В среднем 500k rps.
193 1235684
>>35653
ты правда думаешь, что я не понимаю различий раста и джавы и областей их применения? мне и хочется писать системный код, вот что опять за школьная дикриминация по языкам?
194 1235690
>>35684
Ты понимаешь насколько это ортогонально написанию веба? Если да, то вперде – увлекательный мир аллокаторов, ассемблерных инструкций и дрочьбы на архитектуры.
195 1235692
>>35653

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


Если смотреть на динамику сегодня, то через 2-3 года на делфи вакансий будет больше, чем на го
196 1235749
>>35207
Ахах, блять я говорил что отвечать не буду, но ахаха, пиздец какой то, вон раст сливает везде, хули тебе еще надо? Мдаа
197 1235757
>>35333
Так блин, в этом и суть, будут же выбирать инструмент где все лучше, гцц например а не шланг, заметь там еще и оптимизации, и march=native. Какой смысл тестировать просто код?
198 1235974
Думал заюзать WASM, а там бинарник с regex под 700 кб со всеми оптимизациями. При этом каждый бинарник грузится по 1с и больше. Похуй, пойду дальше ебаться с жс.
199 1236330
>>35974
Не извращайся, а попробуй скомпилить регексы как программу под dos/4g с вводом-выводом через консоль и запускать в бровзере на dosbox под emscripten. Рад был помочь, если что.

А если серьезно, то маленькие бинарники возможны только без стандартной библиотеки, и то будешь избегать полиморфизма и трейтов, страдая хуже крестьянина.
200 1236619
>>36330
Как раз обычный бинарник с итераторами и всякими функциями из std довольно мало весит, это все regex. Идея была написать лексер+парсер (переписать с перла), но чет перехотелось.
201 1236812
>>36619
Растовское довольно мало - это для фронтэнда вообще-то запретительное дохуя:

>leap@beaver-box:~/Workspace/learn.rust/hello$ rustc +nightly --target wasm32-unknown-unknown hello.rs -C lto -C opt-level=3 -C debuginfo=0


>leap@beaver-box:~/Workspace/learn.rust/hello$ ls -la hello.wasm


>-rwxrwxr-x 1 leap leap 390811 Jul 28 16:05 hello.wasm


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

Wasm тоже то ещё говно. На числодробилках он часто бывает медленнее чем даже чистый js (была где-то демо-страница с фильтрами видео - там wasm отставал часто на треть). Да и чтение спецификаций навевает мысли, что 1) без среды js его использовать не получится; 2) в статических компиляторах авторы не разбираются нихуя, ибо вместо абстрактного SSA с кучей атрибутов в помощь оптимизатору там какой-то галимый байт-код уровня курсача в заборостроительном вузе.
202 1236847
>>36812
Я через wasm-gc прогонял, там около 150 КБ было на несложную программу.
Насчёт компиляции хуй знает, по идее должно же быть быстрее того же asm.js, для того он и создавался вроде.
Ну и ни о каком полиморфизме речь не шла, у меня был юзкейс прогнать бинарные данные и заюзать пару структур данных, но видимо проблема в крейтах, не особо оптимизированных в плане размера экзешника, а писать самому долго выйдет.
Си для этого видимо лучше подходит.
203 1236857
>>36847
Да, я глянул на получившийся код, там действительно 150кб и наберется, остальное - что-то похожее на таблицу символов (которую debuginfo должен был убрать, не?). Такой объем уже вполне вписывается в типичный (больной ожирением) сайт. Но все же от хеллоуворлда я ожидал примерно вдесятеро меньшего объема =(

Про asmjs я так понял, что он даже напрямую, без специального рантайма, в ближайшее время будет иногда обгонять wasm, т.к. в обычный движок js просто вбухано куда больше бабла.
204 1236860

> Такой объем уже вполне вписывается в типичный (больной ожирением) сайт.


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

Вообще сейчас wasm - это оочень узкоспециализированная хуёвина. Вот когда добавят как минимум API для прямого доступа к DOM, тогда уже и можно весть хоть какую-то речь о замене js.
205 1236901
>>36860
Ну, можно подковать блоху и сделать свой компилятор регулярок сразу в код, работающий со стандартными типами. А еще можно варить свою сталь и ковать свои гвозди, чувствуя себя первопроходцем :) А так, даже API ждать не надо - все разумные кейсы (состоящие в использовании нативного кода в вебе) уже покрыты с достаточным удобством и эффективностью emscripten-ом, я сам года три назад писал бота для игры, отгадывая примитивные капчи tesseract-ом под js, а еще раньше играл в демку на unreal engine. Шарить код между клиентом и сервером заманчиво, но на практике не получается - из применений такого подхода в продакшене я знаю только фреймворк meteor, и он неудобное тормознутое говно. Короче, даже доведи мазила его до совершенства, wasm не особо нужен.
206 1236980
>>36901

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


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

> emscripten-ом


Ну, wasm это его дальнейшее развитие. В движке Firefox, например, и emscripten, и wasm выполняет один компилятор. Отличаются только парсеры.
207 1237024
>>36980

> И размер у него был обычно больше чем у простого парсера


Ну, размер уже от прямоты рук зависит. Большинство регулярок можно заменить парой строк кода, так что раздуть ими код еще надо постараться. А если увязать регулярки с системой типов, то можно, например, сразу парсить числа в int-ы и проверять вменяемость регулярок на этапе компиляции.

>В движке Firefox, например, и emscripten, и wasm выполняет один компилятор.


Ты, наверное, asmjs имеешь ввиду. В прошлом году была статься от мазилы, называлась "why webassembly is faster than asm js", там про движок не было, зато указывалось, что wasm быстрее asmjs в среднем на 5%, но при этом парсится быстрее "на порядок". Если учесть, насколько прожорливее за последние десять лет стали браузеры, меня такие цифры не впечатляют совсем, особенно учитывая отсутствие поддержки wasm старыми браузерами. Так что мне мазила со своим хайпом про wasm очень сильно напоминает Тома Сойера и его забор.
208 1237177
На каком языке программирования вы в основном писали код перед тем как перешли на rust?
209 1237190
>>37177
Петон.
210 1237453
>>37177
Си и питон
211 1237688
>>37177
Haskell
212 1237731
>>37177
С++/Python
На Rust еще не перешел, но планирую частично перекатиться.
213 1237763
>>37177
Ассемблер, Си, Паскаль, Питон
214 1237769
>>37190
>>37453
>>37763
Как вам, в сравнении с Си и питоном?
215 1237840
Коре девелоперы там не хотят нормальную IDE запилить на расте для раста?
216 1237938
>>37769
Пока Раст уступает Сишечке только в работе с интринсиками (simd и т.п.), ядрёными низкоуровневыми деталями типа выравнивания в структурах и простоте создания компиляторов. В остальном всё намного лучше: безопасная работа с памятью; высокоуровневый код с околонулевой стоимостью абстракций (напр. можно сделать целую цепочку из filter/fold/map над итераторами и она часто будет по скорости 1 в 1 как написанный на циклах вручную код); единая система сборки с менеджером зависимостей, позволяющая в большинстве случаев сделать git clone/cargo build и сразу получить рабочий бинарник; продуманная модульная система, позволяющая с самого начала писать код в виде независимых модулей, которые потом можно вынести в отдельных крейт, не меняя кода; хорошая поддержка пространств имен, позволяющая реэкспорт для создания нескольких версий интерфейсов (т.е. можно делать API v1/v2/v3, ссылающийся на одни и те же реализации методов).

По сравнению с Петоном: менеджер зависимостей гораздо удобнее (не надо загаживать систему всякими site и прочей поеобтой); система типов гораздо сложнее и иногда (в начале изучения - очень даже часто) требует перепахивать непродуманный код, но при этом помогает ловить ошибки, избавляя от необходимости тривиальных модульных тестов; полная статическая компиляция, избавляющая от идиотии с опечатками в именах переменных; Юникод поддерживается в виде utf8 и не ебет мозги с ошибками перекодировки, всплывающими в рантайме. Из минусов - это все-таки компилируемый язык, и быстро накатать программку в двадцать строк не получится, придется расшаркиваться с указанием зависимостей и т.п.
217 1237944
>>37938
Раст также как и си написан на ассемблере?
218 1237960
>>37840
RLS пилят.
1532978295800.jpg57 Кб, 1024x576
219 1237965
220 1237969
>>37938

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


Активно добавляют. И то, и другое. В ночнушке уже даже интрисики для cortex-m появились, такие же как и в Си - ARM C Language Extensions, он же ACLE.

> выравнивания в структурах


Уже давно есть.
[repr(C)] - для совместимости с Си.
[repr(align(..))] - для выравнивания.

Кстати, по-умолчанию (т.е. в структурах где не указано [repr(C)]) раст перемещает внутренности, чтобы они занимали меньше всего места.
221 1237970
>>37938

> идиотии с опечатками в именах переменных


Зато есть идиотия с неявным перекрытием переменных. Т.е. когда пишешь.

let foo = 1;
...
// Здесь foo == 1
...
let foo = 2;
...
// А здесь уже foo == 2
...

С их любовью к явности могли бы и добавить какой-нибудь кейворд для явного перекрытия.
222 1237975
>>37938
Годно расписал, анон, сохрани на пастебин для будущей шапки!
223 1237977
>>37970

>let foo = 1;


>...


>let foo = 2;


Я конечно дико извиняюсь, но что здесь неявного? Это довольно часто используется (не только в расте, вообще во всех языках с лексическим скоупом), так что добавлять по умолчанию варнинг для таких вещей было бы не очень удобно, имхо. Может линтеры спасут отца русской демократии?
224 1237979
>>37969
Да, интринсики делают, но в rust 2018 оно не попало, к сожалению. Насчет элайнмента я имел ввиду более сложные случаи (см. статью "Unsafe Zig is Safer than Unsafe Rust") - такое легко получается, если писать кодеки и архиваторы.

Еще огорчение вызывает отсутствие фиксированного ABI, мы не можем, подобно Маленькиммягким, сделать Rust 2018 Runtime Redistributable, чтобы тем самым сократить объем кода в присутствии стандартных библиотек и позволить обновлять рантайм независимо от приложений.

>>37970
А я бы сказал, что это даже удобно: если ты не курильщик, у тебя методы все равно помещаются на экране, так что можно делать "let num = "4.2e1"; let num = num.parse::<i64>();" и не плодить новые имена. Язык все равно не позволит тебе читать неиспользуемую переменную, так что мало разницы, есть перед приваиванием let или нет.
225 1237980
>>37977

> Я конечно дико извиняюсь, но что здесь неявного?


Именно то, что компилятор перекрывает переменную, при этом неважно хочешь ли ты этого или нет. Ещё веселее начинается, когда пишешь что-то вроде

let foo = ...
...
{
...
let foo = ...
...
}
...

> Может линтеры спасут отца русской демократии?


Спасут, но сама фича кажется достаточно вредной. Забавно, кто-то недавно создавал тред на реддите с критикой этой же фичи, так растофанаты сразу назвали его "плохим программистом", а необходимость этой фичи оправдывали тем, что им лень придумывать имена для переменных.
226 1237981
>>37979

> Еще огорчение вызывает отсутствие фиксированного ABI


Это у всех низкоуровневых языков такая хуйня, в том числе у С/С++. Просто последние релизятся реже.
227 1237992
>>37981
Как раз C это пример фиксированного ABI, учитывая, что все остальные языки его используют, чтобы договариваться между собой. У D он тоже фиксированный, у C++ он фиксированный в пределах одного вендора. Это ведь не так сложно, на самом деле - определить правила построения имен символов и документировать таблицы типов и виртуальных методов. В определенных пределах можно поддерживать даже трейты с шаблонами, заменив мономорфизацию (т.е. подстановку кода) на непрямой вызов методов трейтов и шаблонов через указатели. И это НУЖНО, т.к. пока даже систему плагинов в приложении сделать нельзя без написания интерфейса в стиле C.
228 1238000
>>37938
Спасибо за развёрнутый ответ.
229 1238001
>>37980

>неважно хочешь ли ты этого или нет


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

>Ещё веселее начинается, когда пишешь что-то вроде


Не вижу ничего веселого, обычный паттерн - перекрыть глобальный (в данном контексте) биндинг локальным. Иногда очень удобно, но злоупотреблять не стоит. Опять же, это везде так работает.

>Спасут, но сама фича кажется достаточно вредной.


Ну мне было бы неприятно, например, срефакторить кусок кода из одного места в отдельную функцию и внезапно обнаружить, что он не компилится потому что где-то в области видимости есть какая-то другая переменная с тем же именем. Это как бы нарушает лексический скоуп, глобальное состояние начинает влиять на твой конкретный кусок кода. Теперь нельзя просто написать let foo = 42 - надо перед этим проверить всю программу на отсутствие "foo" в том же скоупе. Это же пиздец. Глобальное состояние - это плох. Все должно быть локальным по максимуму.
14315047902312.jpg21 Кб, 349x356
230 1238002
>>37992

>у C++ он фиксированный


>в пределах одного вендора

231 1238005
>>38002
Ага, и в пределах версии конпелятора. В линуксмирке пакетный менеджер скачает нужный редист, а в винде обычно либо вместе с программой распространяют библиотеки, либо установщик нужной версии редиста.
>>38001

> Раз ты явно создаешь другую переменную с тем же именем


Я могу случайно создать переменную с тем же именем. Никакой явности тут нет.
232 1238009
>>38002
Да, признаю, тупанул - микрософт разбаловал меня!

>>38001

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


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

>>38005
Когда-то кто-то сделал такой же аргумент про присваивания, хлопнул дверью и ушел придумывать функциональное программирование. Ведь ты уже сказал, что var1 = 1, а теперь говоришь, что var1 = 2, ты что, вруша?
233 1238012
>>38009

> Ведь ты уже сказал, что var1 = 1, а теперь говоришь, что var1 = 2, ты что, вруша?


Т.е. вся твоя аргументация по сути представляет из себя

> ебланы, пишущие не помещающиеся на экране методы


Ты прям как те реддитохомячки, у тебя тоже все вокруг - неправильные программисты.
234 1238014
>>38009

> микрософт разбаловал меня!


Выпуском редистов каждые два года (этьо если не считать сервис паки к ним)? Ну-ну.
235 1238023
>>38005

>Я могу случайно создать переменную с тем же именем.


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

>>38009

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


this
236 1238025
>>38012
Нет, я не иду на принцип, а просто не вижу разницы между "let хуемое = 1" и "хуемое = 1" в контексте возможности прострелить себе ногу. Если б я считал себя д'Артаньяном, я бы обитал в C++-треде и славил искусство боя этим благородным обоюдоострым клинком без рукояти.

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

>>38014
Строго говоря говоря, меняется стандартная библиотека, а структура vtbl и схема именования живет уже лет двадцать. Но да, совместимость получается в пределах версии, признаю ошибку. MS обещает совместимость только для C (а GCC, бородатая пидорасина, её нарушает, когда из функции возвращаются struct-ы).
237 1238096
Так, пацаны. C++ разроботчег хир. Хочу вкотиться в ваш язык, но вакансий пока не вижу. Как думаете, лет через 5 появится?
238 1238146
С чего лучше с нуля начать: с Си или сразу Rust?
239 1238150
>>38096
Если умеешь в раст и говоришь по английски, кидай линк на гитхаб, мы хайрим на раст.
240 1238176
>>38146
Я думаю что лучше начать с Си, на нём же изучить структуры данных и алгоритмы.
241 1238179
>>38176
Не слушай упоротого. Хочешь изучать алгоритмы, учи хаскель.
242 1238191
>>38179

>Haskell


И кто более упоротый? Или моё мнение об этом языке ошибочно?
243 1238196
>>38191
Конечно ошибочно. Если ты хочешь изучать алгоритмы, а не еблю с байтами, то хаскель это лучший выбор.
Оставь написание оптимизированной версии квиксорта бородатым дядям. Во-первых большая часть нужного уже написана, а во-вторых есл ипрограммирование тебе нужно как прикладной навык, то тебе ни разу в жизни не придется писать сортировку вручную.
244 1238220
>>37938

>Пока Раст уступает Сишечке только в работе с интринсиками (simd и т.п.), ядрёными низкоуровневыми деталями типа выравнивания в структурах и простоте создания компиляторов.



Лично я не пользуюсь растом из-за отсутствия нужных мне библиотек. На Си я сейчас могу написать нужное быстрее, так как там уже есть готовые библиотеки, которые проверены временем и хорошо документированы.
245 1238237
>>38220

> отсутствия нужных мне библиотек


Сделай.
246 1238243
>>38220
Каких например?
247 1238252
>>38196

>прикладной навык


Это. Пожалуй, посмотрю в сторону Haskell, спасибо.
248 1238272
>>38146
Для раста ещё нет обучающей литературы, по которой можно начать с нуля. Существующая литература рассчитана на тех, кто уже программирует на другом языке, знает про указатели и т.п. К тому же есть потребность в переписывании сишных библиотек на раст.
249 1238273
>>37769
слооожнааа
непаняяятнаааааааааааа
250 1238284
>>38272
Жаль.
А я как раз хотел вкатываться в программирование с раста.
251 1238286
>>38272

> указатели


Рокетсаенс блядь.
252 1238314
>>38220
Ну так Раст - не язык хеллоуворлдов. Пока ты пишешь тонкие обертки над парой-тройкой больших качественных библиотек - всё кажется збс, а потом вдруг обнаруживаешь себя в болоте, где квакают три системы сборки на разных версиях autotools, две cmake (одна из них древнией версии с кучей локальных скриптов), один ядреный makefile на две тысячи строк и дирижирует всем твой хипстерский meson, скрипт сборки которого нифига не похож на милоту из туториала. Это не говоря уже о полной жопе с согласованием типов данных, когда вдруг обнаруживаешь, что какая-то библиотека написана из расчета, что int у тебя unsigned и имеет ширину 32 бита, а выравнивание идет строго по 8 байт. И обнаружишь ты это в рантайме, когда твою софтину хватит segfault из-за срыва стека сразу на выходе из функции. С Растом такой хуйни не бывает - любой вменяемый проект на нем собирается одним и тем же cargo, не привязан к одной архитектуре и добавляется к проекту парой строчек в dependencies.

>>38286
Рокетсаенс, да. Я вот прочитал статью "Pointers Are Complicated, or: What's in a Byte?", поежился и почувствовал, будто перейдя на Раст увернулся от падающего на меня ведра с помоями.
253 1238373
>>38314

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



Откуда столько? Почему из репов либы не ставишь?
254 1238400
>>38373
Это утрированно, но не так что бы очень. Была одна либа на cmake, два разных проекта на autotools походу разных версий (у них разные аргументы на кросскомпиляцию), один кустарный make-проект, всё это использовалось в проекте на старой версии cmake и я по частям переводил все это на meson, чтобы хоть как-то работало. Репы не использовал потому это должно было кросс-компилироваться под mingw-w64, а у крестовых пакадж-менеджеров (conan, vcpkg, buckaroo) репозитории пусты, как магазины при социализме.
255 1238887
>>38146
>>38179
Сука, ёб твою мать, чувак же ясно написал, что он начинает С НУЛЯ.
Для изучения ОСНОВ ПРОГРАММИРОВАНИЯ нужен Си и Ассемблер, а не Хаскель, блядь.
256 1238889
>>38887
Братишь, основы программирования это хаскель и схема. А си и ассемблер это основы байтоебли под конкретное железо.
257 1238944
>>38889
Тыскозал? То есть через списки и монадки новичку станет понятно как работает процессор и оперативная память?
258 1238953
>>38944
Новичек хочет быть программистов, а не схемотехником.
99% прикладных программистов хуй клали на то как работает ОС, не то что проц.
Если он новичок, пускай учится использьзовать алгоритмы и структуры данных абстрактно, а не думать о пейджфолтах.
259 1238957
>>38944
Эх, сейчас бы с помощью си изучать, как работает процессор и память...
260 1239014
>>38944
Начинать надо с основ. Ты вот понимаешь как работает молекула? Как ионы и позитроны крутятся на орбитах? Как Глюоны и кварки влияют на свойства проводимости? Нет? Тогда ты хуёвый программист и ничего не поймёшь. Начинай с этого, пото углубляйся в химию фоторезиста, потом изучай процессоры и только потом Ассемблер. А уже после С, С++ и только затем раст. Иначе ты нихуя не поймёшь.
261 1239038
>>39014
Не собрал свой процессор - не программист.
262 1239067
>>39014
Да ты одинэсник, я посмотрю. Лепишь свои сраные молекулы на мутную каменюку субстрата, и еще все сроки еще просераешь. Настоящий программист потратил день на написание волновых функций - и был свет!

Если по теме, то перед Растом действительно рекомендуется промышленно пососать кактусца, потратив хотя бы полгода на резьбу по говну мамонта в виде легаси проектов на C+, чтобы не возникало вопросов, почему язык такой мнительный и почему нельзя хуяк-хуяк, как в Петоне. В любом случае, Раст в первую очередь низкоуровневый язык, и без хотя бы поверхностного знания крестов в системном программировании делать нечего.
263 1239070
>>38196
Однако, Haskell тред не так активен.
264 1239133
>>39070
По хаскелю больше книжек для вкатывальщиков, плюс там нет срачей на тему "раст нинужен".
265 1239146
>>39067
Не совсем правда. В раст можно вкатываться со стороны хаскеля и пользоваться функциональными абстракциями без байтоебли и unsafe. Для бытовых задач этого за глаза.
266 1239168
>>39146
Оно не окупится для бытовых задач - мало библиотек и много кропотливой работы по слежению за переменными, ненужной в языках с GC (и я гадаю, а не должен ли следить за лайфтаймами компилятор). Для mission critical тоже не то, там традиционно рулит spark и формальная верификация. Имхо, основные применения - всякие сетевые сервисы, игры, тяжелый прикладной софт - всё то, где нужны где-то 90% надежности и производительности.
267 1239177
>>39168
Я это и имел ввиду под бытовыми задачами. За лайфтаймами и так компилятор следит, не понял что ты хотел сказать.
268 1239224
>>39177
Я хотел сказать, что раз уж компилятор делает escape analysis, то он мог бы сам назначать лайфтаймы. Я пока просто не могу из головы придумать ситуацию, когда явное указание лайфтайма убережет меня от ошибки в коде.

Ну и бытовые задачи для большинства из нас, по моему впечатлению - это формочки виндовые шлепать да сайтики настраивать =) Раст привлекает как раз тем, что он позволяет хардкор типа вусмерть оптимизированных библиотек со встроенным jit-ом и метапрограммами, для ширпотреба он overkill.
269 1239228
>>39224

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


Ты просто путаешься. Лайфтаймы там нужны не для объектов, а для ссылок. Компилятор не может знать сколько ссылка (т.е. грубо говоря указатель) должен жить.
270 1239229
>>39224
fn foo<T>(x: &'a T, y: &'b T) -> T
Компилятор тут не может сам угадать что ты пытаешься сделать.
271 1239230
>>39229

>fn foo<T>(x: &'a T, y: &'b T) -> &T


Быстрофикс.
Вообще плюшки типа NLL потихоньку завозят, так что чем дальше в лес, тем умнее уомпилятор.
272 1239238
И вот например очень прикольное использование лайфтаймов.

Допустим у тебя есть JSON и ты хочешь десериализовать его в объекты. Но в жсоне много строковых данных и было бы неплохо эти строки не копировать, а в объектах просто вместо строк оставлять умные указатели (внутри которых будет указатель на начало строки и длина строки, в расте это именуют слайсом) на оригинальную строку жсона. И когда удалится последний объект с указателем, удалять и оригинальную строку. Таким образом можно сделать zero-copy десериализацию (ценой правда хранения полного жсона в памяти).

И, кстати, серде уже так умеет. А время жизни десериализованных структур отслеживается как раз встроенными в раст лайфтаймами. https://serde.rs/lifetimes.html
273 1239249
>>39228
>>39229
Да, извините, я туплю, по другому-то не получается позволить переменной пережить свой скоуп, не используя GC =/ Просто думал терминами функций а-ля C, когда время жизни динамической переменной чаще всего определялось в контексте, где она создана, напр. когда контролы на форме делаются членами класса и прибиваются со всеми потомками в деструкторе. А вот с лямбда-функциями так же не получится :(
274 1239269
>>39238
Это называется reference counting, анон (: Я по твоей ссылке сходу понял только что зачем-то простую концепцию присыпали эльфийскими рунами. Но я обязательно разберусь, спасибо за пищу для размышлений.
275 1239340
>>39269

> Это называется reference counting, анон


А раст может делать это без счётчика ссылок (точнее счётчик ссылок работает во время компиляции). Тупо отслеживая время жизни переменных и прописывая код уничтожения куда надо.
276 1239384
>>39340
Не говори глупостей. Смотри документацию на std::rc::Rc
277 1239385
>>39384
Ты дурак? Rc (вместе с RefCell) используются как ангалог растовских лайфтаймов и borrow-checker'а в рантайме. А я тебе про компил-тайм говорю.
278 1239386
>>39340
Феерически идиотское решение. Когда в java объясняются immutable strings, как раз такой пример приводят, когда объясняют, что увлекаться ими не стоит. Когда ты что-то парсишь, последнее, что тебе надо - это привязанный, как слон за хобот, исходный жсон - что случится, если ты не копировал результат, а взял его из парсера. Это не говоря уже о том, что таких результатов может быть много, и они могут быть шрапнелью раскиданы по приложению.
279 1239387
>>39386

> Феерически идиотское решение.


Так никто не заставляет. Можно объявить структуру как со слайсами и лайфтаймами, так и с нормальными строками и использовать по надобности.
280 1239389
>>39387
Ну и другой пример: у жсона есть куча строк, но тебе нужна всего одна. Тогда для десериализации делаешь структуру со слайсами, а нужную строку после десериализации копируешь, а оригинальную структуру (с жсон-строкой) удаляешь. Тут уже увеличение перформанса будет сразу видно и никаких подводных камней.
281 1239497
>>39389
То есть это такой способ обойти чекер лайфтаймов, который как раз и защищает от скрытых утечек памяти в этом случае =) И ты в любом случае скорее ограничишь весь кустарный парсинг одним скоупом и возьмешь просто слайсы от данных, а не всю эту тряхомудию. Я могу представить, что мне потребуются указатели внутрь данных, но я в любом случае объединю их в один объект, к его лайфтайму и привяжу данные.
282 1239516
>>39497

> То есть это такой способ обойти чекер лайфтаймов


Дядя, ты дурак. Повторюсь, лайфтаймы используются для ссылок. При копировании с ссылки в новую строку какие там лайфтаймы были у ссылки побоку. У новой строки будет своё время жизни. Вся суть в том, чтобы копировать только одну, нужную строку, вместо копирования КАЖДОЙ строки внутри жсона.
283 1239590
>>39386

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


> быть шрапнелью раскиданы по приложению.


Это словарное определение говнокода.
284 1239616
>>39516
Я это знаю. Вся эта херомудия нужна, чтобы грохнуть исходные данные ровно когда исчезнет последняя ссылка внутрь, учитывая, что эта ссылка может быть выведена за пределы скоупа (т.е. обычных & недостаточно), я правильно понимаю?
286 1242420
Что-то давно никто не спрашивал почему hello_world.exe такой жирный и зачем нужен этот ваш раст, когда я и на си левой пяткой пишу без проблем.
287 1242674
Почему хеллоуворлд на расте такой жирный?
288 1242697
>>42674
Двачую, я на си пишу, все умещается в 64 килобайта и НИ ЕДИНОГО СЕГФОЛТА
289 1243006
>>42697

>64 килобайта



Это слишком много для си.
290 1243018
>>42674

>Почему хеллоуворлд на расте такой жирный?



4.6 MB, хотя смотря с чем сравнивать, например, первая версия операционной системы колибри весит почти в два раза меньше в распакованном виде https://archive.kolibrios.org/f/releases/kolibri_0.1.0.0_src.zip
sage 291 1243067
Вы чё, совсем ебанутые? Щас бы мегабайты считать. Нахер идите отсюда.
292 1243077
>>43067
Разработчики браузеров давно не считают.
sage 293 1243081
>>43077

>Разработчики браузеров давно не считают.



И правильно делают. Нищеброды-ретрограды на телегах и с калькуляторами вместо ПК должны страдать. Потому что нормальному человеку проще раз в два года выкинуть свой некробук на устаревшем железе, купить новый и начать пользоваться новым продуктом, чем по три года ждать продукт байтоебли и ещё два года доведения его до стабильного состояния.
294 1243100
>>43081
Опять быдлокодерам с народом не повезло.
295 1243276
На расте можно писать высокоуровневые приложения типа веб сервисов?
296 1243285
>>43276
Здесь мнения обычно варьируются от "раст отличный язык для веб-приложений" до "писать веб на расте будет только поехавший кретин".
297 1243290
>>43285
Напиши свое мнение.
298 1243295
>>43290
Веб уровня веб-сервера (как нжинкс например), либо какая-то ресурсоемкая обработка или необходимость обработать 300кк запросов в наносекунду (какие-нибудь счетчики статистики или другие метрики, апи, в общем ниша go) как по мне вполне ок. Но когда пытаются на расте сделать какие-то рельсы https://rocket.rs/ с шаблонизаторами, хтмлем и прочим, то ощущение что что-то пошло не так и не туда. Вряд ли это когда-нибудь принесёт какой-то профит, разве что если с веб-макаки перекатываешься, возможно стоит попробовать с веба и начать, но тоже сомнительно.
я не >>43285
299 1243297
>>43295

>https://rocket.rs/


По-моему суть в том, чтобы УВЕЛИЧИТЬ УНИВЕРСАЛЬНОСТЬ - ну типа вот взял какой-нибудь крестовик раст и сразу опа, может и сайтики писать, и никакие руби ему учить ненужно. Ну то есть ничего плохого в этом точно нет, пусть даже на убийцу рор оно и не претендует.
300 1243369
>>43081
Пиздец, получается у нас рост мощности железа идёт, а новых высот в области ПО нет, ибо вместе с ростом железа придумывают всё более новые языки для ещё более простой разработки и более хуёвого результата

Заебали
301 1243441
>>43276
У нас почти весь бекэнд на расте.
Юзаем actix + actix-web.

До этого для бэка я юзал пыху, го, ноду. И по сравнению с растом, это все говно без души. Наш главный наркоман еще очень тащится от эрланга и хаскеля для этих целей, но это уж слишком непрактично как-то.
302 1243477
>>43081
Новый ноут раз в два года - это значит ты, анон, из каждых двух лет месяц горбатишься на рукожопых калифорнийских смузихлебов. За всю жизнь это сколько - два года рабства на одни только ноуты? Да на хую я такой прогресс вертел. Лучше я за это время отращу бороду и хуйню под ногтями.
303 1243609
>>43441
Эрланг так-то гораздо практичнее сабжа для бэка, хотя может у вас специфика какая-то.
304 1243629
Может быть.
305 1243932
Существуют ли драйвера на расте для популярных операционных систем?
306 1243936
>>43932
Хеллоу ворлды.
307 1244341
>>43936
Правда жирные. Целых 4,6 МБ, так что лучше взять СИшечку и вместить его меньше чем в 64 КБ.
308 1244421
>>44341
Я так и сделал, но не словил ни одного сегфолта, ЧЯДНТ?
hello.png126 Кб, 1024x768
310 1244588
>>44443
Слишком жирно. Мой вариант занимает меньше одного килобайта — 752 байта.
Исходники: https://pastebin.com/6fzNpbfZ
311 1244677
Байтоебы, зачем в 2018 году мерить размеры бинарников?
народоеб.jpg38 Кб, 606x482
312 1244709
>>44677
Граждане, зачем в 2018 году мерить размеры налогов? Не у всех есть по 32 ГБ озушки, иди нахуй с компьютером подаренным тебе мамкой
313 1244712
>>35389
Могу ошибаться, но для 100k вроде достаточно java с netty
314 1244716
>>44588
Я сеньор в enterprise 300к/сек, но в твоём коде нихуя не понял, что происходит кроме сишного кода, хотя когда-то пилил курсач на asm. Испытываю комплекс неполноценности. Даже не знаю, стоит ли углубиться в байтоёбство чисто для себя, или хуй забить.
315 1244727
>>44709
Некорректное сравнение, анон.
316 1244729
>>44716

>Я сеньор в enterprise 300к/сек


И на чем пограммируешь? У него же простой код совсем, как ты без этого живешь? Что нибудь сверхвысокоуровневое?
317 1244730
>>44727
Чему, зарплаты выросли же! Какое дело сколько путен отбирает?
318 1244732
>>44729
веб java, иногда спускаюсь на netty до бинарных данных, которые шлют различные датчики, но это совсем не то
не понял, почему у него бинарник так мало места занимает. ну понятно, что засчёт asm-кода, но почему без асм в несколько раз жирнее - не понятно. во всяких elf-форматах тоже ничего не понимаю
319 1244735
>>44732
У него опция -nostdlib, она убирает из бинарника стандартную библиотеку, и он с помощью ассемблера написал функцию которая дергает syscall для печати.
320 1244903
>>44732
Си позволяет полностью отказаться от стандартной библиотеки.
Вообще, Си обладает абсолютной независимостью от библиотечного кода (zero runtime). Ни один из языков высокого уровня так не умеет.
Си++ утратил независимость от библиотек времени исполнения ещё в 1980-х годах, когда в него был встроен механизм обработки исключений.

Объединил start.asm с calls.asm, убрал обработку параметров argc/argv, убрал неиспользуемый sys_read, убрал проверку ошибок, в итоге асм-код сократился до такого: https://pastebin.com/32k5x3nu
321 1244988
>>44903

>Ни один из языков высокого уровня так не умеет.


...кроме раста.
322 1244997
>>44903
Весь рантайм в С++ отключаемый (как и в Rust), так что не надо тут.
323 1245048
>>44735
>>44903
спасибо!
324 1245100

>мам смотри, у меня бинарник без рантайма


>правда, сложней хелоуворлда ничего не напишешь


> зато бинарник меньше мегабайта весит

325 1245120
>>45100
Ржавый в этом недалеко ушел от сишечки, аще-то. Если писать под чистый winapi (игры под дыртекс, например, или дрова), рантайм больше вредит, чем помогает. В нем вот этот сишный nostdlib работает примерно так же - гордо отказываешься от рантайма, пишешь пяток функций-затычек типа panic и аллокатора, и месяц красноглазишь молоток и гвозди. Раст вообще наверное сначала хотели назвать C2, т.е. C with Condoms, но такое название плохо гуглится.
326 1245122
>>44903

>Объединил start.asm с calls.asm, убрал обработку параметров argc/argv, убрал неиспользуемый sys_read, убрал проверку ошибок, в итоге асм-код сократился до такого: https://pastebin.com/32k5x3nu



Пфф.

https://godbolt.org/g/6yMNxp

Where is your ASSEMBLER now?
327 1245132
>>45100
Сразу видно, что ты ничего не знаешь о реализации ядер операционных систем и прошивок для микроконтроллеров.
С такими даже нынешняя ситуация с драйверами на расте так и не изменится.
328 1245140
>>44588
Голый код весит 452 байта, остальное это заголовок и прочая ОС-специфик фигня, которая на 70% забита нулями.
329 1245310
>>45132

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


Да нахуя мне это знать.

> С такими даже нынешняя ситуация с драйверами на расте так и не изменится.


Конечно, ведь я пишу на кложе и до байтоебства мне нет дела.
330 1245365
>>45310

>мам смотри, я нихуя не знаю


ну так а чо ты тогда тут громко кукарекаешь о невозможности написания сложного без стандартной либы
332 1247615
Котоны, actix + futures = жопаель
333 1247690
>>27127 (OP)
начал вкатываться с Qt C++ в этот ваш Руст. 1)Вопрос, на чем гуи приложения клепать?
2)Легко ли писать враперы для сишных библиотек?
3)есть ли свои какие-то либы, или все обертки на чужими либами.
334 1247700
>>47690
1) https://crates.io/search?q=gui&sort=downloads
2) Легко
3) Много своих, но и враперов хватает
335 1248064
>>47700
а среды разработки с автодополнением есть? типа, поставил точку, и список методов показался, понимание типов, подсветка и прочее?
Читал, что народ Visual Code советует и плагины какие-то, но есть ли в них это - хз
336 1248112
>>48064
Все работает по протоколу LSP, который в случае раста реализован тулзой rls. Так что смотри поддержку этих двух базвордов в своем редакторе.
337 1248153
>>48064
intellij idea rust debug
338 1248154
339 1248298
>>48064

>а среды разработки с автодополнением есть?


имакс
340 1248385
>>48298
Если честно rls так часто крашится, а lsp-mode так безможно тормозит в сочетании с company что иногда хочется всю эту пиздобратию нахуй выключить.
729.gif226 Кб, 600x600
341 1248625
>>48153

>intellij idea rust


>debug

342 1248633
>>45386

>Why is Rust difficult?


Раст не сложный. Он ограниченный. Сложность это следствие его ограниченности.
Это как пытаться завязывать шнурки одной рукой.

Раст ограничивает возможности написания программ. Хуже всего, что он делает это без понятной, просто для рассуждения семантики. Поэтому программисту нужно постоянно держать это в уме и определять что можно сделать, а что нельзя.
Я бы сказал что раст это hard reasoning language. Это его большой недостаток.
343 1248650
>>48633
На фоне других языков с такими же характеристиками скорости, безопасности, но более простыми для написания и чтения, совершенно непонятно кому может понадобиться раст.
15184765320710.jpg929 Кб, 1366x768
344 1248755
>>48385
не выключай
подумой
345 1248756
>>45386

>Why is Rust difficult?


Тому що домейн дификулт. /thread

>>48633
Линейная логика простая и понятная для рассуждений. Алсо ты путаешь ограниченность с выразительностью (системы типов).
346 1248767
>>48756
Проблема в том, что пока программист на расте думает как решить проблему на расте, программист на го, например, просто решает проблему.

С++ это как река с крутыми порогами, в которую лучше не соваться без опыта.
Rust это таможня, где тебя просто не пропустят пока вы не покажете бумаги.
Go это гладкое шоссе.
347 1248776
>>48756

>ты путаешь ограниченность с выразительностью


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

Хороший дизайн подразумевает, что неправильно просто нельзя написать в принципе.
348 1248786
>>48767
Го-дебил, съеби в свой загон.

>>48776

>Там есть вполне конкретные ограничения использования указателей.


Это называется "система типов", привет. Хуйню пишешь ты, а неловко за тебя мне.
349 1248788
>>48786

>Пук


Ошибки компиляции должны быть синтаксическими ошибками. В расте синтаксически правильный код может не скомпилироваться.
Вот эта дополнительная когнитивная нагрузка анализа контекста программы на программиста является проблемой.
350 1248815
>>48788

>Ошибки компиляции должны быть синтаксическими ошибками


Лол, а ты забавный.
351 1248872
>>48786

>Это называется "система типов"


Это называется статический анализатор. Причем тут система типов?
К С++ тоже можно прикрутить кучу статических анализаторов, которые не дадут сконпелировать программу с ошибками.
352 1248881
>>48872

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


У нас тут сегодня КВН вместо раст-треда, да?
353 1248901
>>48881
Ловко же ты увиливаешь. Какая разница, как называть вещи. Суть (контекстуальная зависимость) от этого не изменяется.
sage 354 1248927
>>48901

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


>Какая разница, как называть вещи.


Леонид Ярмольник показывает палец вверх, Константин Эрнст загадочно улыбается.
355 1249179
блять, какая же у раста парашная инфраструктура. Этот VS Code ущербный, какая-то срань и шаманство предстоит мне, чтобы настроить деббагер. Посмотрел в стороны intellij idea, народ ругается, что медленное.

Тут есть анноны, которые более менее серьезно на расте кодят с норм настроенным ворспейсом?
356 1249180
>>49179
Тулинг увы говно. Приходится жрать что дают.
Особенно разрдажается ебически длинные сборки на CI.
357 1249192
>>49179
Это проблема любого современного модного языка.
Велосипедисты не понимают, что недостаточно просто сделать еще один голый конпелятор, чтобы убить С++.
358 1249193
>>49192
Ну у го тулинг вполне хороший. Жалко что язык довольно посредственный.
359 1249203
>>49193

>Ну у го тулинг вполне хороший


jetbrains точеный или vs code дроченый
никакой разницы
360 1249204
>>49203
emacs же
361 1249213
>>49179
збс, только я поставил intellij idea и плагин для раста, обрадовался, что вроде что-то нормальное и вуаля:

Does IntelliJ Rust have a debugger?
There is preliminary debugger support for CLion, see this issue for details.

классно на винде поотлаживался
362 1249218
>>49213
Думал евреи из jetbrains полноценную IDE дадут бесплатно? Наивный.
363 1249372
>>48650

>совершенно непонятно кому может понадобиться раст



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

2) дрочерам на функци'anal'ьные яп, так как кое-что знакомое прекочевало
364 1249374
>>49193

>Ну у го тулинг вполне хороший.



так go'вно уже в проде и есть немало вакансий, ибо бизнес охотно переходит на языки с человекочитаемым синтаксисом, которые уменьшают стоимость разработки
365 1249404
>>49374
Это ты про потогонки с индусами и бывшими пхп-макаками? Понятное дело. Но если ты хочешь заниматься чем то более интересным, раст отличный выбор. Даже вебню на нем делать интересней и приятней.
366 1249473
>>49404
Найс манямирок. Впрочем, жить в реальности для растодебила невозможно, мгновенная смерть от болевого шока. Только докера, кубернетиса и прометеуса достаточно, чтобы гошечка дальше захватывала мир, у вас же подобных проектов и в перспективе нет.
367 1249478
>>49473
Во долбоеб, удивляюсь!
368 1249480
>>49473
Это ты про дивный мир нодо-профессионалов и похапе-сеньоров? Ему так и так пизда, при растущей сложности софта недоязычки не дают ни zero cost абстракций, ни статических гарантий от наебней, ни внятного управления зависимостями. Когда этой пиздобратии придется переучиваться, их очень взбодрит на закате карьеры изучение с нуля концептов многопоточности, дедлоков и барьеров памяти.

Твоя гошечка в этом особенно отвратительна: конпелируемый язык со сборкой мусора, при этом не имеющий защиты памяти, да ещё тянущий пакеты с ебаной мастер-ветки ебаного гитхаба. И все это зачем-то со своим самобытным кодогенератором и ассемблером-который-не-ассемблер-вовсе. И ради чего - чтобы ерланг не учить? Ржавый, прямо скажем, еще полного потанцевала не достиг и едва годен к продакшну, но уже выглядит на фоне ваших хипстерских технологий Буддой в толпе православных бабок. Одна только возможность сказать cargo build и получить бинарник незнакомого проекта - уже непередаваемо круче еботни с GOPATH и втыкания сырцов только в нужную папочку, чтобы гошечка правильно приняла (зашитые намертво в коде) зависимости.

Докером можешь не гордиться, он настолько уёбское хипстерское говно, что авторов нужно пиздить, пиздить и для закрепления обоссывать. После десяти лет работы freebsd jail в продакшене делать интерфейс, в котором части контейнера называются по ебаным хешам - это надо обладать совершенно особой, хужепидораса, ориентацией.
22222.jpg10 Кб, 227x222
369 1249481
захотел накидать простое гуевое приложение с OpenGL и sdl, указал зависимость и вуаля:
fatal error LNK1181: cannot open input file 'SDL2.lib'
в описании либы радостно указывается, что именно для винды надо написать вот такой-то скрипт на расте, сделать и такую-то структуру проекта и сделать самоотсос из-за особенностей сборки.
370 1249482
>>49481
И что не так с Rust'ом?
371 1249483
>>49481
Варианты:
1. Закинь нужные либы или симлинки на них в target/{debug,release}/deps;
2. Добавь "-L путь-к-либам" в переменную RUSTFLAGS;
3. Добавь в cargo.toml оверрайды типа rustc-link-search/rustc-link-lib для всех таргетов использующего либу крейта;
4. Таки напиши ебаный билд-скрипт, т.к. он все равно начинается с нескольких строк.
372 1249484
>>49483
да, пришлось покопипастить файлы, скопипастить скрипт и вроде заработало.

>>49482
молодо-зелено оно, но сам язык вроде неплохой.
373 1249491
>>49480
Так-то pony дает за щеку обеим этим языкам (особенно ржавому с его анальными ограничениями). Жаль за pony не стоит крупной компании, которая бы создавала хайп языку.

http://schematron.com/2017/04/overview-of-rust-and-pony/

>Rust’s Graydon Hoare has said he thinks Pony looks like an early version of Rust, and that the cognative load of those capability keyword is too much, but I don’t see how Rust is not worse, in that regard, frankly.


Точно подмечено
374 1249494
>>49484
Это ты блять молодо-зелено, если в простейшую линковку не смог.
375 1249497
>>49192

>Это проблема любого современного


животного с рынка, что не может ссаный блокнот падсибя настроить, пусть нахуй обратно пиздует арбузами торговать
377 1249542
>>49516
Проиграл.
378 1249602
>>49491

>http://schematron.com/2017/04/overview-of-rust-and-pony/


В Понях используется сборщик мусора, так что они скорее замена Го, чем Ржавому.

Сборщик мусора очень херово работает в случаях, когда нужно экономить ресурсы - а это любой системный софт и сидящие в бэкграунде приложухи. Это легко проверяется - пишешь микробенчмарк на выделение памяти, где заранее известно, сколько в идеале её нужно - и постепенно понижаешь лимит памяти, следя за производительностью. Жабе, например, требуется 3x памяти от сишного идеала, на 1.5x производительность легко может просесть впятеро.

Основная сложность в изучении Ржавого - именно имитация безопасности GC с эффективностью нативного кода. Когда Хоар говорит, что Пони - это типа древнего сабжа, он имеет ввиду именно ту версию, в которой не было лайфтаймов и был GC. В то время действительно можно было потратить сложность на нативную поддержку capabilities. Но, прямо скажем, высокоуровневых языков для бэкэндов сейчас дохера, а для системного программирования только Кресты, Ржавый, да Зиг. И поддержка Мазилы кроме хайпа дает возможность реализовывать муторные, но необходимые части языка - те же интринсики для SIMD.

Ну и конечно, удобство языка еще и в мелочах: система модулей в Ржавом одна из лучших, cargo удобен и понятен, поддержка кросскомпиляции прекрасна.

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

А вообще, товарищи растаманы, мы много песдим и мало показываем кода :(
2018-08-20-111304837x990scrot.png149 Кб, 837x990
379 1249609
>>49602
Когда там уже в стейбл асинк-эвейт завезут?
380 1249615
>>49609
До следующей редакции языка точно нет :) Их ведь мало внедрить в язык, нужно еще библиотеки подогнать, а это займет столько же, сколько разработка фичи. Используй futures-rs пока.
381 1249616
>>49473

> у вас же подобных проектов и в перспективе нет.


Ничего, что дропбокс и серво на расте написаны?

Причем дропбокс именно выкинул го (потому что жрал память и тормозил) и переписал все на раст. А годебилы и через десять лет будут носиться со своим "а вот помните докер жи есь го нужен ну мам ну скажи им

https://blogs.dropbox.com/tech/2018/06/extending-magic-pocket-innovation-with-the-first-petabyte-scale-smr-drive-deployment/
382 1249618
>>49480

>И ради чего - чтобы ерланг не учить?


>непередаваемо круче еботни с GOPATH и втыкания сырцов только в нужную папочку



Люто двачую вот этот пост. Ты няша :3
383 1249619
>>49615
Грустняво. Комбинаторы писать не очень приятно. А impl Future вообще былинный отказ, все приходится боксить.
384 1249660
>>49609

>Box<Future<Arc<Rc<Govno<Mocha>>>>>


зиро кост абстракцион
385 1249663
>>49602
У всего есть своя цена. Ты или платишь за железо, или за программистов.
Под раст нужно переписывать весь код, на нем не будут работать старые алгоритмы. Это лишние расходы.
Нет, rust нежизнеспособен.
386 1249668
>>49609
пиздец у вас пальцы вертикальные . . ставить не устают?

я бы уже давно раскладку заремапил под такое дерьмо
387 1249676
>>49668
Что ставить? Двоеточие?
388 1249685
>>49676
ну

я смотрю вы тут все неибацо на стиле, нейминг для пидоров, ага
389 1249689
>>49685
Что блять ты несешь? Ты можешь по русски выражаться?
390 1249692
>>49689
ты хуле такой тупой таа? гугли ебта
391 1249702
>>49663
Тебя никто не обязывает переписать всё. В Фаерфоксе, например, давно работает код на Расте, он там сосредоточен в нескольких библиотеках и амбиций по захвату мира не имеет. Весь смысл этого языка в том, что в невыносимо байтоёбских обстоятельствах новый код на нём пишется быстрее и дешевле, чем на C/C++, а надежность, переносимость и годность к повторному использованию у него получаются несравнимо выше. Так что писать на Ржавом - это инженерное и экономическое решение, а не дань моде, как с php/js-фреймворками.
392 1249716
>>49702

> в невыносимо байтоёбских обстоятельствах


в этом случае раст является слишком жирным вариантом

>новый код на нём пишется быстрее и дешевле, чем на C/C++


ага, с write-only синтаксисом, отсутствием готовых и проверенных временем надёжных библиотек, навороченных ide и т.д.
393 1249726
>>49702

>Весь смысл этого языка в том, что в невыносимо байтоёбских обстоятельствах новый код на нём пишется быстрее и дешевле, чем на C/C++


Сомнительное заявление.
Можно писать на С++ без анальных ограничений и безопасно с использованием статических анализаторов https://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis#C,_C++
394 1249731
>>49692
Загуглил "мелкобуквенный шизик", выдало ссылку на твой пост.
395 1249756
>>49702

>Весь смысл этого языка


в том, чтобы на страницах википедии для готовых к продакшену языков типа swift было написано "испытал влияние rust".
396 1249766
>>49716

>в этом случае раст является слишком жирным вариантом


В чем жирном-то? Если ты про кажущиеся большими бинарники - это уже много раз обсуждалось, разработчикам это проблемой не кажется, но любой желающий может отказаться от стандартой библиотеки и писать приложухи по 8кб. Генерируемый же Ржавым код достаточно компактен, чтобы на нем можно было программировать микроконтроллеры. Не веришь - зайди на godbolt и сравни генерируемый код с аналогичным на Крестах.

> ага, с write-only синтаксисом, отсутствием готовых и проверенных временем надёжных библиотек


Ты, наверное, в профессии новенький и не видел некоторое дерьмо, да? Открой исходники крестового STL и увидишь write-only синтаксис :) Здесь синтаксис просто непривычный, после обучения языку это проходит. С библиотеками у нас всё в порядке - чего не хватает, берем у сишников через FFI. При этом всё необходимое подключается к проекту через cargo, без возни с разными системами сборки и зависимости от специфичных для компилятора фич. Ты просто физически не сможешь использовать в крестопроекте больше дюжины библиотек, т.к. заебешься их подключать :)

>>49726
Ты не понимаешь, о чем говоришь. Статический анализатор укажет тебе на явные ошибки - одинаковые плечи у if-ов, недостижимый код, обрезание класса до базового. Но у него своя, отличное от таковой у компилятора модель кода. Самый пиздец происходит там, куда его авторы не добираются - например, иногда оптимизатор удаляет проверки на nullptr, из соображений, что раз указатель ранее разыменовывался, то будем считать, что он заведомо не null. Или игнорирует возможность алиасинга указателей, если они пришли из разных мест. Если ты на это не напарывался - считай, весь твой код нужно мелким ситом просеивать, чтоб не рвануло. И такой ебанины весь язык. В Ржавом просто отказались вообще от всего неопределенного поведения и в нем это просто невозможно. То же и с лайфтаймами - Ржавый не позволит тебе освободить переменную раньше, чем на нее исчезнут ссылки. Это не ограничения, это тебе бьют по рукам за тупость.
396 1249766
>>49716

>в этом случае раст является слишком жирным вариантом


В чем жирном-то? Если ты про кажущиеся большими бинарники - это уже много раз обсуждалось, разработчикам это проблемой не кажется, но любой желающий может отказаться от стандартой библиотеки и писать приложухи по 8кб. Генерируемый же Ржавым код достаточно компактен, чтобы на нем можно было программировать микроконтроллеры. Не веришь - зайди на godbolt и сравни генерируемый код с аналогичным на Крестах.

> ага, с write-only синтаксисом, отсутствием готовых и проверенных временем надёжных библиотек


Ты, наверное, в профессии новенький и не видел некоторое дерьмо, да? Открой исходники крестового STL и увидишь write-only синтаксис :) Здесь синтаксис просто непривычный, после обучения языку это проходит. С библиотеками у нас всё в порядке - чего не хватает, берем у сишников через FFI. При этом всё необходимое подключается к проекту через cargo, без возни с разными системами сборки и зависимости от специфичных для компилятора фич. Ты просто физически не сможешь использовать в крестопроекте больше дюжины библиотек, т.к. заебешься их подключать :)

>>49726
Ты не понимаешь, о чем говоришь. Статический анализатор укажет тебе на явные ошибки - одинаковые плечи у if-ов, недостижимый код, обрезание класса до базового. Но у него своя, отличное от таковой у компилятора модель кода. Самый пиздец происходит там, куда его авторы не добираются - например, иногда оптимизатор удаляет проверки на nullptr, из соображений, что раз указатель ранее разыменовывался, то будем считать, что он заведомо не null. Или игнорирует возможность алиасинга указателей, если они пришли из разных мест. Если ты на это не напарывался - считай, весь твой код нужно мелким ситом просеивать, чтоб не рвануло. И такой ебанины весь язык. В Ржавом просто отказались вообще от всего неопределенного поведения и в нем это просто невозможно. То же и с лайфтаймами - Ржавый не позволит тебе освободить переменную раньше, чем на нее исчезнут ссылки. Это не ограничения, это тебе бьют по рукам за тупость.
397 1249788
>>49766
Лел, признай уже что взять старый уязвимый дизайн, окружить его барьерами и назвать это безопасностью, было плохой идеей. Как эксперимент rust был интересным. Но этот эксперимент провалился. Все. Языки рождаются и умирают, это естественный процесс. Выживают наиболее приспособленные. У раста нет ниши.
398 1249802
>>49766

>В Ржавом просто отказались вообще от всего неопределенного поведения и в нем это просто невозможно.


Да никому это не нужно. Раст - это колосс на глинянных ногах.
Слухи о сложности работы с памятью и написания многопоточных программ в С++ сильно преувеличены авторами новых "безопасных" языков и их фанбоями.

Безопасность достигается за счет безопасных абстракций. И в современном С++ таких абтсракций для написания безопасного кода полно.
399 1249816
>>49802
Без базара, хеллоуворлды можно безопасно писать на любом языке, кроме брэйнфака и ассемблера. Проблема в том, что в любой крупной крестовой программе все равно будут использоваться как надежные, так и ненадежные абстракции, а в некоторые дни ты будешь писать код пьяным или невыспавшимся. Скорее рано, чем поздно, ты таки пройдешь по нулевому указателю и ошибешься на единичку в цикле. А там у тебя, ковбой, будет выбор - поменять свое ошибочное мнение или держать морду кирпичом, пока у тебя по штанам стекает моча. В Мазиле полно зубров, писавших код ещё со времён Нетшкафа, а вот поди ж ты - она у меня крашится по нескольку раз в месяц. Наверное, они там все тупые в абстракциях не разбираются. А как легко пишется на современных крестах код мы можем наблюдать на баунтисорце, где средней сложности задачу сделать поддержку переключения протоколов через http proxy с наградой в 50 штук баксов вся шобла не может решить уже четвертый месяц.
400 1249824
>>49816

>В коде на расте багов не бывает!


Ебать тебя "свидетели Раста" обработали.
401 1249830
>>49824
Бывают. Причем их попадается много даже в самом компиляторе, особенно когда учишься языку и лепишь горбатого. Но есть баги и есть леденящий душу пиздец, называемый кроссплатформенным кодом на крестах :(
402 1249905
>>49756
Тащем-то раст гораздо более готов к продакшену и используется в более широком спектре прикладных областей, чем свифт. Но свифт тоже няшка, неплохой компромисс. Жаль, что он не заменит кресты.
403 1249906
>>49788
>>49802
Нахуя студентики лезут везде со своим охуительно важным мнением, а? Идите маны читайте.
Безымянный.jpg26 Кб, 404x280
404 1249936
>>49906
Операционную систему уже написал на расте?
405 1249941
>>49936
Я вообще мимо проходил, оставь свои маняпроекции при себе. Так зачем ты лезешь со своим охуительно важным мнением, студентик?
406 1249944
>>49602

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


Это миф. Все настраивается.
Нормальный сборщик мусора всегда работает быстрее ручного выделения/освобождения памяти. GC это оптимизация. Не понимаю, почему о GC всегда говорят как о чем-то плохом.
Разница в производительности возникает из-за того, что в языках с ручным выделением памяти это настолько дорогие операции, что там выделение памяти является нежелательным и все алгоритмы пишутся исходя из этого. А в языках со сборщиком мусора создание новых объектов является нормой.
407 1249956
>>49944
Тебе про риалтайм, микроконтроллеры и экономию памяти на хипе говорят, але. Дядька в киеве, а бузина в огороде. Иди лучше лабы делай, блядь, нахер ты рассуждаешь о том, в чем не шаришь? Гуманитарий дохуя?

другой анон
408 1249959
>>31432
>>32154

Flatpak
Initial release:December 2014
409 1249964
>>49944
GC это не оптимизация, это серьезное архитектурное решение. Да, объекты выделяются быстро, почти как на стеке, но взамен ты получаешь паузы в работе программы и малопредсказуемый расход памяти. При этом память расходуется впустую - для жабы-8 я измерял трехкратный от сишного расход для небольшого выигрыша в производительности, и полуторакратный для полного слива но хотя бы без крашей, на примере бинарного дерева на 2^28 элементов. Базу данных, навороченную компьютерную игру или веб-браузер ты с такими вводными не напишешь. Вся возня с лайфтаймами в Расте - она не от задротства, а от желания получить безопасность GC при предсказуемости ручного управления памятью. Если же работа с памятью станет проблемой производительности, то просто будет выявлено узкое место и память будет выделаться-освобождаться крупными кусками, а не индивидуально. Корежить весь язык для этого необязательно (язык D, например, поддался соблазну, и теперь у него жизнь без бороды).
410 1249972
>>49956

>Тебе про риалтайм, микроконтроллеры и экономию памяти на хипе


То-то embedded java была популярной для встраиваемых систем. Вот не знали дураки, что сборщик мусора это плохо.
411 1250078
>>49972
Если что, у эмбеддед сборщиков мусора времен embedded java типичный оверхед от 5% до 250% в зависимости от числа аллокаций. Сейчас можно даже вообще без оверхеда, только производительность будут сасат. Если добавить к этому размер jre, получится, что при массовом производстве может оказаться дешевле нанять сишника вместо java-макаки.
412 1250081
>>49972
То-то ебучее говно на ведроиде тормозит что пиздец на железе на котором можно в кукурузис играть.
413 1250100
>>30215
Это не тот сайт, где когда-то php обогнал си и занял первое место в одном из тестов?
image.png107 Кб, 1149x748
414 1250115
[не_хейтер]
Давно не наблюдал за растом, стал интересен его статус.

1) Написали ли уже что-то крупное и прям достойное, например какой-то игровой движок или что-то подобное - только не очередную ОС, а вот реально продукт который стал востребован (пускай даже не сильно, но который используют реально).
2) Написали ли тот браузер (флагманский проект, не помню название), вообще что с ним случилось, какой у него статус сейчас, вроде очень давно его пишут?
3) Время хайпа давно прошло - как изменилось ваше отношение к языку, видите ли в нем перспективу, разочаровывались или наоборот воодушевлялись за это время после релиза? Что думаете за его будущее

PS: изображение - это статистика по тегам SO.
415 1250122
>>35684
Ты что, раст для избранных, джавист на него не может перекатиться, вот питонисты которых половина в чатике ру-комьюнити могут, а ты нет!
416 1250126
>>44677

>Байтоебы, зачем в 2018 году мерить размеры бинарников?


Чтобы потом не было такого -"а почему мой веб webassemly на расте в 100мб не грузится на мобильниках, там же всего лишь прорисовка двух html тегов?!"
417 1250133
>>49609
>>49660

>Box<Future<Arc<Rc<Govno<Mocha>>>>>


Тоже всегда с этого люто проигрываю, осталось только джава программистами позвать чтобы получить это:
FirstBeanManagerFactorySomebodySaveMeHandler<Future<Arc<Rc<Govno<Mocha>>>>>
И можно смело идти доказывать питон программисту как ваш язык помогает вам самовыражаться.
418 1250229
>>50115
Отвечаю, как рядовой любитель Ржавого. Статус умеренно оптимистичный: несколько месяцев назад выделили стабильную версию языка, но в ней нет ни удобств (напр. нативной поддержки асинхронности), ни некоторых важных вещей типа кастомных аллокаторов и поддержки SIMD (и те и те требуют nightly версий, и хз когда стабилизируются). Нужно каждую задачу рассматривать отдельно, подойдет язык или нет.

По пунктам.
1) Язык используется в основном крупными компаниями на вспомогательных ролях, скачать и пощупать нечего. Из известных имен - Dropbox перевел на него все стораджи, и поимел с этого профит. Менее известные можешь посмотреть по ключевику "friends of rust", их в общем-то достаточно. Из игор недавно шишка из студии Ready at Dawn изъявила желание переката на Руст, но у них все проекты второго и третьего сорта.
2) Там не браузер целиком, а новый движок для Фаерфокса. Он пишется, и активно (300 коммитов за месяц), но размер задачи конский, и в апстрим переползают крохи (напр. движок css и парсер mp4). Хз, долго ли его ждать. Мне с этого перепали годные библиотеки для парсинга CSS/HTML. Это ж круто - парсить страницы тем же кодом, что и браузер.
3) С релиза огорчает кажущийся черепашьим темп разработки: каждые две недели видны какие-то мелкие стабилизации и багфиксы, а фичи типа async/await повисли в лимбе и неизвестно когда будут. Но имеющиеся преимущества перед c/c++ пока перевешивают с большим отрывом.
419 1250239
>>50229

>черепашьим темп разработки


мозила экономит лове надеясь на бесплатную раб силу
420 1250242
>>50229

>async/await


а как же зиро кост абстракции
index.jpeg8 Кб, 270x187
421 1250248
>>50242
Если абстракции нет, то она ничего не стоит!
422 1250254
>>50229

>Это ж круто - парсить страницы тем же кодом, что и браузер.


Круто это jquery, а какая радость от нативного дерева элементов?
423 1250409
>>50115
1) дропбокс какие нахуй игровые движки, ты ебнулся?
2) да, файрфокс (квантум) называется
3) когда был "хайп" я его избегал из-за ломающих изменений, смысл учить если еще не финализировали столько вещей. теперь не избегаю

PS: доставьте ту картинку про plateau of productivity
424 1250411
>>50133
Во всех тредах уже это написал?

>>50239
Не, просто пилить языки это реально оче сложно и долго, если только ты не гугл или пилишь наколенную поделку вроде го
425 1250413
>>50229
Братишка, а посоветуй пейперов на тему иммутабельных\персистентных структур без гц, ты интересовался этой темой?
426 1250424
Сказка про то, как на расте гуи писали
https://www.youtube.com/watch?v=4YTfxresvS8

Даже жалко мужичка
427 1250564
>>50411

>Во всех тредах уже это написал?


Мне понравился пример :3
428 1250572
>>50229
>>50409
Так то за несколько лет ничего и не изменилось. А вот про дропбокс даже вроде читал. Но не понятно что и где они там запили и вообще запилили или хотели на хайпе покататься (до этого они неожиданно на го-хайпе катались).
429 1250597
>>50572

>Но не понятно что и где они там запили


Понятно, они подробно в своем блоге все описывали.

>и вообще запилили


Запилили и продолжают пилить: https://blogs.dropbox.com/tech/2018/06/extending-magic-pocket-innovation-with-the-first-petabyte-scale-smr-drive-deployment/

>или хотели на хайпе покататься


На каком хайпе, ебанашка? Они делают продукт для юзеров, юзерам вообще поебать, на чем у них там бэкенд.
430 1250653
>>50597

>На каком хайпе, ебанашка? Они делают продукт для юзеров, юзерам вообще поебать, на чем у них там бэкенд.


Ты серьезно не понимаешь как тут маркетинг может работать, или тебе просто не согласится надо?
431 1250663
>>50653
Фантазер комнатный. Пиздец.
432 1250669
>>50653
Всё-таки вносить изменения в критичные для бизнеса системы - как-то жирновато для маркетинга, да и переход с Go на Ржавого выглядит тут вполне уместно. Но вызывающих вау-эффект проектов у сабжа действительно маловато :(
433 1250689
>>50669

>Всё-таки вносить изменения в критичные для бизнеса системы - как-то жирновато для маркетинга


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

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

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

Поэтому я верю, что такая компания как дроп может переписать участки и может позволить себе риски. Но я не верю в то, почему этот узкий код раньше не был написан уже на сях. Так же я не верю когда с питонов переписывают на низкие языки, потому что питон и так изначально берут в местах где не критична производительность (исключая моменты когда нужно быстро написать прототип, а потом переписать - но это свойство стартового проекта). Никакой умный менагер не разменяет скорость разработки питона, на прирост производительности 2-3 раза (железо дешевле времени разработки, а время разработки наилучшие у питона чем у раста и все равно все упрется в базу или пинг).
434 1250690
>>50653
Сколько тебе лет?

>>50669

>Но вызывающих вау-эффект проектов у сабжа действительно маловато :(


А вот если подумать - какие это вообще проекты должны быть? Вот анон выше упоминал френдс оф раст, смотрим: https://www.rust-lang.org/en-US/friends.html
Атлассиан, каноникал, самсунг, коре ос, сентри, клаудфаре, курсера, дропбокс, сама мозилла в конце концов... и нпм! нпм, блядь, на раст перепиливают! Ну вроде куда уж больше то? Хуй знает.

Такое чувство, что все ждут, что вот сейчас в один момент вообще весь код на крестах исчезнет и вместо него появится код на расте. И то каждый третий будет говорить "ну не, чет не взлетел, вот когда линукс перепишут на расте - тогда поговорим".
435 1250692
>>50689

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


Возьми да почитай, уже сколько раз ссылки вкидывали:
https://blogs.dropbox.com/tech/2016/05/inside-the-magic-pocket/
https://blogs.dropbox.com/tech/2018/06/extending-magic-pocket-innovation-with-the-first-petabyte-scale-smr-drive-deployment/
https://blogs.dropbox.com/tech/tag/magic-pocket/
436 1250719
>>50690
Помню эти крики
раст - это писать бд!
раст - это писать браузер!
раст - это писать игры!
раст - это... ничего за несколько лет

За то все время тычут, что некая N-компания, взяла там и написала что-то и где-то в своем зоопарке из языков коде.
437 1250720
>>50719
Там простейший гуи написать не могут. Какие бд, браузеры, о чем ты.
438 1250724
>>50669

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


переход с go'вна на ржавую мочу им дорого обходится, теперь их поделка на куче файловых систем не будет работать https://www.ghacks.net/2018/08/13/dropbox-drops-any-file-system-but-ext4-on-linux/
439 1250797
>>50724

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


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

>>50719

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


А что, если пойти от обратного? Много известных проектов на C/C++ появилось за последнюю пятилетку?

>>50690

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


Но производительность - это не всегда фича. Я это время не застал, но в 90х, говорят, бывали энтерпрайз сервисы, запускающиеся по полчаса и дольше - и никто не кричал переписать всё на ассемблере. Да и флагманский проект - Фаерфокс - показывает, что можно не переписывать на Расте старое, а дописывать новое в рамках имеющейся базы кода. Риск - минимальный, профит - серьезный. И я бы даже не сказал, что писать на Петоне сильно дешевле - отсутствие null-ов и странных вещей типа проваливания переменных из классов в глобальный скоуп позволяют тысячу мелких юнит-тестов заменить сотней интеграционных и не потерять в качестве. В теории. Когда-нибудь, хех.
440 1250808
>>50797

>Много известных проектов на C/C++ появилось за последнюю пятилетку?


Я не уверен про пятилетку, но многие кейворды из списка для меня свежи (свифт попадает в пятилетку?)
https://github.com/search?l=C++&o=desc&q=stars:>1&s=stars&type=Repositories

Конечно понятно, что уровень С/С++ это не javascript, где каждый день что-то новое и уже сразу устарело, но как бы для раста уже пора.
Не хейтерства ради, но должна же быть причина-следственная связь все-таки. Если раст так хорош и удобен и безопасен, то должна быть эта связь где из "поиграться в код" стали развиваться стабильные реальные проекты (и не обязательно побеждать С++, а просто продемонстрировать что у языка есть ниша своя, он состоялся как язык)
441 1250823
>>50797

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


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

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

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

Нужна ли та сама "безопасная память" или садизм и ограничения - не знаю. Но точно не нужно было делать такой же сложный язык как С++
442 1250826
>>50808
Ты прав. Раз не выстрелило сейчас, вряд ли выстрелит в будущем. Если только не появится какой-нибудь хайповый фреймворк типа Рельс, как случилось с безвестным в свое время Руби. Пример языка со схожей ситуацией уже есть - Кложа, у которой примерно такой же скромный список использующих её компаний и некоторое количество опытных специалистов, утверждающих, что добиваются на ней бешеной продуктивности. Так что я всё же продолжу вкладываться в язык, пока не найду достаточно веских технических причин его забросить.
443 1250953
>>50823

>ускорял разработку на уровне С++


вот это реально тема, какой нибудь С+++ в который можно было бы сконвертировать всё байтоёбию, вот это была бы пушка

а тут динозавры пытаются одеяло со всей планеты стянуть нахуй, ну смешно
444 1251008
>>50719

>раст - это писать бд!


https://github.com/mozilla/mentat

>раст - это писать браузер!


https://www.mozilla.org/en-US/firefox/new/

>раст - это писать игры!


http://arewegameyet.com/#games но только шизики такое говорили, любому очевидно, что геймдев - это ужасно консервативная отрасль с тоннами легаси, сами игры пишут на шарпах и питоне, а чтобы движки переписали на расте, должно лет 15-20 пройти

>раст - это... ничего за несколько лет


Нормальный манямирок.

>некая N-компания,


Это дропбокс-то "некая Эн-компания"? Лол, тебе сколько лет, мальчик?

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


Весь бэкенд на сабже, але.

>>50724
Кретин, ты не понимаешь, чем сервер отличается от клиента. Зачем ты вылез из своего ньюфагозагона? Чтобы бампануть годный тред, вот зачем :3

>>50808

>https://github.com/search?l=C++&o=desc&q=stars:>1&s=stars&type=Repositories


Там вроде ни одного проекта за последнюю пятилетку. Ну и электрон, nw.js... нутыпонел.

>>50826
Да на самом деле Кложу тоже дохера кто юзает, и киллер аппы у нее есть (тот же Ом или Датомик). Фишка в том, что уже прошло то время, когда можно было рандомхую написать РоР и все сразу такие "ваау!". Сейчас 1) количество разработчиков увеличилось в разы, притом в основном это низкоквалифицированная рабочая сила, которая учит ровно один язык
2) за рынок языков в основном борются крупные компании с крупными маркетинговыми бюджетами
То есть основная масса разработчиков сейчас притекает в отрасль с нуля, по принципу "выбрали тот язык, про который громче всего кричат - вкатились". Выбор основывается исключительно на маркетинге, просто потому что они ньюфаги и не могут выбирать инструменты рационально. А миграция между языками среди сеньоров-помидоров попросту не особо активная по объективным причинам: вот учил ты 20 лет кресты, а сейчас взять и забить на все потраченные жопочасы? Далеко не каждый на такое согласится.

Кстати, тот же Руби выстрелил спустя 10-15 лет после первого релиза. А у раста релиз 1.0 был 3 года назад.
444 1251008
>>50719

>раст - это писать бд!


https://github.com/mozilla/mentat

>раст - это писать браузер!


https://www.mozilla.org/en-US/firefox/new/

>раст - это писать игры!


http://arewegameyet.com/#games но только шизики такое говорили, любому очевидно, что геймдев - это ужасно консервативная отрасль с тоннами легаси, сами игры пишут на шарпах и питоне, а чтобы движки переписали на расте, должно лет 15-20 пройти

>раст - это... ничего за несколько лет


Нормальный манямирок.

>некая N-компания,


Это дропбокс-то "некая Эн-компания"? Лол, тебе сколько лет, мальчик?

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


Весь бэкенд на сабже, але.

>>50724
Кретин, ты не понимаешь, чем сервер отличается от клиента. Зачем ты вылез из своего ньюфагозагона? Чтобы бампануть годный тред, вот зачем :3

>>50808

>https://github.com/search?l=C++&o=desc&q=stars:>1&s=stars&type=Repositories


Там вроде ни одного проекта за последнюю пятилетку. Ну и электрон, nw.js... нутыпонел.

>>50826
Да на самом деле Кложу тоже дохера кто юзает, и киллер аппы у нее есть (тот же Ом или Датомик). Фишка в том, что уже прошло то время, когда можно было рандомхую написать РоР и все сразу такие "ваау!". Сейчас 1) количество разработчиков увеличилось в разы, притом в основном это низкоквалифицированная рабочая сила, которая учит ровно один язык
2) за рынок языков в основном борются крупные компании с крупными маркетинговыми бюджетами
То есть основная масса разработчиков сейчас притекает в отрасль с нуля, по принципу "выбрали тот язык, про который громче всего кричат - вкатились". Выбор основывается исключительно на маркетинге, просто потому что они ньюфаги и не могут выбирать инструменты рационально. А миграция между языками среди сеньоров-помидоров попросту не особо активная по объективным причинам: вот учил ты 20 лет кресты, а сейчас взять и забить на все потраченные жопочасы? Далеко не каждый на такое согласится.

Кстати, тот же Руби выстрелил спустя 10-15 лет после первого релиза. А у раста релиз 1.0 был 3 года назад.
445 1251019
>>51008

>саму игровую логику


то хуле сложно переписать движку и подтыкнуть ее под ровно те же скрипты? может потому что индустрия нищая?? бюджеты как у ААА фильмов, а сборов хуй, да маленько, вот и сидят на крестах уечных все
446 1251053
>>51019

>то хуле сложно переписать движку и подтыкнуть ее под ровно те же скрипты?


Зачем?
447 1251114
>>50953
в современном стандарте с++ уже есть эта пушка
448 1251132
>>51008

>Кстати, тот же Руби выстрелил спустя 10-15 лет после первого релиза


И умер через пару лет.
449 1251202
>>51019

>бюджеты как у ААА фильмов, а сборов хуй, да маленько


>сборов хуй, да маленько


Ты сука, наркоман, с какой планеты?

>По сравнению с позапрошлым финансовым годом в 2018-м прибыль Electronic Arts выросла на 3.3 % — с 1.53 миллиарда долларов до 1.58 миллиарда



>Согласно отчетам, Ubisoft удалось удачно завершить четвертый квартал и весь финансовый год в целом. Чистая выручка по итогам года подскочила на 19% и составила $2,4 млрд, а чистая прибыль за этот же период выросла аж на 29%, достигнув отметки в $164,7 млн.


>Сегодня состоялся очередной квартальный отчет Activision Blizzard перед инвесторами. Компания поделилась своими успехами за первый квартал 2018 г Чистый доход Blizzard составил 480 млн долларов, из которых 122 млн пришлись на операционную прибыль.



За 2016 год прибыли
Музыкальной индустрии $16 лярдов
Кина 38 лярдов

ПК Гейминг - 34 лярда
Сосноли 30 лярдов
Мобыльное дрочево 40 лярдов
https://www.quora.com/Is-the-Video-Game-industry-bigger-than-the-Film-and-Music-Industries
450 1251203
>>51132

>И умер через пару лет.


Если мы считаем что Руби умер, то Раст, по такой шкале, еще даже не покинул писюн родителя.
451 1251206
>>51203
Двачую. Вспомните го через 3 года после релиза.
452 1251208
>>49616
В дропбоксе го остался, и его там намного больше, чем раста.
Переписали самую низкоуровневую часть, остальные 1.3 миллиона строк на гошечке никуда не делись.

> Dropbox rewrote Magic Pocket in Golang, and then rewrote it again in Rust, to fit on their custom built machines.



Actually, full disclosure, we really just rewrote a couple of components in Rust. Most of Magic Pocket (the distributed storage system) is still written in golang.
453 1251214
>>51208
Алсо, линк для разрыва манямирка:
https://youtu.be/5doOcaMXx08

Только заранее советую заготовить лёд.
454 1251215
>>51203
Нужен какой-нибудь стильный молодежный фреймворк\библиотека\фича, которые будут решать определенные задачи лучше конкурентов, то есть инструменты разработчика и из которого нельзя все быстро спиздить, как было с рельсами
Тогда любовь и обожание гарантированны. А то, что где-то там базу или игру запили не говорит о том, что язык хорош.
Сейчас недостатки языка перекрывают его достоинства. Те же с\с++ только в профиль
455 1251220
>>49480
Уже со следующей версии ебля с GOPATH закончится, и go build будет делать то же самое, что и cargo build. Раньше адекватные люди пользовались dep, теперь модули завезли в тулинг, так что теперь этот аргумент инвалид.

А жопная боль от доминации докера вполне мне понятна, гори дальше.
456 1251221
>>51220
Как только го-дауны завезут дженерики, так сразу поговорим.
457 1251222
>>27127 (OP)

>A Turing tarpit (or Turing tar-pit) is any programming language or computer interface that allows for flexibility in function but is difficult to learn and use because it offers little or no support for common tasks.


Я нашел определение раста, посоны.
458 1251249
>>51208

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


Может парням пора рассказать про СИ и ассемблерные вставки, вот они удивятся приросту той низкоуровневой части.

А если серьезно, вот реально, им для той задачи требовался раст или просто парни хотели хайпануть или поиграть во что-то новое?
Как там было? Питон -> го -> раст - что дальше, может си? Хотя зачем си, может тогда что дарт2, пони, кристал?
459 1251250
>>51214
Давай тезис кратко, мы тут не такие молодые чтобы иметь время втыкать на каждые конфушки на ютубе.
460 1251251
>>51221

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


Последние что там действительно нужно. Поломай в себе статик-индиго и пиши промежуточный код между статическим и динамическим программированием.
461 1251253
https://www.reddit.com/r/programming/comments/992s3i/telling_the_truth_about_defects_in_technology/

Теперь придется отвечать за нулевую абстракцию и за безопасную утечку памяти.
p189tc7k6u2av1ep4j711d3c1l2rr.jpg137 Кб, 592x700
462 1251286
>>51253

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


На словах. А на деле unsafe на unsafe сидит и unsafe-ом погоняет.

https://www.reddit.com/r/rust/comments/8s7gei/unsafe_rust_in_actixweb_other_libraries/
463 1251324
>>51221
Вопрос в том, доживет ли твоя ржавая хуитка до этого.
Гошечка то никуда не денется уже.
464 1251327
>>51251
Я довольно долго писал на го. И две главные проблемы для меня были именно дженерики и ГЦ. Заебался везде пулы пихать.
465 1251382
>>51327

>Заебался везде пулы пихать


Так не пихай

В языках без GC с памятью и пулами еще больше геморроя, поверь.
466 1251387
>>51382
Че ты мне рассказываешь то, мы уже давно на расте, полет нормальный.
467 1251392
>>51387
Просто ты привык есть говно.
В го вообще не нужно возиться с пулами и управлением памяти, это же не раст в конце-концов. Там сборка мусора занимает наносекунду времени выполнения.
Это классическая экономия на спичках.
468 1251394
>>27127 (OP)
Уберите нахуй из шапки слова про сегфолты и потокобезопасность, все мы и так знаем, что когда нужно писать реальное приложение, то значительная часть кода все равно оборачивается в unsafe
469 1251397
>>51394
Прогеры на раст, на генетическом уровне не делают ошибок в unsafe и юнит тестах unsafe, это только сишники ошибаются в таких местах.
470 1251403
>>48872
Во долбоеб! Про линейные или афинные типы слышал что нибудь? Или это тоже статический анализатор?
471 1251449
>>51392
Я не просто так возился с пулами, а потом что говно тормозило когда гц сжирает 50мс из 50мс за которые должен быть выдан ответ рандомно, это никуда не годится. Приходилось долго и упорно отлаживать выпиливая жрущее память говно.
472 1251501
>>51449

> гц сжирает 50мс


фантазер
473 1251507
>>51501

> ВРЕТИ


> goвно НИ МОЖИТ ТАРМАЗИТЬ


> Я СКОЗАЛ

474 1251618
>>51132

>бадум-тссс



>>51249

>Питон -> го -> раст


Ну ты не замечаешь закономерности? От динамикодрисни к более производительным и низкоуровневым языкам. При чем тут дарт и кристал?
475 1251644
>>51327
Я пишу на го с 2014, в том числе zero-allocation код, что-то ещё не заебался. А чтобы сейчас gc тормозил, нужно совсем уж криворуким уебком быть, аллоцируя на каждый чих.
476 1251648
>>51250
Кратко: большинство инфраструктуры в дропбоксе на го, слезать с него не собираются, докладчика уже доебали спрашивать про ваш раст, на него переписали пару сотен строк кода из ляма, а вы тут развели праздник, как будто вся инфраструктура у них на ржавчине, и повторяетете это как мантру.
477 1251662
>>51648

>а вы тут развели праздник


Лол, вообще-то это ты праздник развел. Пришла эйчарка на конфу гоферов и начала заливать про "Go Reliability and Durability at Dropbox". Весь ток полностью состоит из баззвордов, маркетингового буллшита и "у нас есть хакатоны, кофемашины и столики для пинг-понга, приходите к нам работать" - а ты возбудился уже, лол. Нахера ты его вообще вбросил сюда? Типичный го-ребенок как он есть.

Никто не говорил, что они ВСЕ переписали на расте (это было бы как минимум глупо). Они переписали на расте критичные подсистемы, которые тормозили на го:

>Performance is 3-5x better at tail latencies. Cost savings is.. dramatic. I can't be more specific there.


>At a high level it's really a memory thing. There are a lot of great things about Rust but we're also mostly happy with Go's performance. Rust gave us some really big reductions in memory consumption (-> cheaper hardware) and was a good fit for our storage nodes where we're right down in the stack talking to the hardware.


>The really big deal is memory management. There's no GC, and there's pretty precise memory control, and it's not the Shub-Niggurath that dealing with C++ is.


>We still have a ton of Python. ... our web controller code, for example, is millions of lines of Python. And we use Python in lots of other places as well.

478 1251670
>>51662

> Лол, вообще-то это ты праздник развел


> Ничего, что дропбокс и серво на расте написаны?


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

> Пришла эйчарка


Перестань сношаться в глаза, это Principal SRE, а не HR.

> Они переписали на расте критичные подсистемы, которые тормозили на го:


Переписали системы с очень высокими требованиями к memory footprint и производительности. Никто и не спорит, что go для этого плохо подходит — оверхед на gc никуда не денется. Но сука, раздувать из этого великую победу тысячелетия rust просто доебали уже.

Вы уже определитесь, блять, Dropbox либо хипстеры (потому что пишут на go), либо хардкорные крутые чуваки (потому что пишут на rust).
479 1251684
>>51670

>Перестань сношаться в глаза, это Principal SRE, а не HR.


Лол, ну ты и долбоеб. Principal SRE она в Gremlin, а этот ток она давала когда она работала в дропбоксе (помнишь, мы про дропбокс говорим, да?) маняменеджером. И на конференцию она приехала в роли эйчарки, чтобы заливать маркетинговый буллщит про РЕЛАЙАБИЛИТИ и ДЬЮРАБИЛИТИ. Сношаться в глаза, ага, лол.

>Никто и не спорит, что go для этого плохо подходит


Ну так и съебите уже обратно в свой маняговнотред, это ведь как бы не я тут уже полтреда кукарекаю, что ГО НИМОЖИТ ТОРМОЗИТЬ и ОВЕРХЕДА ОТ ГЦ НЕ БЫВАИТ, прокрути пару постов вверх.

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


Да вроде никто ничего не раздувает. Чувак выше спрашивал, где используется раст, ему ответили. В чем проблема-то?

>Вы уже определитесь, блять, Dropbox либо хипстеры


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

Ну и не забываем, что больше всего кода у них на гвидобейсике, кхе-кхе-кхе.
480 1251694
>>51644
Или просто иметь плохо ложащийся на mark and sweep сборщик мусора heap в десятки гигабайт, как у Дропбокса :P

>>51670
Ну, кроме Дропбокса в списке friends of rust есть еще некоторое количество известных имен, причем список даже неполный - нет Microsoft, например. Так что язык как минимум не умрёт внезапно. А там хер с ним, кто и как его использует, важнее вопрос, можно с него получить profit или нет, а для этого, вижу, не трёп надо слушать, а писать и сопровождать на нём крупный проект, что пока стрёмно как-то =/
481 1251696
>>51684

>ОВЕРХЕДА ОТ ГЦ НЕ БЫВАИТ


Никто так не говорит. Оверхед от GC на порядки меньше malloc и является несомненной оптимизацией.
Производительность в языках без GC достигается за счет ИЗБЕГАНИЯ выделения памяти.
В языках с GC это делается элементарно через пулы. Но это как правило не делают, потому что оверхед от GC минимальный и не стоит возни с памятью. В языка без GC возня с памятью ОБЯЗАТЕЛЬНА
482 1251701
>>51696

>Никто так не говорит.


См.: >>51644

>В языка без GC возня с памятью ОБЯЗАТЕЛЬНА


Языки с регионами, например, - это языки с гц или без гц?
483 1251706
>>51696
Оверхед разный бывает. Уже приводил пример - Джаве на стандартных настройках чтобы получить профит от GC нужно втрое больше памяти, чем Си, иначе она наоборот медленнее, при ужимании до предела даже в разы медленнее. Ну и конечно не во всех задачах stop-the-world приемлемо. Базы данных, игры или браузеры на таких языках пишут только долбоёбы.
Operations-Per-Second-Per-Node-Cluster-v2.png28 Кб, 698x373
484 1251710
>>51706

>Базы данных, игры или браузеры на таких языках пишут только долбоёбы.


А разве значительная часть высоко нагруженных систем не на Джаве?
- Elasticsearch
- Kassandra
- Hadoop
- Solr
- Spark
- Apache Kafka

>игры


До выхода Android NDK все игры в гугл плее были на голой джаве. Что росту андроида и гугл плея не помешало.
485 1251719
>>51710
Джава просто популярна и под неё проще выбить баблосы на разработку. А так - да, долбоёбы пиздец просто, писать СУБД на языке без SIMD и с непредсказуемым оптимизатором. Раз уж говоришь про Андроед - не забывай, что пока телефоны не приблизились по ресурсам к суперкомпьютерам из 90-х, отстающие на 2-3 года по железу Айфоны давали гораздо более плавную картинку при большем разрешении (т.к. мода на особо плотные экраны с них и пошла). То же и с играми - на десктопе Джава к тому моменту была доступна больше десяти лет, но из требующих JRE игор я помню только Ил-2.
486 1251722
>>51719

> А так - да, долбоёбы пиздец просто, писать СУБД на языке без SIMD и с непредсказуемым оптимизатором.


Ебать дебил
148879440218523522.jpg103 Кб, 1000x562
487 1251744
Тем временем тред подходит к бамп-лимиту, что не может не радовать, несмотрят на холиварное содержимое.

Если есть пожелания по оформлению шапки - вбрасывайте. Иначе перекачу как в прошлый раз, левой пяткой.
488 1251765
>>51618

>>Питон -> го -> раст


>Ну ты не замечаешь закономерности?. При чем тут дарт и кристал?


Попробуй сам заметить закономерность, это не сложно.

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


Тогда это бы выглядело так
питон -> модуль питона на си -> си
Самое забавное, что написать маленький узко-специализированный микросервис на Си будет куда быстрее и приятнее чем на расте.
489 1251768
>>51722

>Ебать дебил



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

А вот подобные тебе, которым напиздели в уши что жор оперативы сотнями гигов и загрузка всех ядер на кластерах топовых зинонах с топовыми SAN cbcntvfvb yf byabyb,tylf[- это пиздец как быстро и ваще топ бигдата биг пирфоманс - как раз дебилы и есть, тут да, ты самокритичен.

Впрочем, по интырпрайзным меркам это действительно не такой пиздец и действительно быстро.

Тут до САПа которому нужны симметрикс и мейнфрейм от межделмаша чтобы как то билетики на самолеты считать оперативно еще не доплюнули. Но скоро смогут.
490 1251775

> потому что оверхед от GC минимальный и не стоит возни с памятью



Угу, уровня превращения софт-риалтайма(подфризы в играх, недопустимые паузы в time-critical сириус бизнесах вроде межбанка и бирж) в дергающийся калл. И ебли чтобы всё это обойти гораздо больше чем на языке без ГЦ навелосипедить stack allocator или pool allocator под свои типы данных.
491 1251777
>>51719

>Айфоны давали гораздо более плавную картинку


потому что ВСЯ СИСТЕМА замирала пока юзерок дрочит скролик с менюшками, в роботе же суровый линуксово-серверный положняк, где гуй всем допизды
492 1251778
>>51765

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


чому? поясни с примерами если не сложно
493 1251779
>>51777

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

Очередной жабоотос.
494 1251782
Напоминаю - у жабобляди паузы в 200мс

200мс - это время отрисовки 12 кадров из 60 при нормальной боярской частоте кадров в 60фпс

Это время проведения десятков-сотен HFT сделок на бирже

Это инпут-лаг при котором бугуртит даже соснульщик Сосава из пантеона черветреда:

https://www.youtube.com/watch?v=lAr4hF8tCdE

Это пинг, при котором вы выходите из каэточки.

Всё это у тупой жабобляди в останови-манямирке считается нормальным и незначащим оверхедом.
495 1251794
Растоманы, на нас вся надежда, мы должны уничтожить абстракционистский рак жаваблядей нашими zero-cost абстракциями. День, когда пропачат все уязвимости в процессорах и жабобляди соснут, когда им не помогут никакие кластеры на топовых зинонах с терабайтом оперативы запустить их жабохелловорлд появимся ми и у низим жабоблядей.
496 1251804
>>51782

>Gc


>JAVA


Ты ж ненормальный. Проблемы JAVA это проблемы JAVA.
Проблемы памяти из-за того, что java серит объектами как ненормальная в в библиотеках. Поэтому нужна большая куча, иначе она постоянно будет ЧИСТИТЬ ЧИСТИТЬ.
Кроме того, в java нет value type на стеке, поэтому вообще все в java в куче.
Это ее и делает особенно прожорливой к памяти.

>у жабобляди паузы в 200мс


А у го вообще пауз нет.
497 1251814
>>51775

>недопустимые паузы в time-critical сириус бизнесах вроде межбанка и бирж


Они почти все на джаве. Как то выживают бедняги.

>И ебли чтобы всё это обойти гораздо больше чем на языке без ГЦ навелосипедить stack allocator или pool allocator под свои типы данных.


Велосипедь с богом.
Интерпрайз с удовольствием купит. Я не шучу. Сам работаю в интерпрайзе.
Если у твоего решения будет достойная документация, хороший уровень интеграции с существующим софтом и ты будушь осуществлять поддержку и обучение, твой аналог Hadoop или Kassandra будет просто нарасхват.
Ту же монгу в интерпрайзе применяют довольно активно.
498 1251820
>>51804

> в java нет value type на стеке, поэтому вообще все в java в куче.


Все в джаве в куче? После таких выблядков, даже хочется при скроле нулевой послать тебя нахуй. Читай ебать про stack heap сука.

ушел.
499 1251821
>>51782

>Напоминаю - у жабобляди паузы в 200мс


Такие паузы если только в цикле забивать память.
Моя статистика за месяц:
- Средняя пауза 12,6мс
- 50<=% (Паузы менее 50мс ) 97,8%
500 1251827
>>51794

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


А софт то откуда появится?
Вот выкинет, например, МТС Hadoop и поставит вместо него что?
501 1251853
>>51744
Да вроде норм, разве что отформатировать бы поаккуратнее, ну и неплохо было бы на архивачи ссылку добавить (а в идеале сделать там тег "rust" и сразу дать ссылку на все треды с этим тегом).
http://arhivachovtj2jrp.onion
http://arhivach.cf/

>>51765
Я и заметил, а ты, очевидно, нет.

>питон -> модуль питона на си -> си


Как там в 80-ых? Ни единого сегфолта, да?

>микросервис на Си будет куда быстрее и приятнее


Лол, ну напиши СТО дропбокса, что долбоебу с двача НЕПРИЯТНО, что они раст используют. Хуею просто с вас смузихлебов.
502 1251855
>>51804

>Кроме того, в java нет value type на стеке, поэтому вообще все в java в куче.


Во дебил. Съеби уже мамин суп есть, видишь тут взрослые дяди разговаривают.
503 1251859
>>51853
(define? поаккуратнее)

Алсо реквестирую пикчей для нового треда.
504 1251877
>>51853

>>питон -> модуль питона на си -> си


>Как там в 80-ых? Ни единого сегфолта, да?


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

>чому? поясни с примерами если не сложно


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

Вроде ничего не забыл
506 1251891
>>51890
Спешите видеть — человек который знает о си только из рассказов анонов с двача.
image.png192 Кб, 1174x936
507 1251906
>>51890

>си прост как палка


нууу хууй знаает

>контролишь каждый байт и каждую операцию


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

>шустрые либы


блакбокс, но таки да, приятно когда они входят в мой питон

>натертый до блеска, компилятор


а шланг все равно быстрее, 30 гиговый уеч собирается за 40 минут и хуй все ложили что там после

>реально быстрый код


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

>>51891
кек
508 1251974
>>51891

>Пукнуть, вместо контраргументов, бесценно

509 1252002
>>51906

>image.png


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

Если ты про goto, то все честно, он в пределах функции.

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


Речь шла в контексте этих моих слов:

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


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

>блакбокс


я говорю про си

>собирается


я говорю про способность компилятора в оптимизацию

>который тебе на диване ничем не может, 50мс или 250мс


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

>раскраску синтаксиса


не гони, кажи лучше еп

>читается довольно легко


тебе и кекс коды норм будет ~_~

>никогда всерьез не ставит в пример


ойвсё
511 1252042
>>52032

>Пук

512 1252167
>>52002

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


У тебя ещё слишком сильна вера в человечество. Высокочастотного трейдинга на Крестах не хотите ли? А биткоин процессинга на НодеЖС?
513 1252205
>>52167
А что не так с высокочастотным трейдингом на крестах?
514 1252242
>>52205
Бизнес-логика (буквально) на сложном, низкоуровневом, ебанутом языке же. Например, Knight Capital Group в 2012 из-за "computer glitch" потеряли до 440M USD (хотя потом называли цифры в 200). Говорят, баблосы сжигались со скоростью аж 10M USD в минуту. И похеру, что там вроде не язык виноват, а задеплоили что-то не то. С таким же успехом их могли подставить Кресты, как двадцать лет подставляют Мелкомягких, например. Поэтому в некоторых областях код здорового человека должен быть написан не на убогом C++, а на взрослом SPARK с формальной верификацией, блеать
image.png3,3 Мб, 2922x1966
515 1252406
>>52167
Там уже на жабаскрипке полноценную ос написали, а ты все в байтики еб..шься
https://www.reddit.com/r/programming/comments/99pbva/windows_95_running_on_macos_linux_and_windows/
516 1252482
>>52242
Ты меня не убедил. Про верификацию согласен, но на чем ты выражаешь верифицированный код уже второе дело, хоть и не тривиальное иногда. Ты еще на языках с гц предложи ядро писать.
517 1252556
>>52482
Смотри канонический пример, из статьи "A Guide to Undefined Behavior in C and C++", на чистом C:

>static void __devexit agnx_pci_remove (struct pci_dev pdev)


>{


> struct ieee80211_hw dev = pci_get_drvdata(pdev);


> struct agnx_priv *priv = dev->priv;


>


> if (!dev) return;


>


> ... do stuff using dev ...


>}



Ну и как, сильно очевидно, почему код упадёт? А чем ты этот код верифицируешь, название инструмента скажи?
518 1252598
>>52482
Ну и конечно я представляю себе приключения типичного смузихлеба Евгения в суровом эмбеддеде:
- Не сумел математически доказать, что целочисленная переменная var никогда не выйдет за предел [min, max] - у легкомоторного самолёта поршни в двигателе прошли мёртвую точку без зажигания, он потерял тягу на взлете и рухнул;
- Не сумел доказать, что булевы переменные a, b, c меняются строго по заданным в техзадании законам от времени, давления и температуры - сверхмощный воздушный компрессор сработал при закрытых заслонках и всосал техника Михаила в баллон;
- Не осилил потери точности в арифметике с плавающей запятой, проебал тепловой разгон цистерны с перекисью водорода - от рабочей смены химзавода остались отбеленные скелеты.
519 1252612
>>52598
И какой язык программирования тогда лучше всего подходит?
520 1252640
>>52556
Лол, любым статическим анализатором. Разыменовывание перед проверкой на null скоро borland c научится подсказывать.
521 1252642
>>52598
Этот твой опус нахуй тут вообще? Еще раз к вопросу – чем C++ тебе мешает математически доказывать твои потуги? IEEE754 не поддерживает?
522 1252644
>>52640
Перечитал еще раз твой пример. Это что там вообще такое? struct-> без указателя? И эти if return; Пиздец, иди общую практику кодирование осваивай. Очевидно почему упадет код – он написан макакой с гранатой!
523 1252650
>>52612
Из относительно знакомых рядовому программисту - упомянутый выше SPARK. Других, чтобы ещё применялись в промышленности, я просто не знаю. Если только на какой-нибудь АЛГОЛ дремучий напялили верификатор. Но это такая редкость... На заводах вообще вся серьезная автоматизация на визуальных языках для промышленных контроллеров, там идея, что нужно хотя бы знать про память/кучу/стек наткнется на непонимание - зачем такие сложности? Что вам, 100 тысяч ячеек десятизначных десятичных чисел мало? =/

Собсна, я к чему это всё: выбор инструмента определяется задачами, а задачи у среднего программиста такие жалкие, что выёбываться ими просто стыдно. Так что. Жаба хороша для муторного бюрократизированного корпоративного кода; Кресты хороши для опасного хитровыебанного кода; Ржавый хорош для несложного надежного кода. Но когда придет инженер, от работы которого зависит, не рухнет ли авиалайнер с 400 пассажирами, или не станет ли Москва вторым Бхопалом, лучше поберечь самооценку и обращаться к нему со всем уважением =)

>>52640

>Лол, любым статическим анализатором. Разыменовывание перед проверкой на null


У тебя половина Линукса тогда подсветится - это неискоренимое наследство времён C89, когда удобно писать хотелось, а переменные все равно надо было объявлять в начале, такие моменты просто нужно знать и учитывать. Ну, пока ядро на Расте не перепишут.
524 1252653
>>52650
Объявление != инициализация. Опять таки – объяви переменную где хочень, сделай if без else и любой анализатор скажет тебе что ты долбоеб и пожел быстро закрывать вариант где управление не проходит test clause if блока. При чем тут C89 и linux? Это как базовая грамота.
525 1252662
>>52642

> чем C++ тебе мешает математически доказывать твои потуги?


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

>>52644

> Очевидно почему упадет код – он написан макакой с гранатой!


А может быть и тобой, когда ты был невыспавшийся или в депрессии. Или твоим предшественником, ушедшим на повышение. Или Торвальдсом, который точно знает, что в используемом им компиляторе этот код не опасен.
526 1252775
>>49480

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



твои знания goвна устарели
https://www.opennet.ru/opennews/art.shtml?num=49183
527 1252794
>>52642

>-4 % 24


удачи
528 1253174
>>52794
И что ты там математически доказываешь если не смог запомнить область определения аргумента операции деления с остатком?
213213213.png89 Кб, 476x1968
529 1253502
а рустик клевый, пакетный манагер доставляет:
и нафиг не надо самому руками эхту всю срань из зависимостей собирать
530 1253506
Так, ну шо, котоны, я перекатываю или где?
531 1253548
>>53502
Только начал вкатываться в ИТ?
image.png85 Кб, 404x310
532 1253576
>>53174
чего блядь? что ты несешь нахуй, сука не зли меня блядь
533 1253591
>>53548
да не, обычный средний плюсовик, как под виндой собрать надо что-то, сразу либо в собраном виде искать, либо через cmake самому собирать, если скрипт под данную либу есть. А когда кроссплатформ нужен, збс веселье.
534 1253708
>>53591
Go возьми, там вендоринг завезли в 1.11
535 1253885
>>53506
Перекатывай уже
Тред утонул или удален.
Это копия, сохраненная 6 октября 2018 года.

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

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