Двач.hk не отвечает.
Вы видите копию треда, сохраненную 24 февраля 2016 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
57 Кб, 640x353
Rust 2.0 # OP #572681 В конец треда | Веб
https://www.rust-lang.org/downloads.html

Текущая версия: 1.4
Планы на 2016 год: http://blog.rust-lang.org/2015/08/14/Next-year.html

Книги:
= The Rust Programming Language https://doc.rust-lang.org/book/
= The Rustonomicon https://doc.rust-lang.org/nightly/nomicon/

Известные пректы:
= https://github.com/PistonDevelopers/piston
= https://github.com/servo/servo
= https://github.com/redox-os/redox

Срач на тему safe/unsafe прилагается

Прошлый тред тонет тут: https://2ch.hk/pr/res/523816.html (М)
#2 #572682
Что на счёт компиляции в JS? Хотел попробовать написать на Расте игру (WebGL), но в итоге выбрал С++, очень уж хотелось, чтобы в браузере работало.
#3 #572686
>>572682
Извращение какое-то.
#4 #572696
>>572549
Для этого есть принцип KISS, известный уже лет 50.
Не получается описать "сложные" вещи простым языком - значит проблема в переусложненной архитектуре приложения.
>>572703
#5 #572703
>>572696

>Для этого есть принцип KISS


но он говно и годиться только для приложений-калькуляторов
>>572719
#6 #572716
KISS - это неявное следствие из diminishing returns. Как и любая другая вещь, архитектура приложения влияет больше всего при переходе от неструктурированной каши к хоть какому-нибудь порядочку, но чем дальше - тем положительный эффект меньше, а времени и усилий на её накручивание требуется так же или больше.
#7 #572719
>>572703
KISS отлично сочетается с остальными принципами.
#8 #572793
>>572682
emscripten?
#9 #572830
>>572531

>Главный из которых то, что кресты - комбайн, если сравнивать между собой языки, то Си - это английский(24буквы), а ЦПП - это китайский(2000+ иероглифов).


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

Хотя смотришь - тут 24 буквы, а там 2000 иероглифов. Буквы проще. Так и получаются неосиляторы.

Если на С++ ты пишешь средствами языка, то на С пишешь то же самое, но паттернами. Нужен тебе специализированный вектор? `#define YOBA_VECTOR_T int/#include "yoba_vector.h/#undef YOBA_VECTOR_T/yoba_int yoba;` вместо `yoba_vector<int> yoba`.
Нужны классы - https://github.com/shkolnick-kun/bugurtos/blob/master/kernel/xlist.h . Исключения - if(!...) goto cleanup; в больших количествах, HRESULT и прочая ебота. И так далее.

Поэтому, простота Си обманчива, в код нужно смотреть расфокусированным взглядом, вычленяя из контекста суть. Видишь HRESULT и понимаешь, в каком стиле тебе использовать библиотеку. Видишь класс - ищешь конструктор и деструктор для начала (типа fopen/fclose). Видишь, как выделяется пустой буфер и передается в функцию - это значит, что параметр на самом деле - возвращаемое значение. Ну и так далее. Без знания шаблонов, ООП, исключений, идиомы владения, на С можно только говнокод писать. Что, в общем-то, и происходит - бесконечные buffer overflow эксплоиты из нулевых - это оттуда.

В С++ появилась куча своих паттернов и Rust сделал то же, что и С++ с векторами на дефайнах - оформил это в виде средств языка. На С++ уже давно есть разделение на "библиотечный" код, в котором new и delete разрешены, и код "пользовательский", в котором вместо них нужно использовать умные указатели или векторы. Вот тебе и концепция safe/unsafe, которая вполне рабочая, нужно было ее только оформить в виде части языка. А далее - счастье, ты запретил джуниорам и новичкам в проекте писать unsafe код, и избавлен от кучи проблем. С правилами использования умных указателей все то же самое - они уже давно были на уровне соглашений.

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


Неправда. У тебя стандартный trade off между памятью и производительностью. Шаблоны производительны на любом процессоре с кэшем, потому что делают код локальным, без лишних ветвлений и call/ret с передачей параметров. Ты выигрываешь мегагерцы, проигрывая в мегабайтах. А это - стандартный use case везде, кроме эмбеда, на который Rust официально и не лезет вроде. Системный язык - это не обязательно системный язык для микроволновок. На сишке этот стандартный для 2015 года и процессоров с 3 уровнями кэша use case - головная боль, приходится кастить void* как на какой-нибудь джаве.

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

У тайпклассов то преимущество, что у компилятора есть выбор, делать специализацию кода, или передачу словаря отдельным параметром (как в хаскелле). Второе, на самом деле, не нужно, лишняя косвенность, но это вопрос между -O2 и -Os, твой код и код твоих библиотек остается тем же самым. Поэтому сделать специализированные компилер раста под эмбед, который бы максимально экономил память - не проблема, но вряд ли кто-то этим займется, потому что нет задач.
#9 #572830
>>572531

>Главный из которых то, что кресты - комбайн, если сравнивать между собой языки, то Си - это английский(24буквы), а ЦПП - это китайский(2000+ иероглифов).


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

Хотя смотришь - тут 24 буквы, а там 2000 иероглифов. Буквы проще. Так и получаются неосиляторы.

Если на С++ ты пишешь средствами языка, то на С пишешь то же самое, но паттернами. Нужен тебе специализированный вектор? `#define YOBA_VECTOR_T int/#include "yoba_vector.h/#undef YOBA_VECTOR_T/yoba_int yoba;` вместо `yoba_vector<int> yoba`.
Нужны классы - https://github.com/shkolnick-kun/bugurtos/blob/master/kernel/xlist.h . Исключения - if(!...) goto cleanup; в больших количествах, HRESULT и прочая ебота. И так далее.

Поэтому, простота Си обманчива, в код нужно смотреть расфокусированным взглядом, вычленяя из контекста суть. Видишь HRESULT и понимаешь, в каком стиле тебе использовать библиотеку. Видишь класс - ищешь конструктор и деструктор для начала (типа fopen/fclose). Видишь, как выделяется пустой буфер и передается в функцию - это значит, что параметр на самом деле - возвращаемое значение. Ну и так далее. Без знания шаблонов, ООП, исключений, идиомы владения, на С можно только говнокод писать. Что, в общем-то, и происходит - бесконечные buffer overflow эксплоиты из нулевых - это оттуда.

В С++ появилась куча своих паттернов и Rust сделал то же, что и С++ с векторами на дефайнах - оформил это в виде средств языка. На С++ уже давно есть разделение на "библиотечный" код, в котором new и delete разрешены, и код "пользовательский", в котором вместо них нужно использовать умные указатели или векторы. Вот тебе и концепция safe/unsafe, которая вполне рабочая, нужно было ее только оформить в виде части языка. А далее - счастье, ты запретил джуниорам и новичкам в проекте писать unsafe код, и избавлен от кучи проблем. С правилами использования умных указателей все то же самое - они уже давно были на уровне соглашений.

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


Неправда. У тебя стандартный trade off между памятью и производительностью. Шаблоны производительны на любом процессоре с кэшем, потому что делают код локальным, без лишних ветвлений и call/ret с передачей параметров. Ты выигрываешь мегагерцы, проигрывая в мегабайтах. А это - стандартный use case везде, кроме эмбеда, на который Rust официально и не лезет вроде. Системный язык - это не обязательно системный язык для микроволновок. На сишке этот стандартный для 2015 года и процессоров с 3 уровнями кэша use case - головная боль, приходится кастить void* как на какой-нибудь джаве.

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

У тайпклассов то преимущество, что у компилятора есть выбор, делать специализацию кода, или передачу словаря отдельным параметром (как в хаскелле). Второе, на самом деле, не нужно, лишняя косвенность, но это вопрос между -O2 и -Os, твой код и код твоих библиотек остается тем же самым. Поэтому сделать специализированные компилер раста под эмбед, который бы максимально экономил память - не проблема, но вряд ли кто-то этим займется, потому что нет задач.
#10 #572837
>>572830

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


На самом деле, выбор всё ещё делает программист: в расте вполне явные объекты типажа.
https://doc.rust-lang.org/book/trait-objects.html
>>572872
#11 #572872
>>572837
Нет, ты не понял, я говорю именно о низкоуровневой имплементации statich dispatch.

static dispatch можно на низком уровне сделать через копипасту кода, а можно - через передачу словаря.

Допустим, у тебя есть код fn do_something<T: Foo>(x: T, y: T)
В первом случае он у тебя превращается в void do_something_foo(Foo x, Foo y), void do_something_bar(Bar x, Bar y).

Во втором он превращается в void do_something(T x, T y, T_dictionary* t). Словарь T_dictionary содержит список указателей на функцию твоего трейта. Что экономит код за счет лишней косвенности.

dynamic dyspatch - это когда указатель на объект и на словарь упакованы в одну коробку. Коробка эта называется trait object, а по-русски это называется экзистенциальный тип. Что позволяет тебе сделать, например, гетерогенный список и функции, с ним работающие.
#12 #572891
>>572830

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


И это при том, что одной из основных причин критики шаблонов является, как раз, их раздувание кода и тормоза из-за невлезания в кэши процессоров. Вторая - сложность, непонятность и костыльность. В общем, хуйню написал.
>>572895>>572906
#13 #572895
>>572891

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


Ты, вась, с генериками ничо не попутал?
#14 #572906
>>572891
Вот ты сейчас классно написал. Вместо "по-моему мнению" сослался на авторитет какой-то толпы "одной из основных причин критики шаблонов". Т.е. своих мыслей у тебя нет.

>раздувание кода и тормоза из-за невлезания в кэши процессоров.


Интересно, как ты себе представляешь код, влезающий в кэши процессоров. Быстрый код - это структуры данных, которые передаются по значению, а не по ссылке и линейный код без свитчей.
По этой причине, c-style пердоленье свитчами и void* - это говно. А шаблоны с передачей данных по значению и отсутствию свитчей по тэгу - это добро.
>>572943>>573025
#15 #572938
Посоны, у меня есть к вам интересное предложение:
1. Переписываете системд на расте,
2. Тестируете-стабилизируете,
3. Пропихиваете хотя бы в 1 дистрибьютор,
4. У потеринга разрыв анальной жопы,
5. ??????
6. ПЕАР для раста !!!
>>572941>>573007
#16 #572941
>>572938
Sysvinit only/
#17 #572943
>>572906

>это добрр


Кусок_добра.ЖПГ
#18 #572999
>>572830
Странно, в ссылках, которые гуглятся цппшные шаблоны вроде как компилятся в функции...

В прочем не важно, оптимизирующий компилятор все равно сделает call/ret...
>>573006
#19 #573006
>>572999

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


Сравни std::sort и сишный qsort.

template< class RandomIt, class Compare >
void sort( RandomIt first, RandomIt last, Compare comp );
void qsort (void base, size_t num, size_t size,
int (
compar)(const void,const void));

В первом случае переданный компаратор заинлайнится в 90% случаев, потому что это маленькая однострочная функция. Да, размер экзешника вырастет, но сам код if (a < a[j]) будет локальным. В случае qsort - незаинлайнится никогда, потому что там указатель на функцию. Там будет call/ret. А сколько раз в функции сортировки вызывается компаратор? N*log(N). И каждый раз - call/ret.
#20 #573007
>>572938

> 4. У потеринга разрыв анальной жопы,


Для него это нормальное состояние, никто и не заметит.
>>573069
#21 #573013
#22 #573014
>>573006
А всякие LLVMы не позволяют такие штуки делать?
>>573020
#23 #573020
>>573014
Если только JIT-компиляция.
#24 #573025
>>572906
Потому что это не моё мнение. Потому что я не крестоблядь и шаблонами вашими не пользовался серьёзно. Но я знаю, что они делают, зачем нужны, и что происходит с кэшем. Можешь, например, посмотреть презенташек на ютубе от всяких геймдевщиков и прочих реалтаймщиков/хайлоадщиков. Ну или статеек почитать. Саттеры, там, и вот эти все эти.

>Быстрый код - это структуры данных, которые передаются по значению, а не по ссылке


Зависит от. Если у тебя ссылки ведут в одну область памяти, то быстрее будет доступ по ссылке, а не постоянное копирование.
>>573006
Инлайн последние несколько лет уже не означает по-дефолту "хорошо", потому что разрастание кода и кэшмиссы. А call/ret вообще почти бесплатны, при условии, что ты без всяких анальных трюкачеств возвращаешься туда, откуда был вызван.
>>573027>>573042
sage #25 #573027
>>573025

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


Хотя тут стоит оговориться, что это в идеале. В реале у тебя массив с данными и ссылками могут оказаться на одной линейке кэша, и пиздец.
#26 #573042
>>573025
Мне не нужно ничего смотреть, я разбираюсь на уровне авторов этих презенташек. Критикуют, как правило, пердолинг типа буста или Александреску. Ну там, boost::mpl, boost::variant и прочие удобные, но довольно тяжелые вещи (в том числе и за счет лишней косвенности), в которых нужно очень хорошо разбираться, что происходит под капотом, чтобы писать код, который превращается в нормальные машинные коды.

>Зависит от. Если у тебя ссылки ведут в одну область памяти, то быстрее будет доступ по ссылке, а не постоянное копирование.


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

>Инлайн последние несколько лет уже не означает по-дефолту "хорошо", потому что разрастание кода и кэшмиссы. А call/ret вообще почти бесплатны, при условии, что ты без всяких анальных трюкачеств возвращаешься туда, откуда был вызван.


Talk is cheap. Я тебе кинул ссылку на бенчмарк между std::sort и qsort. Это - самый типовой случай, когда тебе нужно в алгоритм передать маленькую лямбду, и в С это превращается или в пиздец по производительности, или макросы препроцессора, которые хуже темплейтов во всем.
>>573052
#27 #573052
>>573042

>я разбираюсь на уровне авторов этих презенташек


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

>Ссылки, как правило, ведут в кучу.


Какая разница, если она уже в кэше?

>Я тебе кинул ссылку на бенчмарк между std::sort и qsort.


