[Ответить в тред] Ответить в тред



<<
Назад | Вниз | Каталог | Обновить тред | Автообновление
536 | 36 | 136

Rust #3 /rust/ Аноним 13/07/18 Птн 11:02:55  1227127  
1*ERpR-FIYs0xRo[...].png (235Кб, 2000x1119)
sl12.jpg (87Кб, 1680x1227)
28c41642a3c8d44[...].jpg (228Кб, 1552x873)
62425235053.jpg (117Кб, 750x422)
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)
Аноним 13/07/18 Птн 11:23:04  1227131
В чём его преимущество и недостатки перед Си?
Аноним 13/07/18 Птн 11:26:34  1227132
абстракции с нулевой стоимостью
семантика перемещения
гарантированная безопасность памяти
потоки без гонок данных
обобщение через типажи
сопоставление с образцом
вывод типов
маленькая среда исполнения
эффективный FFI

Аноним 13/07/18 Птн 11:38:18  1227135
>>1227132
>потоки без гонок данных
ето как?
Аноним 13/07/18 Птн 11:40:53  1227136
>>1227135
https://doc.rust-lang.org/nomicon/races.html
Аноним 13/07/18 Птн 11:42:18  1227137
>>1227136
на русском плиз
и я не знаю, что такое многопотчность, ты слишком сложный пример дал
Аноним 13/07/18 Птн 11:47:55  1227139
>>1227137
Если ты не знаешь что такое многопоточность, то думать про гонки тебе еще очень рано.
Аноним 13/07/18 Птн 13:32:04  1227166
>>1227137
Кыш блять
Аноним 13/07/18 Птн 15:34:56  1227280
>>1227127 (OP)
>github.com
Аноним 14/07/18 Суб 22:16:42  1228343
С первого взгляда на примеры кода на Rust синтаксис кажется каким-то ебнутым и нечитаем, в сравнении с С.
Аноним 14/07/18 Суб 22:18:01  1228345
>>1228343
http://c-faq.com/decl/spiral.anderson.html
Да что ты говоришь?
Аноним 14/07/18 Суб 22:28:25  1228353
>>1228345
Прости, я совсем не понял смысл того, что ты приложил этот линк.
Возможно это из-за того, что я длительное время программирую на С/С++ и потому мне все эти вещи кажутся логичными и сами собой разумеющимися. Но, ИМХО, взглянув поверхностно на листинг кода С ты сразу поймёшь что он делает.
Аноним 14/07/18 Суб 22:37:03  1228360
>>1228353
Да ты что?
Ну ка, взгляни поверхностно вот сюда и расскажи что тут происходит: https://github.com/gcc-mirror/gcc/blob/master/liboffloadmic/runtime/offload_target.cpp#L157
Аноним 14/07/18 Суб 22:43:56  1228366
>>1228360
Так и думал, что такая хуйня начнётся. Но ставил на то, что ты вытянешь что-нибудь из линуксового ядра. Само собой, чтобы понимать что делает, надо будет изучать контекст. Не хочу тратить на это своё время.

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

>>1228370
Да, реализацию быстрой сортировки на хаскеле видел и в две строчке. Можешь считать меня отбитым, но для понимания алгоритма мне ближе будет код на С. И мы ведь обо всём об этом говорим в рамках системного программирования, потому что С для чего-то большего вряд ли уже нужен.
Аноним 14/07/18 Суб 23:06:17  1228383
>>1228373
Ты путаешь жопу с пальцем.
Что хаскель, что раст позволяют описывать именно алгоритм, потому что в этом можно сказать вся суть функционального подхода. В случае с сишкой ты просто чуть более удобно пишешь инструкции для проца о том как байты гонять туда сюда.
Аноним 15/07/18 Вск 06:03:55  1228476
>Rust - невероятно быстрый язык
По сравнению с питоном?

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

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

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

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

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

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

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

>эффективный FFI
Да вполне обычный.

Аноним 15/07/18 Вск 09:23:22  1228494
Как написать веб-приложение (бек + фронт) на расте.
https://medium.com/@saschagrunert/a-web-application-completely-in-rust-6f6bdb6c4471
Аноним 15/07/18 Вск 09:46:25  1228499
>>1227127 (OP)
Какой смысл делать unsafe-мод в языке, если это нарушает безопасность? Почему нельзя сделать unsafe-мод безопасным?
Аноним 15/07/18 Вск 09:47:30  1228501
.jpg (70Кб, 465x528)
>>1228494
Ёбаный пиздец.
Аноним 15/07/18 Вск 09:48:03  1228502
>>1228499
Просто не используй unsafe.
Аноним 15/07/18 Вск 09:48:33  1228503
>>1228502
Хорошо, а почему нельзя сделать unsafe безопасным?
Аноним 15/07/18 Вск 09:52:23  1228505
>>1228503
Что значит сделать безопасным? unsafe просто отключает некоторые проверки конпелятора, а значит и гарантии безопасности, которые эти проверки и дают. Он не делает автоматом код небезопасным, безопасность зависит от программиста.
Аноним 15/07/18 Вск 09:53:22  1228507
>>1228505
>unsafe просто отключает некоторые проверки конпелятора
А вот нахуя их отключать, чтобы писать низкоуровневые вещи?
Аноним 15/07/18 Вск 10:58:36  1228516
>>1228507
Нужно конкретные случаи смотреть.
Аноним 15/07/18 Вск 12:12:51  1228541
>>1228507
Компилятор не всегда может понять что код безопасный. unsafe означает не "небезопасный", а то что безопасность кода гарантируется программистом.
Аноним 15/07/18 Вск 12:33:13  1228553
>>1228541
>Компилятор не всегда может понять что код безопасный
Ну так сделайте компилятор нормальный, хуле.
Иначе какой смысл этого языка, кроме того, что он еще не такой перегруженный как кресты
Аноним 15/07/18 Вск 12:47:26  1228558
>>1228553
> Ну так сделайте компилятор нормальный, хуле.
Это невозможно, поскольку подобная безопасность зачастую условлена особенностями операционной системы, сторонних библиотек или даже процессора. Например программируя для микроконтроллера, ты можешь знать, что работать определённым образом с областью памяти по адресу X безопасно, но компилятор-то об это не знает. Потому ты и используешь unsafe-блок.
Аноним 15/07/18 Вск 12:49:44  1228561
>>1228558
>невозможно
Значит нужно переписать все с нуля, используя только 100% безопасные способы.
Аноним 15/07/18 Вск 12:56:41  1228570
>>1228561
Это уже к производителя процессоров/операционных систем.
Аноним 15/07/18 Вск 13:07:04  1228581
>>1228476
> его разработчики считают что например такая вещь как утечка памяти, это довольно безопасно.
Пруф?
Аноним 15/07/18 Вск 13:08:44  1228583
>>1228581
http://huonw.github.io/blog/2016/04/memory-leaks-are-memory-safe/
Аноним 15/07/18 Вск 13:21:19  1228594
>>1228507
http://huonw.github.io/blog/2014/07/what-does-rusts-unsafe-mean/
Аноним 15/07/18 Вск 13:41:40  1228606
>>1228594
>2014
Принципиально не читаю то, что было написано более года назад. Неси другой пруф
Аноним 15/07/18 Вск 14:08:31  1228619
>>1228606
Пруф?
Аноним 15/07/18 Вск 18:10:52  1228787
>>1228583
>currently working on the Swift team at Apple

То Хоар, то этот. Там что, всю наиболее толковую растовскую команду яблочники скупили, чтобы работать над конкурирующим языком программирования? Тогда неудивительно, что раст перестал серьёзно развиваться.
Аноним 15/07/18 Вск 18:33:27  1228801
>>1228787
Еще Слава тоже у них работает, реально крутая команда. Не понимаю, почему они до сих пор не пытаются захватить рынок языков. Свифт действительно неплохая попытка натянуть нормальный язык на привычное говнарям си-подобное говно.

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

Алсо, раст - это скорее конкурент го, шарпу, джаве и в некоторых случаях рубипитонам. Оба они конечно конкурируют с крестами, но на самом деле отлично ужились бы вместе, у них немного разные ниши.
Аноним 15/07/18 Вск 18:34:53  1228802
>>1228787
Да и к тому же он был VOLUNTEER, ну то есть просто слал патчи видимо, в самой команде его не было.
Аноним 15/07/18 Вск 18:44:33  1228805
Почему у него такой ебанутый синтаксис? Читаю примеры кода и еле-еле понимаю его: https://github.com/rust-lang/rust/blob/master/src/test/run-pass/weird-exprs.rs
Аноним 15/07/18 Вск 20:05:28  1228831
>>1228805
Тебя не смущает название файла?
Да, люди ебанутые и иногда пишут странную хуйню, и этот тест проверят что странная хуйня работает как надо.

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

Есть конкретные вопросы, типа "почему фича X использует такой синтаксис, а не такой"?
Аноним 15/07/18 Вск 21:39:36  1228895
>>1228831
У лиспов как раз дзен-синтаксис, идеально простой и понятный, никаких "weird exprs", объясняется даже ребенку за минуту.

Но вопрос >>1228805-анона и вправду странный.
Аноним 15/07/18 Вск 23:19:31  1228960
>>1228831
Идрис это же пару стпелочек для хипстеров, что там понимать в синтаксисе?
Аноним 16/07/18 Пнд 11:38:03  1229130
В общем ОП-хуй нехило так обосрался, несите старого.
Аноним 17/07/18 Втр 09:44:40  1229708
>>1228476
> Быстрый
Да, быстрый
> unsafe
В си у тебя segfault может выпасть непонятно когда и где
В расте достаточно отдебажить unsafe куски чтобы они правильно исполняли "контракт"
> Влияют на память
Вообще не ебет, по памяти до программ на джаве ещё далеко, а по времени они действительно с нулевой или околонулевой стоимостью, в некоторых местах лучше си. Кстати чтобы на си написать как на расте нужно изъебнуться, а на расте как на си почти без проблем.
> Семантика перемещения
В расте она нативная и более эффективная и понятная, чем в крестах
> Утечки
Их уж поменьше чем в си где каждая библиотека предлагает по-своему очищать память и это точно безопаснее чем дважды юзнуть free. И вообще сам язык заставляет думать о том что пишешь, а не о том куда бы байтик перегнать
> Маленькая среда исполнения
По сравнению с почти любыми языками
> Вывод типов
Уж получше чем void
Аноним 17/07/18 Втр 09:48:44  1229711
>>1229708
void\\
Не ебу как тут эскейпить, кароч если что там две звёздочки возле void
Аноним 17/07/18 Втр 17:27:32  1229975
>>1229708
Мне кажется что все, кто думает "зачем нам другие языки, на сишке же все то же самое только быстрее работает" просто никогда не писали ничего сложнее laba1.cpp
Аноним 18/07/18 Срд 00:14:55  1230203
>>1227127 (OP)
>Rust — невероятно быстрый язык

Где адекватные бенчмарки, которые это подтверждают?
Аноним 18/07/18 Срд 01:20:29  1230215
>>1230203
https://benchmarksgame-team.pages.debian.net/benchmarksgame/faster/rust.html

в среднем быстрее си
Аноним 18/07/18 Срд 01:35:52  1230219
>>1230215
Как что-то может быть быстрее си? Он же "самый низкоуровневый из всех высокоуровневых"
мимо иду в свой питонотред
Аноним 18/07/18 Срд 02:08:10  1230234
Какие русскоязычные растовские форумы сейчас наиболее популярны? С удивлением обнаружилось, что на cyberforum.ru до сих пор нет растовского раздела.
Аноним 18/07/18 Срд 02:32:16  1230240
>>1230219
Лол, да я просто накидываю. В первых двух бенчмарках он там быстрее си. Ну видимо компилятор более эффективно накомпилял, бывает. Так-то они все примерно на одном уровне конечно, ну и синтетические бенчмарки - это конечно сферический такой показатель.

А вообще, низкоуровневый\высокоуровневый не значит быстрый\медленный, ортогональные вещи.
Аноним 18/07/18 Срд 02:32:35  1230241
>>1230234
Попробуй https://2ch.hk/pr/
Аноним 19/07/18 Чтв 03:15:56  1230771
>>1227131
>В чём его преимущество и недостатки перед Си?
В начале книги сказано http://shop.oreilly.com/product/0636920040385.do
Аноним 19/07/18 Чтв 14:52:31  1231039
ssJMT30.png (317Кб, 2560x1440)
>>1227127 (OP)
Няшнота-то какая!
Аноним 19/07/18 Чтв 17:24:44  1231156
yFV3s1vM.png (447Кб, 512x512)
>>1231039
> строки длиннее 80ти символов
> няшнота
Аноним 19/07/18 Чтв 17:28:29  1231159
>>1231156
Я на 100 всегда ставлю. 80 слишком мало. Ну и отступы - 2 пробела.
Аноним 19/07/18 Чтв 20:22:40  1231248
>>1231039
Погоди, а если твоя функция возвращает Result, то зачем ты везде пишешь unwrap, если можно писать ? и потом уже чекать ошибку
Аноним 19/07/18 Чтв 20:40:48  1231255
IAMhackerMAN.jpg (112Кб, 500x500)
>>1229708

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

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

>В расте достаточно отдебажить unsafe куски чтобы они правильно исполняли "контракт"
В С/C++ можно наделать абстракций, а куски отладить.

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

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

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

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

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

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

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

>Уж получше чем void
Ты видишь что я пишу вообще, лол? Ты блять с Сишкой чтоль говоришь? Она блять не живая, ты конечно можешь но зачем цитировать куски моих фраз? А void это отличная штука.
Аноним 19/07/18 Чтв 20:43:55  1231257
>>1231039
Полный пиздец, любой файл из Mojolicious (а оно на Perl, который считается нечитабельным), будет читабельнее и красивее.
Аноним 19/07/18 Чтв 20:59:46  1231263
>>1231257
>>1231156
>>1231248
Блядь, я вообще-то про имакс и вм, скрин на реддите нашел, бггг.
Аноним 19/07/18 Чтв 21:04:26  1231269
>>1231263
Так еще бля лучше, вм и емакс еще хуже! Во первых в баре бесполезные кружки вместо циферок у воркспейсов, во вторых надписи и иконки не выравненны по вертикали, в третьих тень налазит на панель, а должно быть наоборот, в четвертых хуево все видно, хули одноцветно? В пятых хули внизу не выравненно у емакса выделение? В шестых меня заебало, ну хуйня же, хз что тебе понравилось тут, ну если допилить нис будет, мне тож нравилось пока на превьюшку смотрел.
Аноним 19/07/18 Чтв 21:51:14  1231289
>>1231269
>бесполезные кружки вместо циферок у воркспейсов
Я не представляю, каким аутистом надо быть, чтобы циферки были полезны. Вот нахуя тебе циферки?

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

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

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

>хули внизу не выравненно у емакса выделение
Вот это кстати реально параша, на юникодных символах его так распидорашивает. Но я так понимаю чтобы это решить надо перепиливать все шрифты, это не имаксовая проблема.
Аноним 19/07/18 Чтв 21:51:31  1231290
>>1231269
А, ну и
>мне тож нравилось пока на превьюшку смотрел.
:3
Аноним 19/07/18 Чтв 23:54:54  1231348
>>1227127 (OP)
>пик2
А можно мне тоже самое, но без двоеточий?
Аноним 19/07/18 Чтв 23:56:33  1231350
>>1231348
Можно. Просто импортируешь нужные объекты и все.
Аноним 20/07/18 Птн 00:09:31  1231356
>>1231289
>Я не представляю, каким аутистом надо быть, чтобы циферки были полезны. Вот нахуя тебе циферки?
Нахуя кружки, убирай их, пора бы уже запоминать где ты окна открываешь, аутист склерозный

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

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

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

>>1231290
Чмокаю в щечку но кулак летит в почку
Аноним 20/07/18 Птн 00:17:11  1231359
>>1231350
Ну так и чего ж не импортировали?
Аноним 20/07/18 Птн 00:34:05  1231364
>>1231255
Нахуя ты сравниваешь с питоном, если раст быстрее даже большинства компилируемых языков, типа haskell, swift, go? Компилятор генерирует почти тот же код что и сишный, весь твой "оверхед" и "рантайм" это проверка границ массива и unwind, ну и да, компилятор пока что не так хорош как gcc. В бенчмарках раст иногда оказывается быстрее. А в реальной жизни разница будет минимальна, если не в пользу раста за счёт удобных абстракций. let b = a.into_iter().map().filter().map().filter(), и иди ебись хотя бы с этим на си.
А насчёт move-семантики в c++, там нельзя перемещать сам объект, только вызывать move-конструктор или использовать ссылку, по сути это оверхед.
Аноним 20/07/18 Птн 03:13:54  1231398
>>1231364
>типа haskell, swift, go?
Блять, ебать у тебя компилируемые языки, аххаха, сука, я аж проиграл. Они не сильно далеко от интерпретируемых, питон тоже компилировать можно, и яву.

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

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

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

>и иди ебись хотя бы с этим на си
type_t b = filter(map(into_iter(a)));
Че, без точки не мыслишь уже? Я уверен такая хуита нужна только потому что раст ограничивает мышление подобной хуитой, а в сишке такое не нужно будет и решится одним циклом. Видел долбаеба недавно которому нужно было из сишки исключения кидать в виде heap-allocated строк, ну не дебил ли? Можно было просто enum из кодов заебашить, хуйня эти ваши абстракции, в математику идите с ними и там ебитесь.
Аноним 20/07/18 Птн 03:52:07  1231404
>>1231398
Что-то я погуглил и не нашел нормальной либы которая мне сделает filter(map(iter())) как в расте, дак ещё и без выведения типов тебе придется void f(void) юзать, но оно же тебе не нужно и в c++ auto просто так добавили.
Ты можешь писать как хочешь.
Пишут на си, что-то пишут на расте. Приведи пример твоего компилируемого языка не из 20 века как си и фортран, с чем ты хочешь сравнивать. Кроме крестов.
Аноним 20/07/18 Птн 04:05:06  1231407
>>1231404
Ебучие звёздочки
Аноним 20/07/18 Птн 04:06:45  1231408
>>1231404
>дак ещё и без выведения типов тебе придется void f(void) юзать
От ебанутый, ты понимаешь что Си это язык с широкими возможностями? Он блять примитивен но это не такая ограниченная параша как раст.

>Ты можешь писать как хочешь.
Уебывайте на вашей лодке капитан

>Пишут на си, что-то пишут на расте.
А че там нормального на расте пишут?

>не из 20 века
Ахаха, обидно что твой язычок 21 века унижает сишка из 60х? Пиздец, а давай наоборот, давай сравним первый компилятор сишки, и компилятор раста из 60х годов, ну епта, показывай исходники, будем собирать под эмулятором PDP-11.
Аноним 20/07/18 Птн 04:07:18  1231409
>>1231407
Ды я смысл и так понял, даже не обратил внимание
Аноним 20/07/18 Птн 04:14:49  1231413
>>1231408
Кароче давай я до вечера пятницы придумаю задачку
Что-нибудь на матрицы
На выходных или сколько тебе нужно времени напишешь на си
Погоняем тесты и бенчмарки, сравним количество кода
Аноним 20/07/18 Птн 04:30:20  1231415
>>1231413
Ды мне пиздец влом, еслиб я знал фортран и матан то матрицы бы с тобой порешал, а так лучше в каэсочку поиграю
Аноним 20/07/18 Птн 04:36:40  1231416
>>1231415
> Фортран
Ну а представь что ты не лабу профессору пишешь, а видеоигру или бизнес-логику
У нас как-то была лаба - написать сетевой чатик, только чтоб нормально работал, т.е. треды там, поллы, шифрование поверх tcp. Так вот писать на C это боль.
Аноним 20/07/18 Птн 04:43:08  1231417
>>1231416
Фортран бест язык для матриц же, интель его пиздец как оптимизирует. Лабу я никогда не писал так как школу не заканчивал даж.

