Программирование


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

<<
Назад | Вниз | Каталог | Обновить тред | Автообновление
519 54 109

Rust #5 /rust/ Аноним 22/11/18 Чтв 15:46:09 12996181
rust-card-dark-[...].png (586Кб, 1500x2250)
1500x2250
1*gX8CmP0eETkwY[...].png (37Кб, 1207x826)
1207x826
7n0p07jc25c11.png (188Кб, 2040x632)
2040x632
friends-of-rust.png (531Кб, 1920x1234)
1920x1234
Rust — невероятно быстрый язык для системного программирования без segfault'ов и с гарантиями потокобезопасности.

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

https://www.rust-lang.org

> Пачиму helloworld весит как моя мамка?!1й
https://lifthrasiir.github.io/rustlog/why-is-a-rust-executable-large.html

Читать
Оф. книга, она же растбук
https://doc.rust-lang.org/book/
https://rustbyexample.com/
Очень хорошая книга, отлично зайдет после растбука:
http://shop.oreilly.com/product/0636920040385.do

Упражнения
https://exercism.io/tracks/rust
https://github.com/crazymykl/rust-koans

Писать
IDE
https://areweideyet.com/
Вебня
http://www.arewewebyet.org/
Игры
http://arewegameyet.com/
Etc
https://wiki.mozilla.org/Areweyet

Список интересных проектов
https://github.com/rust-unofficial/awesome-rust

Новости
Компиляция всего, что произошло за неделю
Иногда постят вакансии
https://this-week-in-rust.org/
Сколько вешать в лайках
https://github.com/trending/rust

Оп рекомендует:
https://www.amethyst.rs/
Аноним 22/11/18 Чтв 18:33:51 12997032
>>1299618 (OP)
Лул, второй пик такой маняпик. Ведь если ты пишешь что то больше чем хеллоу ворлд, то весь код надо в ансейф оборачивать.
Аноним 22/11/18 Чтв 18:35:24 12997073
>>1299703
Фантазер. Так делают только те кто пришли из с++ и по другому просто уже не могут.
Аноним 22/11/18 Чтв 21:43:00 12997874
>>1299707
В С++ можно обходится без сырых указателей, new и delete. Где твой бох теперь?
А ещё там есть лямбды, темплейты, автоматический вывод типов, сементика перемещения, треды, компилторЫ, отладчикИ, IDE с автокомплитом, а самое главное ООП.
Аноним 22/11/18 Чтв 21:54:54 12997925
Аноним 22/11/18 Чтв 22:09:34 12998036
>>1299787
Ну дык а хуле тогда в этом решете постоянно дыры находят?
Аноним 22/11/18 Чтв 22:17:53 12998107
>>1299618 (OP)
650 kilobytes for helloworld - это днище полное.
Аноним 22/11/18 Чтв 22:23:24 12998138
>>1299787
Когда сделают С++ хотя бы сильнотипизированным, тогда и приходите. А пока это всё костыли, усложняющие синтаксис и семантику. Пожалуй самые годные вещи в С++ - темплейты и перегрузка, они худо-бедно обеспечивают параметрический и адхок полиморфизм.

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

Язык-костыль, язык-выстрели-себе-в-ногу, язык-хуй-поймешь.
Аноним 22/11/18 Чтв 22:42:57 12998249
Аноним 23/11/18 Птн 00:18:11 129987810
>>1299813
И все еще лучше раста.
Аноним 23/11/18 Птн 00:34:08 129989011
Аноним 23/11/18 Птн 00:54:51 129990912
Аноним 23/11/18 Птн 02:35:29 129996113
Аноним 23/11/18 Птн 13:46:58 130010314
Шота я не понял, ткнул на рандомный туториал в растбуке, а там
> Unfortunately, the Rust compiler isn’t perfect yet
> Rust is still a work in progress
> compiler could be improved, but in the future
И в таком духе.
И как позвольте им пользоваться тогда, м?
Алсо языку 8 лет, так то. Пора уже быть пёрфект.
Аноним 23/11/18 Птн 13:49:59 130010615
>>1300103
Потому что это правда. Например nll который завезут в декабре сделает борроу-чекер намного приятней в использовании. Сделает ли это язык пёрфект? Конечно нет.
Компилятор крестов и сам язык пилят уже хер знает сколько десятков лет, а он все еще ни капли не пёрфект.
Аноним 23/11/18 Птн 13:51:26 130010716
>>1300106
А ты случайно не в курсе когда выкатят асинк/вейт?
Аноним 23/11/18 Птн 13:53:24 130010817
Аноним 23/11/18 Птн 18:23:42 130023718
>>1299813
-Werror -Wpedantic
Вот и не соберется без явного преобразования.
А как реализовать адхок полиморфизм без преобразований типов? Кароч отсутсвие возможности что то сделать фича раста.
Аноним 23/11/18 Птн 18:47:28 130025219
Аноним 23/11/18 Птн 19:10:24 130025720
>>1299813
>Когда сделают С++ хотя бы сильнотипизированным
это значило бы отказаться от совместимости с си, те отказаться от нетипизированного указателя и неявных преобразований в си-стиле
но в современном с++ это и не используют
потому что в тех случаях когда нужен был нетипизированный указатель (например, для adt) используются шаблоны, а для задания преобразований для типов есть масса способов, начиная хотя бы с задания явного оператора преобразования к типу в классе и конструкторов преобразования
Аноним 23/11/18 Птн 19:17:38 130025921

>Компилятор крестов и сам язык пилят уже хер знает сколько десятков лет, а он все еще ни капли не пёрфект.
>Компилятор крестов
какой из?


Аноним 23/11/18 Птн 19:54:31 130027222
Аноним 23/11/18 Птн 20:16:19 130028623
>>1300272
окей, раз любой
какие видишь проблемы у clang, например?
кстати, бэк у раста тоже llvm
Аноним 23/11/18 Птн 20:24:04 130029624
>>1300237
>Вот и не соберется без явного преобразования.
А с (void*) соберется?

>А как реализовать адхок полиморфизм без преобразований типов?
Перегрузка методов же. Зачем какие-то преобразования?

>>1300252
Темплейты - это параметрический.

>>1300257
>это значило бы отказаться от совместимости с си
с++ и так вобщем-то отказался от совместимости с си: как на уровне исходников - си не является подмножеством с++, так и на уровне бинарников - настандартизированный name mangling этому способствует.
Аноним 23/11/18 Птн 20:44:53 130030525
>>1300237
>А как реализовать адхок полиморфизм без преобразований типов? Кароч отсутсвие возможности что то сделать фича раста.
>

Там есть динамик диспатч с явным преобразованием.
Аноним 23/11/18 Птн 21:34:57 130033126
>>1300252
А это в рантайме работает? Например у меня есть интерфес для объекта, в рантайме можно выбрать квадрат или круг. Интрфейсу все равно что выбрано у всех объетов есть метод draw().
Как это сделать в расте?
Аноним 24/11/18 Суб 11:38:08 130044427
Аноним 24/11/18 Суб 12:46:27 130046828
Аноним 24/11/18 Суб 13:23:14 130047829
Аноним 24/11/18 Суб 13:35:13 130048030
Аноним 24/11/18 Суб 18:32:22 130056931
24/11/18 Суб 18:48:14 130057732
Аноним 24/11/18 Суб 19:01:05 130057833
>>1300577
Камикадзе, проснись, ты обосрался.
Аноним 25/11/18 Вск 03:29:18 130077334
Почему среди обилия великолепных языков программирования вы выбрали именно раст? Чего вам не хватало-то?
Аноним 25/11/18 Вск 03:54:06 130077535
>>1300773
>Чего вам не хватало-то?
Педе-раст
Аноним 25/11/18 Вск 12:14:35 130084236
>>1300773
0) Статическая типизация
1) Дженерики
2) Лямбды
3) Отсутсвие ГЦ
4) Производительность
5) Нет главных проблем крестов: Double free, Dangling pointers, out of bound access, threading issues, non initalized variable, null pointer, etc.
5) Компиляция в бинарник

Лично я жду когда игровые движки допилят до вменяемого состояния.
25/11/18 Вск 12:23:10 130084937
15428907695541.png (39Кб, 1207x826)
1207x826
Аноним 25/11/18 Вск 13:22:15 130086738
144476380424.png (727Кб, 900x563)
900x563
>>1300773
>>обилия великолепных языков программирования
>тонны легаси-говна почти в каждом языке, которое не вычищают ради обратной совместимости. вплоть до шизы вроде поддержки обратной совместимости с багами, как в C#
>широко используемых языка без GC вообще только 2
>>обилия великолепных языков программирования
Аноним 25/11/18 Вск 13:23:33 130086839
15431377914110.png (42Кб, 1207x826)
1207x826
Аноним 25/11/18 Вск 13:24:36 130087040
>>1300842
Проверку границ можно отключить?
Аноним 25/11/18 Вск 13:44:36 130087541
image.png (24Кб, 1207x826)
1207x826
Аноним 25/11/18 Вск 13:45:04 130087742
>>1300870
Для индексирования — насколько я знаю нет.
Альтернативы (для вектора):
v.get(index) -> Option<T>

unsafe {
v.get_uncheked(index) -> T
}
Аноним 25/11/18 Вск 13:46:16 130087943
>>1300875
Мань, хаскель конечно хорош, но у нас тут язык для системного программирования с минимальным оверхедом и без гц.
Аноним 25/11/18 Вск 13:52:57 130088344
>>1300879
У тебя глаза заржавели.
Аноним 25/11/18 Вск 13:54:54 130088445
>>1300883
Нет, братишка, я занимаюсь геймдевом, и знаю что такое требования к производительности не по наслышке.
Аноним 25/11/18 Вск 14:03:39 130088846
>>1300867
Чем D лучше Rust?

Крайне сложно представить себе реальный проект в котором писать Rust было бы экономически оправдано. Вся структура языка заточена на то, чтобы вынуждать человека указывать достаточно низкоуровневые подробности не тогда, когда это действительно нужно, а ПОСТОЯННО. Исключение где Rust может быть реально полезен могут составлять только Embedded и hard real-time системы. Однако это капля в море разрабатываемого софта. На Rust нельзя написать ни одной программы, не имея хорошего понимания lifetime & ownership. Это автоматически делает его очень сложным. Так же стоит отметить очень свобразный апострофо-кавычечный синтаксис Rust значительно усложняющий написание кода. D в этом отношении гораздо проще и универсальнее. К тому же в D есть режим `betterC` позволяющий использовать ручное управление памятью и сводящий 80% преимуществ Rust к нулю.
http://dlang.ru/faq
Аноним 25/11/18 Вск 14:07:45 130089247
>>1300888
Сто раз уже обсуждали.
1) Без ГЦ D не нужен
2) У нас на 10к строк растокода лайфтаймы есть в основном в определнии структур с реферансами (тривиально), либо в редким хитровыебаных трейтах, которые пишутся один раз.
3) Для того чтобы писать на си/++ точно так же нужно понимать lifetime & ownership, с той разницей что компилятор тебе не поможет.
Аноним 25/11/18 Вск 14:19:31 130089948
>>1300888

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

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

Вот я пишу энтерпрайз на расте, и вроде как пока не разорилась контора. И чо?

> указывать достаточно низкоуровневые подробности не тогда, когда это действительно нужно, а ПОСТОЯННО
Это про что вообще?

> На Rust нельзя написать ни одной программы, не имея хорошего понимания lifetime & ownership.
Охуеть, чтобы писать код, нужно знать язык и используемые в нем концепции.

> апострофо-кавычечный синтаксис Rust значительно усложняющий написание кода
Вообще пушка. КОД НЕ КАК В МОЕМ ЛЮБИМОМ %ЯЗЫК_НЕЙМ% ВЫГЛЯДИТ, ЗНАЧИТ ГОВНО

> в D есть режим `betterC` позволяющий использовать ручное управление памятью
Там есть борроу чекер, лайфтаймы, овнершим и иммутабельность по умолчанию? Если да, то тогда это можно зачесть за аргумент.

> сводящий 80% преимуществ Rust к нулю
ясно-понятно
Аноним 25/11/18 Вск 14:40:30 130090849
99% раст треды - жуткий срач. Хотя, даже мне, крестофилу, видны достоинства раста.
Пора комикс запилить.
Аноним 25/11/18 Вск 14:43:45 130090950
>>1300908
99% любых языко-тредов это срач, разве нет?
Аноним 25/11/18 Вск 14:57:15 130091551
Посоны, учитывая бурное развитие языка, через сколько лет он обрастёт легаси-говном ради обратной совместимости?
Аноним 25/11/18 Вск 15:00:01 130091752
>>1300915
RFC процесс довольно неплохо позволяет не пихать в язык говно, которое потенциально принесет проблемы.

Так что пока что можно не бояться.
Аноним 25/11/18 Вск 15:37:49 130095153
Аноним 25/11/18 Вск 16:13:48 130096154
ИЩЕШЬ В КАКОЙ БЫ СИСТЕМНЫЙ ЯЗЫК ВКАТИТЬСЯ
@
ПРОБУЕШЬ НЯШНУЮ - УЧИШЬСЯ НЕ ПРОГАНЬЮ, А КАК НЕ СТУПИТЬ В ДРЕВНЕЕ ДЕРЬМО ДИДОВ
@
СМОТРИШЬ В СТОРОНУ КРЕСТОВ - ТО ЖЕ САМОЕ, ТОЛЬКО КОНЦА И КРАЯ ДЕРЬМУ НЕ ВИДАТЬ
@
ПЫТАЕШЬСЯ ОБМАЗАТЬСЯ РЖАВЧИНОЙ - СЛОЖНО ППЦ, СЛОВНО НЕ ДЛЯ ЛЮДЕЙ ПРИДУМЫВАЛИ
@
НАКОНЕЦ НАХОДИШЬ АДЕКВАТНЫЙ ЯЗЫК - ДВИЖУХА НА НЕМ МАЛЕНЬКАЯ, ВАКАНСИЙ С ГУЛЬКИН НОС
@
СИДИШЬ НЕДОВОЛЬНО УРЧИШЬ
Аноним 25/11/18 Вск 16:21:41 130096355
>>1300961
>НАКОНЕЦ НАХОДИШЬ АДЕКВАТНЫЙ ЯЗЫК - ДВИЖУХА НА НЕМ МАЛЕНЬКАЯ, ВАКАНСИЙ С ГУЛЬКИН НОС
Ты про дэ что ли?
Аноним 25/11/18 Вск 16:23:09 130096456
Аноним 25/11/18 Вск 16:24:31 130096657
>>1300961
> ПЫТАЕШЬСЯ ОБМАЗАТЬСЯ РЖАВЧИНОЙ - СЛОЖНО ППЦ, СЛОВНО НЕ ДЛЯ ЛЮДЕЙ ПРИДУМЫВАЛИ
Может хоть кто-нибудь внятно объяснить, что там такого сложного и не для людей?
Аноним 25/11/18 Вск 16:27:07 130096758
>>1300966
Да нет ничего сложного. кроме futures, которые тоже не сложные, просто ебать какие неэргономичные. Просто неосиляторы привыкли не до конца понятый код запускать в прод.
Аноним 25/11/18 Вск 16:52:16 130097959
>>1300964
Писал на нем. Не очень, если честно.
Аноним 25/11/18 Вск 17:03:28 130098260
>>1300964
На сишке компилятор надо еще сделать.
Аноним 26/11/18 Пнд 07:42:01 130127161
Аноним 26/11/18 Пнд 12:07:19 130131662
>>1301271
Ей вообще кто-то пользуется?
Аноним 26/11/18 Пнд 14:15:20 130136263
>>1301316
прям на глагне есть истории успеха dlang.org
Аноним 26/11/18 Пнд 14:20:27 130136364
>>1301362
Не густо для языка который появился в 2001
Аноним 26/11/18 Пнд 21:44:36 130157565
>>1300967
> кроме futures, которые тоже не сложные, просто ебать какие неэргономичные
Я сам их не осилил, как бы не было стыдно. Вообще не вдупляю всю эту асинхронщину ебаную. Один раз пришлось потрогать actix-web (там как раз тиоже вроде эта поебень используется), так было прям больно.

Может есть какие материалы, чтобы вкатиться в асинхронщину? Или хоть идея, чтобы разобраться в этой хуйне?
Аноним 26/11/18 Пнд 21:47:44 130157766
>>1301575
Ну мне помогло понимае как промизы в жс-дристне работают.
Аноним 27/11/18 Втр 10:31:38 130172267
image.png (111Кб, 638x479)
638x479
Screenshot 2018[...].png (61Кб, 1962x472)
1962x472
>>1299618 (OP)
Напомните-ка мне, почему раст параша и не взлетел?
Аноним 27/11/18 Втр 10:37:58 130172468
>>1301722
>раст параша и не взлетел?
Смешное название потому что, кто хочет быть программистом на педерасте?
Аноним 27/11/18 Втр 10:42:30 130172969
>>1301722
потому что хомячкам проще говнокодить в плюсах
Аноним 27/11/18 Втр 11:22:28 130176570
1543306944712.png (47Кб, 560x536)
560x536
1543306944715.png (280Кб, 1392x1542)
1392x1542
>>1301722
А в чём магия на первой пикче? Всё понятно же вроде.
Аноним 27/11/18 Втр 11:30:58 130177771
Аноним 27/11/18 Втр 15:01:04 130193072
>>1301722
>magic
зато не обосрешься с lifetime-ами объектов
охуенная идея, аж стало любопытно раст потыкать
эксперты, вопрос: насколько эффективно проверка на borrow совмещается с многопоточностью?
Аноним 27/11/18 Втр 15:03:41 130193573
>>1301930
Охуено сочетается. Компилятор не даст тебе отправить в соседний тред значение если оно не Send/Sync.
То есть компилято заставить тебя завернуть свое говно в Arc/Mutex
Аноним 27/11/18 Втр 15:48:41 130197974
Аноним 27/11/18 Втр 19:15:23 130210975
>>1300964
поздровляю вы изобрели мозготрах
Аноним 28/11/18 Срд 00:14:15 130225676
>>1301979
>https://jsdw.me/posts/rust-asyncawait-preview/
Ух спасибо, почитаю как будет время.

>>1301930
Все проверки borrow checker'а, lifetime'ы проверяются на этапе компиляции. Естественно всякие Arc и Mutex в рантайме, но очень шустро все еще работает.
Аноним 28/11/18 Срд 12:30:34 130242977
bupp6z3w8auk.jpg (207Кб, 745x555)
745x555
Аноним 28/11/18 Срд 20:48:22 130262378
Анончик, я тут еду на конфу и взял себе билет по которому вы можете пройти нахаляву. Кому интересно — https://rustrush.ru
Аноним 29/11/18 Чтв 16:55:13 130320679
Аноним 30/11/18 Птн 15:43:57 130367780
Аноним 02/12/18 Вск 17:36:20 130486381
>>1303677
новый сайт вообще говно ИМХО
Аноним 03/12/18 Пнд 11:59:35 130524282
Аноним 04/12/18 Втр 20:30:35 130589083
>>1305242
у меня слишком подгорает, поэтому все таки высру свое охуенно важное мнение