Потому что это особый случай, потому что инлайнится один раз и функция короткая.
>>573053
#28 #573053
>>573052
Иди нахуй, мамкин траль.
>>573118
#29 #573069
>>573007
В данном случае расчет делается на литальность: мало того, что писал не он, так еще и без утечек памяти!!!
#30 #573082
>>573006
Пичалька.
>>572830
В цпп нет средств для всех паттернов, - смотри 3gpp-стек для андроида, там средства языка не сильно помогли индусам, а за счет ооп с множественным наследованием получилось переусложненное ровно, которое бросили, так и не допилив...
>>573101
#31 #573086
Вообще хороший у вас тут тред, интересно почитать.
#33 #573118
>>573053
Решил слиться? Ну, как хочешь. Найдёшь время - почитай саттеров и интеловский мануал по оптимизации, много нового узнаешь.
>>573129
#34 #573129
>>573118
Ты - типичный руссоанон, создающий информационный шум своей тупой демагогией типа "Зачем ты тогда ерунду такую пишешь? Хотя, если ты эмбедщик какой, то нормально.". Если я пишу ерунду - опровергни без хамства. Не можешь опровергнуть - иди нахуй. Твоих мозгов для понимания Саттера все равно не хватает.
>>573166
#35 #573166
>>573129
Потому что ты пишешь хуйню. Если ты эмбедщик, то это будет значить, что ты на самом деле не долбоёб, а что-то знаешь, просто неправильно экстраполировал свои знания. Вот ты пишешь, что благодаря кэшу процессору похуй на распухание кода. Это полная хуйня. Потому что именно благодаря кэшу ему НЕ похуй на распухание кода. Далее, я говорю, что call/ret почти бесплатные. Ты со мной не соглашаешься, хотя именно это написано интелом в официальном мануале от интела по оптимизациии кода для процессоров от интела. Хочешь с ними поспорить? Удачи. Про кэш, кстати, там тоже есть. И при этом ты заявляешь, что твои знания на уровне Страуструпа, Александреску и Мейерса. Да иди ты нахуй.
Погугли, хотя бы, того же Актона, для начала. Алсо, где-то на ютубе, по-моему, есть запись презентации Мейерса с какой-то крестоконфы как раз про кэш, и как он влияет на быстродействие.
>>573199
#36 #573199
>>573166

> Потому что ты пишешь хуйню.


Это не я пишу хуйню, это ты читаешь жопой, при чем не только меня, но и все эти "рекомендации". Основная твоя проблема - ты вырываешь мои слова из контекста. Поэтому давай пруф своим словам: "Далее, я говорю, что call/ret почти бесплатные. Ты со мной не соглашаешься". Когда ты убедишься, что ты читаешь жопой, я объясню тебе, где ты прочитал жопой с "ты пишешь, что благодаря кэшу процессору похуй на распухание кода", ну и далее по списку.
>>573223
#37 #573223
>>573199

>Шаблоны производительны на любом процессоре с кэшем


>Ты выигрываешь мегагерцы, проигрывая в мегабайтах.


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

>И каждый раз - call/ret


>Talk is cheap. Я тебе кинул ссылку на бенчмарк между std::sort и qsort.


>в ответ на бесплатность call/ret


Конечно же, ты не пытался опровергнуть. И вообще, это быстрее в целом не из-за инлайна, а из-за отсутствия локальных аргументов и чистки стэка. Но тут я могу признать, что, наверное, зря начал говорить про общий случай.
>>573277
#38 #573277
>>573223

>Это, конечно, не означает, что процессору с кэшем похуй на распухание кода.


Это означает только, что преимущества производительности шаблонов по сравнению с другими методами решения тех же задач выше, чем их недостатки. Ты сам сказал, что ты диван. И вот ты прочитал где-то "в каких-то условиях шаблоны могут быть неэффективными из-за невлезания кода в кэш, следите за этим", и гордо с ним носишься. Называется это - баттхерт неосилятора, когда человек, не понимая технологии, ищет в интернете подтверждения тому, что она плохая, медленная и т. п. А этот факт нихуя стоит - http://stackoverflow.com/questions/2442358/do-c-templates-make-programs-slow
Under a few circumstances, this can lead to slow execution, by simply producing enough object code that it no longer fits in the cache well ... Templates have positive effects on speed far more often than negative.
Альтернативы шаблонам имеют гораздо больше проблем в части производительности. И это довольно очевидно, почему: switch(yoba->tag) - это лишние бранчи, переход по указателю на функцию не инлайнится - а это значит, что нужно перепидорасить регистры, чтобы туда запихнуть параметры, затем перепидорасить их назад, и это при условии, что регистров достаточно.
Т.е. твоя проблема в том, что ты открыл книжку, прочитал ее жопой, найдя раздел "минусы", и дальше объявил это "основной причиной критики шаблонов по версии моих корефанов - Страуструпа, Александреску и Мейерса". А на критику твоих слов ты такой - нахуя ты споришь с Мейерсом?

>Конечно же, ты не пытался опровергнуть.


Конечно нет. Я выше писал: "Шаблоны ... делают код локальным, без лишних ветвлений и call/ret с передачей параметров". Видишь, по-русски написано: "с передачей параметров"? Call/ret - похуй, не похуй, что приходится делать кучу ритуалов с регистрами, чтобы вызвать сраный компаратор. Ты можешь сказать, что для достаточно больших функций это уже роли играть не будет - ну так они и инлайниться не будут как раз по этой причине.
#39 #573813
В треде о Rust обсуждают величие C++ и нищету C. Создайте, еба, другой тред.
>>573859>>573952
#40 #573821
А что за crater такой? Он будет на замену cargo? Я смогу сделать crater/cargo install?
#41 #573859
>>573813
Мы обсуждаем величие rust как раз. Основной батхерт у него от сишников, потому что это - кресты, а сишники не любят кресты.
#42 #573952
>>573813
Если величие заключается в количестве языковых конструкций, то да.
Однако индекс TIOBE, как бы намекает нам...
>>574011>>574218
#43 #574011
>>573952

> Однако индекс TIOBE, как бы намекает нам...


...что лучший ЯП — Java, хотя и васик с пыхпыхом тоже неплохие языки.
Сишечка наслаждается медленным падением.
>>574017>>574196
#44 #574017
>>574011

>Сишечка наслаждается медленным падением.


На чем там у нас написано 90проц ГНУ-программ?
>>574028
38 Кб, 770x335
#45 #574028
>>574017
Ммм, легаси.
>>574030>>574069
#46 #574030
>>574028
ПФФФФФФФФФ
#47 #574069
>>574028
это случайно не шутка про то, что в COBOL есть duck typing?
>>574102
24 Кб, 760x243
#48 #574102
>>574069
Это же целая серия комиксов: Lotus, AOL, поздние SGI, современные M$ и HP и так далее.
#50 #574196
>>574011
Ага, наслаждается уже лет 20,
периодически вытесняя то вам,
то жабу с первого места.
>>574197
#51 #574197
>>574196
То ЦПП, то жабу...

Факин андроид!!!
#52 #574218
>>573952
Мишку сишку должен знать каждый программер, а кресты - только осиляторы. Они же будут знать и раст. А рейтинг не удивителен. Чем меньше знают срр тем лучше, зарплаты выше, говнокода меньше.
>>574235>>574601
#53 #574235
>>574218

>сишку должен знать каждый


>кресты - только осиляторы


Начал за здравие, а кончил за упокой.
>>574274
#54 #574274
>>574235
И где я не прав?
>>574278
#55 #574278
>>574274
Там где пишешь что кто-то должен знать помойку под названием кресты, которая состоит из: легаси я видел крутую штуку давайте з
>>574282>>574302
#56 #574282
>>574278
Там где пишешь что кто-то должен знать помойку под названием кресты, которая состоит из:
- легаси;
- я видел крутую штуку давайте затащим ее к нам и похуй если она слабо согласуется с остальным языком;
- неопределенное поведение;
чуть более чем полностью.
>>574302
#57 #574302
>>574282>>574278
А где он писал, что кто-то должен знать кресты?
>>574311
#58 #574311
>>574302

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


По мне это подразумевает что из множества программистов он выделяет часть которая лучше остальных за счет того что осилила кресты. Следовательно, ты должен знать крестопарашу чтобы быть особенным.
Может быть я и упорот.
>>574703
22 Кб, 593x271
#59 #574601
>>574218
Осиляторы в каком смысле?
Если осиляторы в смысле запоминания бесчисленных языковых конструкций, то у меня для тебя плохие новости: выучивание конструкций - то же самое, что выучивание истории, или еще какой гумманитарной ебалы.

То есть времени будет потрачена масса, а погромист от этого лучше не станет.

>Чем меньше знают срр тем лучше, зарплаты выше, говнокода меньше.



Ойвей, кресты на втором месте по говнокоду: http://govnokod.ru/
первое по праву за пехопе...
#60 #574691
>>574601
Это в его понимании как раз-таки неосиляторы, пишущие на смеси C и C++
#61 #574703
>>574311

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


У тебя низкая самооценка, а мне похуй, кто там лучше или хуже. Есть индустрия, у нее есть требования. Если я буду писать трассировщик лучей, к примеру, я возьму С++, потому что больше брать нечего. Поэтому есть пласт программистов-осиляторов, которые в этой области индустрии работают.
А Си должен знать любой уважающий себя программист, даже пхпшник, жабокодер или любой другой.
Поэтому Си должен быть популярнее С++. Потому что С++ - это осиляторы и все, а С - это каждый второй.
>>574711>>574792
#62 #574705
>>574601
There are only two kinds of languages: the ones people complain about and the ones nobody uses.
>>574715
#63 #574711
>>574703
Как на счет фортрана?
>>574721
#64 #574715
>>574705
И тут Торвалдс, Столлман и Поттеринг зарыдали вголосину!
#65 #574721
>>574711
На фортране ничего нового не пишут уже. Все, что с ним делают - линкуют к другим языкам, благо, сделать это легко. А на С++ регулярно что-то новое делают, поэтому программистов нужно дохуя.
>>574730
#68 #574734
>>574730
Я не пруфстер и на слово верю, что значат эти ссылки, напиши по-русски.
>>574747
#69 #574747
>>574734
Не мертвый язвой. На нем даже что-то пишут, в том числе кровавый тырпрайс для атомной промышленности, ну и статье регулярно обновляют.
>>574758
#70 #574758
>>574747
Ну так TIOBE это и отражает. Fortran - на почетном 22 месте, выше D, Lua, F# и прочих Groovy. Но не на первом и не втором, отсюда будут трудности с поиском работы.
#71 #574771
>>574601

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


Ох, если бы дело было в языковых конструкциях... Но вы ведь не можете даже в простые концепции вроде параметрического полиморфизма.
>>574774
#72 #574774
>>574771
Это когда в качкатке аргументов передаются не только указатели на данные , но и указатеяли на методы?

И че там сложного то?
>>574775>>574781
#73 #574775
>>574774
Блядстое ведро!
...в качестве...
#74 #574781
>>574774

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


Нет.
>>574790>>574791
#75 #574790
>>574781
Странно, в педивикии и написано, что да...
https://ru.m.wikipedia.org/wiki/Полиморфизм_(информатика)
>>574797
#76 #574791
>>574781
Вообще-то да. Но ты же у нас ко-ко-ко математик и тебя интересуют формулы из TaPL, где почему-то нет слов "указатель" и "метод".
>>574795
#77 #574792
>>574703

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


В задаче трассировки лучей совсем недавно окамл провёл крестоблядям сишарпом по губам.
>>574794
#78 #574794
>>574792
Откуда-то неуловимо повеяло запахом борща.
#79 #574795
>>574791
Вообще-то нет. То, что ты указал — одна из возможных низкоуровневых реализаций для функций (даже не для структур данных).
Про типизацию лучше вообще не вспоминать: в симирке до сих пор принято кастовать воиды
#80 #574796
>>574795
Сверхменнвренность_вопросы_остаются.пнг
#81 #574797
>>574795
>>574790

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

>>574800
#82 #574800
#83 #574802
>>574795
В любом случае ты носишь с собой указатели на методы. В случае полиморфных функций - в виде невидимых параметров, в случае полиморфных данных - в виде коробки, в которой лежат данные и методы. Вот и все. Иди теоремки доказывай, сублимирующий математик.
>>574803
#84 #574803
>>574802

> В любом случае ты носишь с собой указатели на методы.


В Java разве что. Но вообще говоря нет.
>>574807
#85 #574807
>>574803
Ну, в таком случае привели пример другой реализации параметрического полиморфизма на низком уровне, ты же сказал, что это только одна из возможных реализаций...
>>574815
#86 #574815
>>574807
Хуй знает, о чем он. Иногда параметрический полиморфизм сводится к ad-hoc полиморфизму (мономорфизация), но это именно сведение одного к другому, такая себе оптимизация, типа инлайнинга функций. А так, другого способа сделать полиморфный код, который не требует перекомпиляции всей программы для каждого нового типа, лично я не вижу.
Основная проблема всей функциональной тусовки в том, что они выдумали свой птичий язык, и балакают на нем, а когда вещи называют своими именами, начинаются "нее, чувак, зачем ты так просто, мы же тут в математиков играемся".
>>574824>>574826
#87 #574824
>>574815
Биопроблемы борщеедов.
#88 #574826
>>574815

> Иногда параметрический полиморфизм сводится к ad-hoc полиморфизму (мономорфизация)


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

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


Но ведь проблема в том, что они не осиливают такие простые вещи даже в таком топорно-прикладном виде, как шаблоны С++ или генерики.
>>574905
#89 #574905
>>574826
Ну и зачем это нужно?
Я понимаю, что в случае часто используемого кода, подобные трюки, как и инлайнинг функций, оправданна, с точки зрения подъема производительности.

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

Если подобное говно становится мейнстримом в прикладном программировании, то тогда понятно, почему все ПО тормозит и требует больше оперативы с каждой новой версией...
>>574909>>575204
#90 #574909
>>574905
Потому что закон Мура в процессорах остановился, а оперативка, ssd и пропускная способность интернета как росли, так и растут.

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


Нет, ПО тормозит из-за таких, как ты, которые прочитал в /c/ в сосничестве о шаблонном петушении и теперь носятся с этим синдромом утенка.
>>574939
#91 #574939
>>574909
/Б/ратиш, ты понимаешь, что нет смысла инлайнить код, вызывается раз-в секунду?

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

А теперь прикинь: размер Кеша процессора 2мб, размер экзешника, не считая библиотек, 3мб, какова вероятность кеш-промаха?
>>575019
#92 #575019
>>574939

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


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

>и мне надо с частотой в сотни герц обновлять разложение Холецкого матрицы ковариации, то тогда есть смысл инлайнить вращение матриц в QR-разложении


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

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