Писал борду на сишке, мне понравилось, разве что не смог подобрать нормальную либу для шаблонизатора и въебал lua, так как лень чет было.
Аноним 20/07/18 Птн 07:11:40  1231432
>>1231408
>Си это язык с широкими возможностями

Тогда почему за последние 10 лет на этом языке не появилось ни одного нового крупного проекта?
Аноним 20/07/18 Птн 07:32:06  1231433
>>1231432
>ни одного нового крупного проекта?
все современные проекты ориентированны на маркетинг, там нет технологий
Аноним 20/07/18 Птн 11:12:14  1231561
>>1231416
>Ну а представь что ты не лабу профессору пишешь, а видеоигру

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

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

То я вдумчиво изучаю требуемой конфигурации 1с предприятие и пытаюсь понять, нужно ли изобретать велосипед.
Аноним 20/07/18 Птн 12:53:03  1231597
>>1231398
>Хошь в моих бенчмарках си будет быстрее всегда?
А хочешь в моих бенчах всегда быстрее будет раст?
Аноним 20/07/18 Птн 13:25:05  1231613
>>1231433
Технологии есть. В любом случае, людям не хочется начинать новый крупный проект на небезопасном языке, с которым большую часть времени придётся тратить на исправление багов вместо развития.
Аноним 20/07/18 Птн 15:32:35  1231690
>>1231432
gtk, python, tarantool, да куча всего, смысл перечислять.

>>1231597
На клык хочешь?
Аноним 20/07/18 Птн 16:28:03  1231738
>>1231690
>gtk, python, tarantool, да куча всего, смысл перечислять.

Перечисленные тобой проекты появились более 10 лет назад. Перечитай ещё раз вопрос.
Аноним 20/07/18 Птн 16:45:52  1231745
Можете пояснить за unsafe? Захотелось мне потыкать Раст, решил сделать простенькую тулзу, которая взаимодействует с Xorg, но оказалось, что все взаимодействия с иксами приходится делать внутри unsafe. Это я делаю что-то не так или на практике unsafe используется в расте постоянно? Читал где-то, что unsafe вообще был введен для внутренних нужд языка и его использование в обычной жизни - это очень плохая идея
Аноним 20/07/18 Птн 16:49:08  1231750
>>1231745
Ну вообще все вызовы через FFI считаются unsafe. Сделай свои safe-абстракции над функциями xorg'а и работай с ними.
Аноним 20/07/18 Птн 16:51:06  1231753
>>1231738
gtk3 - 2011, python3 - 2008, tarantool - 2008. Да хуй знает, я новым ничем не пользуюсь, ну разве что uTox какой нить, но он не особо крупный.
Аноним 20/07/18 Птн 17:40:15  1231780
>>1231753
> gtk3 - 2011, python3 - 2008,
Ты бы ещё минорные версии указал.
Аноним 20/07/18 Птн 17:40:47  1231782
>>1231753
>gtk3 - 2011, python3 - 2008
Речь о новых проектах, а не о новой мажорной версии старого проекта.
>tarantool - 2008
А месяц? 10 уже стукнуло.
>uTox какой нить, но он не особо крупный
Соглашусь.
Аноним 20/07/18 Птн 17:44:38  1231789
>>1231356
>Нахуя кружки, убирай их
Эм, у меня нет никаких кружков. Ты в порядке? Цепочку постов перечитай, аутист склерозный.

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

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

>Нет блять, я хочу чтоб текст можно было читать
Дислексия во взрослом возрасте не лечится, анончик, уже поздно.
Аноним 20/07/18 Птн 17:46:59  1231793
>>1231398
>хуйня эти ваши абстракции
Лол, байтоеб сферический, в вакууме.
Аноним 20/07/18 Птн 17:50:03  1231796
trixie.png (25Кб, 111x165)
>>1231415
>>напишешь на си
>Ды мне пиздец влом
>>1231417
>школу не заканчивал даж
>въебал lua, так как лень чет было

История жизни байтоеба сферического, в вакууме.
Аноним 20/07/18 Птн 18:22:00  1231824
>>1231690
>На клык хочешь?
Так ты хуйню какую-то пишешь. Раст сопоставим с С, судя по бенчам там разницы около 3-7%, где между ними. Если хочешь это опровергнуть, то напиши свои бенчи и скинь исходники в тред, что бы аноны могли оценить насколько ты оптимально их написал. Или уползай под шконарь сразу.
Аноним 21/07/18 Суб 03:20:45  1232116
>>1231782
gtk3 полностью переписали же, питон хз.

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

>>1231789
>Эм, у меня нет никаких кружков
Я про твой анальный кружок

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

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

>>1231796
А ты прям полон сил? Ну давай пиши тесты, потом будем оптимизировать версии.
Аноним 21/07/18 Суб 03:28:21  1232117
>>1232116
Можно написать быстрее
Вот только сколько ты будешь ебаться с кодом чтобы достичь того же уровня производительности и функционала
Аноним 21/07/18 Суб 03:32:28  1232118
>>1232117
>того же уровня производительности
Ты ебанутый? Выше растеры сами пишут что раст кое где обгоняет сишку, по случайности написанного кода.
Аноним 21/07/18 Суб 03:33:33  1232119
>>1232118
Ты блять уже пишешь будто сишка интерпретируемая хуйня с которой надо ебаться чтоб к расту приблизиться.
Аноним 21/07/18 Суб 08:55:27  1232146
>>1232116
>gtk3 полностью переписали же
Во-первых, это не так. Во-вторых, даже если бы было так, то многие проекты в процессе своего развития переписывались до неузнаваемости по сравнению с изначальной версией (Initial release), но это не делает их новыми.
Аноним 21/07/18 Суб 09:19:36  1232152
>>1232146
Ну могли бы и язык сменить, поломали ж совместимость, я больше про это. Ну похуй, забей.
Аноним 21/07/18 Суб 09:49:21  1232154
>>1231432
Сам спросил, сам отвечу:

wayland
Initial release: 30 September 2008

systemd
Initial release: 30 March 2010

Аноним 21/07/18 Суб 16:10:34  1232277
>>1232116
>Ага, а Java обгоняет С++ на некоторых тестах, а хесель быстрее С на некоторых тестах, а питон.. ну такого я еще не слышал.
Дурик, а джава у вас без гц идет что ли, что бы её с сями сравнивать?

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

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

Раст это безопасные кресты, постепенно приближающиеся к С. При этом, на самом С крупный проект сделать не реально.
Аноним 21/07/18 Суб 17:56:27  1232384
Screenpart.PNG (4Кб, 335x192)
>>1232277
>Раст это безопасные кресты, постепенно приближающиеся к С
Еще бы с такими-то требованиями, лол. Попробуй погонять свои тесты на машине не первой свежести, может вся разница и вылезет. Хуею с этих индусов.
мимо
Аноним 21/07/18 Суб 18:58:17  1232423
>>1232384
Это стандартное современное железо. Пруфы гони, что на старом железе хуже работать будет.
Аноним 21/07/18 Суб 19:58:52  1232487
>>1232277
>джава у вас без гц идет что ли, что бы её с сями сравнивать?
А раст у нас без оверхеда? Ты че сука тролишь? Да ди нахуй чмошник, в рот тя ебал
в расте еще ща напишут абстракций хуже питона будет

>Вот тебе пруфы из реального мира.
>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.
Аноним 22/07/18 Вск 00:04:58  1232614
Написал небольшую хуйню, которая должна будет работать на моем сервере, но когда пытаюсь запустить бинарник на нем, мне выдает `/lib64/libc.so.6: version `GLIBC_2.18' not found`. Я понимаю, что проблема в том, что на моей пекарне стоит версия новее чем на сервере, и нужно при компиляции указать версию glibc, которую нужно использовать, но как это сделать я в гугле не нашел. Или может быть можно как-то статично сликовать нужную версию?

И еще один вопрос, какого хуя программа на ~50 строк уже весит 5мб? Из зависимостей есть только bufstream. Релиз версия билда весит столько же.
Аноним 22/07/18 Вск 00:56:15  1232642
>>1227127 (OP)
Есть теоретическая задача написать игровой движок уровня UE4, так вопрос в том, почему на Rust лучше/хуже писать чем на С/С++, каковы преимущества/недостатки Rust в этом проекте вы видите, например как скорость разработки, подверженность непонятным багам, скорость выполнения инструкций, многопоточность и т.д?
Мне реально интересно и хочется узнать ваше мнение.
Аноним 22/07/18 Вск 00:59:56  1232643
1532210400071.jpg (79Кб, 800x450)
>>1232614
> программа на ~50 строк уже весит 5мб
Аноним 22/07/18 Вск 02:08:05  1232651
>>1232642
Ты будешь писать и поддерживать его один, потому-что никто больше не знает Раст. Никому он нахуй так же будет не нужен, т.к. никто не знает Раст.
Аноним 22/07/18 Вск 02:20:20  1232653
>>1232651
> Никому он нахуй так же будет не нужен, т.к. никто не знает Раст
Тот же юнити на цпп, а сами игоры на шарпе/жс.
Аноним 22/07/18 Вск 06:15:08  1232689
Ржавчина — memory-safe, значит она гарантирует, что ни один используемый объект не будет случайно удален. Однако, memory leaks are memory-safe, значит нет гарантий удаления неиспользуемых объектов. Как эта проблема решается?
В няшной все просто — если ты точно знаешь, что пришло время освободить память, то делаешь free и не ломаешь голову.
А как тут быть, если используешь какой-нибудь RefCell, а он затупил и начал течь?
Аноним 22/07/18 Вск 07:01:35  1232694
>>1232689
RefCell сам по себе не затупит и течь не начнёт. Memory leaks в safe Rust возможны, только если ты наделаешь циклических ссылок в Rc/Arc или сделаешь mem::forget. Ещё один вариант - это если ты проебёшься с FFI, но это уже unsafe.
Аноним 22/07/18 Вск 09:42:40  1232723
>>1232643
Напишите в шапку раз это такая платина. Ну и проблема с glibc никуда не делась, а эта проблема была первостепенной для меня.
Аноним 22/07/18 Вск 10:15:48  1232727
>>1232723
>Напишите в шапку раз это такая платина

Для Go, где тоже толстые бинарники, так и сделали https://2ch.hk/pr/res/1159767.html
Аноним 22/07/18 Вск 13:10:26  1232787
>>1232642
Лучше на C или С++, так как для них куча библиотек, и куча документации к этим библиотекам, и все вопросы давно решены.

Плюсы раста, ну пожалуй в cargo, иии ну хз, мб если те язык больше нравится, то еще это.
Аноним 22/07/18 Вск 14:25:12  1232837
>>1232642
>игровой движок уровня UE4

Задай себе вопрос: через сколько лет он устареет?
Мне кажется, что Rust лучше выбирать для долгоживущих проектов.
Аноним 22/07/18 Вск 16:59:52  1232996
>>1232837
>через сколько лет он устареет?
Что значит устареет?
Аноним 22/07/18 Вск 21:51:34  1233196
>>1232996
Это тот момент, когда движок придётся практически полностью переписывать для соответствия современным реалиям. Если ты не планируешь этого делать, то можешь обойтись и без раста.
Аноним 22/07/18 Вск 22:34:25  1233211
>>1233196
Мне кажется это уже не будет проблемой языка. Проблема раста (по крайней мере для гейдева), что там
1) только совсем недавно появились средства для работы с SIMD и они ещё не до конца оптимизированы.
2) совсем нет аналога constexpr из C++. Появится только ближе к концу года.
3) совсем нет инлайн ассемблера. Даже интрисиков.

Но макросы там - это конечно вещь. С ними даже рефлексию можно замутить (так например работает serde - библиотека для (де)сериализации).
Аноним 22/07/18 Вск 22:48:30  1233219
>>1233211
>совсем нет аналога constexpr
Разве макросы не покрывают это?
Аноним 22/07/18 Вск 22:53:14  1233226
>>1233219
Частично. Можно использовать билд-скрипты (которые тоже пишутся на расте), но это уже скорее выглядит как костыль. Да и с организацией кода будут проблемы.
Аноним 23/07/18 Пнд 22:54:47  1233803
>>1233219
Еще есть lazy_static
Аноним 23/07/18 Пнд 22:58:16  1233808
>>1233803
static и const это совсем разные вещи.
Аноним 23/07/18 Пнд 23:01:48  1233811
>>1233808
Что интересного делают через constexpr на крестах?
Аноним 23/07/18 Пнд 23:03:12  1233813
>>1233811
Некоторые и игори полностью на них писали: https://jguegant.github.io//jguegant.github.io/blogs/tech/meta-crush-saga.html
Аноним 23/07/18 Пнд 23:05:54  1233818
>>1233813
По ссылкам не ходи. Можно пример ИТТ?
Аноним 23/07/18 Пнд 23:09:01  1233822
.png (37Кб, 960x540)
>>1233818
Это простой блог на гитхабе, там даже js не нужен. Он просто генерировал игру, которая в зависимости от действий пользователя выдаёт определённый файл с состоянием игры, написанным на C++. Затем файл инклюдится в проект и игра компилируется вновь с учётом этого состояния. Затем бинарник снова запускается и цикл игры продолжается.
Аноним 23/07/18 Пнд 23:10:19  1233823
>>1233822
> файл с состоянием игры, написанным на C++
Впрочем конкретно там не C++, а просто строка с символами, которую в компил-тайме разбирают constexpr функции.
Аноним 23/07/18 Пнд 23:25:52  1233844
>>1233822
Это все классно и замечательно. Но можно не хитровыебанный пример?
Аноним 24/07/18 Втр 01:16:39  1233871
>>1233822
Что только люди не делают, лишь бы лисп не изучать. ну реально, это же пиздец как уродливо
Аноним 24/07/18 Втр 04:39:31  1233914
>>1233813
А примеры реального применения то есть?
Аноним 24/07/18 Втр 08:59:52  1233977
>>1232837
>Задай себе вопрос: через сколько лет он устареет?

С 1999 только молодеет - выкинули UnrealScript, прикрутили блюпринты, грофон стабильно увеличивают.
Аноним 24/07/18 Втр 09:01:39  1233978
>>1233977

С 98, тащемта, в 99 унрил дурнамент уже вышел.
Аноним 24/07/18 Втр 09:09:14  1233983
>>1233196
>Это тот момент, когда движок придётся практически полностью переписывать для соответствия современным реалиям.

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

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

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

https://github.com/KeenSoftwareHouse/SpaceEngineers


Аноним 24/07/18 Втр 09:19:15  1233986
>>1232837
>Мне кажется, что Rust лучше выбирать для долгоживущих проектов.

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

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

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

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

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

> Photoshop
> Задай себе вопрос: через сколько лет он устареет?
> Мне кажется, что Rust лучше выбирать для долгоживущих проектов.
Аноним 24/07/18 Втр 09:23:57  1233991
>>1233986
>Открою тебе секрет - игры пишут не программисты. Максимум - это штат скрипт кодерков, максимум пара байтоёбов, спешащих на помощь, когда дело касается профайлинга и оптимизации и всё. На 90% игра делается силами сценаристов, художников, геймдизайнеров, моделлеров, музыкантов итд.

Исключение - именитые студии, которые либо внутренние студии сони и майкрософта, которым нужно пилить "лицо платформы", либо пацанчики - пионеры графония. Там да, байтоебов уже чуток побольше, потому что готового еще не изобрели.
Аноним 24/07/18 Втр 17:10:16  1234224
> Game studio Ready At Dawn switching to Rust for all new development
https://twitter.com/AndreaPessino/status/1021532074153394176
Аноним 24/07/18 Втр 21:21:00  1234343
>>1234224
https://twitter.com/andreapessino/status/625009717580992513
Суровый чувачок!
Аноним 24/07/18 Втр 22:30:10  1234385
>>1233983
>кстати, сколько их там было, убийц крестов за все эти годы с выхода Unreal
Два (сисярп и ди).
Аноним 25/07/18 Срд 08:28:30  1234531
>>1232487
>А раст у нас без оверхеда? Ты че сука тролишь? Да ди нахуй чмошник, в рот тя ебал
>в расте еще ща напишут абстракций хуже питона будет
Ты совсем долбоёб сравнивать оверхед в виде дополнительных проверок и оверхед в виде гц? Не, ну точно же долбоёб. В расте благодаря его проверкам можно сделат оптимизации компилятора, на которые пока что положен болт. Раст вполне сможет со временем перегнать С, а вот джава никогда.

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

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

>сколько строк в windows/linux.
А еще давай посчитаем сколько человекочасов это заняло. садись два


Аноним 25/07/18 Срд 09:21:13  1234536
>>1234531
>Ты совсем долбоёб сравнивать
Де я сравниваю хуйло ты ебаное? Иди нахуй чмошник, мать твоя шлюха сегодня хуем подавится

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

>Он 5 секунд слил только в 1 тесте.
А я писал что во всех? Не, знаешь что, иди ты нахуй
Аноним 25/07/18 Срд 10:10:22  1234552
>>1234536
>КУДАХ БАБАХ КУКАРЕКУ
Ох уж эти школьники.
Аноним 25/07/18 Срд 12:00:26  1234599
>>1234536
>Де я сравниваю хуйло ты ебаное? Иди нахуй чмошник, мать твоя шлюха сегодня хуем подавится
Так ты же кукарекашь, мол у раста ОВЕРХЕД, и он НАМНОГО медленнее С. Увы, реальность ссыт тебе в глаза, где раст не только на равне с С но и имеет потенциал стать быстрее.

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


>По ссылке раст почти везде сливает, даже и по 5 секунд.
>Значительно сливает только в 1
>КУКАРЕКУ! А я писал что во всех?
Ясно все с тобой.

Аноним 25/07/18 Срд 12:27:14  1234616
>>1233991
А ещё студиям может быть выгодно тем, что:
1) Софт на расте сложнее взломать.
2) Даже если исходники доступны, то конкурентам сложнее будет скопипастить код, ибо для этого придётся сначала вникнуть в новый язык.
Аноним 25/07/18 Срд 14:51:08  1234693
>>1234616
>1) Софт на расте сложнее взломать.
Принцип неуловимого Джо?
>2) Даже если исходники доступны, то конкурентам сложнее будет скопипастить код, ибо для этого придётся сначала вникнуть в новый язык.
Вы пропустили драму с WestWorld / Fallout Shelter?
Что бы сделать "новую" игру достаточно жпеги заменить и всего делов то.
Аноним 25/07/18 Срд 15:11:41  1234700
>>1234616
>Софт на расте сложнее взломать.

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

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

> то конкурентам сложнее
> ААА-студии