Не понимаю, какое говно он решает.

> In other words, this list:
> zero-cost abstractions
> move semantics
> ...
> doesn’t explain what you can do with Rust

Как раз объясняет. Я сразу вижу фичи, которые выделают язык. И понимаю, почему мне нужно выбрать его, на не, например, джаву.

Новый слоган:
> Rust: The programming language that empowers everyone to become a systems programmer.

А, то есть язык тупо для ОС и микроконтроллеров, ясно-понятно, пойду на го писать микросервисы. Нет, серьезно, язык отличный для написания чего угодно, но нет, СИСТЕМНЫЙ ПРОГРАММИСТ.

>Even if people have different ideas about what “systems programming” means, they at least have some idea. “guarantees thread safety,” not so much.

Вон из профессии таких программистов (ну или обратно на первый курс).

Ну и тащемта то, чего не хватало на старой версии: ссылок на различны ресурсы экосистемы раста: crates.io, play.rust-lang.org (даже песочницу убрали, суки). Какой-нибудь This Week in Rust. Но нееееет, давайте сделаем ебучий лендинг с маркетинговой хуйней для даунов и кучей пустого места, блять.

Вон D (https://dlang.org/) имеет очень хороший, как по мне, сайт. Может не такой "красивый", но сразу можно и код увидеть, и что и нахуя надо, все ссылочки в верхней панели красиво есть (и выпадающие списки, Карл). Годнота.
Аноним 04/12/18 Втр 21:20:08 130592684
>>1305890
Ну а ты не думал о том, что сайт нужен как раз чтобы продавать продукт даунам? Остальные и так разберутся. Может поэтому этот ваш Д такой мертвый?
Аноним 04/12/18 Втр 21:50:07 130594585
>>1305926
> Ну а ты не думал о том, что сайт нужен как раз чтобы продавать продукт даунам?
Не думаю. Вкатываться в программирование ты почти гарантированно будешь через что-то более мейнстримовое. Расту до этого ОЧЕНЬ ДАЛЕКО (я вживую не видел людей, у которых раст был первым языком). А вот тех кто перекатился видел (целый, блять, офис). И этот сайт вообще никак этому не способствует.

> Может поэтому этот ваш Д такой мертвый?
Хз, я на нем не пишу.

Короче на само деле это вкусовщина, каждому свое, но жаль, что убрали песочницу, это действительно прикольная штука, и есть почти везде. Сразу дает минимальное представление о том, что же за язык.
Аноним 04/12/18 Втр 21:53:20 130594686
Аноним 06/12/18 Чтв 06:20:00 130676187
>>1299618 (OP)
Можете пояснить, где в играх можно применить раст? Директ икс же написан на крестах. Опенжл на сишке. То есть вся графика с использованием аппаратного ускорения работает на сях. При этом большинство игровых движков так или иначе работают так же на сях. Край энжин - кресты. Анрил - кресты. Юнити - сисярп.

Или это все планируется в будущем? Насколько далеком? Вы точно уверены, что нвидия и мелкософт уволит своих индусов-крестоебов и наймет заместо них школьников-растоебов, чтобы переписать весь прилагающийся к работе с графикой софт?
Аноним 06/12/18 Чтв 06:59:05 130676888
Аноним 06/12/18 Чтв 08:26:21 130679489
>>1306761

Повторюсь, все что расту осталось для успеха - это отдрочка компилятора до уровня Clang/GCC.
Аноним 06/12/18 Чтв 11:58:34 130686290
>>1306761
> Опенжл на сишке
Тащемта ничего тебе не мешает писать код, использующий OpenGL, на любом удобном тебе языке. Уверен, что и DirectX также. А сишный интерфейс это хорошо, легко интегрируется с любым языком.

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

>>1306794
Что значит отдрочка до уровня Clang/GCC? По каким параметрам сравнивать? Типа скорость компиляции или чего? Ну и да, там даже Clang сосет у GCC все еще.
Аноним 06/12/18 Чтв 12:44:58 130687591
>>1306862
>Что значит отдрочка до уровня Clang/GCC? По каким параметрам сравнивать? Типа скорость компиляции или чего? Ну и да, там даже Clang сосет у GCC все еще.

Оптимизация кода.
Аноним 06/12/18 Чтв 13:29:30 130689392
>>1306875
Раст и Clang используют один и тот же LLVM, только при максимальной оптимизации не включают некоторые опасные модификации кода.
Аноним 06/12/18 Чтв 13:43:24 130690293
Аноним 06/12/18 Чтв 16:32:56 130700094
>>1303677
Ferris is the unofficial mascot of the Rust Community. Many Rust programmers call themselves “Rustaceans,” a play on the word “crustacean.” We refer to Ferris with the pronouns “they,” “them,” etc., rather than with gendered pronouns.

>people often assume that Ferris is a boy and use (he/him), but Ferris is non binary
Аноним 06/12/18 Чтв 16:37:32 130700495
image.png (2196Кб, 1698x1131)
1698x1131
Аноним 06/12/18 Чтв 16:40:00 130700596
image.png (21Кб, 1044x268)
1044x268
image.png (515Кб, 600x617)
600x617
Аноним 06/12/18 Чтв 17:22:12 130702897
>>1306875
А как их сравнивать? То есть как понять что вот один код оптимизирован лучше другого?
Аноним 06/12/18 Чтв 17:23:17 130702998
>>1307000
>Ferris is non binary

это откуда взято? чота на их новом сайте не нашлось
Аноним 06/12/18 Чтв 17:41:03 130703799
Аноним 06/12/18 Чтв 18:13:38 1307050100
>>1307000
Ferris это ж вроде мужское имя.
Аноним 06/12/18 Чтв 18:54:41 1307079101
>>1307037
ого, круто! прогрессивные модные девчонки в команде раста, которые открыты для самых смелых предложенийгусары, молчать!, не то что заскорузлые комитетчики от древних языков программирования! всё, решено - после си буду учить раст!
Аноним 07/12/18 Птн 13:00:08 1307494102
28c41642a3c8d44[...].jpg (228Кб, 1552x873)
1552x873
Аноним 07/12/18 Птн 13:52:36 1307518103
>>1307494
> Rust 2018
Очень хуёвая идея как по мне.
Аноним 07/12/18 Птн 14:12:04 1307533104
Я правильно понял, что в расте нельзя безопасно заанрапить, не создавая скоуп иф лета? Что-то типа

guard let Some(n) = s else {
return
}
println!("{}", n)

Выходит вложенность скобочек будет все больше и больше с каждой проверкой опшионалов?
Аноним 07/12/18 Птн 15:08:23 1307557105
Аноним 07/12/18 Птн 15:22:03 1307565106
>>1307037
Пиздец, это ещё и формер node.js. придётся выкатываться.
Аноним 07/12/18 Птн 23:56:21 1307795107
>>1307565
Ashley Williams (ныне член Rust core team, Wasm WG и одна из ответственных за новый сайт) ранее состояла в совете директоров Node.js Foundation, но покинула его из-за обвинений в "поощрении насилия в отношения мужчин".
https://theoutline.com/post/2206/the-node-js-code-of-conduct-diversity-tech
Аноним 07/12/18 Птн 23:58:49 1307797108
>>1307795
Она скора в москву приедет. Надо ее отпиздить?
Аноним 08/12/18 Суб 00:06:21 1307804109
>>1307797
Лол, мы же нормальные люди, а не какие то рад-фемки чтобы решать проблемы насилием.
Аноним 08/12/18 Суб 00:08:18 1307806110
Аноним 08/12/18 Суб 01:24:28 1307825111
>>1307795
>из-за обвинений в "поощрении насилия в отношения мужчин"
>according to an anonymous Reddit post
то есть это какой-то анонимус с реддита напел, крутой источник, чо
Аноним 08/12/18 Суб 02:03:03 1307834112
Аноним 08/12/18 Суб 02:07:03 1307835113
АХахахахахах. У вас даже сайт говно стал.

Я вообще поражаюсь, как здесь с серьезным лицом можно что-то делать. Мертвый язык. Даже рельсы живее говнораста.
Аноним 08/12/18 Суб 17:58:48 1308097114
>>1300468
Что нужно знать что бы делать вот такие вот графические штуки.
Аноним 08/12/18 Суб 18:09:38 1308105115
>>1308097
Математику и какой-нить фреймворк для рисования. От ебли с шейдерами до канваса в браузере.
Аноним 08/12/18 Суб 21:01:21 1308235116
Ржавчина или Питон?
Было бы не плохо вкатиться в системку, т.к иногда NodeJS не выезжает Хотел 10MB wav через марковскую цепь пропустить, а он вылетает
Аноним 08/12/18 Суб 22:16:33 1308251117
>>1308235
Ничего из этого. В первом и втором педерастия. Бери пхп или руби на рельсах.
Аноним 08/12/18 Суб 22:40:26 1308255118
>>1300468
Как же я блядь не выношу этих ебанных англоговорящих дикторов.
Аноним 09/12/18 Вск 14:57:21 1308525119
Посоны в расте можно сделать чтобы распараллеливались вычисления в виде описаном ниже?

Например есть масcив из 1000 элементов координат точек x и y;
Mass vector2D = new Mass();
vector2D.add(X, Y); и так 1000 раз

И нужно что бы для отрисовки этих точек использовался не один процессор а 4.
Paralleling.Draw(vector2D.pos(0, 249))
Paralleling.Draw(vector2D.pos(250, 449))
Paralleling.Draw(vector2D.pos(500, 749))
Paralleling.Draw(vector2D.pos(750, 999))

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

В расте такое возможно?

Аноним 09/12/18 Вск 15:03:30 1308534120
>>1308525
Чот мне кажется отрисовка всегда из одного треда идет и твое распараллеливание не будет иметь смысла.
Аноним 09/12/18 Вск 15:14:38 1308544121
>>1308525
Ты бы поизучал как вообще работает современная графика.
Не решай проблему, которой нет.
Аноним 09/12/18 Вск 22:54:49 1308762122
>>1308525
> на экране в 4 раза быстрее отрисуются точки нежели с одним процессором
Нет.
Аноним 09/12/18 Вск 23:43:00 1308785123
it hurts everyt[...].png (206Кб, 506x1024)
506x1024
>>1308525
Раст, какой бы хуйнёй без задач он ни был, тут ни при чём. За рисование отвечает видеодрайвер. Твой Draw() где-то внутри вызовет функцию графического апи, которая вызовет видеодрайвер. Драйвер же собирает вызовы в списки команд и в некие моменты шлёт списки на исполнение в GPU. Ну или в CPU через софтверный рендерер, если GPU не завезли, но на него всё равно никак не повлиять. Так вот, поскольку обычно GPU только один, то подумай, насколько вырастет производительность при вызове Draw из нескольких потоков по сравнению с одним потоком. Ни насколько, даже упадёт из-за оверхеда при переключении сначала контекста треда, а потом, что хуже, контекста графического api. Но даже если бы в системе стояло три 1080 в SLI, это бы не сильно помогло: драйвер назначит одну из карт мастером, и этот мастер будет выдавать остальным карточкам некоторые наивно распараллеливающиеся последовательности команд в очереди выполнения. То есть прирост специфичен для некоторых операций, а стоимость ожидания ответа от слэйвов может и превысить профит. Специально для решения проблем мультипоточности придумали Vulkan, в котором можно руками сабмитить списки команд в очереди выполнения драйвера, а самим очередям добавили простые примитивы синхронизации, чтобы можно было управлять порядком выполнения.

Но конкретно для того, чтобы рисовать точки с максимальной скоростью, не нужны ни многопоточность, ни вулкан, достаточно базового знания графического апи. Просто почитай про hardware instancing для своего любимого апи. Например, в ogl это засунуть все точки в один VBO и отрисовать его через glDrawArrays(GL_POINTS...)
Аноним 10/12/18 Пнд 00:28:51 1308800124
>>1308785
Получается что все игровые движки так или иначе работают с api Direx, Vulkan, OpenGL, а сам по себе язык не может через видяху все это отрисовать кроме как через CPU.
Аноним 10/12/18 Пнд 00:37:07 1308803125
>>1308800
Можешь свой драйвер написать.
Аноним 10/12/18 Пнд 01:12:15 1308818126
>>1308803
Что бы написать свой драйвер нужно быть программистом уровень бог.
Аноним 10/12/18 Пнд 01:23:02 1308822127
>>1308818
Тогда используй опенжл, дх, вулканы итд.
Аноним 10/12/18 Пнд 10:58:04 1308944128
>>1308800
>а сам по себе язык не может через видяху все это отрисовать кроме как через CPU.

Даже этого не может, потому что даже в ДОСе, где вывод на экран делался через запись по какому-то адресу, нужна была отдельная железка для отправки изображения на монитор.
Аноним 11/12/18 Втр 00:15:57 1309315129
>>1299618 (OP)
Поясните пару моментов:
1) Почему раст не взлетел?
2) Быстрее ли раст чем си++?
3) Что надо сделать, чтобы раст был популярен?
Аноним 11/12/18 Втр 00:34:31 1309324130
Аноним 11/12/18 Втр 00:52:02 1309330131
>>1309324
1) Статистика
https://insights.stackoverflow.com/survey/2018/#technology
2) Мне надо быть уверенным, что аналогичный код переписанный с c++ на раст будет быстрее.
3) Популярность, как правило, это количество работ и потребность в разработчиках для бизнеса.
Аноним 11/12/18 Втр 00:54:04 1309331132
>>1309330
Ну так вот тебе и ответ — учи жабаскрипт.
Аноним 11/12/18 Втр 01:00:56 1309332133
1544479266631.jpg (22Кб, 480x360)
480x360
Программач, почему игра Rust написана не на языке Rust?
Аноним 11/12/18 Втр 01:05:07 1309333134
>>1309332
Почему жабаскрипт не жаба?
Аноним 11/12/18 Втр 01:06:40 1309334135
>>1309331
Ты тупой? Вопрос был не в этом.
Аноним 11/12/18 Втр 01:27:31 1309346136
>>1309334
Раст взлетел. Хочешь работу? Учи жабу[скрипт]. Хочешь чтобы было быстро, больно и дешманскую работу, учи кресты. Чтобы раст был популярен нужно чтобы люди начали думать о том, как типы помогают решать проблемы.
Аноним 11/12/18 Втр 01:59:10 1309351137
>>1309346
>Раст взлетел.
Вот руби взлетел, да, вроде и ебанутый язык.
По твоей логике и D взлетел.
>Хочешь чтобы было быстро
Значит раст таки еще один высер без задач?
Зачем же он нужен такой медленный?
Аноним 11/12/18 Втр 02:51:58 1309363138
>>1309346
Чот крикнул с помощи типов в языке где система типа по выразительности находится на уровне Java
Аноним 11/12/18 Втр 03:38:18 1309370139
1544488694064.png (69Кб, 1010x755)
1010x755
Аноним 11/12/18 Втр 05:19:32 1309384140
>>1309315
> 1) Почему раст не взлетел?
Потому что он лезет туда где не привыкли прыгать и всё переписывать на каждую новую модную хуйню. Потихоньку растёт популярность и хорошо.
> 2) Быстрее ли раст чем си++?
Чудес не бывает. Скорость на уровне цпп это уже очень заебись. Сокращение времени на написание и отладку кода тоже очень хорошо.
> 3) Что надо сделать, чтобы раст был популярен?
Он и так достаточно популярен.
Аноним 11/12/18 Втр 06:55:27 1309399141
>>1309351
>Значит раст таки еще один высер без задач?
>Зачем же он нужен такой медленный?

на раст переходят с питона, руби, перла, хацкеля, сишарпа, жабы, жабоскрипта и прочих медленных языков программирования
вот в этом и есть великая польза раста!
Аноним 11/12/18 Втр 08:33:46 1309425142
[react]15414305[...].png (111Кб, 254x254)
254x254
>>1309346
> как типы помогают решать проблемы.
> создают новые
Аноним 11/12/18 Втр 08:44:10 1309431143
>>1309333
Потому что в названии нет жабы.
Аноним 11/12/18 Втр 16:24:43 1309671144
Аноним 11/12/18 Втр 20:00:37 1309803145
>>1309315
> 1) Почему раст не взлетел?
Да вроде взлетел. Хотя я хз, че ты вкладываешь в это понятие. Язык развивается, новые вакансии появляются. Да, не пщ с котлином, но там за языками стоят серьезные конторы.

> 2) Быстрее ли раст чем си++?
Сложно сказать. Быстрее ли C чем C++? Мне кажется, что раст, в теории, побыстрее, ибо все таки там меньше рантайма, чем в плюсах. Но тащемта можно и на C++, и на расте забить на классы/трейты и писать как на C, тогда вообще its all the same shit.

3) Что надо сделать, чтобы раст был популярен?
Да тащемта ничего. Он и так потихноьку становится все более популярным.
Аноним 11/12/18 Втр 20:36:05 1309817146
15438165732030.jpg (216Кб, 809x744)
809x744
Анон, на конфу в москву кто-нибудь идет на этих выходных?
Аноним 11/12/18 Втр 22:41:14 1309894147
Аноним 11/12/18 Втр 23:02:16 1309911148
>>1309894
Забухать. Ты в отеле будешь или ты местный?
Аноним 12/12/18 Срд 11:25:09 1310035149
Лол, нужели растодауны правда думают что у них в языке дохуя выразительная система типов, а не просто кучка ad hoc решений, выразимая в любом языке с дженериками, и некоторым количеством boilerplate при реализации (типо лайфтаймов и тайпклассов без HKT)
>>1309671
>>1309346
Аноним 12/12/18 Срд 11:41:38 1310037150
>>1310035
Все в сравнении познается. У каких языков с равной или большей популярностью система типов по выразительности такая же или лучше? Haskell и Swift, больше нихуя нет.
Аноним 12/12/18 Срд 12:57:33 1310096151
>>1310037
Мне например трейты раста нравятся. И то как генерики с ними работают.
Ради интереса в тот же Хаскель заглядывал, тайп классы - это какой то duck typing, если в типе функции есть с нужными названиями, то он автоматом становится членом тайпкласса (или я ебу дал и несу хуйню).
Аноним 12/12/18 Срд 12:58:59 1310099152
>>1310096
Это ты с го путаешь. В хаскеле тоже нужно имплементить тайпкласс для типа непосредственно.
Аноним 12/12/18 Срд 20:25:03 1310269153
>>1309315
>1) Почему раст не взлетел?
Чтобы "взлететь" в современном мире нужно быть жаваскриптом или goвном похуже. Это как с соцсетями и техникой — все пользуются техническими испражнениями вроде инсты/фб/айфонов/итд просто потому что ПРОСТА.
>2) Быстрее ли раст чем си++?
Токой же.
>3) Что надо сделать, чтобы раст был популярен?
Почаще срать в этом треде, и держать его в топа. Своеобразный местный смм.
Аноним 12/12/18 Срд 21:26:44 1310295154
Пиздец конечно. Примеров кода на главной больше нет. Линка на плейграунд тоже днем с огнем не сыщешь. Выебать их надо за такой апдейт.
Аноним 12/12/18 Срд 21:52:07 1310298155
>>1299618 (OP)
Есть ли имплементация в/под уеч? Планируется ли? Опенсорс все-таки, исходники на гитхабе, бери и пили.
Аноним 12/12/18 Срд 21:54:09 1310299156
>>1310298
unreal engine? О чем ты вообще?
Аноним 12/12/18 Срд 21:56:06 1310301157
>>1310299
Он самый. Четвертый.