Или же здоровые типы типа матриц, но они инстанцируются значениями типа float/double и т. п., а не миллионами, как ты почему-то думаешь. QR-разложение никто инлайнить не будет, будут просто функции типа qr_float(..) qr_double(..) qr_complex_float(...) и т. п. Пользовательский код, скорее всего, будет работать в данный момент времени с чем-то одним, поэтому с локальностью тоже все в порядке. Да, иногда могут быть проблемы, но в редких случаях.

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

Вот тебе пример. Уже здесь ad-hoc вариант слегка быстрее
http://ideone.com/6uBT1t

А вот с инлайном:
http://ideone.com/hDLrxp

Быстрее в пять раз. А ты какие-то гипотетические примеры выдумываешь когда вдруг каким-то макаром в функции используется куча инстансов одновременно. Ты реальный пример кода, где так происходит, привести можешь?
#92 #575019
>>574939

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


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

>и мне надо с частотой в сотни герц обновлять разложение Холецкого матрицы ковариации, то тогда есть смысл инлайнить вращение матриц в QR-разложении


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

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

Или же здоровые типы типа матриц, но они инстанцируются значениями типа float/double и т. п., а не миллионами, как ты почему-то думаешь. QR-разложение никто инлайнить не будет, будут просто функции типа qr_float(..) qr_double(..) qr_complex_float(...) и т. п. Пользовательский код, скорее всего, будет работать в данный момент времени с чем-то одним, поэтому с локальностью тоже все в порядке. Да, иногда могут быть проблемы, но в редких случаях.

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

Вот тебе пример. Уже здесь ad-hoc вариант слегка быстрее
http://ideone.com/6uBT1t

А вот с инлайном:
http://ideone.com/hDLrxp

Быстрее в пять раз. А ты какие-то гипотетические примеры выдумываешь когда вдруг каким-то макаром в функции используется куча инстансов одновременно. Ты реальный пример кода, где так происходит, привести можешь?
>>575038
#93 #575022
Не дописал. Мелкие типы на таком просто охуенно будут тормозить. Крупные - тем в теории похуй, но таким и на кэш-промахи похуй, они сами во время своей работы кэш используют.
#94 #575038
>>575019
Падажжи, ебана!

Это понятно все.

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

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

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

И параметрическия полиморфизм тут не при чем, ибо в данном случае у нас адд-ток...
>>575076
#95 #575076
>>575038

>Это понятно все.


Я отвечал на твой пост "А теперь прикинь: размер Кеша процессора 2мб, размер экзешника, не считая библиотек, 3мб, какова вероятность кеш-промаха?". Вероятность кэш-промаха у шаблонов минимальная, у косвенности - выше. По поводу "исходного тезиса" - его не я писал, но если приходится объяснять, какая имплементация ПП самая эффективная, то вряд ли ты его понимаешь на том уровне, на котором его должен понимать. Это хаскеллисты пусть боксят все и словари пихают туда-сюда, а тем, кто GC выпилил ради скорости, это зачем?
А не то, что ты не способен осилить статью на рувики про ПП. Это похуй.

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


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

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


А шаблоны, как думаешь, как появились? Страуструп увидел паттерн в сишном коде и запилил их. Паттерн - популярный, именно это и делается в GNU Scientific library, к примеру:
https://github.com/ampl/gsl/blob/master/cblas/dsymm.c
https://github.com/ampl/gsl/blob/master/cblas/source_symm_r.h

Это потом оказалось, что они мощнее на порядок.

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

Самое главное, я забыл, нахуя. А, потому что кресты сложные. А это - http://stackoverflow.com/questions/319328/writing-a-while-loop-in-the-c-preprocessor просто. Да уж нихуя, сложность тут как минимум одинаковая, только удобства с компилятором больше. А можно зделоть - на сишке даже libcello.org можно сделать.

Только попробуй сделать что-то уровня boost::units. Штука, которая без оверхеда в рантайме добавляет тебе проверку, не складываешь ли ты метры с килограммами, и охуенно, просто невроткосмически ускоряет разработку кода с большим числом математических формул.

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


Из тру-ПП по Хиндли-Миллеру шаблоны не поддерживают такие "нужные" вещи, как вынос кода в dll, полиморфная рекурсия и прочее дерьмо, которое годится для холиваров, но в реальной жизни не используется. Реально интересно то подмножество, которое разрешимо статически, и иногда - экзистенциальные типы, гетерогенные списки хуярить. Вот оно в Rust из коробки.
#95 #575076
>>575038

>Это понятно все.


Я отвечал на твой пост "А теперь прикинь: размер Кеша процессора 2мб, размер экзешника, не считая библиотек, 3мб, какова вероятность кеш-промаха?". Вероятность кэш-промаха у шаблонов минимальная, у косвенности - выше. По поводу "исходного тезиса" - его не я писал, но если приходится объяснять, какая имплементация ПП самая эффективная, то вряд ли ты его понимаешь на том уровне, на котором его должен понимать. Это хаскеллисты пусть боксят все и словари пихают туда-сюда, а тем, кто GC выпилил ради скорости, это зачем?
А не то, что ты не способен осилить статью на рувики про ПП. Это похуй.

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


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

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


А шаблоны, как думаешь, как появились? Страуструп увидел паттерн в сишном коде и запилил их. Паттерн - популярный, именно это и делается в GNU Scientific library, к примеру:
https://github.com/ampl/gsl/blob/master/cblas/dsymm.c
https://github.com/ampl/gsl/blob/master/cblas/source_symm_r.h

Это потом оказалось, что они мощнее на порядок.

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

Самое главное, я забыл, нахуя. А, потому что кресты сложные. А это - http://stackoverflow.com/questions/319328/writing-a-while-loop-in-the-c-preprocessor просто. Да уж нихуя, сложность тут как минимум одинаковая, только удобства с компилятором больше. А можно зделоть - на сишке даже libcello.org можно сделать.

Только попробуй сделать что-то уровня boost::units. Штука, которая без оверхеда в рантайме добавляет тебе проверку, не складываешь ли ты метры с килограммами, и охуенно, просто невроткосмически ускоряет разработку кода с большим числом математических формул.

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


Из тру-ПП по Хиндли-Миллеру шаблоны не поддерживают такие "нужные" вещи, как вынос кода в dll, полиморфная рекурсия и прочее дерьмо, которое годится для холиваров, но в реальной жизни не используется. Реально интересно то подмножество, которое разрешимо статически, и иногда - экзистенциальные типы, гетерогенные списки хуярить. Вот оно в Rust из коробки.
#96 #575126
>>575076
ЛОЛ.
С добрым утром, антош.
#97 #575167
>>575076

> любой хороший с++ программист знает си, любой хороший java программист знает си,


Да что ты, и все обоссанные процедурки сишной библиотеки тоже знает?
>>575172>>575250
#98 #575172
>>575167
При чём стандартная библиотека тут вообще? Ты знаешь много цпп/жава программистов, которые прям полностью знают стандартную библиотеку? Прям без доков и интернета сядут и что угодно напишут?
>>575179
#99 #575179
>>575172
В джяве надо знать только название класса, и он всегда находится в области видимости, т.е. начинаешь набирать File и тебе тут же находит его, и по названию методов сразу понятно, что они делают.
А в сишке приходится гуглить сначала название хедера, потом магические процедурки с названиями либо "open" (что открыть, из какого это файла - догадывайся как хочешь), либо "htons"/"atoi"/"mbstowcs" и т.п. (абсолютно нечитаемый набор символов).
>>575222>>575225
#100 #575204
>>574905

> Ну и зачем это нужно?


Поверь, нужно.
XXI век на дворе, скоро HKT завезут в каждый промышленный язык включая Java, а зависимые типы станут пригодны для борща. Если сишники не поспешат осилить хотя бы полиморфизм, то удивительный мир программирования просто станет слишком сложен для их понимания.
#101 #575217
>>575204
Нахуя все это нужно? Раньше и без этого писали заебись ПО.
#102 #575221
>>575217
канкуляторы всякие?
>>575230
#103 #575222
>>575076
Не часто вижу в /зк посты которые интересно почитать. Чем занимаешься? Зачем раст учишь? Думаешь использовать где-то?
>>575179
С каких пор File находится в области видимости по умолчанию? Ты уверен что например хочешь использовать именно File, а не Files например? То есть в любом случе нужно знать API или гуглить, и обычно если ты часто используешь какие-то функции, они сами запоминаются, что в джаве, что в С.
>>575217

>Раньше и без этого писали заебись ПО.


Разработка ПО никогда не была чем-то что можно назвать заебись. Всегда были тонны костылей, багов, уязвимостей, сорванных сроков etc. Новые фичи нужны для того чтобы этого говнища было поменьше.
140 Кб, 1280x960
#104 #575223

>Си


>Кресты


>Java


>Тред по Rust'у

>>575285
#105 #575224
>>575204
Милый друх, в этом треде уже обсосали и настоящий и адд-хок полиморфизм, и то, что полиморфизм применим к любому языку.
В Си в обозримом будущем не будет перегрузки функций (это единственная гипотетическая возможность сделать его в Си искаропки), deal with it.
>>575226
#106 #575225
>>575204
Щас бы попиздеть про необходимость полиморфизма в языке без оо модели. Ты, вась, путаешь жавку для тырпрайза с высокоуровенным ассемблером.

>>575179
Боже. Ты как и онтоша ниже сравниваешь говно с карамелькой.
#107 #575226
>>575224
Адд-хок в смысле.
#108 #575229
>>575217
Вот правда, нахуя нужна вся эта абстракция. Давайте писать на ассемблерах.
>>575231
#109 #575230
>>575221
Например, отладчики, умещающиеся в 64 кб, и дизассемблеры. Ты такое в жизни не напишешь. Алсо, луркай демосцена.
#110 #575231
>>575229
Но си и есть ассемблер для бедных. Нахуй там это всё?
>>575234
#111 #575234
>>575231
Не для бедных. Это переносимый асм, язык который позволяет задействовать почти все возможности железа, язык, на котором описывают abi, пишут стартап-код и прочее.
>>575238
#112 #575238
>>575234
Объясни, почему для всего того же самого не подходит C++.
>>575242>>575245
#113 #575242
>>575238
Ну например, конпеляторы Си есть практически под все, в отличии от.

А еще в крестах пиздос с именованием символов на низком уровне.

Ну и исторические причины: крестобляди в основном занимались прикладным кодингом, а системный осилить не могли до недавнего времени, когда появились ядра L4, писанные на крестах...
>>575243>>575252
#114 #575243
>>575242
Но было уже поздно.
#115 #575245
>>575238
Потому что ранее, в условиях ограниченного железа, из него вырезалось нахуй всё и оставался си с классами, порой и без виртуальных методов. А так, используй, чо.
#116 #575247
>>575217
Не благодаря, а вопреки же. Зиллионы въёбанных человекочасов на тестирование, отладку, не говоря уже о поддержке процедурных легасиполотен на говняшной. Просто вариантов не было.
#117 #575250
>>575167
Штук 20-40 самых частых знает. В любом случае, даже если 10% java-программстов являются хорошими (что, скорее всего, завышено), это делает С популярнее, чем С++.
#118 #575252
>>575242
А еще не стоит забывать историю: Си изначально создавался для писания ядерного кода, а кресты создавались, как расширенный Си для прикладного кодинга.

То есть хитрый план дохлого страуса заключался в том, чтобы зохавать аудиторию прикладных программистов, пишущих на Си, конец немного предсказуемым: быдлокодеры ушли писать прикладные программы на крестах, а системщики остались на Си.
>>575265>>575267
#119 #575253
https://github.com/PistonDevelopers/
Что скажете про пистон? Вот, вроде бы, что-то клепают несколькими тысячами строк в неделю, постоянно какие-то библиотеки создают, абстракция на абстракции. Библиотеки какие-то рандомные.
А выхлоп какой? Даже собственные «пистоновские» игры пишут не используя из создаваемых библиотек нихуя.
Чувак, создающий отдельно свой велосипед, хотя бы конкретно что-то разрабатывает, а не скачет с одного на другое.
#120 #575265
>>575252
А потом было упущено лет 20 времени, и менять что-либо стало поздно, ибо накладно, вон некрософт попытался запилить свою сингуларити на дотнете, и че?

Эту же ошибку сделали в мозилле, раст надо было выводить до появления ведроида, и следом сразу же мобильную платформу на нем (хотя бы с линупс-ядром, которое потом переписать), а счас рыночек уже порешал. Позняк метаться.
#121 #575267
>>575252
Ну да, софт типа САПР пишут быдлокодеры, не то, что швитое ведро с такими-то kernel lists - небыдлокодеры.
>>575269
#122 #575269
>>575267
САПР, это капля в море говнокода, это очень дорогое удовольствие, которое могут позволить себе только монополии, у них есть деньги на хороших программистов, и есть годные HR, которые оставят 95% идиотов на морозе.
>>575275>>575295
#123 #575275
>>575269
Почему они не используют C Для этого дела?
>>575281
#124 #575281
>>575275
Когда создавалась большая часть современных CAD, на рыночке труда господствовали крестобляди, а ООП было мейнстримом.
#125 #575285
>>575223
Хаскель забыл. Здесь и о нём периодически вспоминают.
#126 #575295
>>575269

>САПР, это капля в море говнокода