Порву шаблоны - они друг с другом и наработками делятся и помогают в проектах. И годноту регулярно на GDC и Siggraph выкладывают. Нет у них конкурентов, тупо по причине денег, которых у других нет, чтобы делать подобные проекты. Это в мелком софтонаебизнесе возня и ворование "laba1.cpp" друг у друга, у крупных ребят уже всё это давно пройдено.
Аноним 25/07/18 Срд 15:39:19  1234713
>>1232384
>Обсуждение языка программирования Rust.
>Выложил системные требования одноименной игры.
>Мама, смотри, я троллю /pr.
Аноним 25/07/18 Срд 16:54:28  1234751
>>1234531
> оверхед в виде дополнительных проверок
Что за проверки?
Аноним 25/07/18 Срд 20:05:54  1234884
>>1234552
>Сейчас напишу дяденьке что он школьник, вдруг ему будет так же обидно как и мне!

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

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

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

Аноним 25/07/18 Срд 21:11:31  1234918
>>1234751
>Что за проверки?
Выхода за границы array например.
Аноним 25/07/18 Срд 21:17:39  1234921
>>1234343
>Суровый чувачок!
Ряяяя, программисты должны не поднимать ничего тяжелее ложки, и по 18 часов в день сидеть за монитором.
Аноним 25/07/18 Срд 21:26:32  1234925
>>1234343
> Основатель игровой студии
> Выглядит как орк третьего уровня с INT = 2.5
> Самая известная игра студии - говнокинцо The Order: 1886
> Обвинил во всех проблемах C++ и собирается переходит на Rust
Все сходится.
Аноним 26/07/18 Чтв 08:09:01  1235167
>>1234884
> блять конечно медленнее
Настолько медленнее, что они практическим одинаковы. Одно с легкостью заменяется другим без каких либо дробеков.
>>1234884
>Жава быстрее, я в тестах видел, иногда обгоняет плюсы!
Нет дурич, разрабы компилятора раста говорили что в нем возможны оптимизации, которые в С невозможны.

>Хуйло безглазое, прочитай еще раз, я сказал что раст сливает и по 5 секунд
Даун еще раз, значительно сливает он только в 1 тесте. Во всех остальных на равне.
Аноним 26/07/18 Чтв 08:46:32  1235184
>>1235167
>Во всех остальных на равне.
Ты че уебок, каждый может зайти и посмотреть как твой раст хуяст сливает сишке, усе иди нахуй даже такому чмошнику отвечать не буду, нахуй нужно.
Аноним 26/07/18 Чтв 09:52:46  1235207
изображение.png (258Кб, 1280x3146)
>>1235184
>каждый может зайти и посмотреть
Почему ты не сделало скрин, школобыдло?
Аноним 26/07/18 Чтв 10:01:05  1235214
>>1234921
Программист-бодибилдер — редкое явление.
Но, видимо, он уже сам не программирует, а только руководит программистами.
Аноним 26/07/18 Чтв 12:50:55  1235307
>>1234918
А еще какие например?
Аноним 26/07/18 Чтв 12:57:21  1235310
>>1235307
Смысл проверок в расте заключается в том, что во-первых они явные, а во вторых компилятор не даст тебе забить хуй на их обработку без unsafe:
https://play.rust-lang.org/?gist=77e39f7df2fa278650a11783359a4acf&version=stable&mode=debug&edition=2015
Аноним 26/07/18 Чтв 13:00:04  1235311
>>1235310
Некоторые проверки можно перенести из компил-тайма в рантайм. Тот же RefCell позволяет обойти borrow-checker и все проверки времени жизни переменной проводятся во время выполнения программы.
Аноним 26/07/18 Чтв 13:03:53  1235314
>>1235311
И это тоже.

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

Если прокладка между монитором и креслом считает себя настолько умной и не совершающей ошибок, то конечно можно дальше писать на сишке. Лично я хочу чтобы либо компилятор проверял за меня большую часть вещей (раст, хаскель, ...), либо чтобы стратегия обработки ошибок была построена так, что вообще похуй что сломается (эрланг).
Аноним 26/07/18 Чтв 13:20:13  1235326
>>1235314
>в половине тестов в 1.5 раза медленнее
>хуй целых пизда десятых
Школьник, ты?
Аноним 26/07/18 Чтв 13:25:39  1235333
>>1235326
Мне эти >>1235207 тесты вообще кажутся странным. Вот если бы Си конпелировался при помощи clang+llvm, то сравнение было бы честным. А то возможно вся разница в пирформансе исходит из разницы между машинным кодом, который генерит llvm и gcc.
Аноним 26/07/18 Чтв 13:30:24  1235338
>>1235333
>пирформансе
Точно ты.
Аноним 26/07/18 Чтв 13:31:41  1235339
>>1235338
Да я я я. Что я?
Аноним 26/07/18 Чтв 13:37:52  1235341
>>1235326
>в половине тестов в 1.5 раза медленнее
Ну и где эта половина? Ты даже считать не научился, а лезешь за низкоуровневые языки тереть.
Аноним 26/07/18 Чтв 13:41:03  1235342
>>1235339
>>1235341
>эти школоманявры
Ясно.
Аноним 26/07/18 Чтв 13:42:42  1235343
>>1235342
От того что ты называешь собеседника школьником, сам умнее не становишься.
Аноним 26/07/18 Чтв 13:48:05  1235346
>>1235343
>эти характерные школофразы
Понятно.
Аноним 26/07/18 Чтв 13:49:25  1235348
>>1235346
Если не перекроешь каждый пост тебя что, мамка не похвалит. Давай, назови меня ещё раз школьником. На большее у тебя ума не хватит.
Аноним 26/07/18 Чтв 13:53:01  1235351
Стикер (0Кб, 512x512)
>>1235348
>этот проход в мамки
Ясно.
Понятно.
Аноним 26/07/18 Чтв 13:54:26  1235353
>>1235351
Слабовато. Плохо обзываешься, негодно. Ну же, постарайся ещё раз.
Аноним 26/07/18 Чтв 14:04:38  1235359
Стикер (0Кб, 512x512)
>>1235353
>обзываешься
Ох уж эти школьники.
Аноним 26/07/18 Чтв 14:07:04  1235363
>>1235359
Во, умничка. Ещё и боевую картинку прикрепил. Родина гордится тобой.
Аноним 26/07/18 Чтв 14:16:19  1235371
15302709921670.jpg (94Кб, 440x550)
Окей, разговор идет за перформанс, рассказывайте конкретные юзкейсы из настоящих проектов которыми вы занимались, и где вы столкнулись с проблемами производительности и как вы их решали.
Аноним 26/07/18 Чтв 14:20:05  1235373
Стикер (0Кб, 512x512)
>>1235363
>Родина гордится тобой.
АТО
Аноним 26/07/18 Чтв 14:48:04  1235389
>>1235371
Нет никаких проблем с производительностью. Есть требования делать сразу 100k rps.
Аноним 26/07/18 Чтв 14:51:14  1235391
>>1235389
>100k rps.
Это много?
Аноним 26/07/18 Чтв 15:03:40  1235397
>>1235342
Все, ты уползти решил? Ну ладно, мой тебе совет быть более гибким. Язык не понацея, а инструмент, если он устарел, то его стоит закопать и перейти на более совершенные технологии.
Аноним 26/07/18 Чтв 15:05:35  1235399
>>1235397
>понацея
Школьники, школьники never change.
Аноним 26/07/18 Чтв 15:07:18  1235400
>>1235399
Спс, что поправил мою орфографию. Хотя это и очевидная очепятка.
Аноним 26/07/18 Чтв 15:09:17  1235401
Стикер (0Кб, 512x512)
>>1235400
>эти школооправдания
As expected.
Аноним 26/07/18 Чтв 15:12:38  1235403
>>1235401
Ну не траль плз..
Аноним 26/07/18 Чтв 15:15:08  1235408
>>1235403
>плз..
Обожаю плачущих школьников - вы такие няши :3
Аноним 26/07/18 Чтв 15:16:34  1235412
>>1235391
Да.
Аноним 26/07/18 Чтв 15:17:17  1235415
>>1235412
Соболезную.
Аноним 26/07/18 Чтв 16:22:15  1235476
Мод, забань этих кукарек уже, развели срач ни о чем.

Свежих новостей вам в ленту:
https://this-week-in-rust.org/blog/2018/07/24/this-week-in-rust-244/

Аноним 26/07/18 Чтв 17:30:49  1235523
>>1235476
- >>1234944 (OP)
Аноним 26/07/18 Чтв 17:34:28  1235526
>>1235333
А то что там для Си несколько реализаций отличающихся в производительности в несколько раз тебя не смутило. Тестирование на алгоритме длиной в пару сотен строк - так себе показатель.
Аноним 26/07/18 Чтв 19:34:29  1235644
2 года опыта работы в джаве, приглядываюсь к расту
думаю, через 2-3 года перекачусь в раст на удалёнку. как раз вакансий побольше будет
Аноним 26/07/18 Чтв 19:38:56  1235653
>>1235644
Не перекатишься. Rust используют не для написания говна для GC, на нем пишут системный код, а он нихуя не твоя Java, извини. Вангую перекатишься в Go. Как раз и вакансий побольше будет.
Аноним 26/07/18 Чтв 19:39:52  1235657
>>1235415
Ну уже немного больше получилось. 100к в худшем случае. В среднем 500k rps.
Аноним 26/07/18 Чтв 19:51:24  1235684
>>1235653
ты правда думаешь, что я не понимаю различий раста и джавы и областей их применения? мне и хочется писать системный код, вот что опять за школьная дикриминация по языкам?
Аноним 26/07/18 Чтв 19:58:51  1235690
>>1235684
Ты понимаешь насколько это ортогонально написанию веба? Если да, то вперде – увлекательный мир аллокаторов, ассемблерных инструкций и дрочьбы на архитектуры.
Аноним 26/07/18 Чтв 20:00:05  1235692
>>1235653
>Как раз и вакансий побольше будет.
Если смотреть на динамику сегодня, то через 2-3 года на делфи вакансий будет больше, чем на го
Аноним 26/07/18 Чтв 20:33:52  1235749
>>1235207
Ахах, блять я говорил что отвечать не буду, но ахаха, пиздец какой то, вон раст сливает везде, хули тебе еще надо? Мдаа
Аноним 26/07/18 Чтв 20:38:35  1235757
>>1235333
Так блин, в этом и суть, будут же выбирать инструмент где все лучше, гцц например а не шланг, заметь там еще и оптимизации, и march=native. Какой смысл тестировать просто код?
Аноним 27/07/18 Птн 07:44:32  1235974
Думал заюзать WASM, а там бинарник с regex под 700 кб со всеми оптимизациями. При этом каждый бинарник грузится по 1с и больше. Похуй, пойду дальше ебаться с жс.
Аноним 27/07/18 Птн 16:41:21  1236330
>>1235974
Не извращайся, а попробуй скомпилить регексы как программу под dos/4g с вводом-выводом через консоль и запускать в бровзере на dosbox под emscripten. Рад был помочь, если что.

А если серьезно, то маленькие бинарники возможны только без стандартной библиотеки, и то будешь избегать полиморфизма и трейтов, страдая хуже крестьянина.
Аноним 28/07/18 Суб 04:54:06  1236619
>>1236330
Как раз обычный бинарник с итераторами и всякими функциями из std довольно мало весит, это все regex. Идея была написать лексер+парсер (переписать с перла), но чет перехотелось.
Аноним 28/07/18 Суб 16:26:46  1236812
>>1236619
Растовское довольно мало - это для фронтэнда вообще-то запретительное дохуя:
>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 с кучей атрибутов в помощь оптимизатору там какой-то галимый байт-код уровня курсача в заборостроительном вузе.
Аноним 28/07/18 Суб 18:06:19  1236847
>>1236812
Я через wasm-gc прогонял, там около 150 КБ было на несложную программу.
Насчёт компиляции хуй знает, по идее должно же быть быстрее того же asm.js, для того он и создавался вроде.
Ну и ни о каком полиморфизме речь не шла, у меня был юзкейс прогнать бинарные данные и заюзать пару структур данных, но видимо проблема в крейтах, не особо оптимизированных в плане размера экзешника, а писать самому долго выйдет.
Си для этого видимо лучше подходит.
Аноним 28/07/18 Суб 18:28:03  1236857
>>1236847
Да, я глянул на получившийся код, там действительно 150кб и наберется, остальное - что-то похожее на таблицу символов (которую debuginfo должен был убрать, не?). Такой объем уже вполне вписывается в типичный (больной ожирением) сайт. Но все же от хеллоуворлда я ожидал примерно вдесятеро меньшего объема =(

Про asmjs я так понял, что он даже напрямую, без специального рантайма, в ближайшее время будет иногда обгонять wasm, т.к. в обычный движок js просто вбухано куда больше бабла.
Аноним 28/07/18 Суб 18:43:40  1236860
> Такой объем уже вполне вписывается в типичный (больной ожирением) сайт.
Суть в том, что JS использует regex-парсер встроенный в движок браузера, а код на wasm тащит свой собственный. Как вариант можно использовать ffi, но тогда толку от wasm не будет. И да, переход на си тут погоды не сделает, ведь регекс парсер на си тоже будет весить дохуя.

Вообще сейчас wasm - это оочень узкоспециализированная хуёвина. Вот когда добавят как минимум API для прямого доступа к DOM, тогда уже и можно весть хоть какую-то речь о замене js.
Аноним 28/07/18 Суб 20:26:02  1236901
>>1236860
Ну, можно подковать блоху и сделать свой компилятор регулярок сразу в код, работающий со стандартными типами. А еще можно варить свою сталь и ковать свои гвозди, чувствуя себя первопроходцем :) А так, даже API ждать не надо - все разумные кейсы (состоящие в использовании нативного кода в вебе) уже покрыты с достаточным удобством и эффективностью emscripten-ом, я сам года три назад писал бота для игры, отгадывая примитивные капчи tesseract-ом под js, а еще раньше играл в демку на unreal engine. Шарить код между клиентом и сервером заманчиво, но на практике не получается - из применений такого подхода в продакшене я знаю только фреймворк meteor, и он неудобное тормознутое говно. Короче, даже доведи мазила его до совершенства, wasm не особо нужен.
Аноним 28/07/18 Суб 22:31:20  1236980
>>1236901
> сделать свой компилятор регулярок сразу в код, работающий со стандартными типами
На расте такой кстати был. И размер у него был обычно больше чем у простого парсера, поскольку размер зависит от количества регулярок и пропорционально увеличивается.
> emscripten-ом
Ну, wasm это его дальнейшее развитие. В движке Firefox, например, и emscripten, и wasm выполняет один компилятор. Отличаются только парсеры.
Аноним 28/07/18 Суб 23:14:56  1237024
>>1236980
> И размер у него был обычно больше чем у простого парсера
Ну, размер уже от прямоты рук зависит. Большинство регулярок можно заменить парой строк кода, так что раздуть ими код еще надо постараться. А если увязать регулярки с системой типов, то можно, например, сразу парсить числа в int-ы и проверять вменяемость регулярок на этапе компиляции.

>В движке Firefox, например, и emscripten, и wasm выполняет один компилятор.
Ты, наверное, asmjs имеешь ввиду. В прошлом году была статься от мазилы, называлась "why webassembly is faster than asm js", там про движок не было, зато указывалось, что wasm быстрее asmjs в среднем на 5%, но при этом парсится быстрее "на порядок". Если учесть, насколько прожорливее за последние десять лет стали браузеры, меня такие цифры не впечатляют совсем, особенно учитывая отсутствие поддержки wasm старыми браузерами. Так что мне мазила со своим хайпом про wasm очень сильно напоминает Тома Сойера и его забор.
Аноним 29/07/18 Вск 12:27:53  1237177
На каком языке программирования вы в основном писали код перед тем как перешли на rust?
Аноним 29/07/18 Вск 13:13:33  1237190
>>1237177
Петон.
Аноним 29/07/18 Вск 22:01:49  1237453
>>1237177
Си и питон
Аноним 30/07/18 Пнд 14:41:37  1237688
>>1237177
Haskell
Аноним 30/07/18 Пнд 15:50:05  1237731
>>1237177
С++/Python
На Rust еще не перешел, но планирую частично перекатиться.
Аноним 30/07/18 Пнд 17:30:52  1237763
>>1237177
Ассемблер, Си, Паскаль, Питон
Аноним 30/07/18 Пнд 17:46:21  1237769
>>1237190
>>1237453
>>1237763
Как вам, в сравнении с Си и питоном?
Аноним 30/07/18 Пнд 20:21:42  1237840
Коре девелоперы там не хотят нормальную IDE запилить на расте для раста?
Аноним 30/07/18 Пнд 21:47:16  1237938
>>1237769
Пока Раст уступает Сишечке только в работе с интринсиками (simd и т.п.), ядрёными низкоуровневыми деталями типа выравнивания в структурах и простоте создания компиляторов. В остальном всё намного лучше: безопасная работа с памятью; высокоуровневый код с околонулевой стоимостью абстракций (напр. можно сделать целую цепочку из filter/fold/map над итераторами и она часто будет по скорости 1 в 1 как написанный на циклах вручную код); единая система сборки с менеджером зависимостей, позволяющая в большинстве случаев сделать git clone/cargo build и сразу получить рабочий бинарник; продуманная модульная система, позволяющая с самого начала писать код в виде независимых модулей, которые потом можно вынести в отдельных крейт, не меняя кода; хорошая поддержка пространств имен, позволяющая реэкспорт для создания нескольких версий интерфейсов (т.е. можно делать API v1/v2/v3, ссылающийся на одни и те же реализации методов).

По сравнению с Петоном: менеджер зависимостей гораздо удобнее (не надо загаживать систему всякими site и прочей поеобтой); система типов гораздо сложнее и иногда (в начале изучения - очень даже часто) требует перепахивать непродуманный код, но при этом помогает ловить ошибки, избавляя от необходимости тривиальных модульных тестов; полная статическая компиляция, избавляющая от идиотии с опечатками в именах переменных; Юникод поддерживается в виде utf8 и не ебет мозги с ошибками перекодировки, всплывающими в рантайме. Из минусов - это все-таки компилируемый язык, и быстро накатать программку в двадцать строк не получится, придется расшаркиваться с указанием зависимостей и т.п.
Аноним 30/07/18 Пнд 21:54:38  1237944
>>1237938
Раст также как и си написан на ассемблере?
Аноним 30/07/18 Пнд 22:16:23  1237960
>>1237840
RLS пилят.
Аноним 30/07/18 Пнд 22:18:13  1237965
1532978295800.jpg (57Кб, 1024x576)
>>1237944
Аноним 30/07/18 Пнд 22:27:34  1237969
>>1237938
> только в работе с интринсиками
Активно добавляют. И то, и другое. В ночнушке уже даже интрисики для cortex-m появились, такие же как и в Си - ARM C Language Extensions, он же ACLE.
> выравнивания в структурах
Уже давно есть.
[repr(C)] - для совместимости с Си.
[repr(align(..))] - для выравнивания.

Кстати, по-умолчанию (т.е. в структурах где не указано [repr(C)]) раст перемещает внутренности, чтобы они занимали меньше всего места.
Аноним 30/07/18 Пнд 22:33:08  1237970
>>1237938
> идиотии с опечатками в именах переменных
Зато есть идиотия с неявным перекрытием переменных. Т.е. когда пишешь.

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