Вообще есть ли имплементация хоть в какой-нибудь актуальный нынче движок? Кроме нахуй уже никому не нужного сорца.
Аноним 12/12/18 Срд 21:57:04 1310302158
>>1310301
О какой "имплементации" ты говоришь? О биндингах к движку?
Аноним 12/12/18 Срд 22:34:02 1310317159
Аноним 12/12/18 Срд 22:51:11 1310324160
>>1310298
У уе имплементация одна единственная на плюсах, в переводчик вбей как слово-то переводится.
Аноним 12/12/18 Срд 22:54:33 1310325161
learntocode1.jpg (195Кб, 1130x550)
1130x550
Предлагаю запилить небольшой проект по запросу местных анонов, чтобы наглядно показать раст в деле.
Аноним 12/12/18 Срд 22:59:24 1310327162
>>1310302
Ты дегенерат? Переписанный на раст движок.
Аноним 12/12/18 Срд 23:01:33 1310328163
>>1310325
Запили ядро на расте и чтобы было быстро как в си, и показаны главные достоинства языка.
Алсо, я вкатываюсь в раст и все думаю, зачем я учу ебанутый синтаксис и эту экосистему, если есть кресты, которые куда интуитивнее и где хотя бы инкремкнь с декрементом есть.
Аноним 12/12/18 Срд 23:06:00 1310330164
>>1310328
Чтобы не быть ограниченным мудаком с ЛОРа и выучить новые концепты, до которых ты не додумался бы самостоятельно, а потом применять их на практике и в других языках.
Аноним 12/12/18 Срд 23:06:19 1310331165
>>1310327
>>1310328
Ля кокой жирный. Иди спеку УЕ нам принеси, имплементация блядь.
Аноним 12/12/18 Срд 23:08:11 1310332166
>>1310330
И какие например раст привносит принципиально новые концепты? Иммутабельность? Очень смешно.
Аноним 12/12/18 Срд 23:18:06 1310337167
>>1310332
Например, я раньше думал, что за шаблоны в прикладном коде нужно пиздить палками, но раст мне показал, что дженерики на каждый чих - это вполне легитимный и удобный способ писать код.
Аноним 12/12/18 Срд 23:51:06 1310352168
>>1310332
Главная фича раста — борроу-чекер и зеро-кост абстракции построенные вокруг него. Так ьы получаешь безопасное и быстрое управление паматью и безопасный многопоточный код с функциональным вкусом.
Аноним 12/12/18 Срд 23:51:49 1310354169
>>1310337
>я раньше думал, что за шаблоны в прикладном коде нужно пиздить палками
Это потому, что ты нихуя не знаешь про параметрический полиморфизм.
Аноним 13/12/18 Чтв 00:01:47 1310365170
>>1310330
Програмач вчера:
> Иди учи хацкель и поменяй полученные откровения в других языках
Програмач сегодня
> Иди учи раст, чтобы не быть как долбоебы с лора)0
Програмач завтра
> Ну бля, черепашка вперёд потом налево)00Ы Пагади бля, направо) соре
Аноним 13/12/18 Чтв 00:03:25 1310366171
>>1310365
Проснись, ты обосрался.
Аноним 13/12/18 Чтв 00:06:51 1310370172
>>1310366
Первый любитель черепашьей графики сгорел, несите следующего
Аноним 13/12/18 Чтв 00:22:51 1310378173
А я могу WPF портировать на раст?
Аноним 13/12/18 Чтв 04:06:02 1310419174
Аноним 13/12/18 Чтв 11:20:02 1310547175
>>1310378
В смысле конкретную либу для шарпов или похожий MVVM-тулкит, который рендерит XAML? Первое вряд ли получится сделать эргономично, а второе почему нет? Биндинги для SDL, OpenGL и Cairo уже есть, херачь.
Аноним 13/12/18 Чтв 12:56:40 1310599176
ophisthreadhisl[...].jpg (175Кб, 317x699)
317x699
Запилить что-ли `2ch-cli`.
Аноним 13/12/18 Чтв 13:26:13 1310604177
Аноним 13/12/18 Чтв 14:22:19 1310624178
>>1310599
>>1310604
Ну что, интересно кому-нибудь посмотреть за прогрессом? Начал лениво пилить.
Аноним 13/12/18 Чтв 14:43:59 1310630179
Какой вариант вам нравится больше и почему?
https://gist.github.com/rust-
play/528b607acd5d1831d0e48c6717eb461c
Аноним 13/12/18 Чтв 15:26:40 1310641180
2018-12-13-1328[...].png (86Кб, 1007x372)
1007x372
Аноним 13/12/18 Чтв 17:33:21 1310680181
2018-12-13-1534[...].png (255Кб, 1288x1368)
1288x1368
Аноним 13/12/18 Чтв 18:25:33 1310700182
Аноним 13/12/18 Чтв 18:26:59 1310701183
>>1310700
Ну emacs-lisp, нет. Общелисп надоел.
Аноним 13/12/18 Чтв 18:29:23 1310702184
>>1310701
А то смотрю ник знакомый, помню как у тебя стримы по лиспу были и mmo в gd пилил (несколько лет туда не заглядывал).
Аноним 13/12/18 Чтв 18:31:47 1310704185
>>1310702
Было дело, ага. Забавно что именно общелисп дал мне работу на расте в другой стране.
Аноним 13/12/18 Чтв 20:18:35 1310747186
2018-12-13-1817[...].png (124Кб, 1600x615)
1600x615
Ладно, какой-то дичи под конец запилил. Ну и размазал все немножко по модулям.

Напомню что можно смотреть отдельные коммиты. Я старался добавлять фичи понемногу и комментить по мере возможности.
Аноним 14/12/18 Птн 00:38:11 1310849187
notfound.jpg (45Кб, 500x500)
500x500
Аноним 14/12/18 Птн 15:05:39 1311067188
Уже 2019 год на подходе.
Сколько лет должно пройти после выхода первой версии языка программирования, чтобы можно было делать вывод о его востребованности? Ну чтобы отмазки типа "язык мало времени существует, поэтому ещё ничего крупного на нём не написано" не прокатывали?

Аноним 14/12/18 Птн 15:40:36 1311077189
>>1311067
У тебя раст жену увёл?
Аноним 14/12/18 Птн 16:34:04 1311097190
>>1311067
Язык востребован, когда за него платят деньги. Вакансий на данный момент мало и, в основном, криптопараша, но тем не менее, они существуют.

>ничего крупного на нём не написано
Назови несколько крупных проектов, которые написали за последние несколько лет на на плюсах, на джаве, на шарпах. Т.е. именно написали с нуля, я не про поддержку легаси говна. Рынок проприетарного софта поделен, опенсорцу тоже не особо нужен ни второй блендер, ни второй nginx. Ну вот недавно выходцы из дайсов объявили, что будут пилить свой движок на Расте. Если взлетит, это сделает его востребованным в твоих глазах?
Аноним 14/12/18 Птн 16:42:30 1311099191
>>1311097
>выходцы из дайсов объявили, что будут пилить свой движок на Расте
Давно пора.
Аноним 14/12/18 Птн 18:50:49 1311178192
>>1311097
>что будут пилить свой движок на Расте
На крестах это боль потому что. В расте хоть рефлекшн есть и тулзы для AST. Не надо свои метаклассы лепить из говна и палок как в Qt и анриле.
Аноним 14/12/18 Птн 19:48:11 1311197193
>>1311178
И не только, в крестах легко проебатся с памятью и указателями, в статьях на хабре посвященной теме PVS-Studio, там и показываются те трудно уловимые ошибки.
Аноним 14/12/18 Птн 20:04:07 1311201194
>>1311197
>в крестах легко проебатся с памятью и указателями
Это редко бывает, сейчас тулзы хорошие, валгринд все вылавливает, да и с голыми указателями нечасто работаешь. Для десктопных программ это не слишком критично опять же.
Аноним 14/12/18 Птн 20:34:01 1311211195
У меня есть желания на расте попробовать написать игровой движок, но как толь задумаюсь сколько миллионов строк кода нужно написать и нужно будет ебатся с математикой сразу желание отпадает.
Аноним 14/12/18 Птн 21:14:52 1311224196
>>1311211
Движок писать - самое бесполезное занятие. Лучше сразу игру пиши. То есть реализуй необходимый минимум, который нужен вот прямо сейчас, и не больше. Граф сцены, например, можно сразу выкинуть, он реально не нужен для игр, там сложной иерархии не встречается обычно.
>нужно будет ебатся с математикой
Какая там математика? Либ для векторов-матриц-кватернионов полно, бери любую.
Аноним 14/12/18 Птн 23:37:03 1311255197
Подскажите, wasm он только для фронта нужен? Где посмотреть и поконтрибьють в него можно? Насколько он нестабилен сейчас, чтобы на нем писать веб-приложения? Алсо, возможно ли сейчас или в будущем писать SPA, как на реакте?
Вот четыре вопроса. Ответьте на каждый плис, ребята поопытнее.
Аноним 15/12/18 Суб 00:30:32 1311273198
>>1311255
В wasm сейчас нет полноценного доступа к DOM и очень куцый интероп с js. Можешь накодить свой движок для рендера и лейаута через webgl, и на нем рисовать гуй.
Аноним 15/12/18 Суб 00:49:13 1311283199
43810874-ca6785[...].png (479Кб, 2490x1067)
2490x1067
Аноним 15/12/18 Суб 00:56:28 1311287200
Аноним 15/12/18 Суб 01:07:33 1311290201
>>1311077
Нет, я ее с собой взял.
Аноним 15/12/18 Суб 01:11:55 1311291202
non-keyed.png (913Кб, 1772x3970)
1772x3970
Аноним 15/12/18 Суб 01:17:31 1311293203
>>1311291
Грустно. Неужели ваниллужс так сложно обогнать с этим вашим васм? Посмотреть бы исходники последнего.
Аноним 15/12/18 Суб 01:35:46 1311298204
>>1311293
Так все манипуляции с DOM через JS.
Аноним 15/12/18 Суб 02:23:20 1311302205
>>1311273
>рендера и лейаута через webgl
Так обращения к WebGL тоже через JS, не?
Аноним 15/12/18 Суб 03:09:56 1311306206
>>1311224
>Движок писать - самое бесполезное занятие.
Ну почему же? Движок это разные программные компоненты для удобного создания игры, создания анимаций, игровых событий, всяких эффектов и т.д. без этого нужно будет писать много кода, а так все это инкапсулируешь и работаешь через удобные интерфейсы.

>Какая там математика?
Физика столкновений, работа с тенями, работа с отображением материалов и многое другое.
Аноним 15/12/18 Суб 03:47:31 1311312207
Аноним 15/12/18 Суб 04:02:51 1311317208
>>1311302
С webgl ты js гораздо реже будешь дергать, чем при работе с DOM. Вся производительность от нативного кода сожрется оверхедом на вызов js из wasm.
Аноним 15/12/18 Суб 04:07:22 1311318209
>>1311306
> Движок это разные программные компоненты для удобного создания игры, создания анимаций, игровых событий, всяких эффектов
Пока ты игру не напишешь, ты не узнаешь, какие компоненты удобные, а какие-нет. Поэтому и глупо их писать заранее, если у тебя опыта нет.
>Физика столкновений, работа с тенями, работа с отображением материалов и многое другое.
Обычно все это даже с готовым движком приходится писать в каком-то виде, особенно материалы. Или по крайней мере очень хорошо представлять, как оно работает внутри. Базовый колижен, кстати, во всех физических движках искаропки, если ты еще и физику не собираешься сам писать.
Аноним 15/12/18 Суб 04:19:59 1311321210
Аноним 15/12/18 Суб 04:24:45 1311322211
>>1311321
Да. Только надо будет рисовать не кубик, а всю страницу с текстом и графикой. То есть писать свой браузерный движок.
Аноним 15/12/18 Суб 04:43:57 1311325212
>>1311322
>браузерный движок
уже есть
Аноним 15/12/18 Суб 20:49:18 1311656213
Ананасы, рискую быть посланным нахуй, но всё же

Хочу вкатиться в раст и пилю всякие hello world'ы. Но вопрос не об этом. В качестве IDE использую vscode, но из неё не получается собрать проект, валится ошибка

Compiling some_project v0.1.0 (C:\rust\some_project)
error: linking with `link.exe` failed: exit code: 1181
= note: LINK : fatal error LNK1181: cannot open input file 'advapi32.lib'

Нагуглить ответ не получилось, поэтому запускаю сборку из x64 Native Tools Command Prompt for VS 2017, но это не очень удобно. Может кто-нить подсказать, как наладить сборку из vscode?
Аноним 15/12/18 Суб 21:40:58 1311678214
>>1311656
Если ты даже это не можешь сделать, то ты не станешь растом.

Тем более раст изначально рожден мертвым.
Аноним 15/12/18 Суб 23:07:26 1311723215
>>1311656
Сорян, братиш. Помог бы, но винду юзать для разработки это добровольный мазохизм. Вкати себе прыщи на виртуалку для экспериментов, поймешь как там все удобно сделано для разработки.
Аноним 16/12/18 Вск 11:03:36 1311873216
Когда уже в раст завезут нормальные асинхронные функции? А то после языков с ними даже элементарные многопоточные задачи превращаются в мучение. Например нужно сделать поллинг функции в отдельном потоке, при этом поток в любой момент можно остановить. В расте приходится городить свою структуру контекста, откуда вызывать функцию сна (у меня оно реализовано через мютекс с булеаном внутри, означающим завершить тред или нет + условная переменная).
Аноним 16/12/18 Вск 11:06:28 1311877217
rust + wasm Аноним 17/12/18 Пнд 14:09:48 1312535218
Так, доны-аноны, настало время провести заседание по вопросу rust + wasm.