Да нет, это типичные С++ проекты. Шаровары уходят в веб, энтерпрайз - в управлемые языки, а C++ остаются САПР, программы для обработки изображений, видео и звука, llvm, быстрые части machine learning (конвертеры, feature extractor'ы), LLVM, V8. Браузеры, наконец. И все это пишут быдлокодеры?

На самом деле нет. Быдлокодер - это байтоеб, который прикрывает тем, что "так тормозить будет на моем калькуляторе" свое неосиляторство. Для сишника структура данных сложнее списка - уже событие. Строки - это char buf[ХАПНЕМ_ПОБОЛЬШЕ]. Шаблоны по мнению сишника тормозят, да и вообще мы по старинке, на ассемблере... Ну и ведро оси - как предел мечтаний софта, недоступный этим прикладным быдлокодерам.
#127 #575304
>>575295
Не стоит путать "сейчас" и "тогда".
Это то же самое, что считать "переплату по кредиту".
#128 #575310
>>575295
Что касается ведер - интересно, сколько % от проектов на гихабе составляют ведра? И сколько там ведер в сравнении, например, с json-пасерами?
#129 #575785
>>575295
А я байтоеб. И люблю видеть игры в несколько мегабайт или даже меньше. И люблю видеть Blender в достаточно маленьком размере. Я люблю видеть программы, которые работают на медленном интернете. И я ненавижу разработчиков, которые, что б показать квадрат Малевича пихают огромные библиотеки!
#130 #575789
>>575295
KDE, пишут быдлокодеры, поэтому плазма падает.
3g-стек андроида писали быдлокодеры-индусы, потому он и не взлетел.
osmocom/openbts пишут быдлокодеры, которые не читали рекомендации ITU, поэтому там сигнализация обрабатывается криво, поэтому там не все модели телефонов могут работать, а еще там умудрились устроить гонки на этапе инициализации приложения, в результате это говно может упасть , не начав работать... а как оно падает во время работы - отдельная тема.

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

Бесчисленные игори пишут быдокодеры, кусок поделия от valve лежит на первой странице на говнокод.ру.

И это только там, где исходники открыты, а что с закрытым софтом - тайна, покрытая мракком!

САПР, внезапно, тоже пишут быдлокодеры, каждая новая версия тормозит все сильнее, а ядро было написано в 80е годы бородатыми дядьками, которых уже нет.

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

Я не могу понять, чего тебе так печет от того, что кресты-быдлоязык?
>>576069>>576102
#131 #575983
>>572681 (OP)

>https://github.com/PistonDevelopers/piston


Я смотрю 54 растерам за 1610 коммитов удалось вывести на экран красный треугольник, неплохо, неплохо...
#132 #576001
>>575983
Ну почему же, у них и рендер майнкрафта есть: https://github.com/PistonDevelopers/hematite
#133 #576009
>>575983

> так, что тут


> ага, скриншот с треугольником


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

>>576023
#134 #576023
>>576009

>Известные пректы:


> 1. Вывод на экран красного прямоугольника (кроссплатформенно)


>Вам нипонять!!!11


Ну ладно, расскажи нам о преимуществах этого движка над остальными движками, выводящими красные прямоугольники.
#135 #576069
>>575789
Совсем порвался, небыдлокодер. Сущность цетарда.
>>576091
#136 #576070
>>575983
Я бы помог, но меня отпугивает название.
#137 #576081
>>575983
Смотрите: они в качестве hello world запилили красный квадратик, ну тупые)))
#138 #576091
>>576069
НЕ МОЖЕШЬ В ОПРОВЕРЖЕНИЯ
@
ГОВОРИШЬ, ЧТО ОППОНЕНТ ПОРВАЛСЯ
>>576098
#139 #576098
>>576091
Опровержения см. выше. Я виноват в том, что ты тупой?
>>576102
#140 #576102
>>576098
Ну и где ты опровергаешь
>>575789
?
>>576161
#141 #576161
>>576102
Что там опровергать? Говнопост уровня /s/ про падающую плазму и уязвимости в браузерах, троллинг типа "тебе печет гыыы)".
Диалог перечитай. Я изначально согласился, написав "Ну да, софт типа САПР пишут быдлокодеры, не то, что швитое ведро с такими-то kernel lists - небыдлокодеры.". На этом можно было закончить, потому что если этот даун с его "А теперь прикинь: размер Кеша процессора 2мб, размер экзешника, не считая библиотек, 3мб, какова вероятность кеш-промаха?" считает себя небыдлокодером, то я в быдлокодерах посижу с зарплатой и интересными проектами. Остальное - лишнее уже. На уровне фактов уже утопил несчастного байтоеба.
>>576175
#142 #576175
>>576161
Судя по этому треду, самые длинные простыни пишешь как раз ты.
При этом ты не забываешь обкладывать собоседников хуями.
Ты уверен, что бугурт не у тебя?
>>576193
#143 #576187
Ващпе не понимаю людей, которые не любят Rust. Этож спасение! Этож вместо Си!
>>576215
#144 #576193
>>576175
С этим в /psy/.
#145 #576215
>>576187
Эта сиблядь порвалась, несите следующую!
>>576227
#146 #576227
>>576215
Открою секрет, Я. ЕБАЛ. ТВОЮ. БАБУЛЮ.
>>576231
#147 #576231
>>576227
Дедушка, ты?
#150 #577844
>>577761
Основное преимущество раста - пеар... ЛОЛ.
Ну и по проблематике хорошо завернул про атлета на тонких ножках...

Но, мне кажется, упустил важные моменты:
1. Неправильное позиционирование, ну не системный это языг.

2. Презрение к наследию среди разрабов языка и "сообщества": из-за дебильного позиционирования рустеры считают це и цепепе "легаси-говном" и "нинужно", забывая, что это чуть менее чем 100% системного кода на сегодня.

"Мы наш, мы Новый мир построим!", - эльфы, блджад!

Про го тоже по делу - не стали лезть в системное программирование, сосредоточились на сетевых сервисах, все правильно сделали.

Про ди, - или хорошо, или ничего...

школьник-кун
#151 #577847
>>577844
Сам то он почему в D не добавил обратной совместимости с цпп?
#152 #577867
>>577844
Да кто ж его знает???
Может быть причина в том, что он является лишь соавтором языка, а основной автор - Уолтер Брайт?
#153 #577876
>>577844

>пеар


Ну это он так оправдывается почему D не взлетел, типа вот видите Go и Rust пиарят, если бы и у D такое же было то мы бы ого-го. А на самом деле вся проблема в проебе на ранних этапах развития языка.
Хотя нужно заметить что доля правды в этом есть, сообщество Rust поднимало неплохой хайп при выходе 1.0, например, да и сторонники Go тоже не отстают.
>>577901>>578594
#154 #577901
>>577876
Двачую за D. Хотя сейчас и стандартная библиотека одна, и стабильность завезли, и нормальных компиляторов, но момент упущен. Тем не менее все равно около половины своих проектов на ди пишу.
>>578583
#155 #578583
Они там MIR начали пилить? Или он уже запилен и они начали проверки какие-то пилить? Нихуя не понял.

>>577901
Покажи что за проекты.
>>578610
#156 #578594
>>577876
Ящитаю, что с Ди момент упущен не был как раз, просто была выбрана неверная модель разработки.

Вместо того, чтобы пилить фронтэнд к gcc и библиотеку, афтар решил сделать мокрописечный конпелятор, на который было выделено мало ресурсов, а поддержки сообщества не было...конец немного предсказуем.
259 Кб, 1920x1080
#157 #578606
>>572681 (OP)
Пацаны, где скачать полноценный стандарт (язык вроде не стандартизирован, но хоть бумагу, на стандарт похожую), чтоб без соплей, ибо знаю окамл и сишку, не хочу читать про хелловорды?
>>578608
#158 #578608
>>578606
Читай про хелловорды (https://doc.rust-lang.org/book/), концепция владения не самая тривиальная штука.
>>578627
#159 #578610
>>578583

>Они там MIR начали пилить?


https://github.com/rust-lang/rust/pull/29757
First MIR optimization pass. For now, this pass does some easy transformations.
Как-то так.
>>578714
#160 #578627
>>578608

>Вот я про хеллоуворды читал, и ты так делай!


В общем-то анон прав, ничего плохого в trpl нет, там все по делу и достаточно сжато.
Еще есть Rust by example (http://rustbyexample.com/ ), Learning Rust With Entirely Too Many Linked Lists (http://cglab.ca/~abeinges/blah/too-many-lists/book/README.html ) и The Rustonomicon(https://doc.rust-lang.org/stable/nomicon/ ), но его нужно читать уже после того как узнаешь язык.
>>578715
#161 #578655
>>577844
2. Какое же презрение? Там есть удобное ffi, я даже написал немного биндингов.
>>578670
#162 #578670
>>578655
Вынужденная временная мера, ибо ноулибс.

Если "безопасный" код линкуется с "небезопасными" либами...ну ты понел!

С момента релиза 1 версии языка прошло довольно мало времени, а уже успели наплодить несколько ОС разной степени говенности. Это говорит кое что о намерениях "сообщества".
#163 #578714
>>578610
Ну я это видел и не понял что конкретно они имели в виду: MIR готов и они его оптимизируют ("optimization of MIR") или они его только начали делать ("MIR ~ optimization").
>>578781
#164 #578715
>>578627

> но его нужно читать уже после того как узнаешь язык.


И его тоже:

> Learning Rust With Entirely Too Many Linked Lists

>>578742
#165 #578742
>>578715
Да ты прав, давно читал и почему то казалось что там все с самого начала разжевывается.
87 Кб, 1200x500
108 Кб, 1200x500
#167 #578965
>>578781
Вроде всё встало на свои места. Т.е. они MIR и как бы сделали, и он как бы сейчас тупо дублирует исходный код, а исправление - как раз то, для чего он и создавался. Я просто думал, что они этот код будут вообще в ином виде изначально представлять.
#168 #579045
>>572682
Иди нахуй со своим говном, js'ом и браузерами. Заебали.
8 Кб, 311x184
#169 #579299
Такие дела, посоны, надоело что если какой-нибудь пакет является оберткой над сишной либой например, нужно или искать бинарники или конпелировоть самому, а потом еще и раскидывать результат по разным папочкам чтобы все заработало.
Посоветовали мне связку Rust и MSYS2, так как там есть бинарные пакеты и ты просто устанавливаешь нужные тебе библиотеки одной строчкой и все работает. Установил, оказалось что все так и есть, только одна проблема, раньше при использовании freetype, например, рядом с моим бинарником лежало две библиотеки, а теперь простейший пример с выводом одного символа в консоль превратился в пикрелейтед сборище библиотек без которых он не работает.
Может есть здесь кто-нибудь кто использует Rust с MSYS2. Хотелось бы узнать это вообще норма, или я сделал что-то не так?
14 Кб, 600x266
#170 #579453
Перепостинг
http://servo.org/
Кажись, допилили до некоторой степени, раз его запостили.
https://github.com/lrs-lang/lib
Неофициальная linux-only реализация стандартной библиотеки.
#171 #579469
>>579453
Шел 2015 год, мы избавлялись от кроссплатформенности чтобы сделать маленький исполняемый файл.
#173 #579599
>>579453
Посоны, посоны, а давайте запилим вторую стандартную библиотеку, прямо как в D, ничего же плохого не случится.
>>579694
#174 #579662
>>579453
А хуле, программы на Rust такие тяжелые?
>>579716>>579787
#175 #579694
>>579599
Александреску, ты ли это? Что, ди не взлетает, так ты решил палки в колёса конкурентам ставить?
209 Кб, 700x525
#176 #579716
>>579662

>400 килобайт


>2015


>не факт, что бинарник релизный и отstrip'анный


>тяжелые программы

2705 Кб, 320x240
#177 #579717
>>579716
Ну подумаешь хеллоуворлд всего лишь 32 гб памяти жрёт

>2015


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

#178 #579740
>>579716
Если бы сейчас активным был интернет всего и децентрализированые вычисления(также, известные, как туманные), то мне бы было насрать. Но ведь, не у всех 100500 памяти м хранилище. Я сожалею за временами, когда трава была зеленее, а программы маленькие. Честное слово, напихают кучу библиотек, а потом ябуцца в жепы. Но, я желаю удачи Servo и надеюсь, что он станет хорошим движком, а это лишь временно такой размер.
>>579762
#179 #579762
>>579740

> Но ведь, не у всех 100500 памяти м хранилище.


Даже каких-то 4 ГБ на всё хватает (кроме разве что джавы), а сейчас уже 16 ГБ чуть ли не в каждой кофемолке.
>>579764
#180 #579764
>>579762
Вот именно, поэтому руст не нужен, будем писать робаст скалебл тырпрайз круды на джяве™, жрущие по 20 гигов памяти
>>579769
#181 #579769
>>579764
Ладно бы они просто гигабайты жрали. Но ведь у них ещё и сборочка мусора мир останавливает.
#182 #579787
>>579662
Статичная сборка. Если не подключать стандартную библиотеку, размер будет намного меньше. Но и работать не с чем будет.
+ отладка, как писал >>579716. Только тут надо ещё сказать, что даже в релизных версиях раньше содержалась информация для отладки (сейчас – не знаю).
В любом случае, скорее всего в будущем размер оптимизируют, просто сейчас это явно не самая приоритетная задача, им сейчас главное сделать всё, чтобы Servo хорошенько выстрелил и решить задачи, которые поставили перед ними клиенты, иначе пизда финансированию разработки.
По крайней мере Мозилла активно нанимает всё новых и новых разработчиков каждую итерацию для языка и объявила о наеме дополнительных разработчиков для Servo. Т.е. явно не пустые затраты.
>>579820
#183 #579820
>>579787

> хеллоуворлд


> Статичная сборка.


> стандартную библиотеку

#184 #580104
Решил закинуться вашим растом.
Я правильно понимаю, trait - это аналог классов типов, а impl - аналог instance в хаскеле?
#185 #580126
>>580248
#186 #580129
>>580104
А trait object - экзистенциальный тип
>>580248
#187 #580169
У меня очень плохой интернет. Постоянно обновлять индексы или ещё что-то подобное, я не могу. Может есть способ, как установить нужные библиотеки и потом использовать их из файловой системы? И вообще, поясните механизм cargo install, хотя он вроде и только для бинарников.
>>580178
30 Кб, 514x417
#189 #580248
>>580126
>>580129
Заебись! хоть для чего-то этот хаскель оказался полезен
>>581491
#190 #580791
https://aturon.github.io/

> This document collects the emerging principles, conventions, abstractions, and best practices for writing Rust code.


Вроде бы не видел нигде упоминания этого. Выглядит черновиком. Но как раз искал нечто подобное.
>>580805
#191 #580805
>>580791

>Вроде бы не видел нигде упоминания этого


А я видел. https://github.com/rust-lang/rust/tree/master/src/doc/style
#192 #581435
Где загрузить и как внедрить в программу уже прескомплирированые библиотеки? Нашел только древний issue.
>>582012
#193 #581457
Нубский вопрос #2. Как сбросить git в cargo?
>>581573
#194 #581491
>>580248
Кстати, может кому пригодится http://science.raphael.poss.name/rust-for-functional-programmers.html
84 Кб, 640x640
#195 #581573
>>581457

>сбросить git в cargo

>>581782
#196 #581595
>>580104
Иди факториал пиши на хаскеле, пёс.
>>581650
#197 #581650
>>581595
Подмойся, Маня
#198 #581782
>>581573
Я сферический долбоеб.

Я удалил git пакетным менеджером, но настройки не подключились и cargo плюет мой удаленный аккаунт на github в Cargo.toml. --vcs none не работает.
>>581804
#199 #581804
>>581782
http://doc.crates.io/config.html
Выстави name и email, соответственно.

> Я удалил git пакетным менеджером


Но зачем?
>>581833
#200 #581833
>>581804
Ибо долбоеб, поначалу неразобрался.. А можно как-то при создании проекта сделать, что б не ставило в конфиг?
>>581840>>581843
#201 #581840
>>581833
Да, например — настроить cargo. См. http://doc.crates.io/config.html
#202 #581843
>>581833
Или ты хочешь, чтобы вообще не было указано автора? Это поле обязательное вроде как.
>>581869
#203 #581869
>>581843
Ну, уж если и обьязательно, то хочу выставить что-то типа Anonymous.
>>581890
#204 #581890
>>581869
Ну и создай `~/.cargo/config` в котором будет
[CODE]
[cargo-new]
name = "Anonymous"
email = "anon@localhost"
[/CODE]
>>582012
#205 #582012
>>581435
Бампану вопрос.
>>581890
Благодарю.
#207 #585359
Я в шоке от того, как в Rust все правильно сделано.
>>585416
#208 #585416
>>585359
Нормального препроцессора нет, в Servo вся кодогенерация на Питоне, охуеть.
>>585422
#209 #585422
>>585416
Еще одни поехавший у которого "нормальное" это кодогенерация из комментариев или заменой текста прямиком из 80-ых годов?
В расте есть замечательные hygienic macros.
>>585429>>585825
#210 #585429
>>585422
Поясни за макросы. Как они по сравнению со скаловскими?
>>585506
#211 #585506
>>585429
Не имел дел с jvm языками.
>>585514
#212 #585514
>>585506
Ну вот, например
https://github.com/scala/async
#213 #585825
>>585422
Почему тогда hygienic macros нихуя не могут, кроме простейших случаев, и пацаны хуячат препроцессинг на другом языке? https://github.com/servo/servo/tree/master/components/script/dom/bindings/codegen
Или ты не понимаешь, почему это плохо?
>>587189
#214 #587189
>>585825
https://github.com/servo/servo/tree/master/components/script/dom/bindings/codegen это уже не препроцессинг, это уже целый мини-компилятор нахуй. Можно конечно это было оформить это как плагин к rustc, но видимо на питоне удобнее было.
>>587336
#215 #587336
>>587189
Дело не только в удобстве, плагины к компилятору до сих пор не стабильны.
#216 #587360
Есть на Rust какие-то проекты распределенных вычислений?
#217 #587950
https://www.gitbook.com/book/kgv/rust_book_ru/details
Стоит с этого начинать?
>>587983>>588050
#218 #587983
#219 #588050
>>587950
Да, это актуальный перевод официальной вводной книжки по Rust.
>>589575
57 Кб, 1280x720
#220 #589575
>>588050

>учить rust, не зная английского

>>589671>>591002
843 Кб, 1506x700
#221 #589671
>>589575

>вкатываться в коденг, не зная английского

>>591002
#222 #590634
Растаны, вот раст быстрый как ветер и лаконичный как хоку, но почему тогда на него еще не переписали популярные 3д движки, какие нибудь? Мне реально интересно.
>>590645>>590745
#223 #590645
>>590634
В 3д движках не нужна асинхронность и йоба-работа с памятью, поэтому С++ достаточно.
#224 #590745
>>590634
Потому что раст вышел только пол года назад, а для крупных проектов инерционность порядка 5-10 лет.
Кроме того, зачем тратить кучу ресурсов на переписывание, когда их можно потратить на развитие существующего кода. Другое дело, что если кто-нибудь возьмет и вложится в новый 3д движок, как Мозилла в Серво вложилась.
#225 #591002
>>589575
>>589671
Он где-то написал что не знает английского?
#226 #591280
Как у Rust'a с ведроидом? А то вот что-то Java надоела, но я сильно врос в Android и не знаю как вылезти, смотрю вроде с архитектурками все ОК, а вот как со сборкой и стабильностью работы?
#227 #591290
>>591280
Без понятия. Раз ты врос - попробуй, отпишись, может и я вкачусь
#228 #591418
>>591280
Бери Scala
>>592031
#229 #591454
>>591280
Пока хуево. Но спонсирует всё это дел Samsung, как я понимаю, которой как раз ведроид и нужен, так что должны запилить нормально.
#230 #591840
>>591280
Коммиты в rustc и стандартную библиотеку не принимаются, если они не проходят тесты на андроид билдботе http://buildbot.rust-lang.org/builders/auto-linux-64-x-android-t
Так что должно быть стабильно.
Но может быть неудобно, как с любой кросскомпиляцией.
#231 #592031
>>591418
Долго собирается, большой декс, зачем мне менять jvm на jvm?
>>592040
#232 #592040
>>592031

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


И?

> зачем мне менять jvm на jvm?


Затем, что не джяваговно, а без джвм будут только анальные костыли.
4369 Кб, 540x405
#233 #593296
Было бы полезно для программирования на Rust'е взглянуть в сторону какой-нибудь функциональщины, чтобы поменять мышление?
Когда смотрю код опытных разработчиков, создается впечатление, что чего-то упускаю.
А может просто шизик.
>>593303>>593320
#234 #593303
>>593296
Хаскель98 погляди. Во всякие йоба-расширения и котоморфизмы лезть необязательно.
#235 #593320
>>593296
Взгляни на Idris.
>>593406
#236 #593406
>>593320
Зачем ему глядеть на эту сырую парашу?
>>593455
#237 #593455
>>593406
Сказал горячий поклонник другой сырой параши, у которой "стандарт" изменяется со скоростью мутации вирусов гриппа.
#238 #593601
>>593455
И давно ли стандарт хаскель98 менялся? А, мань?
>>593627
#239 #593627
>>593601

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

>>594115
#240 #594115
>>593627
Извини, братиш, принял тебя за рустера.
#241 #594127
>>593455
Лол. Ты отстал. Где-то на код.
#242 #594128
>>593455
*год
Быстрофикч
>>594129
#243 #594129
>>594128

Быстрофикс
#244 #594134
>>593455
Я вообще программирую на LOLCODE.
235 Кб, 512x512
#245 #596218
https://github.com/fizyk20/differential-geometry/blob/71c87a907417e6d782330e5e09e7ea0ba9e8fa81/src/tensors/variance.rs#L205-L218

> Так даже лучше, только выиграли


> А в C++ ещё хуже


> А давайте напишем макросы на эту тему, нужно больше макросов!


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


> Зато читабельно, любой посторонний поймёт!

#246 #596221
>>596218
Какой пиздец
#247 #596224
>>596218
Всё-таки насрал блять
#248 #596229
>>596218
Неуловимо напоминает Haskell Dimensional.
#249 #596333
>>596218
Ты еще не видел кучи говна конструкциями типа
#[cfg(target_is = Linux)]
И платформеннощависимый код вперемешку с кросс-платформенным в одном файле.
Мммаксимум говноедство!
#250 #596588
Растаны, допустим у меня есть два экземпляра структуры Window, назовем их window_1 и window_2 и экземпляр структуры Font. Мне нужно в window_1 и window_2 хранить что-то наподобие ссылочки на один font, типа Arc, только font у меня изменяем. Dependency injection мне не подходит, если что. Что можете посоветовать?
>>596626
#252 #596633
>>596626
(или rwlock)
>>596634
#253 #596634
>>596626
>>596633
Спасибо, как-то совсем из виду это упустил.
>>599029
#254 #597046
И какие профиты по сравнению с C++?
Работы на расте нет и не будет.
>>597097
#255 #597097
>>597046
Только в твоём манямирке.

А про профиты уже дофига где писали.
>>597101
#256 #597101
>>597097
Перечисли хоть 1.
Работы на нём не будет ещё как минимум 1-2 года после стабилизации апи стд
>>597114
#257 #597114
>>597101
Нет тонн легаси синтаксиса и выстрелить в ногу сложнее.

Работа уже есть. Правда пока только в Мозилле)
>>597165>>648644
#258 #597165
>>597114

>Работа уже есть. Правда пока только в Мозилле)