С их любовью к явности могли бы и добавить какой-нибудь кейворд для явного перекрытия.
Аноним 30/07/18 Пнд 22:49:12  1237975
>>1237938
Годно расписал, анон, сохрани на пастебин для будущей шапки!
Аноним 30/07/18 Пнд 22:50:58  1237977
>>1237970
>let foo = 1;
>...
>let foo = 2;
Я конечно дико извиняюсь, но что здесь неявного? Это довольно часто используется (не только в расте, вообще во всех языках с лексическим скоупом), так что добавлять по умолчанию варнинг для таких вещей было бы не очень удобно, имхо. Может линтеры спасут отца русской демократии?
Аноним 30/07/18 Пнд 22:55:26  1237979
>>1237969
Да, интринсики делают, но в rust 2018 оно не попало, к сожалению. Насчет элайнмента я имел ввиду более сложные случаи (см. статью "Unsafe Zig is Safer than Unsafe Rust") - такое легко получается, если писать кодеки и архиваторы.

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

>>1237970
А я бы сказал, что это даже удобно: если ты не курильщик, у тебя методы все равно помещаются на экране, так что можно делать "let num = "4.2e1"; let num = num.parse::<i64>();" и не плодить новые имена. Язык все равно не позволит тебе читать неиспользуемую переменную, так что мало разницы, есть перед приваиванием let или нет.
Аноним 30/07/18 Пнд 22:56:06  1237980
>>1237977
> Я конечно дико извиняюсь, но что здесь неявного?
Именно то, что компилятор перекрывает переменную, при этом неважно хочешь ли ты этого или нет. Ещё веселее начинается, когда пишешь что-то вроде

let foo = ...
...
{
...
let foo = ...
...
}
...
> Может линтеры спасут отца русской демократии?
Спасут, но сама фича кажется достаточно вредной. Забавно, кто-то недавно создавал тред на реддите с критикой этой же фичи, так растофанаты сразу назвали его "плохим программистом", а необходимость этой фичи оправдывали тем, что им лень придумывать имена для переменных.
Аноним 30/07/18 Пнд 22:58:55  1237981
>>1237979
> Еще огорчение вызывает отсутствие фиксированного ABI
Это у всех низкоуровневых языков такая хуйня, в том числе у С/С++. Просто последние релизятся реже.
Аноним 30/07/18 Пнд 23:11:46  1237992
>>1237981
Как раз C это пример фиксированного ABI, учитывая, что все остальные языки его используют, чтобы договариваться между собой. У D он тоже фиксированный, у C++ он фиксированный в пределах одного вендора. Это ведь не так сложно, на самом деле - определить правила построения имен символов и документировать таблицы типов и виртуальных методов. В определенных пределах можно поддерживать даже трейты с шаблонами, заменив мономорфизацию (т.е. подстановку кода) на непрямой вызов методов трейтов и шаблонов через указатели. И это НУЖНО, т.к. пока даже систему плагинов в приложении сделать нельзя без написания интерфейса в стиле C.
Аноним 30/07/18 Пнд 23:35:20  1238000
>>1237938
Спасибо за развёрнутый ответ.
Аноним 30/07/18 Пнд 23:37:05  1238001
>>1237980
>неважно хочешь ли ты этого или нет
В смысле? Раз ты явно создаешь другую переменную с тем же именем, значит ты явно хочешь перекрыть предыдущий биндинг. Так lexical scope работает.

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

>Спасут, но сама фича кажется достаточно вредной.
Ну мне было бы неприятно, например, срефакторить кусок кода из одного места в отдельную функцию и внезапно обнаружить, что он не компилится потому что где-то в области видимости есть какая-то другая переменная с тем же именем. Это как бы нарушает лексический скоуп, глобальное состояние начинает влиять на твой конкретный кусок кода. Теперь нельзя просто написать let foo = 42 - надо перед этим проверить всю программу на отсутствие "foo" в том же скоупе. Это же пиздец. Глобальное состояние - это плох. Все должно быть локальным по максимуму.
Аноним 30/07/18 Пнд 23:37:55  1238002
14315047902312.jpg (21Кб, 349x356)
>>1237992
>у C++ он фиксированный
>в пределах одного вендора
Аноним 30/07/18 Пнд 23:41:18  1238005
>>1238002
Ага, и в пределах версии конпелятора. В линуксмирке пакетный менеджер скачает нужный редист, а в винде обычно либо вместе с программой распространяют библиотеки, либо установщик нужной версии редиста.
>>1238001
> Раз ты явно создаешь другую переменную с тем же именем
Я могу случайно создать переменную с тем же именем. Никакой явности тут нет.
Аноним 30/07/18 Пнд 23:49:55  1238009
>>1238002
Да, признаю, тупанул - микрософт разбаловал меня!

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

>>1238005
Когда-то кто-то сделал такой же аргумент про присваивания, хлопнул дверью и ушел придумывать функциональное программирование. Ведь ты уже сказал, что var1 = 1, а теперь говоришь, что var1 = 2, ты что, вруша?
Аноним 30/07/18 Пнд 23:53:01  1238012
>>1238009
> Ведь ты уже сказал, что var1 = 1, а теперь говоришь, что var1 = 2, ты что, вруша?
Т.е. вся твоя аргументация по сути представляет из себя
> ебланы, пишущие не помещающиеся на экране методы
Ты прям как те реддитохомячки, у тебя тоже все вокруг - неправильные программисты.
Аноним 30/07/18 Пнд 23:55:13  1238014
>>1238009
> микрософт разбаловал меня!
Выпуском редистов каждые два года (этьо если не считать сервис паки к ним)? Ну-ну.
Аноним 31/07/18 Втр 00:09:57  1238023
>>1238005
>Я могу случайно создать переменную с тем же именем.
А еще ты можешь случайно запустить ядерные ракеты по Калифорнии. В чем проблема-то, але? Если ты создашь другой биндинг с тем же именем, то в этом биндинге будет ровно то, что ты в него положил. Потому что ты его как бы создал. Явно. Если ты при этом по тому же имени хочешь одновременно обращаться еще и к глобальному биндингу, то у тебя шизофрения. ЯВНАЯ

>>1238009
>ебланы, пишущие не помещающиеся на экране методы, и без этого найдут способ прострелить себе ногу.
this
Аноним 31/07/18 Втр 00:13:48  1238025
>>1238012
Нет, я не иду на принцип, а просто не вижу разницы между "let хуемое = 1" и "хуемое = 1" в контексте возможности прострелить себе ногу. Если б я считал себя д'Артаньяном, я бы обитал в C++-треде и славил искусство боя этим благородным обоюдоострым клинком без рукояти.

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

>>1238014
Строго говоря говоря, меняется стандартная библиотека, а структура vtbl и схема именования живет уже лет двадцать. Но да, совместимость получается в пределах версии, признаю ошибку. MS обещает совместимость только для C (а GCC, бородатая пидорасина, её нарушает, когда из функции возвращаются struct-ы).
Аноним 31/07/18 Втр 05:22:12  1238096
Так, пацаны. C++ разроботчег хир. Хочу вкотиться в ваш язык, но вакансий пока не вижу. Как думаете, лет через 5 появится?

Аноним 31/07/18 Втр 10:11:31  1238146
С чего лучше с нуля начать: с Си или сразу Rust?
Аноним 31/07/18 Втр 10:16:24  1238150
>>1238096
Если умеешь в раст и говоришь по английски, кидай линк на гитхаб, мы хайрим на раст.
Аноним 31/07/18 Втр 11:02:16  1238176
>>1238146
Я думаю что лучше начать с Си, на нём же изучить структуры данных и алгоритмы.
Аноним 31/07/18 Втр 11:06:49  1238179
>>1238176
Не слушай упоротого. Хочешь изучать алгоритмы, учи хаскель.
Аноним 31/07/18 Втр 11:21:29  1238191
>>1238179
>Haskell
И кто более упоротый? Или моё мнение об этом языке ошибочно?
Аноним 31/07/18 Втр 11:25:37  1238196
>>1238191
Конечно ошибочно. Если ты хочешь изучать алгоритмы, а не еблю с байтами, то хаскель это лучший выбор.
Оставь написание оптимизированной версии квиксорта бородатым дядям. Во-первых большая часть нужного уже написана, а во-вторых есл ипрограммирование тебе нужно как прикладной навык, то тебе ни разу в жизни не придется писать сортировку вручную.
Аноним 31/07/18 Втр 12:32:17  1238220
>>1237938
>Пока Раст уступает Сишечке только в работе с интринсиками (simd и т.п.), ядрёными низкоуровневыми деталями типа выравнивания в структурах и простоте создания компиляторов.

Лично я не пользуюсь растом из-за отсутствия нужных мне библиотек. На Си я сейчас могу написать нужное быстрее, так как там уже есть готовые библиотеки, которые проверены временем и хорошо документированы.
Аноним 31/07/18 Втр 13:32:17  1238237
>>1238220
> отсутствия нужных мне библиотек
Сделай.
Аноним 31/07/18 Втр 13:46:13  1238243
>>1238220
Каких например?
Аноним 31/07/18 Втр 14:00:59  1238252
>>1238196
>прикладной навык
Это. Пожалуй, посмотрю в сторону Haskell, спасибо.
Аноним 31/07/18 Втр 14:27:45  1238272
>>1238146
Для раста ещё нет обучающей литературы, по которой можно начать с нуля. Существующая литература рассчитана на тех, кто уже программирует на другом языке, знает про указатели и т.п. К тому же есть потребность в переписывании сишных библиотек на раст.
Аноним 31/07/18 Втр 14:32:49  1238273
>>1237769
слооожнааа
непаняяятнаааааааааааа
Аноним 31/07/18 Втр 14:47:12  1238284
>>1238272
Жаль.
А я как раз хотел вкатываться в программирование с раста.
Аноним 31/07/18 Втр 14:49:59  1238286
>>1238272
> указатели
Рокетсаенс блядь.
Аноним 31/07/18 Втр 15:34:10  1238314
>>1238220
Ну так Раст - не язык хеллоуворлдов. Пока ты пишешь тонкие обертки над парой-тройкой больших качественных библиотек - всё кажется збс, а потом вдруг обнаруживаешь себя в болоте, где квакают три системы сборки на разных версиях autotools, две cmake (одна из них древнией версии с кучей локальных скриптов), один ядреный makefile на две тысячи строк и дирижирует всем твой хипстерский meson, скрипт сборки которого нифига не похож на милоту из туториала. Это не говоря уже о полной жопе с согласованием типов данных, когда вдруг обнаруживаешь, что какая-то библиотека написана из расчета, что int у тебя unsigned и имеет ширину 32 бита, а выравнивание идет строго по 8 байт. И обнаружишь ты это в рантайме, когда твою софтину хватит segfault из-за срыва стека сразу на выходе из функции. С Растом такой хуйни не бывает - любой вменяемый проект на нем собирается одним и тем же cargo, не привязан к одной архитектуре и добавляется к проекту парой строчек в dependencies.

>>1238286
Рокетсаенс, да. Я вот прочитал статью "Pointers Are Complicated, or: What's in a Byte?", поежился и почувствовал, будто перейдя на Раст увернулся от падающего на меня ведра с помоями.
Аноним 31/07/18 Втр 17:15:28  1238373
>>1238314
>а потом вдруг обнаруживаешь себя в болоте, где квакают три системы сборки на разных версиях autotools, две cmake (одна из них древнией версии с кучей локальных скриптов), один ядреный makefile на две тысячи строк и дирижирует всем твой хипстерский meson

Откуда столько? Почему из репов либы не ставишь?
Аноним 31/07/18 Втр 17:49:13  1238400
>>1238373
Это утрированно, но не так что бы очень. Была одна либа на cmake, два разных проекта на autotools походу разных версий (у них разные аргументы на кросскомпиляцию), один кустарный make-проект, всё это использовалось в проекте на старой версии cmake и я по частям переводил все это на meson, чтобы хоть как-то работало. Репы не использовал потому это должно было кросс-компилироваться под mingw-w64, а у крестовых пакадж-менеджеров (conan, vcpkg, buckaroo) репозитории пусты, как магазины при социализме.
Аноним 01/08/18 Срд 13:22:42  1238887
>>1238146
>>1238179
Сука, ёб твою мать, чувак же ясно написал, что он начинает С НУЛЯ.
Для изучения ОСНОВ ПРОГРАММИРОВАНИЯ нужен Си и Ассемблер, а не Хаскель, блядь.
Аноним 01/08/18 Срд 13:24:02  1238889
>>1238887
Братишь, основы программирования это хаскель и схема. А си и ассемблер это основы байтоебли под конкретное железо.
Аноним 01/08/18 Срд 15:27:48  1238944
>>1238889
Тыскозал? То есть через списки и монадки новичку станет понятно как работает процессор и оперативная память?
Аноним 01/08/18 Срд 15:39:36  1238953
>>1238944
Новичек хочет быть программистов, а не схемотехником.
99% прикладных программистов хуй клали на то как работает ОС, не то что проц.
Если он новичок, пускай учится использьзовать алгоритмы и структуры данных абстрактно, а не думать о пейджфолтах.
Аноним 01/08/18 Срд 15:49:47  1238957
>>1238944
Эх, сейчас бы с помощью си изучать, как работает процессор и память...
Аноним 01/08/18 Срд 17:35:20  1239014
>>1238944
Начинать надо с основ. Ты вот понимаешь как работает молекула? Как ионы и позитроны крутятся на орбитах? Как Глюоны и кварки влияют на свойства проводимости? Нет? Тогда ты хуёвый программист и ничего не поймёшь. Начинай с этого, пото углубляйся в химию фоторезиста, потом изучай процессоры и только потом Ассемблер. А уже после С, С++ и только затем раст. Иначе ты нихуя не поймёшь.
Аноним 01/08/18 Срд 18:04:51  1239038
>>1239014
Не собрал свой процессор - не программист.
Аноним 01/08/18 Срд 18:44:38  1239067
>>1239014
Да ты одинэсник, я посмотрю. Лепишь свои сраные молекулы на мутную каменюку субстрата, и еще все сроки еще просераешь. Настоящий программист потратил день на написание волновых функций - и был свет!

Если по теме, то перед Растом действительно рекомендуется промышленно пососать кактусца, потратив хотя бы полгода на резьбу по говну мамонта в виде легаси проектов на C+, чтобы не возникало вопросов, почему язык такой мнительный и почему нельзя хуяк-хуяк, как в Петоне. В любом случае, Раст в первую очередь низкоуровневый язык, и без хотя бы поверхностного знания крестов в системном программировании делать нечего.
Аноним 01/08/18 Срд 18:51:28  1239070
>>1238196
Однако, Haskell тред не так активен.
Аноним 01/08/18 Срд 20:30:11  1239133
>>1239070
По хаскелю больше книжек для вкатывальщиков, плюс там нет срачей на тему "раст нинужен".
Аноним 01/08/18 Срд 20:40:39  1239146
>>1239067
Не совсем правда. В раст можно вкатываться со стороны хаскеля и пользоваться функциональными абстракциями без байтоебли и unsafe. Для бытовых задач этого за глаза.
Аноним 01/08/18 Срд 20:53:06  1239168
>>1239146
Оно не окупится для бытовых задач - мало библиотек и много кропотливой работы по слежению за переменными, ненужной в языках с GC (и я гадаю, а не должен ли следить за лайфтаймами компилятор). Для mission critical тоже не то, там традиционно рулит spark и формальная верификация. Имхо, основные применения - всякие сетевые сервисы, игры, тяжелый прикладной софт - всё то, где нужны где-то 90% надежности и производительности.
Аноним 01/08/18 Срд 20:57:01  1239177
>>1239168
Я это и имел ввиду под бытовыми задачами. За лайфтаймами и так компилятор следит, не понял что ты хотел сказать.
Аноним 01/08/18 Срд 21:33:30  1239224
>>1239177
Я хотел сказать, что раз уж компилятор делает escape analysis, то он мог бы сам назначать лайфтаймы. Я пока просто не могу из головы придумать ситуацию, когда явное указание лайфтайма убережет меня от ошибки в коде.

Ну и бытовые задачи для большинства из нас, по моему впечатлению - это формочки виндовые шлепать да сайтики настраивать =) Раст привлекает как раз тем, что он позволяет хардкор типа вусмерть оптимизированных библиотек со встроенным jit-ом и метапрограммами, для ширпотреба он overkill.
Аноним 01/08/18 Срд 21:37:18  1239228
>>1239224
> Я хотел сказать, что раз уж компилятор делает escape analysis, то он мог бы сам назначать лайфтаймы.
Ты просто путаешься. Лайфтаймы там нужны не для объектов, а для ссылок. Компилятор не может знать сколько ссылка (т.е. грубо говоря указатель) должен жить.
Аноним 01/08/18 Срд 21:38:29  1239229
>>1239224
fn foo<T>(x: &'a T, y: &'b T) -> T
Компилятор тут не может сам угадать что ты пытаешься сделать.
Аноним 01/08/18 Срд 21:40:19  1239230
>>1239229
>fn foo<T>(x: &'a T, y: &'b T) -> &T
Быстрофикс.
Вообще плюшки типа NLL потихоньку завозят, так что чем дальше в лес, тем умнее уомпилятор.
Аноним 01/08/18 Срд 21:44:26  1239238
И вот например очень прикольное использование лайфтаймов.

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