Контекст.
Из wasm кода не доступно браузерное апи. Единственное решение -- использовать биндинг к js. Группой энтузиастов разрабатывается и поддерживается stdweb (https://github.com/koute/stdweb) как такой вот биндинг, и cargo web (https://github.com/koute/cargo-web) как основная тулзовина, автоматизирующая разработку/сборку.
На прошлых выходных в Москве состоялась конференция RustRush, на которой Ashley Williams, одна из основных контрибьюторов wasm working groupe, пришедшая в rust из nodejs, презентовала, по сути, wasm-bindgen (https://github.com/rustwasm/wasm-bindgen) как биндинг и wasm-pack (https://github.com/rustwasm/wasm-pack) как основной инструмент автоматизации процесса разработки. Среди прочего хорошего, как новый легковесный аллокатор, следует особо отметить, что wasm-pack сильно завязан на инфраструктуру nodejs/npm.

Вопросы.
1. Как оцениваете такой шаг, когда вместо улучшения существующего решения, создают новое с почти тем же функционалом?
2. Как вам такая жесткая привязка к nodejs/npm в разработке rust + wasm приложений?
3. Как считаете есть ли теперь будущее у stdweb и cargo web?
4. Почему такое маленькое сообщество у такого крутого языка? (риторический вопрос)

Мнение.
С учетом того, насколько маленькое сообщество у rust, мне бы хотелось видеть как люди объединяются вокруг уже существующих решений, а не пилят такиеже, но свои. И, как сторонник разумного минимальзма во всем, я совершенно не понимаю зачем мне зависимости (nodejs/npm/WebPack), без которых я явно смог бы обойтись, разрабатывая что-то на rust + wasm. Это ещё и с учетом того, что я не являюсь хейтером js стека, писал под nodejs и среда эта для меня родная. Просто не понимаю, зачем всё в кучу смешивать.

Дискас.
Аноним 17/12/18 Пнд 14:28:54 1312550219
>>1312535
Пытаются облегчить перекот для жс-макак.
В стиле элма. У тебя есть приложение которое явно повязано на нпм. Ты хочешь оптимизировать вот этот кусок, и для этого юзаешь раст. И для тебя это выглядит как подключение обычной либы из npm. Как по мне, звучит логично. Эшли похожа на продавщицу из овощного.
Аноним 17/12/18 Пнд 14:40:31 1312553220
>>1312550
В таком подходе выглядит логично, но что делать тем, кто не повязан на npm и хочет в стиле этого https://github.com/DenisKolodin/yew что-то писать? Получается нужно писать с использованием их инструментов и и шаблоны, потому что это же core team и их подход дефолтный и правильный.
Аноним 17/12/18 Пнд 14:41:26 1312555221
>>1312535
>Вопросы.
>1. Как оцениваете такой шаг
Быстрее работает на тех же принципах (нпм/ноджес говна) благодаря бороу чекеру и зиро-кост абстракциям (плюс)
>2. Как вам такая жесткая привязка к nodejs/npm в разработке rust + wasm приложений?
Полная хуйня, к сожалению
>3. Как считаете есть ли теперь будущее у stdweb и cargo web?
Возможно.

Вот был бы rustscript, быстрее ваших жсов в тыщу раз, то было бы круто.

>4. Почему такое маленькое сообщество у такого крутого языка?
Синтаксис ебанутый, ну и еще надо все в ансейф оборачивать, чтобы быструю программу написать.
Аноним 17/12/18 Пнд 14:44:32 1312557222
>>1312553
stdweb никто не отменял. Не вижу ничего плохого в том, чтобы иметь несколько конкурирующих подходов. Либо один из них со временем отомрет, либо место найдется для обоих.
Аноним 17/12/18 Пнд 14:53:54 1312565223
>>1312555
>Быстрее работает на тех же принципах (нпм/ноджес говна)
Имел ввиду сравнение stdweb и wasm-bindgen, а не rust и nodejs.
>надо все в ансейф оборачивать
Это как раз очень плохая практика. Чуваки из Baido рассказывали, что нашли 2 уязвимости в стандартной библиотеке раста.
В стандартной библиотеке раста! Чувствуете иронию? А появились они там как раз из-за таких вот подходов и ошибочных представлений. Почти везде, где используется unsafe, можно и нужно обойтись без него!
Но это отдельная тема.
Аноним 17/12/18 Пнд 14:55:46 1312567224
>>1312565
Поэтому они решили не исправлять уязвимости и сделать их ансейф?
Аноним 17/12/18 Пнд 14:58:42 1312572225
>>1312567
Нет, уязвимости были как раз потому, что unsafe использовался там, где в нем нет необходимости.
Аноним 17/12/18 Пнд 14:58:55 1312573226
>>1312567
Что ты несешь? Уязвимости были из-за неверного использования unsafe. Разница в том, что в расте unsafe изолирован и явно виден, а в крестах, например, у тебя все приложение unsafe.

Интересно, что баг был не в unsafe блоке, а в коде, который этот unsafe использовал.
Аноним 17/12/18 Пнд 15:07:58 1312581227
>>1312557
Было бы не плохо, если бы stdweb и дальше жил, и новые разработчики знали бы, что есть альтернатива стандартному подходу.
Аноним 17/12/18 Пнд 20:24:07 1312761228
>>1312535
cargo-web + stdweb значительно медленнее чем wasm-bindgen + web-sys + js-sys.
В первом случае ты просто все вызовы в js!() макрос оборачиваешь и пишешь на джаваскрипте, а втором случае у тебя готовые типобезопасные биндинги ко всему API js и DOM.
Плюс wasm-bindgen автоматом будет поддерживать работу с DOM в обход js, когда добавят такую возможность в стандарт и браузеры.
Аноним 17/12/18 Пнд 20:52:23 1312784229
Так че, какой лучший способ писать СПА на расте+васме? В плане наименьшей ресурсозатратности и наибольшей производительности.
Аноним 17/12/18 Пнд 21:08:19 1312796230
>>1312784
Это мы тут и пытаемся выяснить. Просто есть два стула...
Аноним 17/12/18 Пнд 21:19:06 1312802231
>>1312761
Разумные аргументы! Меня смущает только попытки определить стандартный workflow с использованием излишних зависимостей. В гайде по wasm-bindgen в разделе Basic Usage (https://rustwasm.github.io/wasm-bindgen/whirlwind-tour/basic-usage.html) сразу про webpack и npm пишут. Может я зря парюсь и так оно и должно быть всё, если по нормальному делать.
Аноним 17/12/18 Пнд 21:28:46 1312812232
>>1312796
Готов пилить фронт на расте, попутно закидывая пулл-запросы в эти репы
Аноним 17/12/18 Пнд 21:34:32 1312819233
>>1312812
Здесь основные направления
>>1312535
Ссылки на готовые фреймворки уже были выше в треде.
Аноним 17/12/18 Пнд 21:50:10 1312832234
>>1312784
Я на draco начал пилить, правда там всего один разраб который пропадает постоянно. Но там все что от него нужно это реализация VirtualDOM, а дальше хоть форкай и пили сам что хочешь.
Есть еще несколько разных реализаций VDOM на wasm-bindgen, но они все как и draco делаются в половину человека, поэтому пофиг что брать, только производительность VDOM волновать должна.
Я вообще свой синаксис шаблонов поверх написал чтобы можно было на другой фреймворк съебать безболезненно.
Аноним 17/12/18 Пнд 22:34:16 1312845235
Аноним 18/12/18 Втр 17:59:00 1313166236
Ахуеть, гайз. Этот тред проклят, или что?

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

В хаскель тред вырождаемся, ей богу.
Аноним 18/12/18 Втр 18:22:53 1313182237
>>1313166
> просто ебаная прослойка над ним.
Шта? WASM это не прослойка, он через специальный AOT+JIT работает напрямую с железом. Для доступа к DOM и прочим WebAPI да, нужна прослойка для JS. Но например для WebGL уже можно писать безжаваскрипта вообще.
Аноним 18/12/18 Втр 19:54:42 1313226238
>>1313182
>Но например для WebGL уже можно писать безжаваскрипта вообще.
Там тоже через js сейчас все вызывается. А значит за кадр не больше нескольких тысяч вызовов gl-функций. Это примерно как в 2001 году, когда DirectX на каждый чих сискол делал. Очень небыстро.
Аноним 18/12/18 Втр 20:02:11 1313230239
>>1313182
>для WebGL
>в треде только и обсуждается работа с DOM, веб-фреймворки и прочий фронтендный вебмакакинг
>>1313226
Да на текущий момент однохуйственно слишком дорого рисовать в браузере что-то кроме анимаций в плане ресурсов, ещё лет 5 хотя бы надо поперетаскивать людей со старых железок, и уже думать о браузерных ммо и прочей дрочильне.
Аноним 18/12/18 Втр 20:11:45 1313234240
>>1313166
Ты чё, пёс, wasm это киллерфича раста. Во всех остальных направлениях уже есть устоявшиеся стеки, а здесь у раста реальный шанс взлететь. Осталось только апи нормольное дождаться.
Аноним 18/12/18 Втр 20:19:19 1313237241
>>1313234
>wasm
>киллерфича
>хуета без задач
Аноним 18/12/18 Втр 20:52:50 1313251242
Аноним 18/12/18 Втр 21:02:31 1313257243
Аноним 18/12/18 Втр 21:14:29 1313265244
>>1313251
Останется вопрос "нахуя".
Аноним 18/12/18 Втр 21:16:50 1313267245
>>1313265
Быстрее работает, имбецил блять.
Аноним 18/12/18 Втр 21:27:11 1313271246
>>1313265
Фронт и бэк на одном языке, можно суб-крейты шарить с общей логикой.
Нормальная система типов с которой не страшно рефакторить.
Скорость компиляции c wasm-pack незначительно отличается от скорости траспиляции всяких webpackов c babelом.
Аноним 18/12/18 Втр 22:37:38 1313309247
>>1313267
Быстрее дробит цифры ты хотел сказать. Только вот в вебе это нахуй не нужно, рисовать интерфейс так — слишком оверкилл по всем параметрам. Когда полноценные игори начнут переезжать в бровсер можешь высрать этот аргумент, а сейчас иди пукай в другом месте. Или иди покажи как рокетсаенс в браузере мутить.
>>1313271
Хорошо, нахуя тащить его что на бек что на фронт? По времени и деньгам, это как дворников/маршрутчиков/строителей-джамшутов пытаться заменить роботами — никогда не окупится.

Система типов для гуйни, где нужна возможность прототипировать и смотреть выхлоп на лету — это, конечно, нечто. Сидишь такой, анимируешь кнопку, а тебя борроу-чекер в гц окружении (которое там так или иначе будет) ставит раком.
Аноним 18/12/18 Втр 23:31:44 1313334248
>>1313309
Ты видимо ничего сложнее домашней странички не делал, если не понимаешь зачем нужен нормальный ЯП в вэбе.
Аноним 18/12/18 Втр 23:38:57 1313338249
1545165532991.jpg (21Кб, 474x266)
474x266
>>1313309
Можно скомпилировать фаерфокс в васм и потом запустить лису в лисе в лисе в лисе в лисе в лисе в лисе в лисе.
Аноним 18/12/18 Втр 23:53:21 1313347250
>>1313334
Кекнул с сурьёзного челибосса, пишущего гуй на васме с растом. Иди работу найди, не страдай синдромом хачкеля.
>>1313338
А вот это уже серьёзно, два чая этому хвосторекурсионному лиспогосподину.
Аноним 19/12/18 Срд 00:04:23 1313349251
>>1313347
То есть ты даже домашнюю страничку не осилил?
Аноним 19/12/18 Срд 00:15:44 1313355252
>>1313349
Слишком сложно для динамикопетухов
Аноним 19/12/18 Срд 00:22:51 1313358253
1545168166560.jpg (67Кб, 678x401)
678x401
> webgl
> ui
> wasm
Покажите скриншот что ли, чего вы там такое мутите.
Аноним 19/12/18 Срд 01:03:50 1313366254
>>1313355
>>1313349
Я просто не растовый виабушник, сори гуйз.
>>1313358
Дык, это можно высрать на жсе за пол дня, да и работать в текущем виде вебасма будет быстрее. Нахуй пихать раст в фронтенд (ладно ещё в бэк, можно придумать йоба-хуйлоадный кейс), до сих пор не понятно.
Аноним 19/12/18 Срд 02:05:53 1313374255
>>1313358
Без таких выебонов как у тебя на пике. Тупо формочки можно будет лепить без еботни с HTML, плюс десктопные проги переносить в веб. Хоть автокад, хоть 3дмакс.
Аноним 19/12/18 Срд 02:07:15 1313375256
>>1313309
>слишком оверкилл по всем параметрам
С чего ты взял? На Qt формочки лепить в разы проще, чем пердолиться с заебонами CSS+HTML.
Аноним 19/12/18 Срд 02:55:01 1313378257
>>1313374
> десктопные проги переносить в веб
Разве что это, да. И еще в виде обычного приложения высрать хуйню на электроне. Ну и браузерки.
Как-то это всё ощущается так, как будто надо не дать производителям железа отдохнуть. 2025 год, фотошоп перестал тормозить? Следующую версию сделаем в браузере хули.

> Тупо формочки можно будет лепить
Not bad.

>>1313375
> формочки лепить
Тоже неплохо.
Аноним 19/12/18 Срд 03:07:07 1313381258
>>1313378
>фотошоп перестал тормозить? Следующую версию сделаем в браузере хули.
Почему ты думаешь, что раз в браузере, то будет тормозить? Идея как раз в том, что с wasm+webgl будет производительность и потребление ресурсов близкие к нативу.
Аноним 19/12/18 Срд 08:00:35 1313415259
>>1313381
> производительность
Местами.
> потребление ресурсов
Оче побольше.

Чудес, к сожалению, не бывает.
Аноним 19/12/18 Срд 15:11:37 1313566260
>>1299618 (OP)
Итак напомните-ка еще раз, зачем раст высрали?

1. Зачем нужен раст, когда уже давно есть рельсы, жаба, котлин?
2. Раст, как язык с сахаром. На самом деле тебе придется ебаться с с++, чтобы по-настоящему оценить это говно.
3. А зачем ебаться с с++, чтобы потом ебаться с растом, если можно стать жабой-меном и получать свои 200 ?
4. А лучше вообще становится гошником и получать 300 ?
5. По своей сути - раст - это высер, который только усложняет код своим "безопасным" подходом. Трудночитабелен, и не понимаем. Требует бекграунда определенного, для новичка - самый кал.
6. Ну и что за ебанутый 4 пикрил? Фриендс оф раст? Какие-то мелкобуквенные компании.
7. И вообще, сейчас низшее программирование неблагодарное занятие.
Аноним 19/12/18 Срд 15:50:56 1313589261
>>1313566
Слушай, ну че ты. Ну есть же пхп, в конце-то концов. Все остальное вообще не нужно.
Аноним 19/12/18 Срд 16:24:27 1313602262
>>1313415
>Чудес, к сожалению, не бывает.
При чем тут чудеса вообще? Там никакой магии нет. Нативный код и ручное управление памятью быстрее и тратят меньше ресурсов. Это факт.
Аноним 19/12/18 Срд 19:35:24 1313695263
>>1313602
В вебе нет настолько тяжелых скриптов, чтобы была заметна разница в скорости выполнения. Большая часть вычислений - это DOM, но его Раст не ускорит.
Аноним 19/12/18 Срд 19:45:55 1313702264
>>1313566
> Итак напомните-ка еще раз, зачем раст высрали?
Это язык, в первую очередь, для компиляции в васм.
Аноним 19/12/18 Срд 22:24:19 1313814265
>>1313695
Я и говорил о том, чтобы DOM выкинуть, и рисовать интерфейс вручную, через webgl.
Аноним 19/12/18 Срд 22:37:45 1313823266
>>1313814
Смысл, если есть нормальный стандарт для веба, есть html, который прост и удобен.
Аноним 19/12/18 Срд 22:52:49 1313833267
>>1313814
>все коллы к вебгл к через жс
>жс крутится в отдельной вм, и коллы извне это дорого как с жавой
>весь код энивэй будет работать в вм
>а эта браузерная вм работает в осевой вм
>сама ос тоже своего рода вм
>а ещё следующее поколение процессоров сделают с изолированной вм на уровне микрокода
Вот этот господин уже высрал сценарий такого будующего >>1313338. Гуд лах хэв йор перформанс.

>>1313375
Угу, для десктопа. Причём на Qt нет софта, который не выглядел бы везде одинаково ущербно. А ещё до Qml там кастомизация была на уровне изменения цвета кнопок.
А теперь давай перенесёмся в реалии веба, где сайты открывают с хуйлиарда типов устройств, от компуктеров с экранами 21:9 с разрешением 5к до ебучих смартчасов c 272x340. Под каждый тип экрана свой интерфейс будешь делать по каждому пуку дизайнеров?
Короче, к чему это я — веб со своими жсами/хтмлми/итд это конечно кривая жопная хуйня, но она такая из-за рынка, и это её оптимальное состояние.
>>1313602
>Нативный код и ручное управление памятью быстрее и тратят меньше ресурсов.
Это факт, но ещё есть другие факты:
1) Это ебать как дорого;
2) Это ебать как долго;
3) Код всё равно работает в вм;
4) Ты конечно убежишь от гц, но он там рано или поздно появится (см пропозалы), и большинство кода в окружении будут его юзать если это не твой код на расте, лол (будет ситуация как с языком D).
Собственно, если нет нужды на это никто не пойдёт. Дропбоксов в мире очень мало, видишь ли.
Аноним 19/12/18 Срд 23:07:04 1313841268
>>1313833
>все коллы к вебгл к через жс
Они обещают нативные вызовы.
>вмвмвм
Читай, как webasm работает. Там нет ВМ. Байткод компилируется в натив после статической проверки на безопасность. Производительность хуже, чем у оффлайн-компиляторов, но достаточно высокая.
Аноним 19/12/18 Срд 23:13:41 1313844269
>>1313833
>Причём на Qt нет софта, который не выглядел бы везде одинаково ущербно
Да похуй как он выглядит. Тот же 3дмакс далеко не шедевр дизайна, люди его не за это покупают. Главное функционал, который на жабоскрипте ты никогда реализовать не сможешь.
>Под каждый тип экрана свой интерфейс будешь делать по каждому пуку дизайнеров?
Это и так приходится делать для сайтов. Некоторые еще и мобильную приложуху делают. Я говорю о софте, а не о сайтах. Автокадом на часах никто пользоваться не будет.
Аноним 19/12/18 Срд 23:18:29 1313847270
>>1313566
Хуйню спизданул по почти каждому пункту:

> 1. Зачем нужен раст, когда уже давно есть рельсы, жаба, котлин?
Разные сегменты как бы. Тащемта вполне даже в рамках одного проекта могут сосуществовать раст и, например, джава (сам на таком сижу).

> 2. Раст, как язык с сахаром. На самом деле тебе придется ебаться с с++, чтобы по-настоящему оценить это говно.
Ну хз. В чем то ты прав (сам писал на C++, и тут сразу прям зашло), но при этом знаю людей, которые перекатились с других языков (джава, скала), и им тоже заебись.

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

> 4. А лучше вообще становится гошником и получать 300 ?
Сейм щит: не для всех задач подходит.

> 5. По своей сути - раст - это высер, который только усложняет код своим "безопасным" подходом. Трудночитабелен, и не понимаем. Требует бекграунда определенного, для новичка - самый кал.
Ну такой трейдофф: ты получаешь безопасный язык с zero-cost абстракциями, офк появится некоторая сложность. Но немного попишешь, перестроишь мышление), и уже будешь так же легко, как раньше, писать код.

> 6. Ну и что за ебанутый 4 пикрил? Фриендс оф раст? Какие-то мелкобуквенные компании.
Ты явно новенький в ИТ. Куча хороших контор, которые делают супер годные продуткы.

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

Итог: разъеб по всем пунктам. Оправдывайся.
Аноним 19/12/18 Срд 23:51:37 1313863271
>>1313844
>Главное функционал, который на жабоскрипте ты никогда реализовать не сможешь.
Реализовать-то что угодно можно, только работать будет лет через 15-20.
>Это и так приходится делать для сайтов.
Вот вообще нет.
> Я говорю о софте, а не о сайтах. Автокадом на часах никто пользоваться не будет.
На сайтах тоже. По факту сайты это самые обычные гуй-приложульки. Весь чертёжный 2д функционал автокада (и как минимум статичную проекцию такого добра хотя бы под парой углов) можно реализовать уже сейчас (см. приложения вроде Figma), остаётся вопрос — а нахуя? Прогреть процессор чуть сильнее? Ведь всё равно для работы таких приложений тем более нужны полноценные компутеры, с планшетика не поработаешь в дороге, а на любом пк, тем более на ноутбуке, банально быстрее будет нативный софт, ведь даже самое оптимистичное отставание в 10-20% (которое будет обязательно) превратит работу даже в фш в полный пиздец.

Короче, пока высирал свою "войну и мир" до меня дошёл смысл вебасма — эту движуху гугл затеял чтобы всех анально привязать к софту, который нельзя спиратить. Это пока что единственный логичный кейс, без выдавливания обоснований нужности из неоткуда.
Аноним 20/12/18 Чтв 00:32:07 1313875272
>>1313566
> усложняет код своим "безопасным" подходом
Если тебе это сложно и не идёт, а борроу чекер тебя просто пиздец доебал, то в цпп ты творил бы полностью корявую, лагающую, дырявую херню.
Аноним 20/12/18 Чтв 02:24:30 1313914273
483650452544620[...].jpg (62Кб, 1080x1080)
1080x1080
>The variable name is highlighted in transgender pride flag colors.
>str::replace() swaps in "E" for "T"; the program prints out "Hello, E!"
>"E", as in estrogen.
Аноним 20/12/18 Чтв 08:06:54 1313936274
>>1313863
> спиратить
В теории можно будет так же васм данные пропачить и запускать офлайн сохраненный файл.
>>1313844
> функционал, который на жабоскрипте ты никогда реализовать не сможешь
https://clara.io хоть я и все равно считаю идиотизмом вынесение такого в браузер.
Аноним 20/12/18 Чтв 12:32:47 1314002275
>>1299787
>а самое главное ООП
ебать ты даун
Аноним 20/12/18 Чтв 12:56:08 1314016276

>>1313182
>Шта? WASM это не прослойка, он через специальный AOT+JIT работает напрямую с железом

JS, внезапно, уже овер 10 с хуем лет работает точно так же что в пихле что в макаке.

И wasm точно так же как и обычный жс транслируется во внутреннее представление пихла/макаки, после чего точно так же жит-компилируется.
Аноним 20/12/18 Чтв 14:57:29 1314057277
>>1314016
> JS, внезапно, уже овер 10 с хуем лет работает точно так же что в пихле что в макаке.
Я в курсе, но в WASM (1) байт-код может быть гораздо более оптимизированным (хотя это зависит от конпелятора язык_нейм в байткод) и (2) там идёт AOT компиляция, что в js можно делать очень ограниченно из-за того что язык динамический, а все современные движки AOT не делают вообще и более того даже минимально парсят неиспользуемый код, чтоб страницы с несколькими сотнями килобайтов (если не мегабайтов) жс-говнокода быстрее загружались.
Аноним 20/12/18 Чтв 15:21:54 1314068278
>>1313936
>В теории можно будет так же васм данные пропачить и запускать офлайн сохраненный файл.
Ты не понимаешь концепции. В той же фигме у тебя все данные банально болтаются на сервере, спирачивание каждой версии будет необходимо начинать с эмуляции сервера со всем апи, который будет постоянно меняться, и это без учёта шифрования и банальной большей защищённости от патчинга и дебагинга кода налету ввиду изоляции в браузере (ну разве что кто-то будет ради этого форкать движки браузеров и выпускать свои, лол).