Работа есть а вакансий уже нету? :)

>Нет тонн легаси синтаксиса


Зато есть ежемесячно ломающаяся обратная совместимость. Вообще, синтаксис раста на хаскело-перловых гурманов, только у тех он намного красивее, вот честно.

>выстрелить в ногу сложнее


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

Итог - язык для среднеуроенных вещей, вроде браузерного движка. Слишком узкая специализация, чтобы на нём реально была работа а не на уровне текущих вакансий по коболу/фортрану.
#259 #597169
>>597165

> Зато есть ежемесячно ломающаяся обратная совместимость.


Кулстори.
#260 #597491
>>597165

>Работа есть а вакансий уже нету? :)



В гугле забанили? https://careers.mozilla.org/en-US/position/ozy21fwU

>Зато есть ежемесячно ломающаяся обратная совместимость.



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

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



Пфф, у Раста нулевая стоимость абстракций.
>>598183>>598521
395 Кб, 610x502
#261 #598183
>>597491
Ага блокировки типа mutex/rwlock с проверками в рантайме, которые тут уже обсуждали, имеют НУЛЕВУЮ, блядь стоимость абстракций!

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



https://github.com/rust-lang/rust/issues
Тут какбы намекают, что таки регулярно ломается
>>599036
#262 #598521
>>597491

> Пфф, у Раста нулевая стоимость абстракций.


Тогда почему сконпелированный хеллоуворлд весит 3 мб?
>>602296
#263 #599029
>>596634
Вот хорошая статейка, мне помогла разобраться.
http://manishearth.github.io/blog/2015/05/27/wrapper-types-in-rust-choosing-your-guarantees/
>>599036
#264 #599036
>>599029
Это есть в trpl https://doc.rust-lang.org/stable/book/choosing-your-guarantees.html
>>598183
Почитай что такое абстракции с нулевой стоимостью, наркоман, по твоим рассуждениям и кресты не пригодны, ведь там, ой-вей, есть указатели с накладными расходами в рантайме.
>>599072
69 Кб, 560x416
#265 #599072
>>599036
Сам ты накоман.
Исходный тезис был:

>Пфф, у Раста нулевая стоимость абстракций.


Ну то есть ВСЕГДА, ВООБЩЕ ВСЕГДА!!1

Ну и про #nogc и #memorysafety как бы тоже
пиздеж, обсуждалось ту и у утоновшем треде!
>>599105>>599273
#266 #599105
>>599072
Достаточно того, что политота на картинке, так ещё и здесь разводишь по поводу языков. Собственно, программы на Rust тяжелые, ибо в современных ОС пока нет стандартной библиотеки Rust, как libc, например. Можно указать параметры(в языке, в компиляторе) и без библиотеки. Да и библиотека это громко сказано, так, некие безопастные обертки малого размера. Но, для мелких устройств есть целый раздел по программированию без библиотеки.

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

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

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

В общем, Rust выбирает меня! Ну ты понел

Мимо
>>599132
#267 #599132
>>599105
А зачем тебе библиотека в ОС, Маня? Неужели нельзя конпелировать только используемые части библиотеки?
>>599162
#268 #599162
>>599132
А какая разница, часть или всю компилировать?
>>599178>>599221
#269 #599178
>>599162

> А какая разница, нормально компилировать или высирать хеллоуворлды по 30 метров?


Ясно
49 Кб, 502x659
#270 #599221
>>599162
Ну, во-первых, - линковать.
Во-вторых, чтобы не было лишнего.
В-третьих, белые господа в качестве системного выбирают не раст и даже не кресты:https://www.researchgate.net/publication/262172784_From_L3_to_seL4_What_have_we_learnt_in_20_years_of_L4_microkernels
Угадай, почему?
>>599788
#271 #599273
>>599072

>Ну и про #nogc и #memorysafety как бы тоже пиздеж, обсуждалось ту и у утоновшем треде


И что вы там обсуждали? Небось с задором и юношеским максимализмом провозглашали что memory safety нет раз есть возможность что-то испортить в одном случае?
С memory safety такая же ситуация как и с zero-cost abstractions, они не включает в себя все-все на свете и всегда абсолютно бесплатно. Memory safety провозглашается лишь для определенных типов наиболее часто встречающихся классов ошибок, а не "у вас никогда-никогда не будет проблем с памятью", и то, на данном этапе если очень захотеть то все эти механизмы можно обойти. Но это совершенно не говорит о том что memory safety нет.
>>599315
#272 #599315
>>599273
ЛОЛ! А вот и сверхманевренность истинного рустера!
Сначала пишем #nogc #memorysafety, а потом оказывается, что и сборка мусора, фактически, есть, и memorysafety провозглашается не для всего и не всегда!

Для опревержения утверждения достаточно предоставить хотя бы 1 пример не выполнения данного утверждения. Это формальная логика, Карл, логика!

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

Обсуждали, что в расте используются те же примитивы синхронизации, что и в других языках/либах, и работать с ними надо так же. Enjoy your deadlocks, LOL!

И да, рустеры не осилили реализацию паттерна "монитор", который позволяет работать с блокировками автоматически.
#273 #599358
>>599315 binary logic
#274 #599360
>>599315
Ага, мамкин максималист значит, если не серебрянная пуля, то не нужно.
Языки в которых есть хотя бы умные указатели считаются языками со сборкой мусора, а кросплатформенных не существует вообще ведь можно представить хотя бы один пример с платформозависимым кодом, формальная логика. Ну, ясно, че.
>>599491
32 Кб, 604x339
#275 #599491
>>599360
Но это рустеры начали позиционировать свою ~Наташу~ парашу, как серебряную пулю! А когда их начали ловить на несостоятельности их основных тезисов, начались маневры в духе пораши. Пикрил как бы намекает.
282 Кб, 1428x968
#276 #599517
Haters gonna hate.
https://twitter.com/rustlang/status/674243649987850240
Мозилла будет добавлять в Gecko код Servo в 2016 году.
>>599524
#277 #599524
>>599517
Круто конечно, только это просто обещания, они обещали и альфа версию браузера на серво выкатить в 2015 году с поддержкой вин и линуха, только где это все?
>>599533
#278 #599526
Пиздец одни задроты у вас тут собрались.