И, кстати, серде уже так умеет. А время жизни десериализованных структур отслеживается как раз встроенными в раст лайфтаймами. https://serde.rs/lifetimes.html
Аноним 01/08/18 Срд 21:59:04  1239249
>>1239228
>>1239229
Да, извините, я туплю, по другому-то не получается позволить переменной пережить свой скоуп, не используя GC =/ Просто думал терминами функций а-ля C, когда время жизни динамической переменной чаще всего определялось в контексте, где она создана, напр. когда контролы на форме делаются членами класса и прибиваются со всеми потомками в деструкторе. А вот с лямбда-функциями так же не получится :(
Аноним 01/08/18 Срд 22:07:23  1239269
>>1239238
Это называется reference counting, анон (: Я по твоей ссылке сходу понял только что зачем-то простую концепцию присыпали эльфийскими рунами. Но я обязательно разберусь, спасибо за пищу для размышлений.
Аноним 01/08/18 Срд 23:24:17  1239340
>>1239269
> Это называется reference counting, анон
А раст может делать это без счётчика ссылок (точнее счётчик ссылок работает во время компиляции). Тупо отслеживая время жизни переменных и прописывая код уничтожения куда надо.
Аноним 02/08/18 Чтв 00:31:05  1239384
>>1239340
Не говори глупостей. Смотри документацию на std::rc::Rc
Аноним 02/08/18 Чтв 00:35:56  1239385
>>1239384
Ты дурак? Rc (вместе с RefCell) используются как ангалог растовских лайфтаймов и borrow-checker'а в рантайме. А я тебе про компил-тайм говорю.
Аноним 02/08/18 Чтв 00:35:58  1239386
>>1239340
Феерически идиотское решение. Когда в java объясняются immutable strings, как раз такой пример приводят, когда объясняют, что увлекаться ими не стоит. Когда ты что-то парсишь, последнее, что тебе надо - это привязанный, как слон за хобот, исходный жсон - что случится, если ты не копировал результат, а взял его из парсера. Это не говоря уже о том, что таких результатов может быть много, и они могут быть шрапнелью раскиданы по приложению.
Аноним 02/08/18 Чтв 00:37:54  1239387
>>1239386
> Феерически идиотское решение.
Так никто не заставляет. Можно объявить структуру как со слайсами и лайфтаймами, так и с нормальными строками и использовать по надобности.
Аноним 02/08/18 Чтв 00:40:14  1239389
>>1239387
Ну и другой пример: у жсона есть куча строк, но тебе нужна всего одна. Тогда для десериализации делаешь структуру со слайсами, а нужную строку после десериализации копируешь, а оригинальную структуру (с жсон-строкой) удаляешь. Тут уже увеличение перформанса будет сразу видно и никаких подводных камней.
Аноним 02/08/18 Чтв 10:49:23  1239497
>>1239389
То есть это такой способ обойти чекер лайфтаймов, который как раз и защищает от скрытых утечек памяти в этом случае =) И ты в любом случае скорее ограничишь весь кустарный парсинг одним скоупом и возьмешь просто слайсы от данных, а не всю эту тряхомудию. Я могу представить, что мне потребуются указатели внутрь данных, но я в любом случае объединю их в один объект, к его лайфтайму и привяжу данные.
Аноним 02/08/18 Чтв 11:44:48  1239516
>>1239497
> То есть это такой способ обойти чекер лайфтаймов
Дядя, ты дурак. Повторюсь, лайфтаймы используются для ссылок. При копировании с ссылки в новую строку какие там лайфтаймы были у ссылки побоку. У новой строки будет своё время жизни. Вся суть в том, чтобы копировать только одну, нужную строку, вместо копирования КАЖДОЙ строки внутри жсона.
Аноним 02/08/18 Чтв 14:00:06  1239590
>>1239386
> Это не говоря уже о том, что таких результатов может быть много, и они могут быть шрапнелью раскиданы по приложению.
> быть шрапнелью раскиданы по приложению.
Это словарное определение говнокода.
Аноним 02/08/18 Чтв 15:22:46  1239616
>>1239516
Я это знаю. Вся эта херомудия нужна, чтобы грохнуть исходные данные ровно когда исчезнет последняя ссылка внутрь, учитывая, что эта ссылка может быть выведена за пределы скоупа (т.е. обычных & недостаточно), я правильно понимаю?
Аноним 03/08/18 Птн 11:59:58  1240126
34rustytastic.jpg (92Кб, 500x280)
Свежий релиз.
https://blog.rust-lang.org/2018/08/02/Rust-1.28.html
Аноним 07/08/18 Втр 10:34:54  1242420
Что-то давно никто не спрашивал почему hello_world.exe такой жирный и зачем нужен этот ваш раст, когда я и на си левой пяткой пишу без проблем.
Аноним 07/08/18 Втр 20:43:14  1242674
Почему хеллоуворлд на расте такой жирный?
Аноним 07/08/18 Втр 21:27:12  1242697
>>1242674
Двачую, я на си пишу, все умещается в 64 килобайта и НИ ЕДИНОГО СЕГФОЛТА
Аноним 08/08/18 Срд 13:59:30  1243006
>>1242697
>64 килобайта

Это слишком много для си.
Аноним 08/08/18 Срд 14:07:03  1243018
>>1242674
>Почему хеллоуворлд на расте такой жирный?

4.6 MB, хотя смотря с чем сравнивать, например, первая версия операционной системы колибри весит почти в два раза меньше в распакованном виде https://archive.kolibrios.org/f/releases/kolibri_0.1.0.0_src.zip
Аноним 08/08/18 Срд 15:06:35  1243067
Вы чё, совсем ебанутые? Щас бы мегабайты считать. Нахер идите отсюда.
Аноним 08/08/18 Срд 15:20:07  1243077
>>1243067
Разработчики браузеров давно не считают.
Аноним 08/08/18 Срд 15:40:38  1243081
>>1243077
>Разработчики браузеров давно не считают.

И правильно делают. Нищеброды-ретрограды на телегах и с калькуляторами вместо ПК должны страдать. Потому что нормальному человеку проще раз в два года выкинуть свой некробук на устаревшем железе, купить новый и начать пользоваться новым продуктом, чем по три года ждать продукт байтоебли и ещё два года доведения его до стабильного состояния.
Аноним 08/08/18 Срд 16:43:05  1243100
>>1243081
Опять быдлокодерам с народом не повезло.
Аноним 08/08/18 Срд 22:30:12  1243276
На расте можно писать высокоуровневые приложения типа веб сервисов?
Аноним 08/08/18 Срд 22:49:01  1243285
>>1243276
Здесь мнения обычно варьируются от "раст отличный язык для веб-приложений" до "писать веб на расте будет только поехавший кретин".
Аноним 08/08/18 Срд 23:01:40  1243290
>>1243285
Напиши свое мнение.
Аноним 08/08/18 Срд 23:18:47  1243295
>>1243290
Веб уровня веб-сервера (как нжинкс например), либо какая-то ресурсоемкая обработка или необходимость обработать 300кк запросов в наносекунду (какие-нибудь счетчики статистики или другие метрики, апи, в общем ниша go) как по мне вполне ок. Но когда пытаются на расте сделать какие-то рельсы https://rocket.rs/ с шаблонизаторами, хтмлем и прочим, то ощущение что что-то пошло не так и не туда. Вряд ли это когда-нибудь принесёт какой-то профит, разве что если с веб-макаки перекатываешься, возможно стоит попробовать с веба и начать, но тоже сомнительно.
я не >>1243285
Аноним 08/08/18 Срд 23:24:32  1243297
>>1243295
>https://rocket.rs/
По-моему суть в том, чтобы УВЕЛИЧИТЬ УНИВЕРСАЛЬНОСТЬ - ну типа вот взял какой-нибудь крестовик раст и сразу опа, может и сайтики писать, и никакие руби ему учить ненужно. Ну то есть ничего плохого в этом точно нет, пусть даже на убийцу рор оно и не претендует.
Аноним 09/08/18 Чтв 06:03:37  1243369
>>1243081
Пиздец, получается у нас рост мощности железа идёт, а новых высот в области ПО нет, ибо вместе с ростом железа придумывают всё более новые языки для ещё более простой разработки и более хуёвого результата


Заебали
Аноним 09/08/18 Чтв 11:44:35  1243441
>>1243276
У нас почти весь бекэнд на расте.
Юзаем actix + actix-web.

До этого для бэка я юзал пыху, го, ноду. И по сравнению с растом, это все говно без души. Наш главный наркоман еще очень тащится от эрланга и хаскеля для этих целей, но это уж слишком непрактично как-то.
Аноним 09/08/18 Чтв 13:19:49  1243477
>>1243081
Новый ноут раз в два года - это значит ты, анон, из каждых двух лет месяц горбатишься на рукожопых калифорнийских смузихлебов. За всю жизнь это сколько - два года рабства на одни только ноуты? Да на хую я такой прогресс вертел. Лучше я за это время отращу бороду и хуйню под ногтями.
Аноним 09/08/18 Чтв 16:17:29  1243609
>>1243441
Эрланг так-то гораздо практичнее сабжа для бэка, хотя может у вас специфика какая-то.
Аноним 09/08/18 Чтв 16:38:55  1243629
Может быть.
Аноним 10/08/18 Птн 03:30:29  1243932
Существуют ли драйвера на расте для популярных операционных систем?
Аноним 10/08/18 Птн 04:25:29  1243936
>>1243932
Хеллоу ворлды.
Аноним 10/08/18 Птн 17:13:57  1244341
>>1243936
Правда жирные. Целых 4,6 МБ, так что лучше взять СИшечку и вместить его меньше чем в 64 КБ.
Аноним 10/08/18 Птн 20:47:01  1244421
>>1244341
Я так и сделал, но не словил ни одного сегфолта, ЧЯДНТ?
Аноним 10/08/18 Птн 22:01:25  1244443
Screen Shot 201[...].png (73Кб, 674x492)
>>1244341
Аноним 11/08/18 Суб 07:46:22  1244588
hello.png (126Кб, 1024x768)
>>1244443
Слишком жирно. Мой вариант занимает меньше одного килобайта — 752 байта.
Исходники: https://pastebin.com/6fzNpbfZ
Аноним 11/08/18 Суб 11:23:10  1244677
Байтоебы, зачем в 2018 году мерить размеры бинарников?
Аноним 11/08/18 Суб 12:03:32  1244709
народоеб.jpg (38Кб, 606x482)
>>1244677
Граждане, зачем в 2018 году мерить размеры налогов? Не у всех есть по 32 ГБ озушки, иди нахуй с компьютером подаренным тебе мамкой
Аноним 11/08/18 Суб 12:06:33  1244712
>>1235389
Могу ошибаться, но для 100k вроде достаточно java с netty
Аноним 11/08/18 Суб 12:15:26  1244716
>>1244588
Я сеньор в enterprise 300к/сек, но в твоём коде нихуя не понял, что происходит кроме сишного кода, хотя когда-то пилил курсач на asm. Испытываю комплекс неполноценности. Даже не знаю, стоит ли углубиться в байтоёбство чисто для себя, или хуй забить.
Аноним 11/08/18 Суб 12:26:33  1244727
>>1244709
Некорректное сравнение, анон.
Аноним 11/08/18 Суб 12:29:42  1244729
>>1244716
>Я сеньор в enterprise 300к/сек
И на чем пограммируешь? У него же простой код совсем, как ты без этого живешь? Что нибудь сверхвысокоуровневое?
Аноним 11/08/18 Суб 12:30:30  1244730
>>1244727
Чему, зарплаты выросли же! Какое дело сколько путен отбирает?
Аноним 11/08/18 Суб 12:37:12  1244732
>>1244729
веб java, иногда спускаюсь на netty до бинарных данных, которые шлют различные датчики, но это совсем не то
не понял, почему у него бинарник так мало места занимает. ну понятно, что засчёт asm-кода, но почему без асм в несколько раз жирнее - не понятно. во всяких elf-форматах тоже ничего не понимаю
Аноним 11/08/18 Суб 12:41:56  1244735
>>1244732
У него опция -nostdlib, она убирает из бинарника стандартную библиотеку, и он с помощью ассемблера написал функцию которая дергает syscall для печати.
Аноним 11/08/18 Суб 16:02:32  1244903
>>1244732
Си позволяет полностью отказаться от стандартной библиотеки.
Вообще, Си обладает абсолютной независимостью от библиотечного кода (zero runtime). Ни один из языков высокого уровня так не умеет.
Си++ утратил независимость от библиотек времени исполнения ещё в 1980-х годах, когда в него был встроен механизм обработки исключений.

Объединил start.asm с calls.asm, убрал обработку параметров argc/argv, убрал неиспользуемый sys_read, убрал проверку ошибок, в итоге асм-код сократился до такого: https://pastebin.com/32k5x3nu
Аноним 11/08/18 Суб 18:24:33  1244988
>>1244903
>Ни один из языков высокого уровня так не умеет.
...кроме раста.
Аноним 11/08/18 Суб 18:33:13  1244997
>>1244903
Весь рантайм в С++ отключаемый (как и в Rust), так что не надо тут.
Аноним 11/08/18 Суб 19:22:08  1245048
>>1244735
>>1244903
спасибо!
Аноним 11/08/18 Суб 20:37:34  1245100
>мам смотри, у меня бинарник без рантайма
>правда, сложней хелоуворлда ничего не напишешь
> зато бинарник меньше мегабайта весит
Аноним 11/08/18 Суб 21:09:22  1245120
>>1245100
Ржавый в этом недалеко ушел от сишечки, аще-то. Если писать под чистый winapi (игры под дыртекс, например, или дрова), рантайм больше вредит, чем помогает. В нем вот этот сишный nostdlib работает примерно так же - гордо отказываешься от рантайма, пишешь пяток функций-затычек типа panic и аллокатора, и месяц красноглазишь молоток и гвозди. Раст вообще наверное сначала хотели назвать C2, т.е. C with Condoms, но такое название плохо гуглится.
Аноним 11/08/18 Суб 21:23:11  1245122
>>1244903
>Объединил start.asm с calls.asm, убрал обработку параметров argc/argv, убрал неиспользуемый sys_read, убрал проверку ошибок, в итоге асм-код сократился до такого: https://pastebin.com/32k5x3nu

Пфф.

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

Where is your ASSEMBLER now?
Аноним 11/08/18 Суб 21:41:39  1245132
>>1245100
Сразу видно, что ты ничего не знаешь о реализации ядер операционных систем и прошивок для микроконтроллеров.
С такими даже нынешняя ситуация с драйверами на расте так и не изменится.
Аноним 11/08/18 Суб 22:06:59  1245140
>>1244588
Голый код весит 452 байта, остальное это заголовок и прочая ОС-специфик фигня, которая на 70% забита нулями.
Аноним 12/08/18 Вск 08:09:56  1245310
>>1245132
> Сразу видно, что ты ничего не знаешь о реализации ядер операционных систем и прошивок для микроконтроллеров.
Да нахуя мне это знать.
> С такими даже нынешняя ситуация с драйверами на расте так и не изменится.
Конечно, ведь я пишу на кложе и до байтоебства мне нет дела.
Аноним 12/08/18 Вск 11:38:42  1245365
>>1245310
>мам смотри, я нихуя не знаю
ну так а чо ты тогда тут громко кукарекаешь о невозможности написания сложного без стандартной либы
Аноним 12/08/18 Вск 12:46:06  1245386
Why is Rust difficult?
https://vorner.github.io/difficult.html
Аноним 16/08/18 Чтв 10:09:30  1247615
Котоны, actix + futures = жопаель
Аноним 16/08/18 Чтв 13:33:45  1247690
>>1227127 (OP)
начал вкатываться с Qt C++ в этот ваш Руст. 1)Вопрос, на чем гуи приложения клепать?
2)Легко ли писать враперы для сишных библиотек?
3)есть ли свои какие-то либы, или все обертки на чужими либами.
Аноним 16/08/18 Чтв 13:51:36  1247700
>>1247690
1) https://crates.io/search?q=gui&sort=downloads
2) Легко
3) Много своих, но и враперов хватает
Аноним 17/08/18 Птн 02:40:02  1248064
>>1247700
а среды разработки с автодополнением есть? типа, поставил точку, и список методов показался, понимание типов, подсветка и прочее?
Читал, что народ Visual Code советует и плагины какие-то, но есть ли в них это - хз
Аноним 17/08/18 Птн 09:28:46  1248112
>>1248064
Все работает по протоколу LSP, который в случае раста реализован тулзой rls. Так что смотри поддержку этих двух базвордов в своем редакторе.
Аноним 17/08/18 Птн 12:31:54  1248153
>>1248064
intellij idea rust debug
Аноним 17/08/18 Птн 12:32:23  1248154
>>1248153
https://intellij-rust.github.io
ne to skopiroval
Аноним 17/08/18 Птн 19:49:28  1248298
>>1248064
>а среды разработки с автодополнением есть?
имакс
Аноним 17/08/18 Птн 22:25:19  1248385
>>1248298
Если честно rls так часто крашится, а lsp-mode так безможно тормозит в сочетании с company что иногда хочется всю эту пиздобратию нахуй выключить.
Аноним 18/08/18 Суб 15:34:24  1248625
729.gif (226Кб, 600x600)
>>1248153
>intellij idea rust
>debug
Аноним 18/08/18 Суб 15:41:26  1248633
>>1245386
>Why is Rust difficult?
Раст не сложный. Он ограниченный. Сложность это следствие его ограниченности.
Это как пытаться завязывать шнурки одной рукой.

Раст ограничивает возможности написания программ. Хуже всего, что он делает это без понятной, просто для рассуждения семантики. Поэтому программисту нужно постоянно держать это в уме и определять что можно сделать, а что нельзя.
Я бы сказал что раст это hard reasoning language. Это его большой недостаток.
Аноним 18/08/18 Суб 16:01:33  1248650
>>1248633
На фоне других языков с такими же характеристиками скорости, безопасности, но более простыми для написания и чтения, совершенно непонятно кому может понадобиться раст.
Аноним 18/08/18 Суб 19:32:18  1248755
15184765320710.jpg (929Кб, 1366x768)
>>1248385
не выключай
подумой
Аноним 18/08/18 Суб 19:33:38  1248756
>>1245386
>Why is Rust difficult?
Тому що домейн дификулт. /thread

>>1248633
Линейная логика простая и понятная для рассуждений. Алсо ты путаешь ограниченность с выразительностью (системы типов).
Аноним 18/08/18 Суб 20:09:21  1248767
>>1248756
Проблема в том, что пока программист на расте думает как решить проблему на расте, программист на го, например, просто решает проблему.

С++ это как река с крутыми порогами, в которую лучше не соваться без опыта.
Rust это таможня, где тебя просто не пропустят пока вы не покажете бумаги.
Go это гладкое шоссе.
Аноним 18/08/18 Суб 20:14:00  1248776
>>1248756
>ты путаешь ограниченность с выразительностью
Там есть вполне конкретные ограничения использования указателей. Программа просто не скомпилируется, если ты используешь переменные "неправильно".
Это хуевый дизайн.

Хороший дизайн подразумевает, что неправильно просто нельзя написать в принципе.
Аноним 18/08/18 Суб 20:28:54  1248786
>>1248767
Го-дебил, съеби в свой загон.

>>1248776
>Там есть вполне конкретные ограничения использования указателей.
Это называется "система типов", привет. Хуйню пишешь ты, а неловко за тебя мне.
Аноним 18/08/18 Суб 20:33:27  1248788
>>1248786
>Пук
Ошибки компиляции должны быть синтаксическими ошибками. В расте синтаксически правильный код может не скомпилироваться.
Вот эта дополнительная когнитивная нагрузка анализа контекста программы на программиста является проблемой.
Аноним 18/08/18 Суб 21:18:03  1248815
>>1248788
>Ошибки компиляции должны быть синтаксическими ошибками
Лол, а ты забавный.
Аноним 18/08/18 Суб 22:32:33  1248872
>>1248786
>Это называется "система типов"
Это называется статический анализатор. Причем тут система типов?
К С++ тоже можно прикрутить кучу статических анализаторов, которые не дадут сконпелировать программу с ошибками.
Аноним 18/08/18 Суб 22:51:33  1248881
>>1248872
>Это называется статический анализатор. Причем тут система типов?
У нас тут сегодня КВН вместо раст-треда, да?
Аноним 18/08/18 Суб 23:21:39  1248901
>>1248881
Ловко же ты увиливаешь. Какая разница, как называть вещи. Суть (контекстуальная зависимость) от этого не изменяется.
Аноним 18/08/18 Суб 23:55:58  1248927
>>1248901
>Это называется статический анализатор. Причем тут система типов?
>Какая разница, как называть вещи.
Леонид Ярмольник показывает палец вверх, Константин Эрнст загадочно улыбается.
Аноним 19/08/18 Вск 16:10:42  1249179
блять, какая же у раста парашная инфраструктура. Этот VS Code ущербный, какая-то срань и шаманство предстоит мне, чтобы настроить деббагер. Посмотрел в стороны intellij idea, народ ругается, что медленное.