Короче, пиратить-то будет можно, но с такими затратами что это нахуй никому не будет нужно.
Аноним 20/12/18 Чтв 15:24:06 1314069279
>>1314057
Ок, и к чему это? Ну загрузится скомпилированный код на пару секунд быстрее, дальше что? Он будет работать в тех же условиях что жс, и всё, кроме числодробления там будет работать с той же скоростью.
Аноним 20/12/18 Чтв 17:38:51 1314124280
>>1314069
>и всё, кроме числодробления там будет работать с той же скоростью.
Кроме числодробления там еще есть ебаная динамическая типизация жабоскрипта и его же объектная система, которые с любым джитом будут тормозить.
Аноним 20/12/18 Чтв 19:06:09 1314190281
Аноним 20/12/18 Чтв 20:11:06 1314222282
>>1314068
Если вся движуха на сервере, то и васм не нужен.
Аноним 20/12/18 Чтв 20:42:04 1314243283
>>1314222
Вась, а рендерить и работать ты где будешь? Такое даже для гугла дорого.
Суть вебаппов в том, что движуха в плане нагрузки-то твоя пека берёт на себя, но ты привязан жопой к дилде гугла под эгидой "безопасности и удобства".
Аноним 20/12/18 Чтв 20:44:53 1314246284
>>1314190
>челы сначала запилили полностью свой парсер и анализатор для ИДЕИ на котлине
>потом челы додумались что МЕДЛЕННА и решили сделать всё готовыми нативными средствами
Прям как местные со своим васмом. Только в терминальной стадии, местные ещё в начальной.
Аноним 20/12/18 Чтв 22:27:28 1314296285
>>1314246
Так а причем тут ИДЕЯ то? Ты сравниваешь инструмент, которым можно пользоваться везде, с плагином для исключительно своей хуеты.

Все таки инструмент скорее замена Racer и RLS, у которых действительно есть некоторое количество критичных недостатков.

>потом челы додумались что МЕДЛЕННА
Вот тут бы как раз поспорил, ИДЕЯ с растом работает вполне прилично, особых тормозов не видел. Другое дело, что не все пользуются ей. Жаль, что jetbrains вместо помощи сообществу пилит свою хуету.
Аноним 20/12/18 Чтв 23:07:08 1314306286
>>1314296
У idea неплохой плагин, работает заебись. Че вы кудахчете
Аноним 21/12/18 Птн 10:18:50 1314404287
>>1314124
>Кроме числодробления там еще есть ебаная динамическая типизация жабоскрипта и его же объектная система, которые с любым джитом будут тормозить.

Если ты сам не станешь передавать при каждом вызове параметры с рандомными или динамически запиленными типами, то после пары прогонов жит прогреется и на динамическую и объектную систему ему станет похуй. Не похуй ему будет, если ты в очередной раз внезапно вместо числа передашь строку тут то он и охуеет и откатится в интерпретацию.
Аноним 21/12/18 Птн 10:38:27 1314411288
>>1314404
> то после пары прогонов жит прогреется и на динамическую и объектную систему ему станет похуй
Ты слишком всё упрощаешь. Во-первых не пары, а несколько десятков раз (зачастую JIT делаются уровневыми и максимальный уровень оптимизаций достигается только после сотен итераций циклов или вызовов). Во-вторых это будет справедливо, только если особенным образом писать код на JS. Например те же итераторы сделаны так, что оптимизировать из чрезвычайно сложно. Так что если хочешь быстрый код, придётся отказаться от кучи сахарка со времён ES6, но этого, разумеется, никто делать не будет.
Аноним 21/12/18 Птн 10:49:46 1314418289
>>1314411
И да, добавлю, что именно поэтому раст мне нравится. В JS если вместо for(;;) будешь использовать for(of) то можешь сразу попрощаться с пирформансом (для того чтобы оптимизировать итераторы, которые использует for of, нужны очень мощные оптимизации вроде escape analysis чтоб убрать все аллокации при создании кучи побочных объектов, которая оффициальная спецификация ECMA требует создавать в реализации). В расте же все эти итераторы изначально делаются zero-cost и могут занять больше времени разве что при конпеляции.
Аноним 21/12/18 Птн 21:00:22 1314734290
z05gebcnj4421.jpg (42Кб, 742x855)
742x855
Растаманы, лишился тут своего ноута на время и придется работать за старым компом , на котором только под шиндой. Что там вообще можно устроить , чтобы с ржавчиной работать? Решил попробовать на эмаксе , но racer работает через жопу , плодя процессы и блокируя буффер на каждом дополнении. Vs code просто говно, на котором постоянно что-то отваливается. Idea накатить нет возможности , ибо 32 бит. На чем вообще тогда писать остаётся ?
Аноним 21/12/18 Птн 22:56:40 1314776291
>>1314734
В блокноте открыв доку. Имакс на шинд, блядь. Ты понимаешь что ты поехавший?
Аноним 21/12/18 Птн 23:12:53 1314779292
>>1314734
На сколько старый комп? Если древний проц и нет ssd, то время компиляции становится болью.
Аноним 27/12/18 Чтв 13:12:37 1317205293
Аноним 27/12/18 Чтв 16:22:20 1317296294
Растопидоры снова соснули. Замерил вывод хелловорда и он оказался в 70 раз медленнее крестов. Оправдывайтесь.
Аноним 27/12/18 Чтв 17:02:59 1317322295
Орели - Говнокод.jpg (37Кб, 460x604)
460x604
Биндинги curses тут кто-нибудь пердолил?
Я ньюфаг и в Расте и в Проклятиях, если что.
Т.к. у меня винда выбрал вот эту либу: https://github.com/ihalila/pancurses/
Не могу понять чем различаются функции addstr и printw. У них в Расте одинаковая сигнатура, просто принимают строку которую выведут. В примерах зачем-то используются обе функции, хотя делают они одно и то же.
В сишке сигнатура разная, addstr принимает просто строку, а у printw сигнатура и предназначение как у классического printf - си-стайл форматирование.
В расте понятное дело этот функционал обрублен, переменного числа аргумента у printw нет. Но если в строке будет какое-нибудь "%s" - выводит рандомный мусор.
Короч я не понял зачем было в биндингах оставлять такую ущербную версию printw, ещё и в примерах его использовать в перемешку с addstr.
Аноним 27/12/18 Чтв 17:28:58 1317337296
>>1317296
Ты опять таблетки забыл выпить?
Аноним 27/12/18 Чтв 17:54:15 1317345297
>>1317337
Растодебилы снова отрицают факты, все понятно.
Аноним 27/12/18 Чтв 22:09:16 1317439298
Аноним 28/12/18 Птн 10:56:48 1317682299
>>1317345
Не, мы не отрицаем факт того, что ты дебил ибо свой прошлый высер про "в 70 раз медленнее крестов" ты как-то ничем не подтвердил, да покормил зеленого
Аноним 28/12/18 Птн 11:37:10 1317692300
>>1317682
Сам проверь, напиши пару строк и увидишь насколько быстр твой "системный" говноязык.
Аноним 28/12/18 Птн 11:57:58 1317705301
Аноним 28/12/18 Птн 12:09:37 1317709302
Аноним 28/12/18 Птн 17:14:37 1317868303
>>1317709
То что ты можешь вставить себе черенок от лопаты в жопу, не значит что другие люди будут это делать.
Аноним 28/12/18 Птн 17:45:00 1317884304
>>1317692
О, маневры пошли. Ты не маневрируй, а неси код, свои замеры.

>>1317705
що это вообще такое, болезный?
Аноним 28/12/18 Птн 17:53:07 1317891305
>>1317709
Ты же понимаешь, что большая часть кода пишется на нормальном Rust, не unsafe?

Так что теперь давай сегфолт без unsafe, умник.

imbeCile'ы могут не стрелять себе в ногу вообще?
Аноним 28/12/18 Птн 17:57:00 1317893306
Аноним 28/12/18 Птн 18:05:31 1317901307
Аноним 28/12/18 Птн 18:11:58 1317904308
Аноним 28/12/18 Птн 18:12:21 1317905309
>>1317901
Нет, не сойдет.

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

Кажется как раз в последних версиях запилили workaround: https://github.com/rust-embedded/cortex-m-quickstart/pull/59
Аноним 28/12/18 Птн 18:14:01 1317908310
>>1317905
Да, да мы поняли. Если код нихуя не делает и LLVM его нахуй выпиливает, случается падение. Неприятно, но не смертельно.
Аноним 28/12/18 Птн 18:14:51 1317909311
>>1317905
> у меня оно не упало
Потому что компилируешь в debug режиме. Баг работает только в release.
> Кажется как раз в последних версиях запилили workaround
Это не для компилятора, а для библиотеки. Компилятор всё выдаёт неправильный код.
Аноним 28/12/18 Птн 18:29:11 1317925312
>>1317909
Да, ты прав. Я таки в дебаге скомпилил. С opt-level=3 упало.

В любом случае, это таки: а) баг компилятора (и даже не Rust, как ты сам и заметил), а не языка, и б) баг при оптимизации. Это совсем не то же самое, что стрелять себе в ногу, долбясь в unsafe к нулевому указателю.
Аноним 28/12/18 Птн 18:31:41 1317926313
Котоны. У меня есть enum варианты которого имплементят Display. Как мне сделать без бойлерплейта реализацию Display для самого енума, который будет просто передавать вызов конкретному варианту?
Аноним 28/12/18 Птн 18:33:52 1317928314
Аноним 28/12/18 Птн 18:35:00 1317930315
>>1317928
Ну и в чем претензия то? Если ты игнорируешь варнинги, ты ссзб.
Аноним 28/12/18 Птн 19:29:30 1317951316
>>1317928
Ну сорт оф решение будет в будущем: запретить такое нахуй, как написано в ворнинге. Хотя пока пример валидный. (блять, какой норкоман писал этот код)

>>1317930
Не согласен. Мне кажется, что ворнинг это как раз то, что можно проигнорировать и оно продолжит работать (может медленнее, или код будет менее красивый). А если ты (компилятор) уверен, что это некорректный код и все сломается, то стоит запретить.
Аноним 28/12/18 Птн 19:39:58 1317956317
>>1317951
Там же черным по белому написано, что это депрекейтед говно, которое пока что для обратной совместимости принимается, а скоро будет ошибкой.
Аноним 28/12/18 Птн 21:02:47 1317980318
>>1317956
Так, падажжи, я ж это и сказал:
> Ну сорт оф решение будет в будущем: запретить такое нахуй, как написано в ворнинге.
Аноним 28/12/18 Птн 21:04:06 1317985319
15458396517450.jpg (51Кб, 500x540)
500x540
Аноним 28/12/18 Птн 21:07:19 1317987320
Аноним 28/12/18 Птн 21:10:59 1317994321
>>1317987
Че там в двух словах? Не похоже на то, что стоит прочитать.
Аноним 28/12/18 Птн 21:12:08 1317997322
Раст не похож на то, на чем стоит писать.
Аноним 28/12/18 Птн 21:12:59 1317998323
>>1317997
> Раст похож на то, на чем стоит писать.
Исправил тебя.
Аноним 28/12/18 Птн 21:13:22 1317999324
>>1317998
>Я сосу хуй
Поправил тебя.
Аноним 28/12/18 Птн 21:14:15 1318002325
>>1317999
Как будто что-то плохое.
Аноним 28/12/18 Птн 21:14:39 1318003326
>>1318002
Хуже только на расте писать.
Аноним 28/12/18 Птн 21:15:17 1318004327
notfound.jpg (45Кб, 500x500)
500x500
Аноним 28/12/18 Птн 23:16:16 1318079328
>>1299618 (OP)
Ребята привет! Напомните-ка, почему раст такой ущербный? Даже в соседних тредах людей сюда заманивают. Он уже настолько плох? Алсо, еще и плохочитаемый. Как вы вообще дышите здесь?
Аноним 29/12/18 Суб 00:01:34 1318099329
А расскажите мне про раст-ембедед, что там да как вообще. Там есть нормальная отладка? Что-то сложнее консоли и светодиода можно написать при этом чтобы не требовалось внешнюю оперативу и флешку для бинарника?
Аноним 29/12/18 Суб 01:40:52 1318166330
>>1318099
> Там есть нормальная отладка?
Отладка стандартная GDB (или LLDB) + OpenOCD. Интеграция с IDE это уже другой вопрос, я не пробовал.
> А расскажите мне про раст-ембедед
Начиная с 1.31 версии (последняя на данный момент) можно писать no_std бинари (в которых нет встроенного аллокатора) без включения экспериментальных фич и почти без пердолинга (лютый пердолинг начнётся если захочешь сделать библиотеку, особенно универсальную).
> не требовалось внешнюю оперативу
Странный запрос. Обычно программы на слабеньких bare-metal мк внешнюю (т.е. в виде отдельных компонентов) оперативную память и не требуют.
> и флешку для бинарника
А это уже решается линкером, а не компилятором. Насколько я знаю в расте можно указывать в виде атрибутов куда линкеру размещать определённые куски данных, но возможно придётся попердолиться.

Я пробовал писать программы для Cortex-M3 на RTFM [1] и работало всё норм. Кстати, асинхронные функции (они же корутины) изначально делаются так, чтоб работать без аллокаций, так что в no_std (а значит и в embedded) они тоже будут работать. Интересно будет испробовать когда их закончат.

Пока что напрягают две вещи: неполноценные константные функции и отсутствие констант в генериках. Частично можно решить шаманством с макросами и абсолютно ебанутым шаманством с трейтами [2] уровня шаблонов C++98, но выглядит некрасиво и непонятно.

[1]: https://github.com/japaric/cortex-m-rtfm
[2]: https://github.com/paholg/typenum/blob/master/src/int.rs
Аноним 29/12/18 Суб 01:54:02 1318172331
ayase1.jpeg (81Кб, 800x533)
800x533
>>1318004
Неудобный вопрос:
>с гарантиями потокобезопасности
Как вы их гарантировать собрались? Нарушить теорему Гёделя? Или расписаться в неполноте языка? Нахуй вы вообще такие вещи на первую страницу вешаете, ваш язык рассчитан на полных дебилов, которые в элементарную логику не могут? Если так, что хорошего в языке с коммьюнити, состоящим из дебилов?
Аноним 29/12/18 Суб 12:08:52 1318276332
>>1318166
> Отладка стандартная GDB
Супер, меня устроит. Интеграция с ide не так важна, если есть gdb. По моему опыту зачастую gdb бывает удобнее некоторых дерьмовых ide (не знаю, какая для раста там есть).
> в которых нет встроенного аллокатора
Встроенный не умеет нормально с мк работать? А сторонних понаписали уже? Впрочем, на небольших мк без операционки или с какой-нибудь rtos обычно на моей практике все старались не выделять память динамически.
> лютый пердолинг начнётся если захочешь сделать библиотеку, особенно универсальную
Универсальную в смысле для разных архитектур или о чем вообще речь?
> Обычно программы на слабеньких bare-metal мк внешнюю (т.е. в виде отдельных компонентов) оперативную память и не требуют
Ну я преувеличил, конечно, но вообще к тому, что в newlibc из arm-none-eabi тулчейна, которым я пользовался последнее время, некоторые инструменты из libc жрали очень много стека (например форматирование строк), и оказалось, что для мелких мк хорошей практикой является подмена printf на что-то попроще.
> можно указывать в виде атрибутов куда линкеру размещать определённые куски данных
Это хорошо, но меня размер бинарника интересовал. При одинаковой функциональности программы сильно ли отличаться будет размер от того же самого, написанного на C.
> асинхронные функции
Под мк корутины? Интересно поглядеть. как это всё будет работать.

А это проект энтузиастов или это прямо разработчики раста пилят? Я так-то за раст пока не решился взяться, но прям читаю про него и держу кулачки, чтобы когда-нибудь в ближайшее время он стал достойной заменой C/C++ для встраиваемых (особенно bare-metal) систем. Было бы здорово.
Спасибо за развернутый ответ.
Аноним 29/12/18 Суб 13:15:20 1318308333
>>1318172
Раст очень мощный язык. Пост анона за написаный по наитию за 30 секунд, конечно опровергат все талмуды CS и труды учёных, которые разрабатывали язык.
Аноним 29/12/18 Суб 13:19:43 1318309334
>>1318276
> Встроенный не умеет нормально с мк работать? А сторонних понаписали уже?
С этим пока всё плохо. В no_std аллокатора нет, а std для bare-metal не подходит. Есть API для аллокаторов (так что запросто можешь написать свой, там 2 функции: аллокация, деаллокация), но в no_std нет коллекций и объектов, которые могли бы его использовать. Сейчас хотят вынести все коллекции и объекты, требующие динамические аллокации из std в отдельный крейт [1], который будет работать в no_std и где будет возможно использование любого аллокатора + свой собственный обработчик OOM [2] (где например ты сможешь перезагрузить мк). Но сейчас тишина.
> Универсальную в смысле для разных архитектур или о чем вообще речь?
Ну да. Для условной компиляции придётся использовать флаги карго и в отличии от #ifdef из Си нельзя использовать целочисленные значения, только булевы.
> размер бинарника интересовал
С размером всё норм. Причиной большого размер растопрограмм, на который некоторые жалуются, являются две вещи: (1) стандартная библиотека и (2) статически скомпилированные несколько версий одной зависимости. (1) для no_std не является проблемой, а вот (2) вполне себе может всплыть. Например ты используешь крейт XXX версии 1.1 и крейт YYY. В свою очередь крейт YYY использует крейт XXX версии 1.0 и указано, что только эту версию и никакую другую. Из-за этого в бинарник слинкуются обе версии пакета XXX, что увеличит размер. Для тех кто программирует на С/С++ это будет в новизну, поскольку в си эта проблема решалась отсутствием пакетного менеджера и полностью ручным управлением зависимостями.

Ну и ещё может всплыть размер debug-версии программы. Хоть раст и использует zero-cost абстракции, в debug-версии они далеко не zero-cost и могут быть как медленней, так и занимать больше места. Иногда в разы. Особенно весело выглядит когда в debug-версии, чтобы подёргать пин дополнительно пишутся пара ветвлений и вызовов функций.
> Под мк корутины?
Угу. Их изначально пилят без динамических аллокаций.
> А это проект энтузиастов или это прямо разработчики раста пилят?
Автор japaric является разработчиком раста и вносит в язык/компилятор изменения для улучшения работы в embedded. Но конкретно RTFM это не официальный проект, да. Официальные проекты все находятся здесь [3]

А вообще там куча хотелок для embedded-разработки [4]. Учитывая как круто всё продвинулось в 2018 году, думаю скоро допилят недостающие части.

[1]: https://github.com/rust-lang/rfcs/pull/2480
[2]: https://github.com/rust-lang/rust/issues/51540
[3]: https://github.com/rust-embedded
[4]: https://github.com/rust-embedded/wg/issues/256
Аноним 29/12/18 Суб 13:24:31 1318310335
>>1318309
> #ifdef
Точнее не #ifdef, а #if.
Аноним 29/12/18 Суб 13:34:51 1318314336
>>1318309
Насчёт std и аллокаторов: получается сейчас использовать большинство встроенных непростых типов данных, в МК не получится, так? То есть с точки зрения "батареек" сейчас раст под голый мк не лучше C?
А управление зависимостями вручную возможно вообще как-то? То есть, описанная тобой проблема разных версий она вообще как-то хоть решаема на данный момент?