Как же бы без абстрактнойпроксифабрики живете
2052 Кб, 2209x1000
#279 #599533
>>599524
Они говорили, что начнут делать некий гибрид Gecko и Servo, для демонстрации возможностей. Тащемта, постить сейчас с Servo, вроде как, можно.
Also, ложная «тревога» по поводу добавления компонентов. Да, добавлять компоненты будут, но просто мелочь всякую. Вроде как если Servo будут выпускать в каком-то браузере, это уже будет не Firefox. Так что соснули.
#280 #599788
>>599221

>В-третьих, белые господа в качестве


Ты хоть бы ссылку нормальную дал без регистрации и смс:
http://flint.cs.yale.edu/cs428/doc/L3toseL4.pdf
#281 #600608
Растаны, есть необходимость хранить в каком-нибудь контейнере список окошек для реализации gui в игоре, так чтобы z-индекс окна соответствовал позиции в контейнере, окно стало активным - переместили на первую позицию, нувыпонели. В другом языке я бы для этого использовал список, но в документации раста страшно написано использовать его только когда "You are absolutely certain you really, truly, want a doubly linked list.". Поэтому возник вопрос, может быть есть другой контейнер который подходит под задачу? С итерацией по элементам, порядком и без ненужного копирования контейнера при удалении/добавлении элементов.
>>600619>>601087
#282 #600619
>>600608

> "You are absolutely certain you really, truly, want a doubly linked list.".


> С итерацией по элементам, порядком и без ненужного копирования контейнера при удалении/добавлении элементов.


Тебе правда нужен.
#284 #601060
>>600922
Двусвязный список нез пнсейфа уже завезли? нет, кекус
>>601061>>601105
#285 #601061
>>601060
Без ансейфа*
#286 #601087
>>600608
Тебе сортированное дерево или список нужен нужно.
#287 #601105
>>601060
Не завезут никогда.
Противоречит правилам секурности же!
#288 #602292
>>599315
Да ты поехавший. Каким боком течь памяти вообще к безопасности относится? Иди учи матчасть, школьник.
>>602423>>602524
#289 #602296
>>598521
О, закукарекал!

cargo new --bin test && cd test
cargo build --release
du -h target/release/test #=> 472K
>>602302
#290 #602302
>>602296

> хеллоуворлд


> 472K


Кек
>>602527>>602529
#291 #602412
>>600922
Сам хотел запостить в день релиза. А что поменялось в языке? Я вижу лишь изменения в карго, хоть и существенные.
#292 #602423
>>602456
#293 #602456
>>602423

> Out-of-memory errors are sometimes treated as violations of memory safety


Ну ты понял.
>>602524>>602527
#294 #602524
#295 #602527
>>602302
Ну, во первых, это уже не > 3 мб
А во-вторых:
printf '#include <stdio.h>\nint main(void) {printf("Hello, world!");}' > test.c
gcc test.c -static-libgcc -Wl,-Bstatic -lc
du -h a.out #=> 800K

>>602456

> sometimes

>>602531>>602537
#296 #602529
>>602302
Ах да, для чистоты эксперимента можешь собрать оба варианта с динамической компановкой. У меня оба бинарика весят 8КиБ.
#297 #602531
>>602527
Как насчет --ffunction-sections, -fdata-sections, -Os, -s для компилятора и -gc-sections для линковщика?
>>602586
#298 #602537
>>602527
Sometimes достаточно. Да и выходы за границы массива в том случае тоже возможны...
>>602582
#299 #602582
>>602537
Про какой случай речь идёт-то?
#300 #602586
>>602531
Да играться можно как угодно, но суть не поменяется — без статической линковки оба бинаря одного размера.
#301 #602611
Задали на Rust сделать высокластеризированый граф узлов. В гугле даже о самом подобном графе почти ничего нет, а тут ещё и на Rust. Помогите.
>>602627>>602668
#303 #602668
>>602611
хде это такое задали?
#304 #602719
Растаманы, помогите дауну. Пытаюсь написать двоичное дерево, но застрял на том моменте, когда мне надо в него что-то добавить. Я, очевидно, просто не понимаю до конца концепции ownership и borrowing, но я не понимаю, что же, черт возьми, я упускаю. (Я не слишком-то умен). Итак, какого хера не так с этим (http://ideone.com/YDVpSG) кодом?
>>602722
#305 #602722
>>602719
Действительно не слишком-то умен.
Нормальная ссылка: http://ideone.com/YDVpSG
#306 #602731
>>602722
match next {
&mut Some(ref mut n) => n.add(value),
_ => *next = Some(Box::new(Node::new(value)))
};

В чём ошибка была, думаю сам поймёшь.
#307 #602733
>>602722
Но вообще ты делаешь это довольно убого, но улучшать смысла нет по простой причине: всё равно нужно будет переписывать на цикл.
#308 #602734
>>602722
А ещё вместо `ref` можно использовать .take() у Option. Но лучше таки перепиши на цикл.
>>602738
23 Кб, 200x252
#309 #602735
>>602733
Еще один дефектный с пиздой под носом решил поделиться своим охуенно нужным и важным мнением. Такое озлобленное говно нужно в гуманных целях пристрелить, как блохастого пса, что бы не вертелся под ногами.
>>602737>>602738
#310 #602737
>>602735
Ну-ну, гораздо лучше, чтобы оно нахуй упало из-за stack overflow без балансировки, ага.
#311 #602738
>>602734
>>602733
Почему цикл лучше?
>>602735 не я, если что
#312 #602739
>>602737
Уже понял.
26 Кб, 490x490
#313 #602740
>>602737
Как же я проигрываю с тебя, омега-обосранец. Ты почаще себе перед зеркалом повторяй, что ты не всратый омежный унтерменш, гляди тебе шлюхи спидозные начнут давать. Убейся, немужчина.
>>602742>>602743
#314 #602742
>>602740
Проходи мимо.
>>602744>>602749
#315 #602743
>>602740
Нахуя ты пришел?
>>602744>>602749
856 Кб, 389x259
#316 #602744
>>602742
>>602743
Не устаю проигрывать с порванного омежного уёбища, которая уже подрубила аутотренинг и начала семенить себе прямо в лицо. Продолжай утешать себя, чмо убогое, тебе никогда не стать настоящим мужчиной.
>>602745>>602746
#317 #602745
>>602744
Лол зачем же ты так вдавил ногой этого червя обратно в землю? Он же сейчас с ебалом непонимающего дауна начнет в панике бегать и вертеться а потом смачно просрется под себя и сдохнет.
>>602746
#318 #602746
>>602744
>>602745
У меня даже в школе лучше боты были, лол.
>>602747>>602749
28 Кб, 650x382
#319 #602747
>>602746
Лол, у обиженной на меня проткнутной омежки опять начались месячные и она принялась тужиться и выворачивать реальность наизнанку. Впрочем, она уже давно так серится и аутофеллирует.
13 Кб, 218x265
#320 #602749
Захожу в тред, а убогую униженную омегу (вот ее посты, кстати >>602746>>602743>>602742>>602737>>602733) опять все дружно обоссывают. Оставьте уже этого чмошника в покое, он же и вправду выпилиться может, а вам пришьют статью за доведение.
34 Кб, 290x394
#321 #602756
Понимаешь, ты в моих глазах уже упал ниже мяснодыркофила птушного с модеркой, которого я постоянно обоссываю. То есть, он хотя бы семенить грамотно может и мимикрировать, переписывать реальность и историю дотатреда. Но ты же не можешь нихуя, кроме как задетектить бабах и апеллировать к тому что я тебя оскорбляю. Хотя чем я тебя оскорбляю и обсираю? Ты карлан и жиробас? Да. Ты девственноомежка? Да. Ты живешь в мухосранске? Да. Ты даун не читающий и никогда не читавший литературы? Да. Просто невероятно как ты на ровном вместе приебался и пытаешься заставить меня оправдываться и пруфовать что либо, лол, в то время как я просто думал что ты интересовался моим набором. Ан нет, омега она и на аиб омега и будет крысить и выёбываться, пытаясь сделать себя чуточку менее омегой чем она есть на самом деле. Ирл бы я бы об тебя даже лезвие своего любимого ножа не стал пачкать (в отличии от мяснодыркофила птушного семенящего шизоуебища), лол, просто бы душил и наслаждался зеленением твоего ебала. Ты бы еще заплакал и начал умолять меня остановиться.
>>602856
#323 #602793
Эй, растаны, не сритесь тут. Это не тред по языку Go.
#324 #602856
>>602756
Вот это бомбануло у господина полицейского.
#325 #606043
бамп
>>606235
#326 #606235
>>606043
А чё тут бампить-то? Про Ъ писать особо и нечего.
#327 #606254
>>572681 (OP)
Поясните за rust?
Для чего его юзают какие-то крупные предприятия и корпорации?
Т.е., если я его выучу и пойду на работу, что я на нём буду писать? И насколько он сложный в освоении?
>>606369
#328 #606369
>>606254

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


Не пойдёшь, ибо пять минимум в ходу не будет ещё.

> что я на нём буду писать?


то же, что и на крестах/сях: сложные высоконагруженные приложения, либо embedded.

> И насколько он сложный в освоении?


Соб-но это его главный минус - сложность в освоении. Но это именно сложность, а не трудность, как в крестах.
>>606375>>606376
#329 #606375
>>606369

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


Но их же пишут на скале.
>>606385
#330 #606376
>>606369

> то же, что и на крестах/сях: сложные высоконагруженные приложения, либо embedded.


Это какие-то необоснованные влажные мечты.
>>606386>>606387
#331 #606385
>>606375

> Но их же пишут на скале.


КО подсказывает, что анон говорил про задачи без GC
>>606388
#332 #606386
>>606376
Двачую. На крестах/сях никто не пишет сложные высоконагруженные приложения.
>>606389
#333 #606387
>>606376

> Это какие-то необоснованные влажные мечты.


Ну, ржавчина метит именно туда, а получится или нет это другой вопрос. Но скорее всего нет, ибо средняя масса программистов - тупое быдло, которое просто не осилит даже основные концепции
#334 #606388
>>606385
Думает про одно, а пишет про другое? Ну ок.
>>606390
#335 #606389
>>606386
Расскажи это гуглу
#336 #606390
>>606388
Дурачок или прикидываешься?
>>606405
#337 #606405
>>606390
А ты что думашь? Убрали ГЦ - всё, весь хайлоад пал пред твоими ногами?
>>607063
#338 #607063
>>606405

>хайлоад пал


хайлоад секам
#339 #608306
бамп
#340 #609014
http://habrahabr.ru/post/273561/
Русскоязычный сайт для разработчиков на Rust и заодно подборочка рускоязычных ресурсов по расту.
>>610082>>612477
#341 #610082
>>609014

> Русскоязычный


Не потрiбно
>>612340
#342 #612340
>>610082
Попробуйте использовать язык в ваших сообщениях.
sage #343 #612477
>>609014

>сайт для пидоранов не осиливших инглиш


лолд, не думал что в IT такие есть
#344 #612488
>>612477

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


>что-то кукарекает

#345 #612739
>>612477
Cockhole, Please!
школьник-кун
#346 #612790
>>612739
Бедный си-пидор. Помянем.
Алсо, выше тредом пуревасик ебёт все языки, где ваш бох теперь, растаны? КУХКУДАХ КОКОКОК
>>612808
#347 #612808
>>612790
На месте, а почему вы спрашиваете?
#348 #612817
>>612739
Мод без мозгов - горе борде.
4 Кб, 590x590
#349 #613164
>>612739
Анус свой помяни, пес.

Я пеарил раст, как мог, извинити /b/ратиши, так сложились обстоятельства.
школьник-кун
#350 #616404
Вопрос. Два итератора (mut и immutable) по одному контейнеру одновременно. Как?
>>616418
#351 #616410
>>612477
>>612739
Пиздец. Предупредить поехавшего порашника и забанить школьник-куна. Или модератор тоже хохол?
>>616411>>616413
#352 #616411
>>616410
Все мы русские, Мыкола.
#353 #616413
>>616410
Вообще, по хорошему, было бы достаточно удалить те пару постов, зэкач и так полупустой.
#354 #616418
>>616404

> Два итератора (mut и immutable) по одному контейнеру одновременно.


Полагаю, что никак, так как это ломает memory safety.
67 Кб, 600x800
#355 #616431
Помогите прояснить несколько нюансов раста.

Как-то, непонятно в какой-то момент память выделяется на стеке, а в какой на куче. Как создать изменяемый массив в куче? Не вектор, а именно массив. Почему Box::new(X) вначале создает X в стеке, а потом перемещает егов кучу. Соответственно нельзя сделать X очень большим. Как сразу создавать что-то в куче?

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

Ну и самым главным тёмным пятном являются параметры времени жизни переменной. Вроде бы понятно о чем речь, что это такое, но не совсем понятны сиутации когда это именно ручками надо прописывать. Те примеры которые я видел, выглядят так как будто компилятор мог бы и сам догадаться о времени жизни переменной.
>>616589>>617001
#356 #616589
>>616431

> Как сразу создавать что-то в куче?


В unstable можно было бы сделать нечто вроде https://gist.github.com/anonymous/de7921e2e62d9c223492.

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


Компиляторы обычно не столь умны, как нам хотелось бы (тем более, что выбор не всегда однозначен).
Просто ставь, когда в этом есть необходимость.
>>616993
#357 #616993
>>616589
По началу не факт, что это реально необходимо. Может просто-напросто значить, что что-то делается не так и можно сделать как-то проще.
#358 #617001
>>616431
http://codrspace.com/buntine/aha-understanding-lifetimes-in-rust/
Параграф: One last point
let people: Vec<Person> = …;
#359 #617773
Как наследование-то в расте делать?
>>617792>>618678
#360 #617792
#361 #618678
>>617773
Если ты про наследование данных, то через Deref.

Но вообще, если тебе нужно наследование и речь идёт не об обёртках над ООП-библиотеками, то ты делаешь что-то неправильно.
54 Кб, 604x413
#362 #619989
>>572681 (OP)
посоветуйте бесплатную IDE для RUST
>>620133
#364 #620168
Тут с пистоном никто не баловался? Кое-кто его похвалил и вот я теперь в раздумьях.
>>620260
#365 #620198
>>572681 (OP)
Открыл посмотреть код на этом ващем хипстерском расте и после увиденного было решено - уж лучше 1с, чем это.

Кто в здравом смысле будет писать на этом языке? Синтаксис как у брэйнфака.
>>620260
#366 #620260
>>620168
С сентября не видно прогресса. Они там что-то постоянно новое добавляют, но в основных библиотеках только версии библиотек, от которых фреймворк зависит, обновляются.
>>620198
Ты ещё скажи, что в функциональных языках синтаксис как у брейнфака.
>>620284
#367 #620268
Чем думают дизайнеры языка когда сокращают одни слова, но оставляют другие? impl fn pub vec, зато ебать struct extern и тп.
>>620277>>620550
#368 #620277
>>620268
Есть struct, например, сократить до str, то это уже будет строка.
#369 #620284
>>620260
Раст из функциональщины стащил паттерн матчинг и имутабельность, при этом он менее читаем эрланга и любого монадного высера на хачкеле. Дизайн синтаксиса - это реально пиздец, такого обилия шифтовых знаков даже в фп нигде не найдёшь.
#370 #620495
Вы што суки поехавшие? Што ето блядь! https://github.com/kstep/vkrs/blob/master/examples/songs.rs Вы бля песню ищете в 95 строк кода? Охуеть!, ну! блядь! дауны! сука!

>f.read_to_string(&mut buf).map(|_| serde_json::from_str(&*buf).and_then(serde_json::value::from_value))


ШТО ЕТО БЛЯДЬ ЗА ДЖЯВА!?!?!?! Ну пиздец! Ебал вашу мозиллу, переходите на питон.
>>620550>>621335
#371 #620550
>>620268
В раннем расте было больше сокращений.

>>620495

> f.read_to_string(&mut buf).map(|_| serde_json::from_str(&*buf).and_then(serde_json::value::from_value))


> ШТО ЕТО БЛЯДЬ


Пример того, как писать не нужно, очевидно же.
>>620855
#372 #620855
>>620550
Ты что забыл здесь, адекват?

Как наебашить всем растоблядкам чтоб такое не писали?
>>620904
#373 #620904
>>620855

> спойлер


В любом достаточно выразительном языке можно понаписать говнокода.
Раст здесь ничем особо не выделяется.
#374 #621181

> хачкель


> C


> C++


Пиздос, зашёл в тред про раст. Решил начать изучение этого языка, но прибегает какая-то тупорылая скотина и начинает тут на весь тред бомбить, что раст говно и только C++, бля как же заебали.
>>621186
#375 #621186
>>621181
Иди васик выучи, твой уровень.
>>621300
#376 #621300
>>621186
Я твою мамашу-шлюху вчера хорошо поучил, если ты понимаешь о чём я.
#377 #621335
>>620495
Хорошо зделали, надеюсь когда нибудь оно появится в промышленных проектах. А пока остаются только кресты (лет еще как минимум на 30)
>>621716
sage #378 #621716
>>621335
Я говорил с мужиком с работы, который еще ферритовые кольца для ЭВМ помнит, он на асме и плюсах пишет уже лет 20, стоит ли говорить ,что гуру плюсов дохуя? Он мне сказал, что раст ему очень понравился и почему-то у него есть ощущение, что через год-два он бы перешёл на раст.
>>621747
#379 #621718
Когда работа на расте подъедет?
Ни одной вакансии на хх.
>>621752
#380 #621747
>>621716
Куда он бы перешёл? На работу, которой ещё лет 5 не будет?
>>621760
#381 #621752
>>621718
Когда servo выйдет в продакшен и то, если он будет в чём-то лучше тех же blink и edge. Тут уже пейсали почему он вряд ли вообще когда-то станет языком общего назначения, с которым можно реально устроится на работу (а не попасть по случайности) >>597165
#382 #621760
>>621747
Перелез бы с твоей мамки на какую-нибудь шлюху получше.
>>621766
#383 #621766
>>621760
Как что-то плохое сказал, моя мамка не спидозная шлюха с климаксом же, в отличие от твоей, манька-фантазёр.
#384 #621884
Ребята, давайте жить дружно.
#385 #622015
Ебать, мод наши сообщения про мамок потёр, лол.
#386 #622045
Потыкал в этот ваш раст палочкой. Шо спп, шо раст - сорта говна. Не, может для крестухов оно и норм, но нормальный человек этим пользоваться не будет.
>>622084
#387 #622084
>>622045
Как будто есть альтернативы.
>>622096>>622840
#388 #622096
#389 #622099
>>622096
нет, просто нет.
#390 #622116
>>622096
Компилятор нормальный когда завезут хотя бы. Пробежался по текущим - в gdc (самый крутой по оптимизации) не коммитили уже пол года, на ldc как и на gdc не билдится ничего из более менее полноценного инструментария D (типо vibe.d), dmd по умолчанию - уровень goвна.

Сборщик мусора сука БЛОКИРУЮЩИЙ, В 2016 ГОДУ.

Ни одна из IDE не поддерживает dub (местный cargo).

Как на этом нём писать вообще?
>>622144
#391 #622144
>>622116

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


уже все готовы для продакшена, это не раст уж извините

>Сборщик мусора сука БЛОКИРУЮЩИЙ, В 2016 ГОДУ.


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

>Ни одна из IDE не поддерживает dub (местный cargo).


dtd

>Как на этом нём писать вообще?


к реальным проблемам дэ твои вскукареки это не относится.
>>622168>>622170
#392 #622156
>>622096
нет, просто иди нахуй с этим мертворождённым недопиленным высером
>>622164
#393 #622164
>>622156

>покпок


что простите?
#394 #622168
>>622144
смысл тут что-то тяфкать про ди, если он толком никому не нужен?
>>622177
#395 #622170
>>622144

>стоп зе ворлд? так он везде такой


Он уже давно везде неблокирующий со времён java 6, даже в goвне, маня.

>что значит блокирующий?


Ну ты погугли, расширь кругозор.

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


Ну оно и заметно - vibe.d собирается только на dmd, который по бенчмаркам на уровне говна и проигрывает яве.

>dtd


Нашёл только ddt, и он работает, ок.

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


Ну да, у него же нету щедрой мозиллы, которая проспонсирует разработку и пиар приманив ещё полсотни "опенсурс волонтёров" мечтающих полизать хуй и пойти работать в мозилу, и доведёт его до продакшен-реди состояния (по гитхабу там вообще всю активность создают Александерску с Брайтом, лол).
>>622175
#396 #622175
>>622170

>Он уже давно везде неблокирующий со времён java 6, даже в goвне, маня.


сказочки пошли)

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