Тут есть анноны, которые более менее серьезно на расте кодят с норм настроенным ворспейсом?
Аноним 19/08/18 Вск 16:13:15  1249180
>>1249179
Тулинг увы говно. Приходится жрать что дают.
Особенно разрдажается ебически длинные сборки на CI.
Аноним 19/08/18 Вск 16:27:37  1249192
>>1249179
Это проблема любого современного модного языка.
Велосипедисты не понимают, что недостаточно просто сделать еще один голый конпелятор, чтобы убить С++.
Аноним 19/08/18 Вск 16:28:46  1249193
>>1249192
Ну у го тулинг вполне хороший. Жалко что язык довольно посредственный.
Аноним 19/08/18 Вск 16:45:57  1249203
>>1249193
>Ну у го тулинг вполне хороший
jetbrains точеный или vs code дроченый
никакой разницы
Аноним 19/08/18 Вск 16:47:12  1249204
>>1249203
emacs же
Аноним 19/08/18 Вск 17:16:39  1249213
>>1249179
збс, только я поставил intellij idea и плагин для раста, обрадовался, что вроде что-то нормальное и вуаля:

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

классно на винде поотлаживался
Аноним 19/08/18 Вск 17:24:50  1249218
>>1249213
Думал евреи из jetbrains полноценную IDE дадут бесплатно? Наивный.
Аноним 19/08/18 Вск 21:21:57  1249372
>>1248650
>совершенно непонятно кому может понадобиться раст

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

2) дрочерам на функци'anal'ьные яп, так как кое-что знакомое прекочевало
Аноним 19/08/18 Вск 21:30:03  1249374
>>1249193
>Ну у го тулинг вполне хороший.

так go'вно уже в проде и есть немало вакансий, ибо бизнес охотно переходит на языки с человекочитаемым синтаксисом, которые уменьшают стоимость разработки
Аноним 19/08/18 Вск 22:09:24  1249404
>>1249374
Это ты про потогонки с индусами и бывшими пхп-макаками? Понятное дело. Но если ты хочешь заниматься чем то более интересным, раст отличный выбор. Даже вебню на нем делать интересней и приятней.
Аноним 20/08/18 Пнд 00:21:13  1249473
>>1249404
Найс манямирок. Впрочем, жить в реальности для растодебила невозможно, мгновенная смерть от болевого шока. Только докера, кубернетиса и прометеуса достаточно, чтобы гошечка дальше захватывала мир, у вас же подобных проектов и в перспективе нет.
Аноним 20/08/18 Пнд 01:07:48  1249478
>>1249473
Во долбоеб, удивляюсь!
Аноним 20/08/18 Пнд 01:20:33  1249480
>>1249473
Это ты про дивный мир нодо-профессионалов и похапе-сеньоров? Ему так и так пизда, при растущей сложности софта недоязычки не дают ни zero cost абстракций, ни статических гарантий от наебней, ни внятного управления зависимостями. Когда этой пиздобратии придется переучиваться, их очень взбодрит на закате карьеры изучение с нуля концептов многопоточности, дедлоков и барьеров памяти.

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

Докером можешь не гордиться, он настолько уёбское хипстерское говно, что авторов нужно пиздить, пиздить и для закрепления обоссывать. После десяти лет работы freebsd jail в продакшене делать интерфейс, в котором части контейнера называются по ебаным хешам - это надо обладать совершенно особой, хужепидораса, ориентацией.
Аноним 20/08/18 Пнд 01:22:56  1249481
22222.jpg (10Кб, 227x222)
захотел накидать простое гуевое приложение с OpenGL и sdl, указал зависимость и вуаля:
fatal error LNK1181: cannot open input file 'SDL2.lib'
в описании либы радостно указывается, что именно для винды надо написать вот такой-то скрипт на расте, сделать и такую-то структуру проекта и сделать самоотсос из-за особенностей сборки.
Аноним 20/08/18 Пнд 01:35:45  1249482
>>1249481
И что не так с Rust'ом?
Аноним 20/08/18 Пнд 01:37:05  1249483
>>1249481
Варианты:
1. Закинь нужные либы или симлинки на них в target/{debug,release}/deps;
2. Добавь "-L путь-к-либам" в переменную RUSTFLAGS;
3. Добавь в cargo.toml оверрайды типа rustc-link-search/rustc-link-lib для всех таргетов использующего либу крейта;
4. Таки напиши ебаный билд-скрипт, т.к. он все равно начинается с нескольких строк.
Аноним 20/08/18 Пнд 01:49:20  1249484
>>1249483
да, пришлось покопипастить файлы, скопипастить скрипт и вроде заработало.

>>1249482
молодо-зелено оно, но сам язык вроде неплохой.
Аноним 20/08/18 Пнд 02:05:17  1249491
>>1249480
Так-то 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.
Точно подмечено
Аноним 20/08/18 Пнд 02:14:15  1249494
>>1249484
Это ты блять молодо-зелено, если в простейшую линковку не смог.
Аноним 20/08/18 Пнд 02:22:35  1249497
>>1249192
>Это проблема любого современного
животного с рынка, что не может ссаный блокнот падсибя настроить, пусть нахуй обратно пиздует арбузами торговать
Аноним 20/08/18 Пнд 06:26:29  1249516
>>1249491
Аноним 20/08/18 Пнд 09:21:36  1249542
>>1249516
Проиграл.
Аноним 20/08/18 Пнд 12:09:16  1249602
>>1249491
>http://schematron.com/2017/04/overview-of-rust-and-pony/
В Понях используется сборщик мусора, так что они скорее замена Го, чем Ржавому.

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

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

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

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

А вообще, товарищи растаманы, мы много песдим и мало показываем кода :(
Аноним 20/08/18 Пнд 12:13:12  1249609
2018-08-20-1113[...].png (149Кб, 837x990)
>>1249602
Когда там уже в стейбл асинк-эвейт завезут?
Аноним 20/08/18 Пнд 12:30:04  1249615
>>1249609
До следующей редакции языка точно нет :) Их ведь мало внедрить в язык, нужно еще библиотеки подогнать, а это займет столько же, сколько разработка фичи. Используй futures-rs пока.
Аноним 20/08/18 Пнд 12:30:08  1249616
>>1249473
> у вас же подобных проектов и в перспективе нет.
Ничего, что дропбокс и серво на расте написаны?

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

https://blogs.dropbox.com/tech/2018/06/extending-magic-pocket-innovation-with-the-first-petabyte-scale-smr-drive-deployment/
Аноним 20/08/18 Пнд 12:31:56  1249618
>>1249480
>И ради чего - чтобы ерланг не учить?
>непередаваемо круче еботни с GOPATH и втыкания сырцов только в нужную папочку

Люто двачую вот этот пост. Ты няша :3
Аноним 20/08/18 Пнд 12:32:27  1249619
>>1249615
Грустняво. Комбинаторы писать не очень приятно. А impl Future вообще былинный отказ, все приходится боксить.
Аноним 20/08/18 Пнд 13:33:58  1249660
>>1249609
>Box<Future<Arc<Rc<Govno<Mocha>>>>>
зиро кост абстракцион
Аноним 20/08/18 Пнд 13:56:43  1249663
>>1249602
У всего есть своя цена. Ты или платишь за железо, или за программистов.
Под раст нужно переписывать весь код, на нем не будут работать старые алгоритмы. Это лишние расходы.
Нет, rust нежизнеспособен.
Аноним 20/08/18 Пнд 14:14:00  1249668
>>1249609
пиздец у вас пальцы вертикальные . . ставить не устают?


я бы уже давно раскладку заремапил под такое дерьмо
Аноним 20/08/18 Пнд 14:31:10  1249676
>>1249668
Что ставить? Двоеточие?
Аноним 20/08/18 Пнд 14:46:12  1249685
>>1249676
ну

я смотрю вы тут все неибацо на стиле, нейминг для пидоров, ага
Аноним 20/08/18 Пнд 14:49:01  1249689
>>1249685
Что блять ты несешь? Ты можешь по русски выражаться?
Аноним 20/08/18 Пнд 14:53:49  1249692
>>1249689
ты хуле такой тупой таа? гугли ебта
Аноним 20/08/18 Пнд 15:13:38  1249702
>>1249663
Тебя никто не обязывает переписать всё. В Фаерфоксе, например, давно работает код на Расте, он там сосредоточен в нескольких библиотеках и амбиций по захвату мира не имеет. Весь смысл этого языка в том, что в невыносимо байтоёбских обстоятельствах новый код на нём пишется быстрее и дешевле, чем на C/C++, а надежность, переносимость и годность к повторному использованию у него получаются несравнимо выше. Так что писать на Ржавом - это инженерное и экономическое решение, а не дань моде, как с php/js-фреймворками.
Аноним 20/08/18 Пнд 15:35:30  1249716
>>1249702
> в невыносимо байтоёбских обстоятельствах
в этом случае раст является слишком жирным вариантом

>новый код на нём пишется быстрее и дешевле, чем на C/C++
ага, с write-only синтаксисом, отсутствием готовых и проверенных временем надёжных библиотек, навороченных ide и т.д.
Аноним 20/08/18 Пнд 16:07:30  1249726
>>1249702
>Весь смысл этого языка в том, что в невыносимо байтоёбских обстоятельствах новый код на нём пишется быстрее и дешевле, чем на C/C++
Сомнительное заявление.
Можно писать на С++ без анальных ограничений и безопасно с использованием статических анализаторов https://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis#C,_C++
Аноним 20/08/18 Пнд 16:11:12  1249731
>>1249692
Загуглил "мелкобуквенный шизик", выдало ссылку на твой пост.
Аноним 20/08/18 Пнд 17:08:11  1249756
>>1249702
>Весь смысл этого языка
в том, чтобы на страницах википедии для готовых к продакшену языков типа swift было написано "испытал влияние rust".
Аноним 20/08/18 Пнд 17:24:11  1249766
>>1249716
>в этом случае раст является слишком жирным вариантом
В чем жирном-то? Если ты про кажущиеся большими бинарники - это уже много раз обсуждалось, разработчикам это проблемой не кажется, но любой желающий может отказаться от стандартой библиотеки и писать приложухи по 8кб. Генерируемый же Ржавым код достаточно компактен, чтобы на нем можно было программировать микроконтроллеры. Не веришь - зайди на godbolt и сравни генерируемый код с аналогичным на Крестах.

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

>>1249726
Ты не понимаешь, о чем говоришь. Статический анализатор укажет тебе на явные ошибки - одинаковые плечи у if-ов, недостижимый код, обрезание класса до базового. Но у него своя, отличное от таковой у компилятора модель кода. Самый пиздец происходит там, куда его авторы не добираются - например, иногда оптимизатор удаляет проверки на nullptr, из соображений, что раз указатель ранее разыменовывался, то будем считать, что он заведомо не null. Или игнорирует возможность алиасинга указателей, если они пришли из разных мест. Если ты на это не напарывался - считай, весь твой код нужно мелким ситом просеивать, чтоб не рвануло. И такой ебанины весь язык. В Ржавом просто отказались вообще от всего неопределенного поведения и в нем это просто невозможно. То же и с лайфтаймами - Ржавый не позволит тебе освободить переменную раньше, чем на нее исчезнут ссылки. Это не ограничения, это тебе бьют по рукам за тупость.
Аноним 20/08/18 Пнд 18:17:49  1249788
>>1249766
Лел, признай уже что взять старый уязвимый дизайн, окружить его барьерами и назвать это безопасностью, было плохой идеей. Как эксперимент rust был интересным. Но этот эксперимент провалился. Все. Языки рождаются и умирают, это естественный процесс. Выживают наиболее приспособленные. У раста нет ниши.
Аноним 20/08/18 Пнд 18:46:14  1249802
>>1249766
>В Ржавом просто отказались вообще от всего неопределенного поведения и в нем это просто невозможно.
Да никому это не нужно. Раст - это колосс на глинянных ногах.
Слухи о сложности работы с памятью и написания многопоточных программ в С++ сильно преувеличены авторами новых "безопасных" языков и их фанбоями.

Безопасность достигается за счет безопасных абстракций. И в современном С++ таких абтсракций для написания безопасного кода полно.
Аноним 20/08/18 Пнд 19:16:32  1249816
>>1249802
Без базара, хеллоуворлды можно безопасно писать на любом языке, кроме брэйнфака и ассемблера. Проблема в том, что в любой крупной крестовой программе все равно будут использоваться как надежные, так и ненадежные абстракции, а в некоторые дни ты будешь писать код пьяным или невыспавшимся. Скорее рано, чем поздно, ты таки пройдешь по нулевому указателю и ошибешься на единичку в цикле. А там у тебя, ковбой, будет выбор - поменять свое ошибочное мнение или держать морду кирпичом, пока у тебя по штанам стекает моча. В Мазиле полно зубров, писавших код ещё со времён Нетшкафа, а вот поди ж ты - она у меня крашится по нескольку раз в месяц. Наверное, они там все тупые в абстракциях не разбираются. А как легко пишется на современных крестах код мы можем наблюдать на баунтисорце, где средней сложности задачу сделать поддержку переключения протоколов через http proxy с наградой в 50 штук баксов вся шобла не может решить уже четвертый месяц.
Аноним 20/08/18 Пнд 19:25:09  1249824
>>1249816
>В коде на расте багов не бывает!
Ебать тебя "свидетели Раста" обработали.
Аноним 20/08/18 Пнд 19:35:59  1249830
>>1249824
Бывают. Причем их попадается много даже в самом компиляторе, особенно когда учишься языку и лепишь горбатого. Но есть баги и есть леденящий душу пиздец, называемый кроссплатформенным кодом на крестах :(
Аноним 20/08/18 Пнд 22:37:15  1249905
>>1249756
Тащем-то раст гораздо более готов к продакшену и используется в более широком спектре прикладных областей, чем свифт. Но свифт тоже няшка, неплохой компромисс. Жаль, что он не заменит кресты.
Аноним 20/08/18 Пнд 22:39:10  1249906
>>1249788
>>1249802
Нахуя студентики лезут везде со своим охуительно важным мнением, а? Идите маны читайте.
Аноним 20/08/18 Пнд 23:17:01  1249936
Безымянный.jpg (26Кб, 404x280)
>>1249906
Операционную систему уже написал на расте?
Аноним 20/08/18 Пнд 23:22:38  1249941
>>1249936
Я вообще мимо проходил, оставь свои маняпроекции при себе. Так зачем ты лезешь со своим охуительно важным мнением, студентик?
Аноним 20/08/18 Пнд 23:28:23  1249944
>>1249602
>Сборщик мусора очень херово работает в случаях, когда нужно экономить ресурсы - а это любой системный софт и сидящие в бэкграунде приложухи.
Это миф. Все настраивается.
Нормальный сборщик мусора всегда работает быстрее ручного выделения/освобождения памяти. GC это оптимизация. Не понимаю, почему о GC всегда говорят как о чем-то плохом.
Разница в производительности возникает из-за того, что в языках с ручным выделением памяти это настолько дорогие операции, что там выделение памяти является нежелательным и все алгоритмы пишутся исходя из этого. А в языках со сборщиком мусора создание новых объектов является нормой.
Аноним 20/08/18 Пнд 23:55:01  1249956
>>1249944
Тебе про риалтайм, микроконтроллеры и экономию памяти на хипе говорят, але. Дядька в киеве, а бузина в огороде. Иди лучше лабы делай, блядь, нахер ты рассуждаешь о том, в чем не шаришь? Гуманитарий дохуя?

другой анон
Аноним 21/08/18 Втр 00:00:57  1249959
>>1231432
>>1232154

Flatpak
Initial release: December 2014
Аноним 21/08/18 Втр 00:18:45  1249964
>>1249944
GC это не оптимизация, это серьезное архитектурное решение. Да, объекты выделяются быстро, почти как на стеке, но взамен ты получаешь паузы в работе программы и малопредсказуемый расход памяти. При этом память расходуется впустую - для жабы-8 я измерял трехкратный от сишного расход для небольшого выигрыша в производительности, и полуторакратный для полного слива но хотя бы без крашей, на примере бинарного дерева на 2^28 элементов. Базу данных, навороченную компьютерную игру или веб-браузер ты с такими вводными не напишешь. Вся возня с лайфтаймами в Расте - она не от задротства, а от желания получить безопасность GC при предсказуемости ручного управления памятью. Если же работа с памятью станет проблемой производительности, то просто будет выявлено узкое место и память будет выделаться-освобождаться крупными кусками, а не индивидуально. Корежить весь язык для этого необязательно (язык D, например, поддался соблазну, и теперь у него жизнь без бороды).
Аноним 21/08/18 Втр 00:43:15  1249972
>>1249956
>Тебе про риалтайм, микроконтроллеры и экономию памяти на хипе
То-то embedded java была популярной для встраиваемых систем. Вот не знали дураки, что сборщик мусора это плохо.
Аноним 21/08/18 Втр 09:27:23  1250078
>>1249972
Если что, у эмбеддед сборщиков мусора времен embedded java типичный оверхед от 5% до 250% в зависимости от числа аллокаций. Сейчас можно даже вообще без оверхеда, только производительность будут сасат. Если добавить к этому размер jre, получится, что при массовом производстве может оказаться дешевле нанять сишника вместо java-макаки.
Аноним 21/08/18 Втр 09:35:25  1250081
>>1249972
То-то ебучее говно на ведроиде тормозит что пиздец на железе на котором можно в кукурузис играть.
Аноним 21/08/18 Втр 10:13:05  1250100
>>1230215
Это не тот сайт, где когда-то php обогнал си и занял первое место в одном из тестов?
Аноним 21/08/18 Втр 10:44:57  1250115
image.png (107Кб, 1149x748)
[не_хейтер]
Давно не наблюдал за растом, стал интересен его статус.

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

PS: изображение - это статистика по тегам SO.
Аноним 21/08/18 Втр 10:53:58  1250122
>>1235684
Ты что, раст для избранных, джавист на него не может перекатиться, вот питонисты которых половина в чатике ру-комьюнити могут, а ты нет!
Аноним 21/08/18 Втр 11:01:56  1250126
>>1244677
>Байтоебы, зачем в 2018 году мерить размеры бинарников?
Чтобы потом не было такого -"а почему мой веб webassemly на расте в 100мб не грузится на мобильниках, там же всего лишь прорисовка двух html тегов?!"
Аноним 21/08/18 Втр 11:18:22  1250133
>>1249609
>>1249660
>Box<Future<Arc<Rc<Govno<Mocha>>>>>
Тоже всегда с этого люто проигрываю, осталось только джава программистами позвать чтобы получить это:
FirstBeanManagerFactorySomebodySaveMeHandler<Future<Arc<Rc<Govno<Mocha>>>>>
И можно смело идти доказывать питон программисту как ваш язык помогает вам самовыражаться.
Аноним 21/08/18 Втр 13:48:45  1250229
>>1250115
Отвечаю, как рядовой любитель Ржавого. Статус умеренно оптимистичный: несколько месяцев назад выделили стабильную версию языка, но в ней нет ни удобств (напр. нативной поддержки асинхронности), ни некоторых важных вещей типа кастомных аллокаторов и поддержки SIMD (и те и те требуют nightly версий, и хз когда стабилизируются). Нужно каждую задачу рассматривать отдельно, подойдет язык или нет.

По пунктам.
1) Язык используется в основном крупными компаниями на вспомогательных ролях, скачать и пощупать нечего. Из известных имен - Dropbox перевел на него все стораджи, и поимел с этого профит. Менее известные можешь посмотреть по ключевику "friends of rust", их в общем-то достаточно. Из игор недавно шишка из студии Ready at Dawn изъявила желание переката на Руст, но у них все проекты второго и третьего сорта.
2) Там не браузер целиком, а новый движок для Фаерфокса. Он пишется, и активно (300 коммитов за месяц), но размер задачи конский, и в апстрим переползают крохи (напр. движок css и парсер mp4). Хз, долго ли его ждать. Мне с этого перепали годные библиотеки для парсинга CSS/HTML. Это ж круто - парсить страницы тем же кодом, что и браузер.
3) С релиза огорчает кажущийся черепашьим темп разработки: каждые две недели видны какие-то мелкие стабилизации и багфиксы, а фичи типа async/await повисли в лимбе и неизвестно когда будут. Но имеющиеся преимущества перед c/c++ пока перевешивают с большим отрывом.
Аноним 21/08/18 Втр 14:12:24  1250239
>>1250229
>черепашьим темп разработки
мозила экономит лове надеясь на бесплатную раб силу
Аноним 21/08/18 Втр 14:20:12  1250242
>>1250229
>async/await
а как же зиро кост абстракции
Аноним 21/08/18 Втр 14:27:02  1250248
index.jpeg (8Кб, 270x187)
>>1250242
Если абстракции нет, то она ничего не стоит!
Аноним 21/08/18 Втр 14:34:27  1250254
>>1250229
>Это ж круто - парсить страницы тем же кодом, что и браузер.
Круто это jquery, а какая радость от нативного дерева элементов?
Аноним 21/08/18 Втр 18:12:43  1250409
>>1250115
1) дропбокс какие нахуй игровые движки, ты ебнулся?
2) да, файрфокс (квантум) называется
3) когда был "хайп" я его избегал из-за ломающих изменений, смысл учить если еще не финализировали столько вещей. теперь не избегаю