Алсо, а что с поддержкой конкретных МК и их периферии? Кто-то пилит либы или обходятся биндингами на libopencm3?
Аноним 29/12/18 Суб 14:04:15 1318332337
>>1318308
>раст
>ученые
Мань, так и скажи, уровень пту.
Аноним 29/12/18 Суб 14:13:11 1318335338
>>1318332
Так и скажи что сам из пту. Ты вообще, там же пиздец какие концепции
Аноним 29/12/18 Суб 14:13:54 1318336339
Аноним 29/12/18 Суб 14:14:42 1318337340
>>1318335
Насобирали худшие практики из разных языков и реализовали в нечитабельный медленный "системный" язык.
Аноним 29/12/18 Суб 14:26:13 1318340341
>>1318314
> Насчёт std и аллокаторов: получается сейчас использовать большинство встроенных непростых типов данных, в МК не получится, так?
Встроенных - да. Я использовал в своём проекте библиотеку heapless [1]. Мне оттуда всего хватало.
> То есть с точки зрения "батареек" сейчас раст под голый мк не лучше C?
Сложно сказать
> А управление зависимостями вручную возможно вообще как-то?
Можно. Просто скачиваешь нужную версию крейта, проводишь необходимые изменения и в качестве источника указываешь каталог с крейтом [2]. Теперь вместо crates.io будет использоваться локальный каталог и обновлять зависимость сможешь только вручную. Можно даже сделать так, что при любом запросе этого конкретного крейта (даже если остальные берутся с crates.io) карго всегда отдавала локальную версию [3].
> Алсо, а что с поддержкой конкретных МК и их периферии?
Тут ответ нужно разбить на две части. (1) - поддежржка архитектуры и (2) поддержка периферии. Первое касается компилятора и пакетного менеджера, второе - библиотек.
1) Если твоя архитектура оффициально поддерживается [4], поздравляю, никаких проблем не будет. Учитывая, что боддерживаются Cortex-M[0-7][F] то скорее всего с этим особых проблем не будет. Иначе придётся пердолиться и самомму компилиовать libcore под свою архитектуру. И это если сам llvm эту архитектуру поддерживат. Если llvm не поддерживает, то есть два варианта - транслировать раст в Си, а потом компилировать уже сишный код [5], самому пердолиться с llvm и добавлять возможно компиляции на свою архитектуру, как делают с AVR [6].
2) Тут вопрос библиотек. Для работы с периферией используются специальный раст-файлы сгенерированные из SVD при помощи утилиты svd2rust [7]. Там генерируются относительно безопасные абстракции для работы с периферией. Для некоторых мк есть уже готовые [8]. Плюс пилится универсальный hal [9], работающий поверх этих файлов, сгенерированных из SVD. Для некоторых мк также есть уже готовые реализации [10].

[1]: https://github.com/japaric/heapless
[2]: https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#specifying-path-dependencies
[3]: https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#overriding-dependencies
[4]: https://forge.rust-lang.org/platform-support.html
[5]: https://github.com/thepowersgang/mrustc/
[6]: https://github.com/avr-rust/rust
[7]: https://github.com/rust-embedded/svd2rust
[8]: https://github.com/rust-embedded/awesome-embedded-rust#device-crates
[9]: https://github.com/rust-embedded/embedded-hal
[10]: https://github.com/rust-embedded/awesome-embedded-rust#hal-implementation-crates
Аноним 29/12/18 Суб 14:30:17 1318342342
>>1318340
Ты че, в емаксе посты пишешь?
Аноним 29/12/18 Суб 14:31:02 1318343343
Аноним 29/12/18 Суб 14:44:17 1318348344
>>1318340
Не знаю что такое SVD. Ладно, буду читать, потому что очень интересно стало. Круто, что это всё активно развивается, в том числе самими разработчиками языка.
Ещё раз спасибо за развернутые ответы и ссылки.
Аноним 30/12/18 Вск 01:09:22 1318525345
Ваше мертворождённое говно ещё живо?
Аноним 30/12/18 Вск 02:18:50 1318541346
>>1300892
>1) Без ГЦ D не нужен
>>1300842
>3) Отсутсвие ГЦ
Что такое ГЦ?
Аноним 30/12/18 Вск 02:31:16 1318543347
Аноним 30/12/18 Вск 14:03:01 1318687348
.jpg (103Кб, 640x775)
640x775
- User doesn't like the fact that buildbot (which they think is maintained by mozilla) uses "master/slave" terminology https://github.com/rust-lang/rust-buildbot/issues/2 . Mozilla gives buildbot $15k for changing it https://blog.mozilla.org/blog/2015/12/10/mozilla-open-source-support-first-awards-made/

- User doesn't like that dining philosophers is cited with some male and/or gender-neutral pronouns and placeholders (even though the original exposition was already changed to female pronouns) -- proceeds to change the rest of the pronouns to female (I guess gender-neutral didn't make sense) https://github.com/rust-lang/rust/pull/25640

- User thinks "bad code style" is offensive https://github.com/rust-lang/rust/issues/41646

- User doesn't like brotli encoding type being called "bro" https://bugzilla.mozilla.org/show_bug.cgi?id=366559#c147

- User thinks that the code of conduct is too general in its suggestions that all people be respected and treated fairly -- it needs to explicitly cite certain groups https://github.com/rust-lang/rust-www/issues/268
Аноним 30/12/18 Вск 14:05:18 1318689349
15460320509320.jpg (39Кб, 580x442)
580x442
>>1318687
Щито поделаешь. Пидарасы.
Аноним 30/12/18 Вск 16:06:55 1318726350
>>1318687
Теперь точно меньше адекватных людей будут пытаться написать что-то на этом убогом недоязыке.
Аноним 30/12/18 Вск 21:56:09 1318849351
>>1318726
И правда, надеюсь на С++ (убогий недоязык) будет писать как можно меньше людей.
Аноним 30/12/18 Вск 22:01:56 1318857352
>>1318849
Всё быстрое и удобное пишут на с/с++ (лучших и быстрых языках).
Аноним 30/12/18 Вск 23:05:51 1318888353
>>1318276
>чтобы когда-нибудь в ближайшее время он стал достойной заменой C/C++ для встраиваемых (особенно bare-metal) систем
Он там нахуй не нужен. Там же микроконтроллеры с килобайтами памяти, все пишется на ассемблере или очень низкоуровневой сишке без динамической аллокации (потому что стандартная библиотека с маллоками тупо не влезает). Плюс там всякая низкоуровневая ебала, в принципе не совместимая с идеологией раста. Вроде того, что регистры МК мапятся в глобальные переменные, и ты через них дергаешь какой-нибудь аппаратный функционал.
Аноним 30/12/18 Вск 23:37:10 1318906354
>>1318888
> Там же микроконтроллеры с килобайтами памяти, все пишется на ассемблере или очень низкоуровневой сишке без динамической аллокации
Bare-metal это не только старинные 8-битные контроллеры, где каждый бит на цену золота. Плюс раст вполне себе работает без аллокаций.
> в принципе не совместимая с идеологией раста
Не пизди. Тут только вопрос абстракций. Множество проверок неправильного использования проделываются во время компиляции. Для остальных используется unsafe (и то по большей части это не ограничение языка, а из-за того, что CMSIS-SVD файлы не описывают мк достаточно подробно, чтоб добавить все проверки).
> Вроде того, что регистры МК мапятся в глобальные переменные, и ты через них дергаешь какой-нибудь аппаратный функционал.
В расте (конкретно в файлах, сгенерированных svd2rust) можно использовать как и синглтоны (но такое использование нужно оборачивать в unsafe) либо как специальные типы, которые могут быть только в единичном экземпляре, зато могут свободно перемещаться по функциям и потокам (в случае есть используется RTOS). Плюс встроенные в систему типов стандартные гарантии безопасности, например что может быть сколько угодно ссылок на чтение, но только одна на запись и т.д.
Аноним 30/12/18 Вск 23:46:53 1318917355
>>1318857
>Всё быстрое
Тут ты прав. с/с++ быстрее всех остальных языков создают утечки памяти и сегфолты.
Аноним 30/12/18 Вск 23:49:02 1318920356
>>1318917
>утечки памяти и сегфолты
Глупости, есть паттерны выделения и освобождения памяти, держишь их в уме и все чики пуки
Аноним 31/12/18 Пнд 00:46:40 1318946357
>>1318920
>держишь их в уме
Вместо того, чтобы держать в уме решаемую задачу. Охуенно.
Аноним 31/12/18 Пнд 00:55:16 1318949358
>>1318906
>Bare-metal это не только старинные 8-битные контроллеры, где каждый бит на цену золота.
У большинства 32-битных микроконтроллеров ОЗУ не больше 64 килобайт:
https://www.chipdip.ru/catalog/ic-microcontrollers?x.3713=UCU
Остальная память - ROM разных видов.
>Тут только вопрос абстракций.
Ну так в условные 64 килобайта у тебя много абстракций не влезет. Часто бывает, что и стек не влезает. Приходится делать локальные статические переменные вместо стековых. Раст такое умеет?
Аноним 31/12/18 Пнд 00:58:05 1318952359
>>1318946
>Вместо того, чтобы держать в уме решаемую задачу.
Решаемую задачу держит в голове твой менеджер. Ты держишь в голове ее реализацию.
Аноним 31/12/18 Пнд 01:03:05 1318953360
>>1318949
> Ну так в условные 64 килобайта у тебя много абстракций не влезет.
Влезет. Почти все они zero-cost и все проверки происходят во время компиляции. Правда много оптимизаций (по встраиванию функций и удалению мёртвого кода) ложится на плечи LLVM, а не самого компилятора, так что ассемблерный код на всякий случай стоит проверять, учитывая что 90% багов мисскомпиляции это баги LLVM.
> Приходится делать локальные статические переменные вместо стековых. Раст такое умеет?
Умеет. Правда любой доступ к подобной переменной считается небезопасным. https://play.rust-lang.org/?version=stable&mode=debug&edition=2015&gist=1ab67d50fec6df4d9eae343630749b9d
Аноним 31/12/18 Пнд 01:04:58 1318956361
>>1318952
И в итоге реализация не соответствует задаче.
Аноним 31/12/18 Пнд 01:04:59 1318957362
>>1318888
> Там же микроконтроллеры с килобайтами памяти, все пишется на ассемблере или очень низкоуровневой сишке
Лол, ты давно последний раз этим занимался? Сейчас разница в цене между микроконтроллерами не такая большая, поэтому очень часто конторы просто ставят железку позабористей, лишь бы сделать заказ быстрее и получить бабло. Никому не упёрлось мудиться с ассемблером и высчитывать байты полгода, если можно ту же задачу решить за месяц. На моем последнем рабочем месте вообще в некоторых проектах часть высокоуровневой логики была написана на питоне и работала под их собственной адаптацией micropython. Может, крупные компании при производстве в огромных количествах при таком подходе и меньше профита получат, чем если будут писать на асме, но тут ни в одной конторе я сам ни разу такого не видел и не слышал такого ни от одного из знакомых, кто байтоёбством ещё со студенческих годов занимается.
> без динамической аллокации (потому что стандартная библиотека с маллоками тупо не влезает).
Аллокаторы с разными фичами по-моему в любую ртос уже завезли, да и newlibc не настолько жирная, не помню, чтобы она не влезала, но обычно без динамики можно обойтись в голом железе.
Я не любитель такого подхода, когда вместо оптимизации и использования приемлемых средств запихивают кучу говна и ставят железо помощнее и памяти побольше, но есть какая-то граница разумной борьбы за ресурсы, за которой уже начинается абсурдный дроч.
Аноним 31/12/18 Пнд 01:14:56 1318966363
>>1318953
>Почти все они zero-cost и все проверки происходят во время компиляции.
Как ты будешь, например, лямбды без стека делать, ты подумал? Инлайны тоже придется отключить.В итоге программа на расте под микроконтроллер будет выглядеть хуже сишечной из-за unsafe через каждое слово. Нахуя тогда этот раст нужен, если сишка для таких задач тупо проще?
Аноним 31/12/18 Пнд 01:25:52 1318969364
>>1318966
> Как ты будешь, например, лямбды без стека делать, ты подумал?
Путём встраивания. Учитывая, что 90% лямбд одноразовые это наилучшее решение.
> Инлайны тоже придется отключить.
Можно сказать LLVM, чтоб он не инлайнил автоматом, но инлайны заданные вручную через атрибут #[inline(always)] всё равно будут встраиваться. Это тебе не С/С++ где компилятор может игнорировать любой запрос ели ему захочется.
> В итоге программа на расте под микроконтроллер будет выглядеть хуже сишечной из-за unsafe через каждое слово.
Никто не заставляет использовать unsafe. Я на мк писал довольно сложные приложения с RTOS и (псевдо)многопоточностью и unsafe там не нужен был от слова вообще поскольку библиотеки давали неплохие безопасные абстракции. Например если заранее известно, что на мк одно ядро и одну функцию не могут одновременно вызвать два разных потока, то локальные static mut являются безопасными. Так например делает фреймворк RTFM при помощи макросов.
Аноним 31/12/18 Пнд 01:26:55 1318970365
>>1318957
>Сейчас разница в цене между микроконтроллерами не такая большая, поэтому очень часто конторы просто ставят железку позабористей, лишь бы сделать заказ быстрее и получить бабло.
Очень сильно зависит от задачи и от серии. Если серийность небольшая, то можно и одноплатник с линуксом поставить. А если девайс миллионной серией выпускается, то заказчик каждый цент считает. То есть в условный китайский фонарик, который красиво моргает светодиодиками, ты можешь поставить только супердешевое восьмибитное говно без корпуса.
Аноним 31/12/18 Пнд 01:32:59 1318974366
>>1318969
Это все равно на уровне можнаследать. Вопрос, нахуя ебаться, если сишка с IDE у тебя искаропки, а с растом приходится пердолиться? И каких-то особых преимуществ он не дает, потому что нет ни многопоточности ни динамической аллокации, а все данные - в основном в глобальных переменных. Писать на нем может и приятнее, но каких-то суперудобных фич там нет.
Аноним 31/12/18 Пнд 01:34:09 1318975367
>>1318970
Так я об этом и писал. Просто в России по-моему китайские фонарики никто не делает, потому что стоимость выйдет не та, и они никому не нужны будут. А всё остальное не в таких масштабах делается.
Алсо, в фонариках и прочей подобной ебале часто заказные микросхемы стоят, которые реализуют нужную логику работы, написанную на каком-нибудь vhdl, и микроконтроллерами там не пахнет даже.
Аноним 31/12/18 Пнд 01:38:12 1318977368
>>1318974
> Это все равно на уровне можнаследать.
Это всё на уровне ужеработает.
> И каких-то особых преимуществ он не дает, потому что нет ни многопоточности ни динамической аллокации
Это тебе для китайских фонариков многопоточность нужна? Чтоб двумя светодиодами моргать одновременно без задержек? И да никаких проблем с многопоточность нет, что в одноядерных системах, что в многоядерных (хотя на многоядерных мк я на расте не писал).

Странно ты как-то тему сменяешь, сначала мычал про то что абстракции не бесплатные. Хотя большинство абстракций тот же RTFM предоставляет через compile-time макрос, который всё проверяет во время компиляции и после чего генерирует растокод, т.е. по факту ты пишешь даже не на расте, а на растоподобном DSL заточенном на работу с мк. Теперь же вообще тебе раст не нужен, потому что тебе он не нравится.
Аноним 31/12/18 Пнд 01:43:49 1318980369
Раст это поделие тупых либерал-феменисток и лгбт, и для подобных создан. Когда они заменят все маняоффенсив термины, ни один нормальный человек никогда не станет писать на этом ебучем языке. Тьфу в ебало, растопидор.
Аноним 31/12/18 Пнд 01:49:07 1318982370
>>1318977
>Это всё на уровне ужеработает.
Прямо раст искаробки в фирменном IDE идет?
>то что абстракции не бесплатные
Так и есть. Лямбды не бесплатные, трейты не бесплатные, инлайны не бесплатные. Тупо вызов функции - не бесплатный, когда каждый такт и байтик экономишь.
>Теперь же вообще тебе раст не нужен, потому что тебе он не нравится.
Мне он не нужен, потому что я от него какой-то особой пользы не вижу. Можно типа срать не снимая свитера, охуенно.
Аноним 31/12/18 Пнд 01:49:53 1318983371
>>1318980
Ну хоть один нормальный аргумент против раста. А то всё про тяжёлость, многопоточность, сложность. Вот этот сечёт почему раст говно.
Аноним 31/12/18 Пнд 01:53:35 1318984372
>>1318982
> Прямо раст искаробки в фирменном IDE идет?
Нет. Такое доступно только илитным программистам на ассемблере. ИДЕ с линтером, который сыпет фатальными ошибками на каждый несэкономленный бит.
> Так и есть.
Верю тебе. Честное слово. Зачем мне смотреть на сгенерированный ассемблерный код и делать выводы, если анон с сосача всё пояснил как боженька. Вопрос закрыт. Ты абсолютно прав. Это даже обсуждать нельзя. Я запрещаю.
Аноним 31/12/18 Пнд 01:56:41 1318985373
Я могу полностью безопасно работать с опенгл? Или придётся все же с unsafe работать?
Аноним 31/12/18 Пнд 01:57:03 1318986374
>>1318984
> если анон с сосача всё пояснил
Но ты же сам анон с сосача.
Аноним 31/12/18 Пнд 01:57:55 1318987375
>>1318986
А потому меня слушать, себя не уважать. Вот ты себя уважаешь?
Аноним 31/12/18 Пнд 02:00:16 1318988376
>>1318987
Тебя нет. Ты же либерал, за однополые браки небось и свержение патриархата.
Аноним 31/12/18 Пнд 02:01:08 1318990377
>>1318987
>Вот ты себя уважаешь?
Я собой горжусь.
Аноним 31/12/18 Пнд 02:02:08 1318991378
>>1318985
Фу, либераха. Без сейф-спейса даже программу написать не может.
31/12/18 Пнд 02:03:48 1318992379
Язык говно.
/thread
Аноним 31/12/18 Пнд 02:07:12 1318993380
>>1318992
> говно
Это слово запрещено к использованию согласно нашему Code Of Conduct, кроме тех случаев если вы феминистки или транссексуалки и говном называете патриархально-белое капиталистическое общество и его адептов.

Пожалуйста, соблюдайте правила, или я вынуждены буду пожаловаться модератору.