>бенчмарки


яснопонятно

>Ну да, у него же нету щедрой мозиллы,


в голосяку
#397 #622177
>>622168
хруст кому-то нужен, кроме 3.5 анонсов
>>622181
#398 #622181
>>622177
Тут блядь про purebasic тред, со спорами на 400 постов vs гейдев дауна не понимающего предметной области вообще, в зк вообще ни о чём тявкать не стоит, лол.
>>622189
#399 #622189
>>622181

>судить об программировании


сам-то джун поди?
дэ на сегоднящний момент лучший компилируемый язык, что бы там кто не кукарекал, а если говорить сухими цифрами, то го до дэ где-то около 60 лет человеколет, расту лет 5-6, си лет 900, с++ - около 10 лет
>>622194
#400 #622194
>>622189
Мы всё поняли, уноси отсюда свой сишарп с унифицированным синтаксисом вызова функций и скопами.

Лучший компилируемый язык с неконкурентным гц, без единого нормального компилятора, без анализатора кода вообще и наконец нахуй не кому не нужный, на котором нету ни 1 крупного проекта.
>>622196
#401 #622196
>>622194
ахаха маня снова ты)
ты же говорил про блокирующий гц, а тут уже конкурентный)) лел

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


dmd

> без анализатора кода


lol 4to?

>на котором нету ни 1 крупного проекта.


дефайн крупный проект, а то окажется что крупные проекты есть только в джае
>>622202
#402 #622202
>>622196

>ты же говорил про блокирующий гц, а тут уже конкурентный


Да, вась, я повёлся на маркетинговую хуету и обосрался.
А в D конкурентного таки нету гугл на какую-то хуиту шиндовс онли кидает.

>dmd


Он на +-30% проигрывает остальным даже в хэловордах.

>lol 4to?


Ни 1 статического анализатора кода (гугл дал ссылку на какую-то хуитку 2008 года, сайт которой недоступен).

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


Крупные проекты даже на расте уже есть - см. шапку.
>>622206
#403 #622206
>>622202

>А в D конкурентного таки нету


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

>Он на +-30% проигрывает остальным даже в хэловордах.


> даже в хэловордах


только в хэловордах))

>Ни 1 статического анализатора кода (гугл дал ссылку на какую-то хуитку 2008 года, сайт которой недоступен).


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

>Крупные проекты даже на расте уже есть - см. шапку.


мне кажется что крупный значит где-то используется,
мне кажется крупный это не тысяча звёзд на жыдхабе
мне кажется крупный это не на расте))))
>>622210
#404 #622210
>>622206
Мне кажется, что ты - даун.
Мне кажется, что у тебя проблемы с мозгом.
Мне кажется, что твой уровень развития ниже киррилов из /гд.

Если для тебя следующий движок для замены gecko - небольшой проект, то "ты кек", мне кажется.
>>622217
#405 #622217
>>622210

>когда нету аргументов


))))
>>622221
#406 #622221
>>622217

>когда оппонент - тупее стены


))))))
>>622225
#407 #622225
>>622221
слив защитан
>>622232
#408 #622232
>>622225
Твоя тупость засчитана. С тобой спорить - как хуярить дуб руками, всё без толку.
>>622238
#409 #622238
>>622232
обосрался обтекай)
>>622241
#410 #622241
>>622238
Лучше пойду выебу твою мамашу и насру ей в рот, поразмяв это всё говнцо хуйцом у неё во рту. Потом можно будет зарезать нихуй и вымазать всё её дерьмом, которое вылезет из неё когда она сдохнет.
>>622249
#411 #622249
>>622241
ахахаха))))

в етом итт треде раст соснул у дэ))))))
>>622254
#412 #622251
g
#413 #622254
>>622249

>в етом итт треде


))))))
#414 #622271
Опять какой-то залётный мимодебил насрал в этом ИТТ треде.

А я тем временем притащу вот это: https://robigalia.org/
>>622278
#415 #622278
>>622271

>Right now, only the absolute minimum for using Rust on seL4 is supported: building static binaries that can run as the initial thread at boot. See hello-world for an example of this.


съеби плёс)

пацаны киньте этот раст и скачивайте дмд, славьте Александреску!
>>622281
#416 #622281
>>622278
На твоём D даже инфраструктуру уровня hello world не пишут, лол.
>>622284
#417 #622284
>>622281
на расте пишут но она не собирается)
а дэ это промышленный стандарт научных центров, и институтов.
>>622302
#418 #622302
>>622284
Д от слова даун?)))
Типа замена пхп для Dаунов))
>>622313
#419 #622313
>>622302
обида плис)
#420 #622524
посоны, не ведитесь на истерику в жопу ужаленного какого-то Dауна, который сидит и задрачивает какую-то мертворождённую хуйню и испытывает баттхерт от одиночества и разбитого корыта.
>>622541
25 Кб, 302x324
Dауноотсос #421 #622537

> Rust; first appeared 2010; github active repositories 4383


> D; first appeared 2001; github active repositories 1749

>>622541
#422 #622541
>>622524
маня плиз
>>622537

>судить по звёздочкам на жыдхабе


топкек просто))

ну давайте растоблядушки раскажыте за свой прозжоное говнонецо, как там боксинк хуёксинк, гринтредушки, покпок меморисайфети, покпок ноугц, покпок мозила серво)))
>>622562
#423 #622562
>>622541

> ВРЁТИ


Няша, твоё александрескоподелие никому не нужно. На нём никто ничего не пишет.
Выучи наконец С++14 и покинь этот тред.
>>622567
#424 #622567
>>622562

>На нём никто ничего не пишет.


> D; first appeared 2001; github active repositories 1749


кажетца ты пиздишь))))
ахаха растодети такие лол
>>622569
#425 #622569
>>622567
Типичный фреймворк на JS имеет в 10 раз больше форков, чем всего есть проектов на D.
>>622571
#426 #622571
>>622569
спасиба за инфу, я тута в прошлых третах видел какие там на джс репы, наверное и в ресте такие же)))
раст ето такой джаваскрипт2.0, только в названии джавы нету наверное поэтому и не взлетит в отличии от D, который уже летает и имеет минимум 3 компилятора, и промышленные решения во всех областях ну и ещё на нём мозилка пишет, а помните кто запилил джс??? таже мозила ахаха и теперь у всех непрерывный бугурт и сотка языков которые компилятца в ето говно))) ну вы понили что растилка токое же говно))))
>>622573>>622832
403 Кб, 768x576
#427 #622573
>>622574
#428 #622574
>>622573
а мне норм)
#429 #622832
>>622571
ахаха, дишник порвался))
>>622833
#430 #622833
>>622832
маня плиз)
#431 #622840
395 Кб, 610x502
Шах и мат, рустеры! #432 #623364
Я просто оставлю это здесь.
https://www.reddit.com/r/rust/comments/32jmf8/stdthreadscoped_found_to_be_unsound/

школьник-кун
>>623365
#435 #624458
Собрал racer (release)
32 мб + какой-то libracer.rlib на 12 мб к нему идёт
Это, как бы, нормально?
>>624471
#436 #624471
>>624458
Нет, хуйня какая-то, у меня всё занимает меньше мегабайта.
>>624479
#437 #624478
И вот ещё. До этого всё время писал тупо в блокноте, а тут попробовал в Atom'е запустить. Racer для стандартных типов такие вещи как Vec::new() нормально подсвечивает, а для тех, которые я создал, – нет. Сами структуры и их методы нормально отображает, а вот это - нет. Как исправить?
#438 #624479
>>624471
Я собирал на rustc 1.5
cargo build --release
>>624485
#439 #624485
>>624479
OS: Windows 7
Сборка gnu.
#440 #627153
Files Lines Blanks Comments Code Unsafe (%)
----- ----- ------ -------- ---- ----------
Rustc 6246 562282 70078 139967 352200 3210 (0.91%)
Servo 548 185485 19017 27249 139217 1892 (1.36%)
>>627505
#441 #627505
>>627153
Что за утилитка умеет unsafe строки считать?
>>627700>>627756
#442 #627700
#443 #627756
>>627505
cargo install cargo-count
cargo count --unsafe-statistics -l rs
Если считать файлы других форматов, то желательно добавлять --utf8-rule ignore
Только с C++ файлами пока неправильно считает из-за того, что разного формата (.ccp, .cc, .ccx, .c, .c++ и т.д.) считает отдельно.
#444 #632040
1.6 уже накатили?
Поясните по gnu и msvc версиям. В каких случаях имеет смысл ставить первую, в каких - вторую?
>>634606
#445 #634606
>>632040