PS: доставьте ту картинку про plateau of productivity
Аноним 21/08/18 Втр 18:15:11  1250411
>>1250133
Во всех тредах уже это написал?

>>1250239
Не, просто пилить языки это реально оче сложно и долго, если только ты не гугл или пилишь наколенную поделку вроде го
Аноним 21/08/18 Втр 18:16:36  1250413
>>1250229
Братишка, а посоветуй пейперов на тему иммутабельных\персистентных структур без гц, ты интересовался этой темой?
Аноним 21/08/18 Втр 18:30:12  1250424
Сказка про то, как на расте гуи писали
https://www.youtube.com/watch?v=4YTfxresvS8

Даже жалко мужичка
Аноним 21/08/18 Втр 20:50:16  1250564
>>1250411
>Во всех тредах уже это написал?
Мне понравился пример :3
Аноним 21/08/18 Втр 20:57:04  1250572
>>1250229
>>1250409
Так то за несколько лет ничего и не изменилось. А вот про дропбокс даже вроде читал. Но не понятно что и где они там запили и вообще запилили или хотели на хайпе покататься (до этого они неожиданно на го-хайпе катались).
Аноним 21/08/18 Втр 21:45:14  1250597
>>1250572
>Но не понятно что и где они там запили
Понятно, они подробно в своем блоге все описывали.

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