И да, единственное число по отношению к человекам использовать тоже запрещено, как и все местоимения третьего числа, кроме они.
Аноним 31/12/18 Пнд 02:12:00 1318995381
Есть смысл учить Rust, как первый ЯП?
31/12/18 Пнд 02:13:49 1318996382
>>1318995
Ответь тогда на вопрос сначала:
Ты белый цисгендерный мужчина?
Аноним 31/12/18 Пнд 02:16:26 1318998383
>>1318996
> белый цисгендерный мужчина
Нельзя такие словосочетания в растотреде использовать.
Аноним 31/12/18 Пнд 02:17:48 1318999384
>>1318995
Раст использует особую систему типов, разработанную на основе GST (gender studies theory), разновидности type theory, изначально испробованной в хаскеле, но убранной оттуда по причине недостаточной прогрессивности мейнтейнеров языка.
31/12/18 Пнд 02:18:48 1319000385
>>1318998
Ржавые языки нестандартый языки
/тред
Аноним 31/12/18 Пнд 02:19:27 1319001386
Аноним 31/12/18 Пнд 02:20:22 1319002387
>>1319001
Привилегии проверены? А если обвиню в харрасменте?
Аноним 01/01/19 Втр 01:03:12 1319305388
image.png (938Кб, 1000x1000)
1000x1000
Выпьем же за диверсити, но-оффенсив и лгбт язык.
Аноним 01/01/19 Втр 02:20:49 1319314389
>>1319305
Пару раз возникала мысль посмотреть раст как альтернативу крестам для своих проектов, но каждый раз я открывал список мейнтейнеров и кор команды языка, и понимал что не хочу шквариться используя что-то созданное этим биомусором.
Воистину, нормальный язык может быть создан только людьми.
Аноним 01/01/19 Втр 11:15:16 1319337390
>>1319314
>что-то созданное этим биомусором.
А че там, педик на педике, как узнал?
Мимо
Аноним 01/01/19 Втр 12:42:55 1319347391
>>1319337
Он на сайтах знакомств для геев сидит, вот знакомые лица и увидел.
Аноним 01/01/19 Втр 13:19:00 1319349392
>>1319347
Да уж, что говорить о применимости языка вообще, если его кор разработчики на сайтах знакомств для пидоров сидят. Не удивлюсь, если еще и в чат-рулетках.
Аноним 01/01/19 Втр 13:47:25 1319355393
>>1319349
Зато вкат простой, достаточно уметь долбиться в жопу и знать паттерны сосания хуев.
Аноним 01/01/19 Втр 14:34:05 1319360394
>>1319314
а я наоборот ценю раст за то, что гомофобная гопота типа тебя его обходит стороной
Аноним 01/01/19 Втр 14:37:42 1319361395
>>1319360
>гомофобная
Словно что то плохое
Аноним 01/01/19 Втр 15:56:54 1319374396
1439395675110.png (91Кб, 374x370)
374x370
Аноним 01/01/19 Втр 16:20:17 1319379397
>>1319314
Зависть плохое чувство
Аноним 01/01/19 Втр 16:51:12 1319392398
подскажите, что в расте принято использовать для отправки запросов к серверу по rpc и последующего парсинга json-ответа
Аноним 01/01/19 Втр 19:41:50 1319437399
dvach-01.webm (10684Кб, 1920x1056, 00:00:19)
1920x1056
С новым годом, котятки!

Пока все дрыхнут после вчерашней пьянки, лениво пилю видеорелейтед.

А у вас как дела?
Аноним 01/01/19 Втр 20:08:39 1319442400
>>1319392
Ещё никого не увольняли за внедрение grpc в проект.
Аноним 02/01/19 Срд 12:42:35 1319578401
>>1319437
На расте пилишь? Я бы такое в терминале пощупал, неплохо сделано, но хорошо бы вимоподобный инкрементальный поиск по тексту шапки например...
Аноним 02/01/19 Срд 13:15:55 1319598402
>>1319437
сам пилишь? на чем? давай уже ссылку на гитхаб
Аноним 02/01/19 Срд 13:20:27 1319599403
>>1319578
Конечно на расте, на чем же еще.

https://github.com/TatriX/dvach/tree/feat/tui

Оно как раз для терминала.
Ветка еще не смержена, ибо WIP, tui за пару часов накидан плюс я до этого никогда не делал этот самый tui.
Аноним 02/01/19 Срд 13:35:36 1319601404
Нормально-ли в контроллере Rocket на необрабатываемые ошибки высираться с помощью panic!("[здесь_название_метода_который_вернул_error]: {:?}", e)? Есть-ли какие-то более правильные решения, чтобы не приходилось постоянно это писать в ручную?
Аноним 02/01/19 Срд 13:39:28 1319602405
Аноним 02/01/19 Срд 13:43:40 1319603406
>>1319602
Добровольно и за бесплатно? Нет, спасибо.
Аноним 02/01/19 Срд 13:46:05 1319604407
>>1319603
На расте добровольно и бесплатно? Нет, спасибо.
Аноним 02/01/19 Срд 13:54:46 1319607408
>>1319604
Как видишь добровольно и бесплатно пока что получается в основном на расте. Особенно это хорошо заметно в трендах гитхаба, где новые тулзы каждую неделю появляются.

cargo/crates.io очень сильно способствует этому.
Аноним 02/01/19 Срд 13:59:23 1319614409
>>1319607
Ну вот видишь, такой себе "язык". Не удивлюсь, если его разрабы в один день призовут убрать всех мужиков из проекта
Аноним 03/01/19 Чтв 01:05:38 1320018410
>>1319614
Да этож не жс, у нас тут все мужики, просто кукуолды немножк, всмысле, спонсоры пидоры, вот и приходится изворачиваться.
Аноним 03/01/19 Чтв 02:00:53 1320061411
dvach-02.webm (2422Кб, 1920x1056, 00:00:12)
1920x1056
Картинки в ASCII пробовал конвертировать. Получается стремно.
Аноним 03/01/19 Чтв 07:27:03 1320109412
Textach.png (75Кб, 827x506)
827x506
>>1320061
У нульчана 1 апреля 2011-го получилось неплохо.
Аноним 03/01/19 Чтв 11:47:18 1320172413
>>1320109
В браузере где можно шрифты для картинки отдельно от остального текста уменьшить — может быть.
Аноним 03/01/19 Чтв 12:39:57 1320194414
>>1320061
есть pixterm, посмотри... и ещё я видел утилиты которые в консоль могут выводить графику
Аноним 03/01/19 Чтв 13:20:35 1320216415
Аноним 03/01/19 Чтв 19:11:20 1320386416
Manson.jpg (86Кб, 996x1024)
996x1024
>>1317439
>нативную
Гм, не понятно в каком смысле они "нативные".
>tui-rs
Под юниксы, у меня шиндовс.
>Cursive
Ну оно какое-то не оче и заточенное под менюшки, я вообще зачем-то тетрис пилю в терминале и мне было интересно потрогать curses.

Да и вообще вопрос был "какого хуя оно так?", не в том что я не могу осилить curses (просто использую addstr и по-прежнему не понимаю зачем в расто-версии printw и почему только у меня этот вопрос возник).
03/01/19 Чтв 21:29:35 1320428417
Я программист на расте, а значит я пидарас и сосу хуй.
Аноним 04/01/19 Птн 18:01:39 1320739418
>>1320428
милости прошу к нашему шалашу!
04/01/19 Птн 18:05:12 1320742419
>>1320739
Вы тоже сосите хуй и даете в жопу?
Аноним 04/01/19 Птн 18:07:40 1320743420
>>1320386
>у меня шиндовс
зачем тебе на винде консоль? она же там вообще никакая, поэтому у вас мышевозить принято
Аноним 04/01/19 Птн 18:17:49 1320748421
Аноним 04/01/19 Птн 19:44:12 1320788422
>>1319437
а этот cursive умеет отображать окно с меню в заданных координатах без всяких рамок, заголовков, кнопок и скроллбаров?
Аноним 04/01/19 Птн 23:22:13 1320848423
>>1320743
>Винда
>Консоль никакая
Скажи это моему павершеллу
Аноним 05/01/19 Суб 12:08:06 1320996424
1.PNG (55Кб, 909x623)
909x623
>>1320743
Про MinGW и прочие MSYS, обмазанные всякими Cmder/ConEmu ты не в курсе, видимо?
Аноним 05/01/19 Суб 12:23:45 1321000425
sub-buzz-25177-[...].jpg (54Кб, 395x427)
395x427
https://blog.rust-lang.org/2018/12/06/Rust-1.31-and-rust-2018.html#module-system-changes
>A foo.rs and foo/ subdirectory may coexist; mod.rs is no longer needed when placing submodules in a subdirectory.
Нахуя это сделали? Вроде раньше логично было.
И даже из более подробного описания
https://doc.rust-lang.org/edition-guide/rust-2018/module-system/path-clarity.html#no-more-modrs
не всё понятно.
Старый foo/mod.rs и новый foo.rs - одинаково себя вести будут, как корень модуля? А если оба файла присутствуют?
05/01/19 Суб 15:46:07 1321124426
Аноним 06/01/19 Вск 00:02:26 1321417427
>>1321000
Убрали необходимость в mod.rs типа потому, что если у тебя есть три модуля:
./foo/mod.rs
./bar/mod.rs
./baz/mod.rs
То в некоторых говноредакторах у тебя будет три вкладки
mod.rs
mod.rs
mod.rs
Аноним 06/01/19 Вск 23:20:36 1321951428
Что-то пока не очень понимаю enum. Производит впечатление какой-то смеси enum и union из C, правильно? У самих вариантов явного значения как в C это было нет, но при этом принцип работы при использовании в match примерно такой же, как в switch из C. Но при этом в вариантах можно хранить данные разных типов, если мы создаем экземпляр варианта и кладём его в переменную. Зачем это нужно, кроме случаев Some/None? Какие еще сценарии использования enum могут быть?
Аноним 07/01/19 Пнд 01:10:33 1321983429
>>1321951
Гугли "алгебраический тип данных". Гапример в хаскеле все, что не примитивные типы - оно самое.

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

enum TaskResult<T> {
Ok(T),
Error { code: u8, description: Option<String> },
Panic(String)
}

А вот так описан IP-адрес в стандартной библиотеке: https://doc.rust-lang.org/src/std/net/ip.rs.html#49-56
-
Аноним 07/01/19 Пнд 07:16:12 1322044430
>>1321417
>ко-ко редактор не тот!
а что там должно быть в ржаворедакторах? даже интересно.
Аноним 07/01/19 Пнд 13:24:05 1322101431
>>1321124
Поддержу. На Win10 ноутбучной решил поставить Раст вдобавок к Cpp, Haskell, Go... и только rustup отказывается ставиться: rustup install stable вываливается с ошибкой SSL[35], проще говоря валится на curl. Я даже _curlrc сделал. Ну и чего ждать от людей которые работу инсталлятора не могут сделать нормально настраиваемой?
07/01/19 Пнд 20:56:19 1322477432
> обработка ошибок как в win32api
> дженериков нет и не будет
> официальный сайт и документация без подсветки синтаксиса, потому что главный разработчик (!) языка считает что она не нужна (!!)
> ущербный менеджер пакетов
> конфликты т.к. один монолитный путь GOPATH на все
Аноним 07/01/19 Пнд 20:59:04 1322478433
>>1322477
Братишка, ты тредом промазал. Загон годаунов где-то неподалеку.
Аноним 07/01/19 Пнд 21:48:15 1322533434
>>1322477
> > дженериков нет и не будет
Н-но ведь во второй версии обещали гонерики. Как генерики, только круче и проще для использования молодыми специалистами.
Аноним 07/01/19 Пнд 23:45:54 1322640435
Служу в секретной мурманской залупе, читаю TRPL и Programming Rust, оторваться не могу. Единственное, не хватает сухой документации по стандартной либе, чтобы программировать на бумажке. Где-нибудь такое можно достать? Как же ущербно выглядит Go в сравнении. Зря столько говна писал на нем.
Аноним 07/01/19 Пнд 23:46:58 1322641436
>>1322640
Как-то не очень конкретно написал. Нужна офлайн-версия документации. PDF, например. Да хоть обычные текстовые файлы! Обнял.
Аноним 07/01/19 Пнд 23:50:22 1322642437
>>1322641
~/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/share/doc/rust/html/std/index.html
Аноним 07/01/19 Пнд 23:51:21 1322644438
Аноним 07/01/19 Пнд 23:54:24 1322646439
>>1322642
>>1322644
У меня только телефон на Андроиде, которым я могу втихаря пользоваться несколько часов в неделю, и компьютер на Windows без доступа в интернет. Я не даун, честное слово.

> в секретной мурманской залупе
Аноним 07/01/19 Пнд 23:56:17 1322647440
>>1322646
Хуево быть тобой. Че хотел-то?
Аноним 08/01/19 Втр 00:15:31 1322661441
>>1322646
>и компьютер на Windows без доступа в интернет.
Ставишь виртуалку, подключаешь через телефон к инету.
Аноним 08/01/19 Втр 00:22:58 1322669442
>>1322646
Могу тебе зип архив на яндекс диск положить. 46 метров весит.
Аноним 08/01/19 Втр 00:33:27 1322676443
>>1322669
Буду очень благодарен, товарищ.

>>1322661
Увидишь нить в какое-то не то русло, но отвечу. ЗГТшный софт, логирующий все подключенные PCI/USB устройства, отсутствие любой сетевой карты в принципе, отсутствие админских прав, возможность посидеть за компьютером без присмотра офицеров только во время дежурства по роте после общего отбоя. Я тут себе PDFки печатаю и сшиваю, а не с пацанами в доту и хартстоун катаю по сети, как пацаны с флотилии делают. Только за праздники чекист четыре раза приходил.
Аноним 08/01/19 Втр 00:34:50 1322678444
Аноним 08/01/19 Втр 00:54:32 1322687445
>>1322678
Спасибо, анон! Отпишусь в тредике где-то в июле.
Аноним 08/01/19 Втр 01:07:34 1322690446
Зачем служить в хуйне, если можно нормально программировать сидя дома на диване и получать за это деньги?
Аноним 08/01/19 Втр 01:53:21 1322712447
Аноним 08/01/19 Втр 01:55:03 1322713448
27786.jpg (23Кб, 400x400)
400x400
>>1322712
Кстати, похож на патлатого гейба.
Аноним 08/01/19 Втр 01:56:11 1322715449
>>1322712
Если прочитать статью об уходе целиком, то станет понятно, что чел - гендерно небинарный вертосексуал и ушел оттуда из-за неравенства и харассмента, а не изза доков, как несведомый анон пишет.
Аноним 08/01/19 Втр 02:01:18 1322721450
>>1322715
Ой, да ладно. Раст и мозилла в частности самые толерантные сообщества для подобных лиц.
Аноним 08/01/19 Втр 02:50:21 1322742451
>>1322715
чо за херню ты несёшь, он там пишет, что ушёл прежде всего из-за мизерной зарплаты
Аноним 08/01/19 Втр 02:51:52 1322744452
Самое идиотское что могли в расте придумать это константное значение переменой по умолчанию.
Аноним 08/01/19 Втр 02:52:54 1322745453
>>1322712
причём намылился к конкурентам - в гугл
Аноним 08/01/19 Втр 02:54:28 1322746454
>>1322742
Ну он и не программистом был. Вот его интересные цитаты из hn:
> Mozilla is actually the best-paying job I've ever had, if that tells you anything. And it was an okay salary. I've never been more financially secure. But I'd like some of that "easy SV money" :)
> My peers are engineers, my job title was technical writer. Across the industry, writers make less than engineers do.

И судя по гитхабу кодер из него так себе:
> Looking at Steve's 177 'source' repositories @ Github and disregarding documentation and presentations, there is absolutely nothing that can be described as substantial engineering. Throwaway code, small sample projects and tiny tutorials and more often than not, skeletons and incomplete beginnings.

https://news.ycombinator.com/item?id=18845174
Аноним 08/01/19 Втр 03:02:24 1322748455
Аноним 08/01/19 Втр 03:05:09 1322749456
>>1322748
Я понимаю, что евангелисты нужны. Но он даже сам себя евангелистом не считает, хотя я его видел в каждом треде по расту, что в реддите, что в hn. Да и зачем кому-то нужен будет евангелист раста, кроме мозиллы?
Аноним 08/01/19 Втр 09:05:28 1322818457
>>1322744
Меня это тоже удивило, но не так сильно, как отсутствие возможности обращаться к строке по индексу и отсутствие в стандартной библиотеке возможности вытаскивать из строки букву. Только слайсы, причём я пока не понял как надо будет угадывать индексы, чтобы в середину символов не попадать, либо итерироваться по символам или байтам. После питона мне такие ограничения как серпом по яйцам.

Модули же как namespace в плюсах?
Зачем для методов отдельное ключевое слово impl, почему их нельзя сразу в структуре описать? Ну или хотя бы заголовки там, а тело ниже. По-моему это гораздо нагляднее, учитывая, что методы непосредственно к структуре и её данным относятся.
Аноним 08/01/19 Втр 12:08:33 1322962458
>>1322818
А отдельных файлов с хедерам с копипастой сигнатур и ifdef тебе не хватает?
Попробуй разобраться, сначала, почему что-то сделано так, а не иначе.
Аноним 08/01/19 Втр 12:46:11 1322984459
>>1322818
Может ради безопасности? Чтобы не вызывать букву по не существующему индексу. Та же стори и с инкрементом.
Аноним 08/01/19 Втр 12:55:53 1322986460
>>1322984
https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=5fd84ca1777d5f8c574af5b94b2fb2b2

В чем ваша проблема-то? Как по твоему пиздон это делает без итерации, то?