>Which version of Rust you need depends largely on what C/C++ libraries you want to interoperate with: for interop with software produced by Visual Studio use the MSVC build of Rust; for interop with GNU software built using the MinGW/MSYS2 toolchain use the GNU build.


ded language, ded thread
>>634611
#446 #634611
>>634606
Ded tvoi dead
>>636112
#447 #636112
>>634611
net tred
#448 #636262
Растаны, в других языках для чтения конфига я описывал его через структуру или объект, а потом с помощью рефлексии проходил по полям структуры и присваивал им значения из конфига, наподобие get_value_from_config["полученное_имя_структуры"]["полученное_имя_поля"].as_полученный_тип_поля(), ну вы понели. Можно сделать что-нибудь подобное, не обязательно таким путем, но чтобы в результате у меня была структура со значениями, но без ручной забивания в коде values.value_1 = from_config["values"]["value_1"] для каждого поля.
>>636286
#449 #636286
>>636262
Вась, ну гугел.
https://doc.rust-lang.org/rustc-serialize/rustc_serialize/json/index.html#examples-of-use
Хотя структурку-то тебе все равно самому надо написать, в отличие от скриптоязыков.
>>636313
#450 #636313
>>636286
Но мне не нужен json.
>>636320>>636327
#451 #636320
>>636313
Спасибо за информацию, отряд ванг уже выехал к вам.
Кебывай в гугл с такими насыщенными инфой вопросами.
>>636327>>636990
#452 #636327
>>636313
Хотя трейты Encodable, Decodable похоже то что мне нужно.
>>636320
Чего злой такой?
>>636339
#453 #636339
>>636327
Потому что ты, дебик, не хочешь ни использовать гугл, ни говорить что именно нужно, а остальные должны догадаться, чо наше солнышко хочет.
>>636348
#454 #636348
>>636339
Ебать ты желчный, я написал что мне нужно, если упростить, то пройтись по полям структуры и присвоить им значения из моего конфига. Если бы мне была нужна сеарилизация из/в json я бы, возможно, так и написал. Если тебе было что-то непонятно то можно было просто уточнить, а не бугуртить тут.
Вот еще вариант, кстати http://stackoverflow.com/questions/29986057/get-fields-of-a-struct-type-in-a-macro
>>636351
#455 #636351
>>636348

>сериализация/десериализация


fix
#456 #636558
>>638032>>638340
35 Кб, 640x640
#457 #636990
>>636320
Напоминание: вы находитесь в зоне действия шариата Rust Code of Conduct. Проявляйте сдерженность и уважение к друг другу во всех случаях, кроме тех, если вы не разговариваете с неверным bigot white cis-gender shitlord https://www.rust-lang.org/conduct.html
>>637411>>638084
#458 #637411
>>636990

> Private harassment is also unacceptable. No matter who you are, if you feel you have been or are being harassed or made uncomfortable by a community member, please contact one of the channel ops or any of the Rust moderation team immediately.


Пиздец, вот это швабода, ещё и предлагают писать доносы.
#459 #638032
>>636558
Вот и в раст каргокультисты набежали. Генераторы нужны раз в два года, можно и в ручную написать.
>>638061
#460 #638061
>>638032
Генераторы вообще должны на уровне библиотеки разрабатываться, а не быть в ядре языка.
>>638080
#461 #638080
>>638061
Они вообще не слишком-то нужны в системных языках, в отличие от функциональных попиздулек для мастурбации на жвм.
>>638088>>638340
#462 #638084
>>636990
Они там что, GO объелись?
#463 #638088
>>638080
Ну если их нельзя реализовать на самом языке, то грошь цена такому языку.
#464 #638090
>>638084
Вообще code of conduct придумала рубистка.
>>638269
22 Кб, 400x522
#465 #638096
>>638084
А ты найди щас язык без этих CoC?
>>638299
#466 #638162
>>638084
Они недавно обновили КоК в соответствии с Contributor Covenant, который сейчас считается как бе "best practice" для опенсорс проектов.

Этот Contributor Covenant агрессивно продвигается трансгендерным фашыстом CoralineAda и командой социал джастис варриоров, которые всячески запугивают, добиваются увольнения и публично уничтожают тех, кто становится у них на пути.
>>638192>>638269
28 Кб, 400x368
#467 #638192
>>638162

>CoralineAda


У нее веселый твитор
#468 #638269
>>638090>>638162

> рубистка.


> трансгендерным фашыстом CoralineAda


Так и знал
>>638271
#469 #638271
>>638269

>трансгендерным фашыстом CoralineAda


Так вот че она такая страшная
>>638319
86 Кб, 480x640
380 Кб, 1996x1996
#470 #638299
>>638096
Ну не знаю, Scala? Лгбт-петушки такое не осилят.
>>638303>>638786
#471 #638303
>>638299
Но руст же сложнее скалы разве что с хвостовой рекурсией не так просто проебаться, с таким же пиздецовым синтаксисом. Как его по твоей логике лгбт петушки осилили-то?
>>638340
#472 #638319
>>638271

>она


>трансгендер


lul
>>638351
#473 #638340
>>638303

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



Разве что сложность уровня
>>636558>>638080

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

>>638345
#474 #638345
>>638340
Где связь между отсутствием генераторов как средства языка и его сложностью? всё равно оба вырвиглазистее чем C++
>>638772
#475 #638351
>>638319
Так по факту какого оно пола? Я в этих терминах не особо разбираюсь.
#476 #638353
Скалка не сложная, в ней просто бардак вместо стройного языка с ортогональными фичами.
Тот же Idris намного мощнее, но код на нём читать ещё легче, чем код на хаскеле.
#477 #638355
>>638351
Female gender, но male sex, очевидно же, биологический мужчина, который самоидентифицируется как женщина.
#478 #638356
>>638351
По факту это старый мужик с девочкой внутри, феменист(ка).
http://lurkmore.to/Fg#.D0.A1.D0.B2.D0.B5.D1.82.D0.B0_.D0.9C.D0.BE.D1.80.D0.BE.D0.B7.D0.BE.D0.B2.D0.B0
- наш отечественный аналог.
#479 #638772
>>638345
Не похож на родной C == вырвиглазный?
>>638790>>638796
#480 #638786
>>638299
Они и не осиливают ничего. Пройдись по гитхабу таких петушков, там html/css/js параша одна.
>>638838
#481 #638790
>>638772
Даже аргументировать не стану, уже за меня сделали и не раз. В прошлом вроде треде челик вбрасывал исходники двусвязного списка (или листа, хз) на си и расте.

Можно конечно сказать вот мол, он просто нитакой как все и он хароший, но это нихуя не адекватный ответ - с тем же успехом можно и собаку выебать и про брейнфак так же сказать.
>>638838
#482 #638796
>>638772

>раст


>Не похож на родной C

>>638798
#483 #638798
>>638796
Они похожи только для явадаунов и различных видов скриптодетей.
>>638838
1220 Кб, 1630x1507
23 Кб, 855x410
#484 #638838
>>638351
Для осторожности, когда упоминаешь данных snowflakes, предпочтительно использовать термин genderqueer. Тогда у упоминаемых будет ниже возможность подать на тебя в суд, выбить из тебя твой дом, лишить работы и семьи.
http://www.youtube.com/watch?v=iKcWu0tsiZM (Eng)
http://www.youtube.com/watch?v=wNNwGeMTyQE (Rus)
Вроде бы Alex Crichton воинствующий коммуняка. Вытеснил всех инакомыслящих. Но там, скорее всего, вся Mozilla уже оккупирована пацанами из Сан-Франциско, раз Брендана Айка вытеснили. Но есть один плюс во всей этой движухе - маловероятно, что только одно имя компании язык прорекламировало язык. Среди молодежи США и Европы сейчас очень популярны социалистические и коммунистические идеи и бизнес на этом паразитирует. И, соответственно, компании, поддерживающие эти популярные идеи, получают нехилый пиар.
>>638786
Они деньги получают с лохов. На этом и живут. Скорее всего, даже неплохо. Не зря же всякие women's studies существуют.
https://en.wikipedia.org/wiki/Women's_studies
>>638790
Ну ок, братишка, раз для тебя упомянутый код был аргументом. Язык используется в 3.5 компаниях, поэтому никто тебя не заставит писать тысячную реализацию двусвязных списков. Вместо этого тебе предложат ===, if(a=0), sizeof(size_t), ++i + ++i, if error == null, free() и 1000 других заложенных в разные языки граблей.
http://www.jonathanturner.org/2016/01/rust-and-blub-paradox.html
>>638798
Это оскорбление по квазирелигиозным признакам, успокойся.
#485 #638864
>>638838

>sizeof(size_t)


Что за грабли такие? mem::size_of::<usize>() тоже не фиксирован, если что.
>>638916
#486 #638889
>>638838
Из приведенного тобой говна неочевидна толька шутеечка с инкриминитетом. Если спросили бы что у меня там получится где нибудь на собеседовании - в ебло дал бы стулом.
В приведённом тобой высере челик рассказывает о том, что он подгорел как я от шутки про ++i + ++i, в расте эту проблему убрали выкинув её нахуй Александерску хуесос и у него хуёвое чувство юмора, в расте всё ок с безопасностью. Да, я с ним согласен, но код на расте всё равно нечитабельное говно. Даже код на C образца 89 года, где авторы не против были делать вот такие вещи http://ideone.com/X8gS4m код был читабельнее.

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


Как что-то плохое сказал.

>предпочтительно использовать термин genderqueer


Русскоязычное население - одна из топовых по гомофобности публика, поэтому конкретно здеся можно писать что он джилопидор и не парится. Когда идёшь в CoCk-сообщество - лучше вообще игнорировать таких людей, если не хочешь чтобы тебя как илюшу забанили по жалобе трапа за название твоего проекта "climax".
>>638912
#487 #638912
>>638889
Ок. Какой язык с твоей точки зрения идеальный в плане читабельности?
>>639008
#488 #638916
>>638864
Не дописал. Я про выделение памяти по принципу int ☆ a = (int ☆)malloc(100 ☆ sizeof(int));
#489 #638981
>>638838

>Вроде бы Alex Crichton воинствующий коммуняка.


s/Alex Crichton/Steve Klabnik/
Алекс милейший человек и от политики держится как можно дальше
>>638989>>639192
#490 #638988
Вы разработчиков раста различаете штоле? Скажите тогда, кто Страуструп/SPJ/Одерски/Гвидо раста?
#491 #638989
>>638981
Точно, я перепутал. Посмотрел список и не нашел там Клабника, поэтому первого написал. Алекс няша, да.
#492 #639008
>>638912
Никакой. Есть убогонькие, но очень читаемые (го, си, петон), есть конкретно перегруженные "публичные туалеты" (цпп, раст, скала), есть балансирующие между ними (д, ц#, явка).
>>639195>>639198
#494 #639195
>>639008

>очень читаемые (го, петон)


Ага, и простейшее дейсвие размазано на два экрана. Это псевдо-читаемость, для неосиляторов

>конкретно перегруженные


Так теперь говорят вместо "мне лень учить, хочу попроще"?
>>639204>>639222
#495 #639198
>>639008

> очень читаемые


> го, си, петон


Помочился в рот дебилу.
>>639222
#496 #639204
>>639195
Но ведь в питоне ограничение на 80 символов в строке, на два экрана не размажешь. Хотя __когда_вот_такие_названия_у_функций - да, много не напишешь.

> Так теперь говорят вместо "мне лень учить, хочу попроще"?


Да там дело не в учить. Изначально как-то было пофиг на это, запоминал и всё. Но ведь они одну и ту же хуйню позволяют писать десятью способами, кому как вздумается. Гибкость - хорошо, но в том-то и проблема, что большинству легче запомнить что-нибудь простое типа python, c и go, чем вникать в детали какого-нибудь раздуваемого c++ или rust'а. С одной стороны, меньше конкуренция, с другой - какой работодатель будет ебаться с языком, на который нужно потратить месяц чтобы хотя бы более-менее синтаксис освоить, не говоря о логике работы?
Вот был просто try!(huy()), теперь будет huy()?, try { huy() } catch { }, do { huy() }.
>>639226>>639229
#497 #639222
>>639198
Мамаше своей дохлой помочись.
>>639195
Покпок, функциональщена, покпок лигкочитать.
Если у C++ проблемы с UB на UB а у раста с излишеством шифтовых операторов, и эти проблемы в них вроде как окупаются другими вещами, то скала - это худшая помойка, которая может окупится в скорости разработки, но дальше останется только Perl нашего времени.

> Это псевдо-читаемость, для неосиляторов


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

>Так теперь говорят вместо "мне лень учить, хочу попроще"?


Учить что-то сложнее имеет смысл если оно себя окупит.
Мы вообще, внезапно, с читабельности перешли на сложность, но один хуй высказав аргумент про неосиляторство ты слился.
46 Кб, 461x406
#498 #639226
>>639204

>в питоне ограничение на 80 символов в строке


>на два экрана не размажешь


я имел ввиду на два экрана в высоту
#499 #639228
>>639222

>ты слился


Это вообще моё первое сообщение в треде.

Я вижу, у тебя большая нелюбовь к скале, но я скорее о расте говорил, который [пока] совершенно не считаю переусложнённым.
#500 #639229
>>639204

> теперь будет huy()?, try { huy() } catch { }, do { huy() }


А должен-то быть: do { ... }
http://m4rw3r.github.io/rust-questionmark-operator/

>>639222

> то скала - это худшая помойка


Здесь соглашусь. Но дело не только в синтаксисе, но и семантике.
#501 #639368
>>639192
>>639192

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



Стив не занимается разработкой языка, он занимается пиаром и документацией.
#502 #639918
>>639222
Лол, давай-ка ты мне покажешь реализацию коллекций скалы (map, flatMap, filter, collect, fold, groupBy, sum и т.д.) на си и го, а потом будешь кукарекать.
#503 #648644
>>597114
Это пока единственный известный проект, написанный на Расте?
>>650459
#504 #650459
>>648644
В целом, да. И тот пока ещё даже до альфа версии не дошел.
Обновить тред
Двач.hk не отвечает.
Вы видите копию треда, сохраненную 24 февраля 2016 года.

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

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