>или хотели на хайпе покататься
На каком хайпе, ебанашка? Они делают продукт для юзеров, юзерам вообще поебать, на чем у них там бэкенд.
Аноним 21/08/18 Втр 22:51:17  1250653
>>1250597
>На каком хайпе, ебанашка? Они делают продукт для юзеров, юзерам вообще поебать, на чем у них там бэкенд.
Ты серьезно не понимаешь как тут маркетинг может работать, или тебе просто не согласится надо?
Аноним 21/08/18 Втр 22:59:47  1250663
>>1250653
Фантазер комнатный. Пиздец.
Аноним 21/08/18 Втр 23:18:49  1250669
>>1250653
Всё-таки вносить изменения в критичные для бизнеса системы - как-то жирновато для маркетинга, да и переход с Go на Ржавого выглядит тут вполне уместно. Но вызывающих вау-эффект проектов у сабжа действительно маловато :(
Аноним 22/08/18 Срд 00:23:00  1250689
>>1250669
>Всё-таки вносить изменения в критичные для бизнеса системы - как-то жирновато для маркетинга
Знаю конторку одну, малую такую, но гордую, которая действительно давала возможность некой группе своих программистов поковырять код в часть времени. Целью была какая-то конференция (вроде даже местная, хз), что бы так сказать себя показать и к себе расположить (потому что со всякими питонами и С++ ты никого не удивишь, а у тематической группы нового языка легко о себе позитив получить, да и программисты рады, играются во что-то новое).

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

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

Поэтому я верю, что такая компания как дроп может переписать участки и может позволить себе риски. Но я не верю в то, почему этот узкий код раньше не был написан уже на сях. Так же я не верю когда с питонов переписывают на низкие языки, потому что питон и так изначально берут в местах где не критична производительность (исключая моменты когда нужно быстро написать прототип, а потом переписать - но это свойство стартового проекта). Никакой умный менагер не разменяет скорость разработки питона, на прирост производительности 2-3 раза (железо дешевле времени разработки, а время разработки наилучшие у питона чем у раста и все равно все упрется в базу или пинг).
Аноним 22/08/18 Срд 00:24:56  1250690
>>1250653
Сколько тебе лет?

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

Такое чувство, что все ждут, что вот сейчас в один момент вообще весь код на крестах исчезнет и вместо него появится код на расте. И то каждый третий будет говорить "ну не, чет не взлетел, вот когда линукс перепишут на расте - тогда поговорим".
Аноним 22/08/18 Срд 00:28:46  1250692
>>1250689
>Но я не верю в то, почему этот узкий код раньше не был написан уже на сях.
Возьми да почитай, уже сколько раз ссылки вкидывали:
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/
Аноним 22/08/18 Срд 01:57:37  1250719
>>1250690
Помню эти крики
раст - это писать бд!
раст - это писать браузер!
раст - это писать игры!
раст - это... ничего за несколько лет

За то все время тычут, что некая N-компания, взяла там и написала что-то и где-то в своем зоопарке из языков коде.
Аноним 22/08/18 Срд 02:26:56  1250720
>>1250719
Там простейший гуи написать не могут. Какие бд, браузеры, о чем ты.
Аноним 22/08/18 Срд 03:01:49  1250724
>>1250669
>переход с Go на Ржавого выглядит тут вполне уместно
переход с go'вна на ржавую мочу им дорого обходится, теперь их поделка на куче файловых систем не будет работать https://www.ghacks.net/2018/08/13/dropbox-drops-any-file-system-but-ext4-on-linux/
Аноним 22/08/18 Срд 11:26:13  1250797
>>1250724
>теперь их поделка на куче файловых систем не будет работать
Упомянутое изменение тут не при чем - меняли-то бэкэнд, ему плевать какая там ФС у клиентов. На бэкэнде удалось увеличить пропускную способность стораджей и тем самым сократить затраты.

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

>>1250690
>и даже если ты занесешь им производительности и диаграммы - они скажут - нет
Но производительность - это не всегда фича. Я это время не застал, но в 90х, говорят, бывали энтерпрайз сервисы, запускающиеся по полчаса и дольше - и никто не кричал переписать всё на ассемблере. Да и флагманский проект - Фаерфокс - показывает, что можно не переписывать на Расте старое, а дописывать новое в рамках имеющейся базы кода. Риск - минимальный, профит - серьезный. И я бы даже не сказал, что писать на Петоне сильно дешевле - отсутствие null-ов и странных вещей типа проваливания переменных из классов в глобальный скоуп позволяют тысячу мелких юнит-тестов заменить сотней интеграционных и не потерять в качестве. В теории. Когда-нибудь, хех.
Аноним 22/08/18 Срд 11:47:08  1250808
>>1250797
>Много известных проектов на C/C++ появилось за последнюю пятилетку?
Я не уверен про пятилетку, но многие кейворды из списка для меня свежи (свифт попадает в пятилетку?)
https://github.com/search?l=C%2B%2B&o=desc&q=stars%3A%3E1&s=stars&type=Repositories

Конечно понятно, что уровень С/С++ это не javascript, где каждый день что-то новое и уже сразу устарело, но как бы для раста уже пора.
Не хейтерства ради, но должна же быть причина-следственная связь все-таки. Если раст так хорош и удобен и безопасен, то должна быть эта связь где из "поиграться в код" стали развиваться стабильные реальные проекты (и не обязательно побеждать С++, а просто продемонстрировать что у языка есть ниша своя, он состоялся как язык)
Аноним 22/08/18 Срд 12:13:46  1250823
>>1250797
>и даже если ты занесешь им производительности и диаграммы - они скажут - нет
Ты мыслишь как программист, а нужно как менеджер крупного или среднего бизнеса.
Зачастую некоторые вольности для программиста достаются не за то, что бизнесу важно с кобола на джаву там пересесть наконец-то, а чтобы уменьшить текучку качественных кадров, развлечь, так сказать самих программистов.

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

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

Нужна ли та сама "безопасная память" или садизм и ограничения - не знаю. Но точно не нужно было делать такой же сложный язык как С++
Аноним 22/08/18 Срд 12:15:27  1250826
>>1250808
Ты прав. Раз не выстрелило сейчас, вряд ли выстрелит в будущем. Если только не появится какой-нибудь хайповый фреймворк типа Рельс, как случилось с безвестным в свое время Руби. Пример языка со схожей ситуацией уже есть - Кложа, у которой примерно такой же скромный список использующих её компаний и некоторое количество опытных специалистов, утверждающих, что добиваются на ней бешеной продуктивности. Так что я всё же продолжу вкладываться в язык, пока не найду достаточно веских технических причин его забросить.
Аноним 22/08/18 Срд 15:07:34  1250953
>>1250823
>ускорял разработку на уровне С++
вот это реально тема, какой нибудь С+++ в который можно было бы сконвертировать всё байтоёбию, вот это была бы пушка

а тут динозавры пытаются одеяло со всей планеты стянуть нахуй, ну смешно
Аноним 22/08/18 Срд 16:42:29  1251008
>>1250719
>раст - это писать бд!
https://github.com/mozilla/mentat

>раст - это писать браузер!
https://www.mozilla.org/en-US/firefox/new/

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

>раст - это... ничего за несколько лет
Нормальный манямирок.

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

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

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

>>1250808
>https://github.com/search?l=C%2B%2B&o=desc&q=stars%3A%3E1&s=stars&type=Repositories
Там вроде ни одного проекта за последнюю пятилетку. Ну и электрон, nw.js... нутыпонел.

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

Кстати, тот же Руби выстрелил спустя 10-15 лет после первого релиза. А у раста релиз 1.0 был 3 года назад.
Аноним 22/08/18 Срд 17:06:22  1251019
>>1251008
>саму игровую логику
то хуле сложно переписать движку и подтыкнуть ее под ровно те же скрипты? может потому что индустрия нищая?? бюджеты как у ААА фильмов, а сборов хуй, да маленько, вот и сидят на крестах уечных все
Аноним 22/08/18 Срд 18:07:27  1251053
>>1251019
>то хуле сложно переписать движку и подтыкнуть ее под ровно те же скрипты?
Зачем?
Аноним 22/08/18 Срд 20:41:32  1251114
>>1250953
в современном стандарте с++ уже есть эта пушка
Аноним 22/08/18 Срд 21:23:00  1251132
>>1251008
>Кстати, тот же Руби выстрелил спустя 10-15 лет после первого релиза
И умер через пару лет.
Аноним 22/08/18 Срд 23:32:53  1251202
>>1251019
>бюджеты как у ААА фильмов, а сборов хуй, да маленько
>сборов хуй, да маленько
Ты сука, наркоман, с какой планеты?
>По сравнению с позапрошлым финансовым годом в 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



Аноним 22/08/18 Срд 23:35:29  1251203
>>1251132
>И умер через пару лет.
Если мы считаем что Руби умер, то Раст, по такой шкале, еще даже не покинул писюн родителя.
Аноним 22/08/18 Срд 23:44:37  1251206
>>1251203
Двачую. Вспомните го через 3 года после релиза.
Аноним 22/08/18 Срд 23:49:06  1251208
>>1249616
В дропбоксе го остался, и его там намного больше, чем раста.
Переписали самую низкоуровневую часть, остальные 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.
Аноним 23/08/18 Чтв 00:02:29  1251214
>>1251208
Алсо, линк для разрыва манямирка:
https://youtu.be/5doOcaMXx08

Только заранее советую заготовить лёд.
Аноним 23/08/18 Чтв 00:04:14  1251215
>>1251203
Нужен какой-нибудь стильный молодежный фреймворк\библиотека\фича, которые будут решать определенные задачи лучше конкурентов, то есть инструменты разработчика и из которого нельзя все быстро спиздить, как было с рельсами
Тогда любовь и обожание гарантированны. А то, что где-то там базу или игру запили не говорит о том, что язык хорош.
Сейчас недостатки языка перекрывают его достоинства. Те же с\с++ только в профиль
Аноним 23/08/18 Чтв 00:42:54  1251220
>>1249480
Уже со следующей версии ебля с GOPATH закончится, и go build будет делать то же самое, что и cargo build. Раньше адекватные люди пользовались dep, теперь модули завезли в тулинг, так что теперь этот аргумент инвалид.

А жопная боль от доминации докера вполне мне понятна, гори дальше.
Аноним 23/08/18 Чтв 01:03:09  1251221
>>1251220
Как только го-дауны завезут дженерики, так сразу поговорим.
Аноним 23/08/18 Чтв 01:04:03  1251222
>>1227127 (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.
Я нашел определение раста, посоны.
Аноним 23/08/18 Чтв 05:41:07  1251249
>>1251208
>Переписали самую низкоуровневую часть
Может парням пора рассказать про СИ и ассемблерные вставки, вот они удивятся приросту той низкоуровневой части.

А если серьезно, вот реально, им для той задачи требовался раст или просто парни хотели хайпануть или поиграть во что-то новое?
Как там было? Питон -> го -> раст - что дальше, может си? Хотя зачем си, может тогда что дарт2, пони, кристал?
Аноним 23/08/18 Чтв 05:42:51  1251250
>>1251214
Давай тезис кратко, мы тут не такие молодые чтобы иметь время втыкать на каждые конфушки на ютубе.
Аноним 23/08/18 Чтв 06:02:01  1251251
>>1251221
>Как только го-дауны завезут дженерики, так сразу поговорим.
Последние что там действительно нужно. Поломай в себе статик-индиго и пиши промежуточный код между статическим и динамическим программированием.
Аноним 23/08/18 Чтв 06:31:30  1251253
https://www.reddit.com/r/programming/comments/992s3i/telling_the_truth_about_defects_in_technology/

Теперь придется отвечать за нулевую абстракцию и за безопасную утечку памяти.
Аноним 23/08/18 Чтв 09:51:28  1251286
p189tc7k6u2av1e[...].jpg (137Кб, 592x700)
>>1251253
>нулевую абстракцию и за безопасную утечку памяти.
На словах. А на деле unsafe на unsafe сидит и unsafe-ом погоняет.

https://www.reddit.com/r/rust/comments/8s7gei/unsafe_rust_in_actixweb_other_libraries/
Аноним 23/08/18 Чтв 11:08:18  1251324
>>1251221
Вопрос в том, доживет ли твоя ржавая хуитка до этого.
Гошечка то никуда не денется уже.
Аноним 23/08/18 Чтв 11:13:14  1251327
>>1251251
Я довольно долго писал на го. И две главные проблемы для меня были именно дженерики и ГЦ. Заебался везде пулы пихать.
Аноним 23/08/18 Чтв 13:20:07  1251382
>>1251327
>Заебался везде пулы пихать
Так не пихай

В языках без GC с памятью и пулами еще больше геморроя, поверь.
Аноним 23/08/18 Чтв 13:25:09  1251387
>>1251382
Че ты мне рассказываешь то, мы уже давно на расте, полет нормальный.
Аноним 23/08/18 Чтв 13:33:35  1251392
>>1251387
Просто ты привык есть говно.
В го вообще не нужно возиться с пулами и управлением памяти, это же не раст в конце-концов. Там сборка мусора занимает наносекунду времени выполнения.
Это классическая экономия на спичках.
Аноним 23/08/18 Чтв 13:36:06  1251394
>>1227127 (OP)
Уберите нахуй из шапки слова про сегфолты и потокобезопасность, все мы и так знаем, что когда нужно писать реальное приложение, то значительная часть кода все равно оборачивается в unsafe
Аноним 23/08/18 Чтв 13:41:25  1251397
>>1251394
Прогеры на раст, на генетическом уровне не делают ошибок в unsafe и юнит тестах unsafe, это только сишники ошибаются в таких местах.
Аноним 23/08/18 Чтв 13:53:42  1251403
>>1248872
Во долбоеб! Про линейные или афинные типы слышал что нибудь? Или это тоже статический анализатор?
Аноним 23/08/18 Чтв 14:41:46  1251449
>>1251392
Я не просто так возился с пулами, а потом что говно тормозило когда гц сжирает 50мс из 50мс за которые должен быть выдан ответ рандомно, это никуда не годится. Приходилось долго и упорно отлаживать выпиливая жрущее память говно.
Аноним 23/08/18 Чтв 15:43:56  1251501
>>1251449
> гц сжирает 50мс
фантазер
Аноним 23/08/18 Чтв 15:49:22  1251507
>>1251501
> ВРЕТИ
> goвно НИ МОЖИТ ТАРМАЗИТЬ
> Я СКОЗАЛ
Аноним 23/08/18 Чтв 20:16:20  1251618
>>1251132
>бадум-тссс

>>1251249
>Питон -> го -> раст
Ну ты не замечаешь закономерности? От динамикодрисни к более производительным и низкоуровневым языкам. При чем тут дарт и кристал?
Аноним 23/08/18 Чтв 21:12:14  1251644
>>1251327
Я пишу на го с 2014, в том числе zero-allocation код, что-то ещё не заебался. А чтобы сейчас gc тормозил, нужно совсем уж криворуким уебком быть, аллоцируя на каждый чих.
Аноним 23/08/18 Чтв 21:17:08  1251648
>>1251250
Кратко: большинство инфраструктуры в дропбоксе на го, слезать с него не собираются, докладчика уже доебали спрашивать про ваш раст, на него переписали пару сотен строк кода из ляма, а вы тут развели праздник, как будто вся инфраструктура у них на ржавчине, и повторяетете это как мантру.
Аноним 23/08/18 Чтв 21:43:38  1251662
>>1251648
>а вы тут развели праздник
Лол, вообще-то это ты праздник развел. Пришла эйчарка на конфу гоферов и начала заливать про "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.
Аноним 23/08/18 Чтв 21:58:24  1251670
>>1251662
> Лол, вообще-то это ты праздник развел
> Ничего, что дропбокс и серво на расте написаны?
Ага, я развел. Весь тред каждый второй пост - упоминание того, что дропбокс на расте переписали.
> Пришла эйчарка
Перестань сношаться в глаза, это Principal SRE, а не HR.

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

Вы уже определитесь, блять, Dropbox либо хипстеры (потому что пишут на go), либо хардкорные крутые чуваки (потому что пишут на rust).
Аноним 23/08/18 Чтв 22:52:10  1251684
>>1251670
>Перестань сношаться в глаза, это Principal SRE, а не HR.
Лол, ну ты и долбоеб. Principal SRE она в Gremlin, а этот ток она давала когда она работала в дропбоксе (помнишь, мы про дропбокс говорим, да?) маняменеджером. И на конференцию она приехала в роли эйчарки, чтобы заливать маркетинговый буллщит про РЕЛАЙАБИЛИТИ и ДЬЮРАБИЛИТИ. Сношаться в глаза, ага, лол.

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

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

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

Ну и не забываем, что больше всего кода у них на гвидобейсике, кхе-кхе-кхе.
Аноним 23/08/18 Чтв 23:14:02  1251694
>>1251644
Или просто иметь плохо ложащийся на mark and sweep сборщик мусора heap в десятки гигабайт, как у Дропбокса :P

>>1251670
Ну, кроме Дропбокса в списке friends of rust есть еще некоторое количество известных имен, причем список даже неполный - нет Microsoft, например. Так что язык как минимум не умрёт внезапно. А там хер с ним, кто и как его использует, важнее вопрос, можно с него получить profit или нет, а для этого, вижу, не трёп надо слушать, а писать и сопровождать на нём крупный проект, что пока стрёмно как-то =/
Аноним 23/08/18 Чтв 23:17:50  1251696
>>1251684
>ОВЕРХЕДА ОТ ГЦ НЕ БЫВАИТ
Никто так не говорит. Оверхед от GC на порядки меньше malloc и является несомненной оптимизацией.
Производительность в языках без GC достигается за счет ИЗБЕГАНИЯ выделения памяти.
В языках с GC это делается элементарно через пулы. Но это как правило не делают, потому что оверхед от GC минимальный и не стоит возни с памятью. В языка без GC возня с памятью ОБЯЗАТЕЛЬНА
Аноним 23/08/18 Чтв 23:24:38  1251701
>>1251696
>Никто так не говорит.
См.: >>1251644

>В языка без GC возня с памятью ОБЯЗАТЕЛЬНА
Языки с регионами, например, - это языки с гц или без гц?
Аноним 23/08/18 Чтв 23:30:30  1251706
>>1251696
Оверхед разный бывает. Уже приводил пример - Джаве на стандартных настройках чтобы получить профит от GC нужно втрое больше памяти, чем Си, иначе она наоборот медленнее, при ужимании до предела даже в разы медленнее. Ну и конечно не во всех задачах stop-the-world приемлемо. Базы данных, игры или браузеры на таких языках пишут только долбоёбы.
Аноним 23/08/18 Чтв 23:42:48  1251710
Operations-Per-[...].png (28Кб, 698x373)
>>1251706
>Базы данных, игры или браузеры на таких языках пишут только долбоёбы.
А разве значительная часть высоко нагруженных систем не на Джаве?
- Elasticsearch
- Kassandra
- Hadoop
- Solr
- Spark
- Apache Kafka
>игры
До выхода Android NDK все игры в гугл плее были на голой джаве. Что росту андроида и гугл плея не помешало.
Аноним 24/08/18 Птн 00:14:41  1251719
>>1251710
Джава просто популярна и под неё проще выбить баблосы на разработку. А так - да, долбоёбы пиздец просто, писать СУБД на языке без SIMD и с непредсказуемым оптимизатором. Раз уж говоришь про Андроед - не забывай, что пока телефоны не приблизились по ресурсам к суперкомпьютерам из 90-х, отстающие на 2-3 года по железу Айфоны давали гораздо более плавную картинку при большем разрешении (т.к. мода на особо плотные экраны с них и пошла). То же и с играми - на десктопе Джава к тому моменту была доступна больше десяти лет, но из требующих JRE игор я помню только Ил-2.
Аноним 24/08/18 Птн 00:25:01  1251722
>>1251719
> А так - да, долбоёбы пиздец просто, писать СУБД на языке без SIMD и с непредсказуемым оптимизатором.
Ебать дебил
Аноним 24/08/18 Птн 09:33:19  1251744
148879440218523[...].jpg (103Кб, 1000x562)
Тем временем тред подходит к бамп-лимиту, что не может не радовать, несмотрят на холиварное содержимое.

Если есть пожелания по оформлению шапки - вбрасывайте. Иначе перекачу как в прошлый раз, левой пяткой.
Аноним 24/08/18 Птн 13:33:54  1251765
>>1251618
>>Питон -> го -> раст
>Ну ты не замечаешь закономерности?. При чем тут дарт и кристал?
Попробуй сам заметить закономерность, это не сложно.

>От динамикодрисни к более производительным и низкоуровневым языкам
Тогда это бы выглядело так
питон -> модуль питона на си -> си
Самое забавное, что написать маленький узко-специализированный микросервис на Си будет куда быстрее и приятнее чем на расте.
Аноним 24/08/18 Птн 13:44:55  1251768
>>1251722
>Ебать дебил

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

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

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

Тут до САПа которому нужны симметрикс и мейнфрейм от межделмаша чтобы как то билетики на самолеты считать оперативно еще не доплюнули. Но скоро смогут.
Аноним 24/08/18 Птн 13:53:34  1251775
> потому что оверхед от GC минимальный и не стоит возни с памятью

Угу, уровня превращения софт-риалтайма(подфризы в играх, недопустимые паузы в time-critical сириус бизнесах вроде межбанка и бирж) в дергающийся калл. И ебли чтобы всё это обойти гораздо больше чем на языке без ГЦ навелосипедить stack allocator или pool allocator под свои типы данных.
Аноним 24/08/18 Птн 13:56:50  1251777
>>1251719
>Айфоны давали гораздо более плавную картинку
потому что ВСЯ СИСТЕМА замирала пока юзерок дрочит скролик с менюшками, в роботе же суровый линуксово-серверный положняк, где гуй всем допизды

Аноним 24/08/18 Птн 13:59:14  1251778
>>1251765
>написать маленький узко-специализированный микросервис на Си будет куда быстрее и приятнее чем на расте.
чому? поясни с примерами если не сложно
Аноним 24/08/18 Птн 14:02:18  1251779
>>1251777

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

Очередной жабоотос.
Аноним 24/08/18 Птн 14:10:45  1251782
Напоминаю - у жабобляди паузы в 200мс

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

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

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

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

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

Всё это у тупой жабобляди в останови-манямирке считается нормальным и незначащим оверхедом.
Аноним 24/08/18 Птн 14:39:44  1251794
Растоманы, на нас вся надежда, мы должны уничтожить абстракционистский рак жаваблядей нашими zero-cost абстракциями. День, когда пропачат все уязвимости в процессорах и жабобляди соснут, когда им не помогут никакие кластеры на топовых зинонах с терабайтом оперативы запустить их жабохелловорлд появимся ми и у низим жабоблядей.
Аноним 24/08/18 Птн 15:09:39  1251804
>>1251782
>Gc
>JAVA
Ты ж ненормальный. Проблемы JAVA это проблемы JAVA.
Проблемы памяти из-за того, что java серит объектами как ненормальная в в библиотеках. Поэтому нужна большая куча, иначе она постоянно будет ЧИСТИТЬ ЧИСТИТЬ.
Кроме того, в java нет value type на стеке, поэтому вообще все в java в куче.
Это ее и делает особенно прожорливой к памяти.

>у жабобляди паузы в 200мс
А у го вообще пауз нет.
Аноним 24/08/18 Птн 15:24:44  1251814
>>1251775
>недопустимые паузы в time-critical сириус бизнесах вроде межбанка и бирж
Они почти все на джаве. Как то выживают бедняги.
>И ебли чтобы всё это обойти гораздо больше чем на языке без ГЦ навелосипедить stack allocator или pool allocator под свои типы данных.
Велосипедь с богом.
Интерпрайз с удовольствием купит. Я не шучу. Сам работаю в интерпрайзе.
Если у твоего решения будет достойная документация, хороший уровень интеграции с существующим софтом и ты будушь осуществлять поддержку и обучение, твой аналог Hadoop или Kassandra будет просто нарасхват.
Ту же монгу в интерпрайзе применяют довольно активно.
Аноним 24/08/18 Птн 15:37:55  1251820
>>1251804
> в java нет value type на стеке, поэтому вообще все в java в куче.
Все в джаве в куче? После таких выблядков, даже хочется при скроле нулевой послать тебя нахуй. Читай ебать про stack heap сука.

ушел.
Аноним 24/08/18 Птн 15:42:43  1251821
>>1251782
>Напоминаю - у жабобляди паузы в 200мс
Такие паузы если только в цикле забивать память.
Моя статистика за месяц:
- Средняя пауза 12,6мс
- 50<=% (Паузы менее 50мс ) 97,8%




Аноним 24/08/18 Птн 15:52:46  1251827
>>1251794
>Растоманы, на нас вся надежда, мы должны уничтожить абстракционистский рак жаваблядей нашими zero-cost абстракциями. День, когда пропачат все уязвимости в процессорах и жабобляди соснут, когда им не помогут никакие кластеры на топовых зинонах с терабайтом оперативы запустить их жабохелловорлд появимся ми и у низим жабоблядей.
А софт то откуда появится?
Вот выкинет, например, МТС Hadoop и поставит вместо него что?

Аноним 24/08/18 Птн 16:47:35  1251853
>>1251744
Да вроде норм, разве что отформатировать бы поаккуратнее, ну и неплохо было бы на архивачи ссылку добавить (а в идеале сделать там тег "rust" и сразу дать ссылку на все треды с этим тегом).
http://arhivachovtj2jrp.onion
http://arhivach.cf/

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

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

>микросервис на Си будет куда быстрее и приятнее
Лол, ну напиши СТО дропбокса, что долбоебу с двача НЕПРИЯТНО, что они раст используют. Хуею просто с вас смузихлебов.
Аноним 24/08/18 Птн 16:50:13  1251855
>>1251804
>Кроме того, в java нет value type на стеке, поэтому вообще все в java в куче.
Во дебил. Съеби уже мамин суп есть, видишь тут взрослые дяди разговаривают.
Аноним 24/08/18 Птн 16:51:34  1251859
>>1251853
(define? поаккуратнее)

Алсо реквестирую пикчей для нового треда.
Аноним 24/08/18 Птн 17:22:11  1251877
>>1251853
>>питон -> модуль питона на си -> си
>Как там в 80-ых? Ни единого сегфолта, да?
учитывая то что питоний код уже написали имеющиеся работники, то это самое разумное и первое что приходит в голову
Аноним 24/08/18 Птн 17:53:23  1251890
>>1251778
>чому? поясни с примерами если не сложно
-> си прост как палка,
-> в относительно небольшом коде трудно обосраться до сегфолтов,
-> чувствуешь себя богоподобно потому, что контролишь каждый байт и каждую операцию и это реально доставляет,
-> знаешь что есть действительно шустрые либы и великолепный, натертый до блеска, компилятор,
-> понимаешь, что получишь реально быстрый код если, конечно, не обосрался нигде

Вроде ничего не забыл
Аноним 24/08/18 Птн 17:54:55  1251891
>>1251890
Спешите видеть — человек который знает о си только из рассказов анонов с двача.
Аноним 24/08/18 Птн 18:21:28  1251906
image.png (192Кб, 1174x936)
>>1251890
>си прост как палка
нууу хууй знаает

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

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

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

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

>>1251891
кек
Аноним 24/08/18 Птн 20:21:36  1251974
>>1251891
>Пукнуть, вместо контраргументов, бесценно
Аноним 24/08/18 Птн 20:57:22  1252002
>>1251906
>image.png
Несмотря на тернарный оператор в условиях if теперь я видел все и п..зданутую раскраску синтаксиса, читается довольно легко.

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

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

>блакбокс
я говорю про си

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

>который тебе на диване ничем не может, 50мс или 250мс
Речь про хайлоад и историю дропа, который пошел по нелогичному пути для бизнеса. Никто ваши пет-проекты на питоне не трогает и тем более никогда всерьез не ставит в пример
Аноним 24/08/18 Птн 21:28:54  1252032
>>1252002
>раскраску синтаксиса
не гони, кажи лучше еп

>читается довольно легко
тебе и кекс коды норм будет ~_~

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

Аноним 24/08/18 Птн 21:34:02  1252042
>>1252032
>Пук
Аноним 25/08/18 Суб 01:09:43  1252167
>>1252002
> Понятно что упарываться в бизнес-логику на низкоуровневом языке никто не будет, в том числе и на расте
У тебя ещё слишком сильна вера в человечество. Высокочастотного трейдинга на Крестах не хотите ли? А биткоин процессинга на НодеЖС?
Аноним 25/08/18 Суб 03:49:19  1252205
>>1252167
А что не так с высокочастотным трейдингом на крестах?
Аноним 25/08/18 Суб 05:02:10  1252242
>>1252205
Бизнес-логика (буквально) на сложном, низкоуровневом, ебанутом языке же. Например, Knight Capital Group в 2012 из-за "computer glitch" потеряли до 440M USD (хотя потом называли цифры в 200). Говорят, баблосы сжигались со скоростью аж 10M USD в минуту. И похеру, что там вроде не язык виноват, а задеплоили что-то не то. С таким же успехом их могли подставить Кресты, как двадцать лет подставляют Мелкомягких, например. Поэтому в некоторых областях код здорового человека должен быть написан не на убогом C++, а на взрослом SPARK с формальной верификацией, блеать
Аноним 25/08/18 Суб 13:57:24  1252406
image.png (3375Кб, 2922x1966)
>>1252167
Там уже на жабаскрипке полноценную ос написали, а ты все в байтики еб..шься
https://www.reddit.com/r/programming/comments/99pbva/windows_95_running_on_macos_linux_and_windows/
Аноним 25/08/18 Суб 16:29:00  1252482
>>1252242
Ты меня не убедил. Про верификацию согласен, но на чем ты выражаешь верифицированный код уже второе дело, хоть и не тривиальное иногда. Ты еще на языках с гц предложи ядро писать.
Аноним 25/08/18 Суб 18:50:19  1252556
>>1252482
Смотри канонический пример, из статьи "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 ...
>}

Ну и как, сильно очевидно, почему код упадёт? А чем ты этот код верифицируешь, название инструмента скажи?
Аноним 25/08/18 Суб 19:44:56  1252598
>>1252482
Ну и конечно я представляю себе приключения типичного смузихлеба Евгения в суровом эмбеддеде:
- Не сумел математически доказать, что целочисленная переменная var никогда не выйдет за предел [min, max] - у легкомоторного самолёта поршни в двигателе прошли мёртвую точку без зажигания, он потерял тягу на взлете и рухнул;
- Не сумел доказать, что булевы переменные a, b, c меняются строго по заданным в техзадании законам от времени, давления и температуры - сверхмощный воздушный компрессор сработал при закрытых заслонках и всосал техника Михаила в баллон;
- Не осилил потери точности в арифметике с плавающей запятой, проебал тепловой разгон цистерны с перекисью водорода - от рабочей смены химзавода остались отбеленные скелеты.
Аноним 25/08/18 Суб 20:16:43  1252612
>>1252598
И какой язык программирования тогда лучше всего подходит?
Аноним 25/08/18 Суб 20:55:45  1252640
>>1252556
Лол, любым статическим анализатором. Разыменовывание перед проверкой на null скоро borland c научится подсказывать.
Аноним 25/08/18 Суб 20:59:24  1252642
>>1252598
Этот твой опус нахуй тут вообще? Еще раз к вопросу – чем C++ тебе мешает математически доказывать твои потуги? IEEE754 не поддерживает?
Аноним 25/08/18 Суб 21:03:07  1252644
>>1252640
Перечитал еще раз твой пример. Это что там вообще такое? struct-> без указателя? И эти if return; Пиздец, иди общую практику кодирование осваивай. Очевидно почему упадет код – он написан макакой с гранатой!
Аноним 25/08/18 Суб 21:08:15  1252650
>>1252612
Из относительно знакомых рядовому программисту - упомянутый выше SPARK. Других, чтобы ещё применялись в промышленности, я просто не знаю. Если только на какой-нибудь АЛГОЛ дремучий напялили верификатор. Но это такая редкость... На заводах вообще вся серьезная автоматизация на визуальных языках для промышленных контроллеров, там идея, что нужно хотя бы знать про память/кучу/стек наткнется на непонимание - зачем такие сложности? Что вам, 100 тысяч ячеек десятизначных десятичных чисел мало? =/

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

>>1252640
>Лол, любым статическим анализатором. Разыменовывание перед проверкой на null
У тебя половина Линукса тогда подсветится - это неискоренимое наследство времён C89, когда удобно писать хотелось, а переменные все равно надо было объявлять в начале, такие моменты просто нужно знать и учитывать. Ну, пока ядро на Расте не перепишут.
Аноним 25/08/18 Суб 21:19:35  1252653
>>1252650
Объявление != инициализация. Опять таки – объяви переменную где хочень, сделай if без else и любой анализатор скажет тебе что ты долбоеб и пожел быстро закрывать вариант где управление не проходит test clause if блока. При чем тут C89 и linux? Это как базовая грамота.
Аноним 25/08/18 Суб 21:31:46  1252662
>>1252642
> чем C++ тебе мешает математически доказывать твои потуги?
Тем, что заставляет кроме соответствия кода техзаданию проверять еще, не покажется ли оптимизатору часть проверок лишней, не запорет ли математику какая-нибудь ересь типа fast-math, не изменятся ли размеры типов на другой платформе. Всё это элементарно проверяется на хеллоуворлдах и превращается в кошмар в крупных долгоживущих проектах.

>>1252644
> Очевидно почему упадет код – он написан макакой с гранатой!
А может быть и тобой, когда ты был невыспавшийся или в депрессии. Или твоим предшественником, ушедшим на повышение. Или Торвальдсом, который точно знает, что в используемом им компиляторе этот код не опасен.
Аноним 26/08/18 Вск 03:31:00  1252775
>>1249480
> еботни с GOPATH и втыкания сырцов только в нужную папочку, чтобы гошечка правильно приняла (зашитые намертво в коде) зависимости.

твои знания goвна устарели
https://www.opennet.ru/opennews/art.shtml?num=49183


Аноним 26/08/18 Вск 07:04:31  1252794
>>1252642
>-4 % 24
удачи
Аноним 26/08/18 Вск 19:37:39  1253174
>>1252794
И что ты там математически доказываешь если не смог запомнить область определения аргумента операции деления с остатком?
Аноним 27/08/18 Пнд 11:02:55  1253502
213213213.png (89Кб, 476x1968)
а рустик клевый, пакетный манагер доставляет:
и нафиг не надо самому руками эхту всю срань из зависимостей собирать
Аноним 27/08/18 Пнд 11:09:32  1253506
Так, ну шо, котоны, я перекатываю или где?
Аноним 27/08/18 Пнд 12:37:47  1253548
>>1253502
Только начал вкатываться в ИТ?
Аноним 27/08/18 Пнд 13:35:37  1253576
image.png (85Кб, 404x310)
>>1253174
чего блядь? что ты несешь нахуй, сука не зли меня блядь

Аноним 27/08/18 Пнд 14:10:09  1253591
>>1253548
да не, обычный средний плюсовик, как под виндой собрать надо что-то, сразу либо в собраном виде искать, либо через cmake самому собирать, если скрипт под данную либу есть. А когда кроссплатформ нужен, збс веселье.
Аноним 27/08/18 Пнд 18:07:55  1253708
>>1253591
Go возьми, там вендоринг завезли в 1.11
Аноним 28/08/18 Втр 01:48:16  1253885
>>1253506
Перекатывай уже
Аноним 29/08/18 Срд 04:06:17  1254516
>>1253885
https://2ch.hk/pr/res/1245569.html
Аноним 29/08/18 Срд 09:47:34  1254563
Перекат
>>1254562 (OP)
>>1254562 (OP)
>>1254562 (OP)
>>1254562 (OP)
>>1254562 (OP)
>>1254562 (OP)


Топ тредов
Избранное