impl можно не только кастомные методы, но и трейты. Плюс ты можешь impl свои трейты для импортированных структур.
Короче, это для унификации синтаксиса.
Аноним 08/01/19 Втр 14:02:16 1323039461
>>1322986
> В чем ваша проблема-то?
Просто не все привыкли к utf8 где нельзя взять символ по индексу, используя только арифметику указателей. Впрочем с приходом эмозди и прочего говна в 16-битрых кодировках тоже такая хуйня появилась.
Аноним 08/01/19 Втр 15:15:20 1323107462
Например, в C# вся инфа объекта хранится в куче, а в стеке только адрес. Заметил что в С++/расте не так, и много инфы объекта хранится в стеке (например, длина векторов). Из-за чего приходится переменные из стека передавать по ссылке, со всеми "прелестями" вроде dangling pointer и прочего.
Я не понимаю, зачем так сделано и почему нельзя сразу хранить в куче свойства объекта?
Аноним 08/01/19 Втр 15:17:32 1323110463
>>1323107
Потому что выделение памяти на стеке это инкремент регистра, а выделение на куче это сложная хуйня с обращением к ОС. Плюс минус.
Аноним 08/01/19 Втр 15:36:43 1323125464
>>1323107
Ты сишарп тоже недавно изучать начал? Там с самого появления есть структуры, которые тоже на стеке хранятся. А ещё недавно появился Span, который вместе со stackallock позволяет хранить на стеке вообще что угодно без использования небезопасного кода. Правда майки не добавили АПИ для определения свободного места на стеке из-за чего этот stackallock довольно опасен (раньше он вообще был только для unsafe кода).
>>1323110
> это сложная хуйня с обращением к ОС
А в C# и подобных языках ещё и нагрузка на GC.
Аноним 08/01/19 Втр 18:08:18 1323294465
>>1323125
>stackallock позволяет хранить на стеке вообще что угодно без использования небезопасного кода
Я аж вспомнил как спорил с каким-то дауном в си треде где-то год назад, и он доказывал что надо всё выделять только на стеке и вообще куча это хуйня, небезопасно и 4 мб хватит всем, alloca наш б-г.
>раньше он вообще был только для unsafe кода
Да потому что он и не может быть безопасен, долбойоб блять.
>Правда майки не добавили АПИ для определения свободного места на стеке из-за чего этот stackallock довольно опасен
Определение стека знаешь? Смысл превращать его в кучу?
>>1323107
> Из-за чего приходится переменные из стека передавать по ссылке
Ахуеть, а ты откуда вылезла, обезьяна? Где ты вообще такое видел? Всё, что вмещается в стек, обычно просто копируется, ибо это примерно всегда быстрее из-за особенности работы процессора с оперативкой.
Аноним 08/01/19 Втр 18:12:15 1323298466
>>1323294
> Определение стека знаешь? Смысл превращать его в кучу?
Чтобы снизить нагрузку на GC. Особенно актуально для короткоживущих объектов, даже escape analysis не всегда осиливает их убрать. Не зря же даже в жаве проект вальхаллу пилят (аналог структур из C#).
Аноним 08/01/19 Втр 18:17:50 1323303467
>>1323294
> Да потому что он и не может быть безопасен, долбойоб блять.
У тебя странное определение безопасности. stackalloc был небезопасен потому что возвращал raw-указатель на стек, который CLR не мог отслеживать. Span же это умный указатель, про содержимое которого CLR в курсе, а потому stackalloc с ним стал абсолютно безопасен. StackOverflowException это вполне себе безопасное исключение.
Аноним 08/01/19 Втр 18:34:44 1323318468
>>1322962
Бля, вот хэдеры и вся эта ебатня с ними и миллион ifdef и прочего макросоговна, размазанного тонким слоем по проекту -- это пиздец. Но пока я не понимаю какое это отношение имеет к выносу реализации методов. И копипаста сигнатур нинужна, если реализовать методы прямо там же, но насколько я помню, в какой-то книжке по ++ писали, что в самих классах обычно заголовок только.
>>1322984
Зачем нельзя по индексу букву получить я понимаю, причины хорошо описаны в разделе про String. Чего я не понимаю так то, что не включили возможность вытащить именно букву в стандартную библиотеку. Если правильно понял, то основная проблема в том, что операция взятия значения по индексу должна выполняться за o(1), а с буквами это не прокатит. Ну хуй с ним, почему отдельный метод нельзя запилить?
Аноним 08/01/19 Втр 18:42:46 1323320469
>>1323318
> Чего я не понимаю так то, что не включили возможность вытащить именно букву в стандартную библиотеку.
В жаве сделали так же. Хочешь нормальный символ с учётом всех этих суррогатов, используй метод chars(), который возвращает IntStream. И оттуда уже бери необходимый символ используя методы stream'ов. В расте просто нет легаси API, которые не учитывают многобайтовые символы.
Аноним 08/01/19 Втр 18:52:28 1323329470
>>1323318
Тебе че, лень одни скобки добавить?
s.chars().nth(2)
Аноним 08/01/19 Втр 19:27:26 1323345471
>>1323294
>Я аж вспомнил как спорил с каким-то дауном в си треде где-то год назад, и он доказывал что надо всё выделять только на стеке и вообще куча это хуйня, небезопасно и 4 мб хватит всем, alloca наш б-г.
Ага, потом выясняется, что
>Из ядра Linux убрали массивы переменной длины (VLA), размер которых определяется на этапе выполнения, а не компиляции кода. Они замедляли работу и могли влиять на безопасность операционной системы. Линуса Торвальдса уже давно просили избавиться от VLA, да и сам он активно критиковал решение использовать массивы переменной длины. В kernel 4.20 большую часть из них наконец исключили.
Аноним 08/01/19 Втр 20:24:42 1323372472
logo.png (38Кб, 1669x257)
1669x257
Аноним 08/01/19 Втр 21:31:19 1323413473
>>1323298
Я у тебя, дурака, про определение спросил. Не про высосанные из пальца проблемы вм.
Ты писал что
>майки не добавили АПИ для определения свободного места на стеке из-за чего этот stackallock довольно опасен
Я тебе, овощу блядь, отвечаю: стек отличается от кучи в том числе принципиальным отсутствием индексации, о каком апи для определения свободного места можно говорить?
>>1323303
Ты это вообще к чему написал? Ну придумали майки (auto)unique_ptr спустя 15 лет его появления в крестах, ну залатали они дырку которую сами сделали хз когда. stackalloc безопасен? Нет, блять, он тебе за выигранные спички потенциально создаст ещё хуйлиард проблем. Если escape analysis не понимает, что объект можно держать на куче, то этот код гарантированно запутаная хуйня, где и человек рано или поздно накосячит.

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

>>1323318
>Ну хуй с ним, почему отдельный метод нельзя запилить?
Потому что итераторы, архитектура и у-н-и-в-е-р-с-а-л-ь-н-о-с-т-ь.
Аноним 08/01/19 Втр 21:33:37 1323417474
>>1323372
>TatriX
А как же лишп? :(
Аноним 08/01/19 Втр 21:44:30 1323421475
>>1323417
emacs-lisp никуда не делся
clojure чуть-чуть для музыки
Ну и commmon lisp в продакшне.
А што?
Аноним 08/01/19 Втр 21:49:44 1323424476
>>1323413
> стек отличается от кучи в том числе принципиальным отсутствием индексации, о каком апи для определения свободного места можно говорить?
Изи. Это managed-стек. VM запросто может отслеживать свободное место на нём.
> Ты это вообще к чему написал?
А, понятно. Ты managed от unmanaged не отличаешь. Точно дурачёк и пытаешься умничать. Не мудрено, что
> Вообще, не понятно нахуя дотнет-то нужен
Аноним 09/01/19 Срд 00:44:18 1323496477
>>1323424
>Изи. Это managed-стек. VM запросто может отслеживать свободное место на нём.
Отлично гений, из управляемой кучи в управляемый стек. Почему он такой какой есть используется, ты, ебанатина, не задумывался? Носом опять ткнуть или сам головой подумаешь?
>А, понятно. Ты managed от unmanaged не отличаешь. Точно дурачёк и пытаешься умничать. Не мудрено, что
Ну да, не мудрено что ты пришёл в растотред и начал пороть нюфагу бред про хуй пойми что.
Про ненужность дотнета хуйню спорол, извини. Специально создавать столько проблем для холостой траты на них времени и денег — такой хуйнёй даже плюсы никогда не были, такой вот кортельный заговор погромистов.
Аноним 09/01/19 Срд 00:53:41 1323499478
>>1323496
> из управляемой кучи в управляемый стек.
Он и так управляемый. Безусловно взятие оставшегося места будет занимать относительно много времени (на раскрутку стека и расчёт уже занимаемого места), но такое можно сделать и на простом стеке, ничего волшебного тут нет.
Хватит под умного косить. Работал бы ты хоть раз со стеком, знал бы, что ничего невозможного тут нет.
Аноним 09/01/19 Срд 00:58:22 1323502479
>>1323499
К тому же JIT/интерпретатор сам по себе хранит кучу метаинформации о функции (даже если она заинлайнена, чтобы при эксепшоне выдавать полный стек), так что ничего сложного тут не будет.
Аноним 09/01/19 Срд 01:39:25 1323511480
>>1323421
> Ну и commmon lisp в продакшне.
А вот тут расскажи подробнее? Что делаете, как используете? Я думал что CL вообще только как промежуточный этап до Scheme какого-нибудь.
Аноним 09/01/19 Срд 01:47:11 1323512481
>>1323511
Всё просто, CL это императивная дрисня, носит имя лиспа потому что скобки есть.
Аноним 09/01/19 Срд 11:25:05 1323607482
index.jpg (6Кб, 259x194)
259x194
>>1323499
> Безусловно взятие оставшегося места будет занимать относительно много времени
>>1323298
>>>1323294
>> Определение стека знаешь? Смысл превращать его в кучу?
>Чтобы снизить нагрузку на GC.
>Хватит под умного косить. Работал бы ты хоть раз со стеком, знал бы, что ничего невозможного тут нет.
Что с этим ебанавтом? Это managed рак мозга?
Аноним 09/01/19 Срд 11:27:55 1323608483
index.jpg (8Кб, 275x183)
275x183
>>1323502
>К тому же JIT/интерпретатор сам по себе хранит кучу метаинформации о функции
>указатель на стек для обхода ссылок
Аноним 09/01/19 Срд 11:28:47 1323609484
>>1323502
>>1323499
>>1323424
>>1323303
>>1323298
Иди уже в свой сишарп тред, шизик. У нас тут стек из коробки без ебли, гц и висящих ссылок, сосунок блядь, тебе тут не рады.
Аноним 09/01/19 Срд 11:59:04 1323626485
>>1323511
Наш хаскель гуру заебался месить говно лопатой в жабо-имплементации openauth и сделал свой сервис. Потом еще фронтэнд тесты на нем же были, но загнулись.
Как по мне, >>1323512 прав. Смысла никакого в CL в 21 веке нет.

Я раньше пробовал на кложаскрипте писать, но все что хоть немного связано с jvm тормозное и уебищное, поэтому бросил это дело. А недавно начал немного заниматься синтезом, и вот для этого дела clojure+overton зашло мне на ура.
Аноним 09/01/19 Срд 16:25:02 1323791486
>>1323607
>>1323608
>>1323609
Ебать, вот это дэмэдж контрол. Спизданул с умным видом хуйню и теперь пытается всех затроллеть.
Аноним 10/01/19 Чтв 04:14:03 1324166487
Криппи Путин.jpg (28Кб, 640x480)
640x480
>>1322101
Пошел нахуй. Вот просто пошел нахуй.
У меня всё собирается без проблем. Это единственный язык и система сборки/менеджер пакетов где у меня всё собирается без проблем.
Всем бы языкам такое. У тех же npm и pip нет кучи очевидных фич которые есть у cargo.
Аноним 10/01/19 Чтв 09:07:26 1324208488
>>1324166
Да, признаю ошибку. Просто трафик с мобилы был завернут в ВПН, а ноут подключался к мобиле. С pip та же история, что-то в этой цепочке ломает SSL. Дома нормально зашло.
Аноним 10/01/19 Чтв 17:49:05 1324439489
Аноним 10/01/19 Чтв 18:17:45 1324453490
13237764988811.jpg (24Кб, 229x300)
229x300
Как создать вектор фиксированной длинны заполненный пустыми String'ами?
(В общем случае заполненный выдачей функции-конструктора, в случае String'ов - String::new())
Только ручками пушить в цикле?
Аноним 10/01/19 Чтв 18:23:54 1324456491
>>1324453
let mut v = vec![String::default(); 5];
или
let mut v = vec![String::new(); 5];

но default идиоматичней, как бы.
Аноним 10/01/19 Чтв 22:25:14 1324588492
>>1322818
>Зачем для методов отдельное ключевое слово impl, почему их нельзя сразу в структуре описать? Ну или хотя бы заголовки там, а тело ниже. По-моему это гораздо нагляднее, учитывая, что методы непосредственно к структуре и её данным относятся.

Потому что дженерики. У тебя может быть такая структура:

[code]
struct Cage<T> {
animal : T
}
[/code]

Ты можешь сделать так:

[code]
struct Cat {}
struct Dog {}

imlp Cage<Cat>{
fn meow(){}
}

imlp Cage<Dog>{
fn bark(){}
}
[/code]

Само по себе это не даёт нихера, но ведь есть еще система трайтов:

[code]
trait Mammal {
}
impl Mammal for Cat{}
impl Mammal for Dog{}

impl <T = Mammal> Cage<T> {
fn stink(){}
}
[/code]


Ну и красота. Теперь у тебя есть клетка с котом, которая может мяукать и вонять и клетка с собакой, которая может гавкать и вонять, причем второе ты описал только один раз, но обошлось без наследования, когда хрен проссышь, из чего в итоге состоит класс, и без динамической диспетчеризации. А если динамическая диспетчеризация таки нужна, то не нужно вносить никаких изменений в структуру, работает из коробки.
Аноним 10/01/19 Чтв 22:28:14 1324604493
Аноним 10/01/19 Чтв 23:11:14 1324649494
>>1324588
и тут я неожиданно понял как переводится dinamyc dispatch. Все время думал что это динамическое расщепление. Кстати Generic Programming это изначально русское определение Обобщенное програмирование, перевденное на английский.
Аноним 10/01/19 Чтв 23:25:46 1324656495
>>1324649
>Все время думал что это динамическое расщепление.

Еще встречается "связывание".
Аноним 10/01/19 Чтв 23:50:53 1324672496
>>1324649
>Кстати Generic Programming это изначально русское определение Обобщенное програмирование
Нихуя себе
Аноним 11/01/19 Птн 01:06:59 1324709497
Женщины тяжёлог[...].mp4 (3199Кб, 640x360, 00:03:08)
640x360
>>1324456
>let mut v = vec![String::new(); 5];
Лол, я почему-то думал что этот вариант макроса только с литералами работает.
>но default идиоматичней, как бы.
Поясни о чём ты или ссылку на почитать дай.
Аноним 11/01/19 Птн 01:09:19 1324711498
Аноним 11/01/19 Птн 02:08:37 1324724499
Тестостерон.mp4 (21384Кб, 640x360, 00:04:05)
640x360
>>1324711
И как это используется с вектором?
Аноним 11/01/19 Птн 02:19:31 1324727500
Аноним 11/01/19 Птн 03:24:48 1324736501
>>1324588
Понятно, все через жопу.
Аноним 11/01/19 Птн 08:46:08 1324771502
Capture.PNG (10Кб, 437x253)
437x253
VSСode-растеане, как убрать эту кнопку "Run tests"?
В настройках rust-экстеншена не нашел ничего.
Аноним 11/01/19 Птн 12:08:31 1324867503
Орбита трансфор[...].webm (17670Кб, 560x420, 00:07:14)
560x420
>>1322986
>Как по твоему пиздон это делает без итерации, то?
Насколько я помню в Пиздоне у строк фиксированное кол-во байтов на символ в рамках одной строки, которое подстраивается в зависимости от того какие символы в строке.
Ну, то бишь если в строке только ASCII - символы один байт занимают. Но если ты к строке зааппендишь какой-нибудь смайлик на который нужно 4 байта - вся строка станет 4-х байтной (UCS-4 кодировка) и те ASCII-символы тоже конвертнуться в UCS-4.
Аноним 11/01/19 Птн 12:11:24 1324868504
>>1324867
Но это же ужасно. Ты хочешь сказать что при конкатенации пиздону придется проверять типы и копировать строки при их несовпадении?
Аноним 11/01/19 Птн 12:28:16 1324878505
Я тебя услышал.webm (12676Кб, 568x420, 00:05:40)
568x420
>>1324868
Ну так Питон оптимизирован так чтобы код быстрее писался, а не быстрее работал.
Ну и в реальном коде переходы к более многобитной кодировке наверное редки.
И ничего плохого в этом нет, должны быть языки и для хуякхуякиготово.
Аноним 11/01/19 Птн 13:43:38 1324917506
1436441182564.png (241Кб, 343x352)
343x352
>>1324878
На реддите кто-то с умным видом бенчил питон vs раст.
Аноним 11/01/19 Птн 13:51:08 1324921507
Аноним 11/01/19 Птн 14:11:18 1324940508
>>1324921
Зависит от криворукости бенчера. Вполне может победить питон, если питонокод будет представлять из себя тонкую обёртку над оптимизированной библиотекой на С/С++, а растокод будет написан вручную и при этом вместо использования ссылок (потому что автор не осилил борроу чекер) большая часть объектов будет копироваться при передачу в функцию.

Хотя чаще всего теститруют I/O и тут может победить кто угодно в зависимости от того у какого языка запись на диск быстрее с параметрами по-умолчанию, поскольку про такие страшные вещи как flush или буферизацию большинство бенчеров даже не слышали.
Аноним 11/01/19 Птн 14:14:29 1324943509
Аноны, сам я не местный, вкатываюсь с пистона с промежуточной остановкой на джулии. В пистоне заебали вылеты в рантайме после пары минут работы, а я то ещё невнимательное хуйло. В джулии вроде всё заебок, но эта задумчивость, это пиздец, да и от ошибок рантайма защита немногим лучше.
В связи с чем вкатываюсь в раст и обнаруживаю, что работы с матрицами-массивами никакой и нет. Даже инициализировать массив циферками от 0 до 10 - уже сложность-невозможность м.б. есть макрос для этого?.
Сторонние либы юзать пока не хочу - доверишься им, а они заглохнут, тем более, шта мне многого и не надо. Хочу, для начала, такие вещи:
- глубокие срезы многомерных массивов. Типа xs[::2,::3]+1
- простенькую инициализацию циферками-интервалами

На будущее, когда надоест велосипедить, нашёл такие либы
ndarray cgmath nalgebra simple-matrix - кто что из этого юзал, что скажете?
Аноним 11/01/19 Птн 14:27:05 1324948510
>>1324943
Бери nalgebra. Ее решили юзать как дефакто-старндарт для игростроения, так что не прогадаешь.
Раст все таки не интерактивная хуйня для математики, а типа системный язык, поэтому странно ожидать от него таких специфичных штук в стандартной либе/языке.
Аноним 11/01/19 Птн 15:30:26 1325008511
Аноним 11/01/19 Птн 15:33:27 1325009512
>>1325008
Ой точно. Надо бы перекатить. Дайте пикчей штолле.
Аноним 11/01/19 Птн 15:34:22 1325010513
Где же работу на вашем р*сте искать? Не хочется ведь только криптохуйню пилить.
Аноним 11/01/19 Птн 19:32:29 1325152514
>>1325010
Очевидный HH. Ну или ищи работу на C(++), становись авторитетом и толкай раст.
и чем тебя криптохуйня не устраивает?
Аноним 11/01/19 Птн 21:23:44 1325194515
>>1325152
>Очевидный HH.
Но тут нет баксов и адекватной работы
>Ну или ищи работу на C(++)
Хороший вкат в язык
>и чем тебя криптохуйня не устраивает?
Я не гей.
Аноним 12/01/19 Суб 15:49:35 1325517516
>>1325194
>Я не гей.
А чего ты хочешь? На дворе 2019 год, тут либо месить легаси лопатой и потихоньку толкать что-то новое, либо пилить очередной криптовысер (ибо только тут все свои высеры пишут с нуля).

Ну, а вообще есть вариант повысерать чего нить на гитхабе и попробовать разослать резюме во всякие дропбоксы/мозилы (но с твоим отношением к геям тебя туда не возьмут, лол) и другие компашки с 4-го оппика.
Аноним 12/01/19 Суб 21:44:30 1325726517
>>1325517
>дропбоксы/мозилы
Последний раз когда я смотрел вакансии, удаленки не видел. Может я плохо смотрел?
Аноним 13/01/19 Вск 11:19:10 1325893518
>>1325726
>Последний раз когда я смотрел вакансии
Когда ты вообще вакансии в открытом доступе видел у таких компаний? Я не про висячую хуйню, которую просто всем лень убрать. Там очень высокая конкуренция и либо ты сам всем своё cv будешь пихать в рот, либо на тебя всем будет похуй.
Аноним 13/01/19 Вск 17:04:07 1326017519
>>1325893
>растотред
>вакансии
>cv
Аноним 15/01/19 Втр 13:05:42 1327090520
Настройки X
Ответить в тред X
15000 [S]
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Топ тредов
Избранное