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

16/08/16 - Запущен Двач Трекер
01/08/16 - Вернули возможность создавать юзердоски
09/07/16 - Новое API для капчи - внимание разработчикам приложений



Новые доски: /obr/ - Offline Battle Rap • /hv/ - Халява в интернете • /2d/ - Аниме/Беседка • /wwe/ - WorldWide Wrestling Universe • /ch/ - Чатики и конфочки • Создай свою

[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 518 | 58 | 202
Назад Вниз Каталог Обновить

Rust THREAD 3.0 Аноним 31/01/16 Вск 14:03:36  639238  
14542382161120.jpg (337Кб, 2560x1536)
14542382161191.jpg (52Кб, 530x299)
14542382161202.jpg (1199Кб, 3000x2000)
https://www.rust-lang.org/downloads.html

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

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

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

Прошлый тред тонет тут: https://2ch.hk/pr/res/572681.html
Аноним 31/01/16 Вск 18:05:13  639475
14542527133430.webm webm file (5918Кб, 688x368, 00:02:57)
— Одну минуту, — громко произнес ОП, — прежде чем продемонстрировать вам способ распития портвешка, о котором все вы, как будто, позабыли, я должен опорожнить свой кишечник.

Вот каким образом развратник приступил к омерзительной операции. Его окружили четверо ржавопетухов: один держал наготове большой ночной горшок, второй взял зажженную свечу и подставил ее поближе к анусу, чтобы было лучше видно происходящее, третий сосал ему член, четвертый, перекинув через руку белоснежное полотенце, целовал главпетуха в губы. Тот, опершись еще на двоих педерастов, поднатужился, и как только появилось невероятное количество дерьма, которое обыкновенно и регулярно выдавал хозяин параши, учитывая страшное количество поглощаемого им борща, тот петух, что держал горшок, принялся восхвалять экскременты. «Какое прекрасное ржаводерьмо! — восклицал он. — Ах, господин мой, какое превосходное говно! Как красиво вы испражняетесь». Когда дифирамбы закончились, педераст, вооруженный салфеткой, языком очистил преддверие ануса, а горшечник подставил содержимое горшка под нос главпетуху и опять громогласно восхвалял его. После этого мощная струя мочи ударила в рот сосателю, который тут же проглотил всю жидкость, полотенце завершило то, что не мог сделать язык, и четверо педерастов, оставшись без дела, долго сосали поочередно язык, фаллос и задний проход распутника.
Аноним 01/02/16 Пнд 20:54:05  640533
>>639475
Какая мерзость эта вебмка
Аноним 01/02/16 Пнд 21:07:02  640546
>>639475
Что за фильм?
Аноним 01/02/16 Пнд 21:26:13  640572
>>640546
Скорее всего САЛО но хуй знает. Хуита для эстетствующих педрил.
Аноним 03/02/16 Срд 13:35:21  641808
Смотрите, какую штуку на расте запилили: https://pijul.org/
Все преимущества darcs без его чудовищных тормозов.
Аноним 05/02/16 Птн 10:41:37  643510
Очень плохая шапка, никуда не годится.
Объявляю тред досрочно утонувшим.
Аноним 07/02/16 Вск 20:04:28  646447
такая няша
https://www.youtube.com/watch?v=dIageYT0Vgg
Аноним 07/02/16 Вск 21:23:55  646602
>>641808
Зачем ЭТО вообще существует?
Аноним 07/02/16 Вск 21:31:24  646616
>>646447
Не милфа и не молодая, не смазливая и не страшная. Хз чот. Леночка ламповее, кек
Аноним 13/02/16 Суб 02:01:28  652037
>>646602
> There are basically two approaches to version control: either snapshot-based (git, mercurial, svn or their ancestors), or patch-based (darcs). Historically, patch-based systems have been very simple to learn and use, but slow, whereas snapshot-based systems can be extremely fast, but are usually hard to use for more than the simple operations. As an example, cherry-picking is not intuitive in git/mercurial, and merging is sometimes plain wrong.
Аноним 13/02/16 Суб 14:39:00  652288
>>639238 (OP)
Что там с серво? Далеко ещё до юзабельного состояния?
Аноним 13/02/16 Суб 14:41:47  652293
>>652288
Очень далеко, ничего интересней простеньких демок не завезли.
Аноним 13/02/16 Суб 14:46:27  652303
>>652293
У них какие-то непредвиденные трудности? ЕМНИП у них были наполеоновские планы на первую половину этого года.
Аноним 13/02/16 Суб 15:17:36  652361
>>652303
У их трудности название "нельзя просто взять и написать браузерный движок с принципиально новой архитектуры с нуля".
Аноним 13/02/16 Суб 15:18:36  652364
>>652303
А ещё "нельзя просто взять и разработать язык и бровсер одновременно".
Аноним 13/02/16 Суб 15:31:24  652392
>>652364
>>652361
Ну, так это вроде не непредвиденные.
Аноним 13/02/16 Суб 15:51:15  652435
>>652392
Проблемы у того, кто эти даты назначал.
Аноним 13/02/16 Суб 19:35:04  652727
>>652288
Что-то работает, что-то ещё нет. Макабу он до сих пор не осилил.
Аноним 14/02/16 Вск 14:33:05  653587
Тред жив/мёртв?
Допустим у нас есть некий тип struct SomeType. Можем ли мы используя return вернуть указатель на свежесозданный внутри функции экземпляр SomeType таким образом чтобы компилятор не наезжал по поводу того, что указатель сдох в том месте, где кончилась функция из которой мы делаем return?

Например есть функция, которая принимает путь(path) внутри себя вычисляет slice, который содержит скажем кусок пути. При попытке вернуть этот результат компилятор говорит мне что я дурак и дегенерат, бобик мёртв, вернуть его нельзя. Окай обвинения компилятора скорее всего уместны, но куда мне тогда поместить результат, чтобы он не помер при выходе из функции?
Аноним 15/02/16 Пнд 00:47:57  654367
>>653587
Что мешает просто вернуть значение, а не указатель?
Аноним 15/02/16 Пнд 00:57:22  654376
>>654367
Может просто структура жырная?
Аноним 15/02/16 Пнд 01:14:31  654402
>>654376
Если структура слишком жирная, чтобы класть её на стек (что странно), оберни её в Box<T>.
В любом случае, что-то должно сохранять владение.
Аноним 15/02/16 Пнд 01:25:29  654415
>>653587
unsafe
n
s
a
f
e
Аноним 15/02/16 Пнд 22:22:55  655459
>>653587
Вот как ты делают только мудаки. Нормальные поцы дают код который надо исправить. Тупо потому что ты сам не знаешь что хочешь, а так тебе хоть укажут в чем конкретно ты не прав.
Аноним 17/02/16 Срд 13:28:02  657442
14557048828820.jpg (26Кб, 600x600)
Аноним 17/02/16 Срд 14:15:51  657490
https://github.com/ebkalderon/amethyst
Hello world c 324 строками кода. 2 месяца разработки. 150 звезд. Продал товар даже не начиная создавать.
Аноним 17/02/16 Срд 16:05:40  657578
>>657490
Там дохуя кода
Аноним 17/02/16 Срд 19:22:19  657795
14557261392960.jpg (8Кб, 337x92)
>>657578
Там учебник больше чем весь код с комментариями
Аноним 23/02/16 Втр 15:28:17  663859
Servo Webrender
http://www.youtube.com/watch?v=erfnCaeLxSI
https://air.mozilla.org/bay-area-rust-meetup-february-2016/
Аноним 25/02/16 Чтв 21:03:45  666748
Растаны,
имеется структура(Foo), в ней хочу замутить HashMap типа ключ-строка, значение-лямбда вида Fn(Hui) -> Govno.
Теперь:
1) Fn насколько я понял - это trait. А значит сущность безразмерная, и при попытке передать лямбду по значению, я сосну.
Получается тип значения у HashMap будет Box<Fn(Hui) -> Govno>?
2) Какой строковый тип подойдет для роли ключа? Если использовать &str, то ключ будет существовать, пока я нахожусь в области видимости этого &str. Верно ли, что в таком случае, если в дальнейшем я буду ебашить Foo-фабрику, а в ней задавать начальные значения HashMap'у, то life-checker меня обоссыт? Т.е. опять нужно выделять память в куче(использовать String)?

C#-вебмакака
Аноним 25/02/16 Чтв 21:48:05  666835
>>666748
https://play.rust-lang.org/?gist=d4bcb2e6902dea5a63df&version=stable

1) Получается что так. Причем сможешь хранить как лямбды, так и обычные функции. См. ссылку.
2) Не заебывайся и юзай String. Или &'static str если все ключи известны во время компиляции. Ты же не будешь хранить все ключи в одной длинной строке на стеке, так что в любом случае оно будет на куче. К чему эти преждевременные оптимизации. Будто в том же шарпе хэш мап не полностью в куче. Тем более если заполнять хэшмап последовательно большим количеством записей, то все равно все строки в куче будут последовательно лежать с минимальной фрагментацией.
Аноним 25/02/16 Чтв 22:18:43  666869
>>666835
Охуенно. Спасибо за разъяснение.
Аноним 26/02/16 Птн 01:43:09  667230
Rust такой охуенный, что я не могу на нем писать. Только заглядываю в документацию, как обканчиваю монитор, иду курить, а затем без сил падаю спать.
Аноним 26/02/16 Птн 19:05:39  667966
Как работать с матрицами в этом вашем расте? Возможно вопрос звучит глупо, но я правда не понимаю.
Более конкретно, как по-простому задать часть одной матрицы с помощью другой, что-то вроде A[a:b, c:d] = B?
Мне для этого нужно самому сделать обертку над вектором и при вставке этой матрицы проходить по строкам (или столбцам в зависимости от способа хранения), вычисляя индексы? Или такое уже кто-то запилил?
Аноним 26/02/16 Птн 19:19:45  667982
>>667966
https://crates.io/search?q=matrix
Если нет того, что тебя удовлетворит - то да, пилить самому.
Аноним 26/02/16 Птн 21:32:05  668111
Посоны.
Посоветуйте годных ящиков.
1) Числа. BigInteger, BigRational, decimal
2) Вывод графиков (2d, линии уровня, поля). Есть обертки matplotlib или gnuplot годные?
3) GUI (нужно чтонибудь типа picturebox WinForm чтобы самому рисовать)

А, посоветуйте еще годных плагинов для Sublime Text 3.
Аноним 27/02/16 Суб 00:01:27  668220
>>668111
В гугле забанили что ли?
1) https://github.com/rust-num/num
2) https://github.com/SiegeLord/RustGnuplot
3) https://github.com/PistonDevelopers/conrod
Аноним 27/02/16 Суб 00:28:50  668239
>>668220
Да я дурак просто, навигацию по cargo.io осилить немогу.
Аноним 28/02/16 Вск 14:39:02  669737
>>654367
Так и сделал. Сперва не мог её вернуть так как получал указатель, не догадался его разименовать в переменную-результат.
>>655459
Понимаю неудобство, но с телефона не мог достать код.

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

Также есть сложности с компиляцией на windows некоторых библиотек, которые без проблем собираются под бубунтой.
Аноним 28/02/16 Вск 16:22:04  669855
Потратил я час времени, значится, чтобы собрать ебучий серво. И у меня вопрос - что с восприятием реальности у челика, который ставил дату его релиза? Сука, он даже двощик не осилил, причём лагает как кусок дерьма даже на своих примерчиках. Подрубать гпу как вот этот челик >>663859 для рендеринга страниц - это, блядь, гениально, особенно на мобильных платформах.

Учитывая что проекту уже 3-й год - ещё ближайшие 3 года релиз чего-то более менее вменяемого сомнителен.
Аноним 28/02/16 Вск 16:46:56  669903
>>669855
И да, Карл - 300мб на 1 вкладочку с двощиком. И это билд в релиз моде, без поеботы с дебагом.
Аноним 28/02/16 Вск 16:52:45  669919
>>669855>>669903
Весь смак в том, что никто толком и не знает, что они подразумевали под "альфа-версией" в прошлом году. У Мозиллы даже в планах не было использовать этот проект по назначению. Это исследовательский проект как бы. Всё что у них запланировано на текущий момент - добавить одну микропиську в FF. Сейчас они вообще толком ничего не говорят, хоть и расширяют количество сотрудников.
Also, вот сами эти их тестики из презентации:
https://github.com/pcwalton/webrender-demos/
На лисе реально 1-2 кадра в секунду, но под хромом хоть и не 60fps, но прилично идет, так что врал Патрик.
> причём лагает как кусок дерьма даже на своих примерчиках
Ну так оптимизацией они и не занимались. Их задача на текущий момент чтобы эта хуйня хоть как-то работала. В команде где-то 10 человек. Gecko разрабатывают 50 человек штатных сотрудников. Сколько разрабатывает Webkit/Blink?
> он даже двощик не осилил
Можешь сделать скриншот, кстати?
Аноним 28/02/16 Вск 17:11:29  669948
14566686891970.png (357Кб, 1920x1080)
14566686892051.png (450Кб, 1920x1080)
>>669919
>Сколько разрабатывает Webkit/Blink?
Аргумент уровня главы сбербанка, про то что гугл вносит nnnnnn изм. в свою ситему в год, а они - n. Дохуя разработчиков - не всегда ускорение разработки, из-за банальной толкучки.
>>669919
>Можешь сделать скриншот, кстати?
Пикрил.
Аноним 28/02/16 Вск 17:26:37  669956
>>669948
Ну да, хуйня полная.
Аноним 28/02/16 Вск 17:45:37  669970
>>669855
Зато какои пиар
Аноним 29/02/16 Пнд 01:55:15  670755
>>669855
>Подрубать гпу на мобильных платформах
Лол, как раз там это лучшее решение. У всех современных смартов и планшетов есть поддержка opengl es 2, зачем грузить cpu если можно загрузить gpu, который справится с рендером более энергоэффективно.
Аноним 29/02/16 Пнд 06:50:33  670825
>>669855
> он даже двощик не осилил
Именно двощик он и не осилил. Макака немного намудрила с веб-магией.

>>669948
> Аргумент уровня главы сбербанка, про то что гугл вносит nnnnnn изм. в свою ситему в год, а они - n. Дохуя разработчиков - не всегда ускорение разработки, из-за банальной толкучки.
Десять человек на такой проект это действительно немного. Тем более, что им скорее интереснее сейчас прикручивать browser.html/mozbrowser api, чем фиксить рандомные баги с вёрсткой.
Аноним 29/02/16 Пнд 15:36:17  671101
>>670825
>Именно двощик он и не осилил. Макака немного намудрила с веб-магией.
Суть в том, что двощик ещё выглядит в нём относительно нормально, как и фочан распидорашен совсем немножко. Посмотри на более менее круто свёрстанные сайты, например как theverge пидорасит. Тот же медиум вообще не открывается, на вроде бы простом реддите вообще падает. Хабр не скроллится и падает через минуту, сомневаюсь что везде тут прям магия и хаки кругом используются.
>Десять человек на такой проект это действительно немного. Тем более, что им скорее интереснее сейчас прикручивать browser.html/mozbrowser api, чем фиксить рандомные баги с вёрсткой.
Ну, 10 человек - это видимо толлько команда в штате, на том же гитхабе числится 400+ контрибьютеров.
Аноним 29/02/16 Пнд 16:35:02  671185
>>671101
> на вроде бы простом реддите вообще падает
У меня вроде норм работает. Медиум начинает грузиться, но затем падает.
В случае двачика есть регрессия: раньше он рендерился намного лучше, лишь только постинг не работал.
> Ну, 10 человек - это видимо толлько команда в штате, на том же гитхабе числится 400+ контрибьютеров.
Большинство из них сделало примерно один маленький вклад за всё время.
Аноним 29/02/16 Пнд 16:38:31  671188
>>671185
>раньше он рендерился намного лучше, лишь только постинг не работал.
У меня в серво он и сейчас не работает вообще ни в какой форме.
Аноним 29/02/16 Пнд 21:21:03  671576
На каком железе оно работает и как добавляют поддержку? На ARM работает?
Аноним 01/03/16 Втр 07:50:33  672000
>>671576
> На ARM работает?
Да, работает.
Аноним 01/03/16 Втр 10:06:28  672057
>>671576
На любом, по идее. Там же LLVM бекенд.
Аноним 03/03/16 Чтв 21:24:28  674770
Чейнжлог к 1.7 опубликовали, посаны: https://github.com/rust-lang/rust/blob/stable/RELEASES.md#version-170-2016-03-03
Если я правильно понял, можно в хэшмэп свой хэшер использовать, глядишь перестанет так на интах тормозить.
Аноним 03/03/16 Чтв 22:20:38  674875
А вот и анонсмент: http://blog.rust-lang.org/2016/03/02/Rust-1.7.html
Аноним 03/03/16 Чтв 23:01:23  674951
>>674875
Что-то жиденько как-то
Аноним 03/03/16 Чтв 23:06:39  674959
>>674951
Зато по расписанию.
Аноним 03/03/16 Чтв 23:09:18  674963
>>674959
Ну надож видимость для спонсоров создавать.
Аноним 04/03/16 Птн 18:37:11  675973
>>674875
Уже обсуждаем:)

Точки над бенчмарками уже расставили...
Аноним 04/03/16 Птн 18:38:18  675976
>>675973
https://www.linux.org.ru/news/mozilla/12406508/page1#comments
Аноним 04/03/16 Птн 18:58:36  676017
>>675973
>Точки над бенчмарками уже расставили...
Ну, если ты это так называешь, то да. Хотя я бы сказал что один колобок обосрался выставив напоказ свою глупость.
Аноним 05/03/16 Суб 00:54:58  676698
Rust заменит C++?
Аноним 05/03/16 Суб 01:05:26  676711
>>676698
Его уже ничто не заменит.
Аноним 05/03/16 Суб 06:22:52  676897
>>676698
Тебе в /sn/ или /mg/, тут гадалок нет.
Прямо сейчас есть множество областей, где замены нет даже близко. Например, gui.
Аноним 05/03/16 Суб 10:24:33  676938
>>676897
Так там же Tcl/Tk, не?
Аноним 05/03/16 Суб 10:28:37  676943
>>676698
JavaScript заменит всё.
Аноним 05/03/16 Суб 18:26:36  677538
Как отметили очередной релиз котаны?
Аноним 05/03/16 Суб 21:29:41  677685
>>677538
А что, предполагается по случаю очередного релиза употреблять алкоголь/вещества/баб? Если да, то люди точно потянутся к расту.
Аноним 09/03/16 Срд 11:00:00  681241
https://www.youtube.com/watch?v=u0hYIRQRiws
Ну хуй знает. Они что, каким-то серво из параллельной вселенной пользуются?
Аноним 09/03/16 Срд 11:37:20  681275
>>677538
Хули там отмечать, если релиз каждые 6 недель, вне зависимости от изменений.

Кстати, куда делся GC из дорелизных версий?
Аноним 09/03/16 Срд 12:03:45  681285
>>681241
Не обязательно, просто в нём рендеринг на GPU доступен.
Аноним 09/03/16 Срд 13:31:53  681364
>>681241
В линуксе вебрендер работает не так хорошо, как в макосе, но он все ещё намного быстрее Firefox'а.
Аноним 09/03/16 Срд 13:41:17  681371
14575200771630.png (283Кб, 1277x982)
Через вебрендер, кстати, /pr/ норм рендерится.
Аноним 09/03/16 Срд 14:29:52  681415
>Initial implementation of the `?` operator just landed
>The ? postfix operator is sugar equivalent to the try! macro, but is more amenable to chaining:
>File::open("foo")?.metadata()?.is_dir()
Аноним 09/03/16 Срд 15:38:59  681510
>>681371
А как его потыкать-то? Скомпилировал, куда засунуть либу, чо настроить?
Аноним 09/03/16 Срд 15:39:32  681514
14575271723740.png (38Кб, 500x550)
>>681275
Убрали к хуям подальше, чтобы ещё и эту плашечку хейтеры не повесили. Вообще, вроде бы с нуля пишут.
Аноним 09/03/16 Срд 16:00:20  681541
14575284200910.png (126Кб, 974x622)
14575284200941.png (150Кб, 974x622)
14575284200972.png (107Кб, 974x622)
Windows 80.6%
Mac OS X 2.8%
Linux 16.6%
Nope?
Аноним 09/03/16 Срд 18:21:26  681692
>>681510
./mach build --release
./mach run --release -- https://2ch.hk/pr/ -w
Как-то так. Можно ещё browser.html поверх него навернуть.
Аноним 10/03/16 Чтв 10:44:10  682438
>>681541
> Windows 80.6%
> Rust's support for the GNU ABI is more mature, and is recommended for typical uses.
Ребята там еще не убились о подводные камни?
Аноним 12/03/16 Суб 17:05:28  685093
А этот Servo уже собирали под ведроид?
Аноним 12/03/16 Суб 17:21:20  685105
>>685093
На гитхабе заголовок в описании:
>Building for Android target
пиздуй собирай и тестируй, коли интересно.
Аноним 13/03/16 Вск 18:46:04  686456
Привет, аноним.
Есть `x: Vec<f32>` со значениями от -10 до 10 с шагом 0.5.
Есть функция `f(x:f32) -> f32`
Нужно сохранить `x` и соответствующий ему `f(x)`.
Попытался юзнуть `HashMap`, но rust говорит что у `f32` не реализован трейт `Ord` и `Eq`. Может есть какие-нибудь еще варианты структур?
Нужно чтобы структура была отсортирована по значениям `x` и значения `x` были уникальными.
Аноним 13/03/16 Вск 20:42:46  686717
>>686456
Пройдись по всем элементам вектора, преврати каждый элемент в пару значения и функции от этого значения:
let v: Vec<(f32, f32)> = v0.iter().map(|x| (x, f(x)) );
У тебя и так в векторе значения уникальны и отсортированы, HashMap тебе (пока) не нужен. Если все-таки понадобится, используй метод collect.
Возможно, ты не понял что в векторе можно хранить пары значений?
Аноним 13/03/16 Вск 21:07:07  686749
14578924277780.png (255Кб, 577x825)
>>686717
Я немного неправильно выразился.
Есть функция f(x). Она очень затратна по вычислениям.
Я хотел бы реализовать обертку вокруг этой функции с кэшем. Есть заранее заданный интервал значений x, где я могу в порядке инициализации посчитать этот f(x). Если юзер запрашивает уже посчитанное значение, то я возвращаю его из кэша, а если новое значение, то я считаю значение функции и помещаю в кэш (ну и конечно возвращаю). Требование сортированности я чет с неба взял, а уникальность мне очень даже нужна.
Гугл подсказывает мне, что проблема в NaN, и похоже мне придется писать обертку вокруг f32 и реализовывать для нее нужные трейты.
Аноним 14/03/16 Пнд 03:00:13  687135
>>686749
Бля, вот очередной мудак, который не показывает что у него там за секретный правительственный код который никто не может видеть, а все должны работать экстрасенсами.
Если юзер может запрашивать только определенные значения с заданным шагом - то просто принимай от него целочисленные значения или преобразуй принимаемые значения в дроби типа 1/2, 2/2, 3/2 где делитель константа. И по делимому пили хэшмап.
Если принимаемые значения произвольные, то хэшмап тут никаким вообще боков не пойдет. Тупо по тому что операция равенства для значений с плавающей точкой вообще точно не определена. Просто почитай как float работает в современных процессорах.
Можно конечно сделать обертку с имплементацией трейта и таки сделать хэшмап, но я не понимаю что это тебе даст.
В случае с произвольными значениями надо делать сортированный вектор из пар значений (x, f(x)), с бинарным поиском по первому значению с определенной погрешностью (например 0,005).
Но тут опять же не понятно, значения f(x) прямо пропорционально зависят от x? Если да, то например если посчитан результат для 0,4 и 0,6 то при запросе 0,5 можно взять два готовых результата и отинтерполировать.
Аноним 14/03/16 Пнд 11:49:31  687321
>>687135
Потише, братишка, в этой ситуации.
Я просто себе задание выдумал, чтобы выполняя его я познал вкус программирования на расте. На самом деле я из DARPA
Мне просто нужен кэш, куда я буду складывать вычисленные значения. А теперь следи за руками -
HashMap get O(1)~
> В случае с произвольными значениями надо делать сортированный вектор из пар значений (x, f(x)), с бинарным поиском по первому значению с определенной погрешностью
Binary search O(log n)
> но я не понимаю что это тебе даст
Скорость даст, которую я хочу получить, используя HashMap.
> Тупо по тому что операция равенства для значений с плавающей точкой вообще точно не определена.
А пацаны то и незнают про (a-b).abs() < f32::EPSILON
Аноним 14/03/16 Пнд 15:00:19  687507
Чо такое 'a 'b 'huebe?
Аноним 14/03/16 Пнд 18:50:33  687829
14579706331240.jpg (392Кб, 1400x1980)
>>687507
Время жизни. В расте у всех данных есть один конкретный владелец.
В общих случаях компилятор сам определяет время жизни. Но иногда он у тебя хочет уточнить что ты хочешь от него. Например, ты заимствуешь какие-то данные из какой-то структуры. И ему нужно удостоверится, что заимствование (&) не переживет владеющей ею структуры.
Есть время жизни 'static. Данные с таким временем жизни данные существуют всё время работы программы. Остальные названия выбираются как тебе угодно.
Аноним 14/03/16 Пнд 18:54:48  687841
14579708883920.jpg (856Кб, 2560x1600)
http://www.wired.com/2016/03/epic-story-dropboxs-exodus-amazon-cloud-empire/
Тут заявляют, что Dropbox с Go на Rust перекатился.
Аноним 14/03/16 Пнд 20:02:09  687952
>>687507
https://www.linux.org.ru/forum/development/12387893
Аноним 14/03/16 Пнд 20:24:09  687982
Вот вам еще проект принес:
https://github.com/twitter/rpc-perf
Аноним 14/03/16 Пнд 21:18:59  688026
>>687982
Ну у них все подряд на скале. Хипсторы такие хипсторы.
Аноним 14/03/16 Пнд 21:23:16  688038
>>688026
Как что-то плохое.
Аноним 14/03/16 Пнд 21:25:02  688040
>>688038
Чертова сажа
Аноним 14/03/16 Пнд 21:38:10  688061
14579806905770.jpg (2052Кб, 2209x1000)
>>688038
Да ничего плохого.
> Servo is going to have an alpha release in June: Servo + browser.html. Help them identify issues!
https://groups.google.com/forum/#!topic/mozilla.dev.servo/dcrNW6389g4
Аноним 16/03/16 Срд 13:39:29  689675
Когда раст будет готов к продакшену, котаны? Просматривал crates.io, там почти все либы с нулевой мажорной версией.
И поясните за версионность. Мне самому нужно менять version в toml файле, или какой-нибудь cargo release сам меняет его?
Аноним 16/03/16 Срд 14:11:46  689700
>>689675
Нет продакшен грейд http библиотеки на mio, нет нормального gui, из встраиваемых языков только lua. А для числодробилок и игорей вполне годен. Язык сам по себе стабильный, вроде никуда меняться не собирается настолько чтобы все переписывать пришлось. Крейты некоторые бывает меняются вплоть до переписывания половины апи, да, но об этом обычно прямо указано на страницы репы, что они в стадии разработки.
Аноним 16/03/16 Срд 16:45:31  689815
>>689675
1-3 года и будет готов для продакшена.
На текущий момент версию менять самому.
Аноним 16/03/16 Срд 16:46:55  689816
>>689675
Про версионирование - никто, кроме тебя, не знает, какой выставить следующий номер версии, Cargo уж точно.
В качестве схемы версионирования используй http://semver.org, как все нормальные люди (и почти все крейты на crates.io)
Аноним 16/03/16 Срд 19:00:38  689936
Гайз, паттернов проектирования завезите под раст.
Аноним 16/03/16 Срд 19:09:39  689956
Каталог библиотек: libs.rs
В отличии от crates.io здесь либы сгруппированы по категориям.
Аноним 16/03/16 Срд 20:35:05  690030
>cargo new hello_world --bin
>cd hello_world
>cargo build --release
>смотришь размер бинарника hello_world.exe
>более двух мегов
Хули тут так много?

Я думал этот язык специально сделали на замену дидовских крестов, а оказалось совсем не так.
Аноним 16/03/16 Срд 20:51:44  690058
>>690030
Попробуй #![no_std]
https://doc.rust-lang.org/book/no-stdlib.html
Аноним 16/03/16 Срд 21:59:44  690148
>>689700
А mio уже годен? Сравняется по производительности с nginx?
Аноним 16/03/16 Срд 22:03:36  690155
>>690148
Это библиотека ввода-вывода, ущербное.
Аноним 16/03/16 Срд 22:15:19  690165
>>690155
Я понял.
Аноним 16/03/16 Срд 23:51:13  690295
>>690030
Всё повязано на libc со статической линковый. На линуксе пилят какие-то васяны отдельную привязку к musl, там в несколько кб можно обойтись. Но там вообще отдельная библиотека.
Аноним 17/03/16 Чтв 11:08:15  690557
>>690148
Я его больше года назад последний раз тыкал, так то работало все, это просто обертка над epoll.
Но api было по стандартам раста довольно ущербное. Сейчас есть поверх него всякие обертки, посмотри, повыбирай. На crates.io просто в поиск mio вбей, там всякие mioco, rotor и т.д.
Аноним 17/03/16 Чтв 11:09:37  690559
>>690030
Попробуй C скомпиль статически с libc.
Аноним 17/03/16 Чтв 11:24:02  690564
>>690559
>C скомпиль статически с libc
Это опасно же. Подключишь длл, а там, допустим, маллок по другому реализован.
Аноним 17/03/16 Чтв 11:45:02  690570
14582043024800.png (5Кб, 780x275)
>>690564
Я просто оставлю я здесь.
Аноним 17/03/16 Чтв 13:39:24  690633
>>690570
А можно скомпилить статически только то что используется в проге, без всего лишнего?
Аноним 17/03/16 Чтв 15:09:44  690723
>>690633
С glibc, вероятно, нельзя.
Аноним 17/03/16 Чтв 19:10:19  690904
>>690633
Тебе это зачем? Ты прогу дискетами распространять собрался? Для микроконтроллеров все равно std не подходит, для них и исполняемый файл получается копеечный.
Аноним 18/03/16 Птн 15:14:23  691688
А в будущем планируется автовывод типа, а то как-то печально без этого. Или четкие чуваки сразу правильно пишут все эти обвесы из Box<<T>>>>?
Аноним 18/03/16 Птн 15:24:37  691695
>>691688
Ну а сам-то ты как себе это представляешь? Напиши хоть псевдокодом что именно ты хочешь.

Если я тебя правильно понял – чтобы всё боксилось и тд автоматически – нет, слишком крутая абстракция для низкоуровенного языка, лишняя магия. Разве что как плагин для компилятора что вообще, как мне кажется, очень хуёвая фича – если язык выстрелит все начнут писать на своих диалектах раста, как в мире хачкеля.
Аноним 18/03/16 Птн 15:51:07  691723
>>691695
Ну я просто в контрраст статьях натыкался на такие истории: "Писал писал, потом не скомпилировалось потому что нужно боксануть, а потом туда, а потом еще это, в итоге нужно в десяти местах поменять тип". А так везде бы писался var и было бы нормально. Почему сильно крутая абстракция, в це++ есть аuто.
Аноним 18/03/16 Птн 15:56:36  691728
>>691723
Блядь, ты дурак, мозга мне выебал. В расте есть вывод типов все переменные, внезапон, имеют синтаксис вида let hui = Box(Hui::new());, только он не спасает от такой хуйни никак.
Аноним 18/03/16 Птн 15:57:52  691730
>>691728
Знаичт я читал очень старые посты. А чего мозг сломался то? ты же словил эксепшн?
Аноним 18/03/16 Птн 16:04:25  691737
>>691730
Дело не в постах, а в том что люди которые их писали не осилили шаблоны. Без них не в плюсах, ни в расте нормально редактировать обобщённые функции/прототипировать что-то то ещё удовольствие.
Эксепшенов в руст низавизли((
Аноним 18/03/16 Птн 16:33:07  691755
>>691737
>Эксепшенов в руст низавизли((
Ну как в go, только без мерзких кортежей, а со вполне ясным Result
Аноним 18/03/16 Птн 19:15:20  691835
>>691737
> Эксепшенов в руст низавизли((
Как будто что-то плохое. Пердолится с отловом эксепшенов в мультипоточном коде не очень приятное занятие.
Пагни вообще охуенно сделали. Если дерьмо случилось, но не критично и вполне планово - return Err("Не получилось"). А если критичная ошибка, то panic!("НАЧАЛЬНИК ТУТ ПОТОК РАСПИДОРАСИЛО")
Аноним 18/03/16 Птн 19:18:07  691837
>>691835
> ПердолитЬся (что делать?)
Самопочин
Аноним 24/03/16 Чтв 19:51:08  697271
Тут растономикон перевели, вдруг кому пригодиться.
https://github.com/ruRust/rustonomicon
Аноним 24/03/16 Чтв 20:51:30  697353
>I lead the TypeScript team from its initial release to its use in major frameworks. I also helped design parts of Clang/LLVM, Chapel, and ChaiScript.
Jonathan Turner joins Mozilla's Rust team
https://internals.rust-lang.org/t/announcement-jonathan-turner-joins-mozillas-rust-team/3278
Аноним 25/03/16 Птн 00:33:29  697484
14588552100530.jpg (5Кб, 260x193)
>>697271
Насколько я понял, проблемы с памятью у Rust из-за того, что mem::forget не помечен как unsafe? Ну допустим похуй на unsafe. Почему деструктор то не вызвать?
Чтобы была возможность стрелять в ногу, очевидно же!
Аноним 25/03/16 Птн 02:16:41  697524
>>697484
> Почему деструктор то не вызвать?
Потому, что он нужен именно для того, чтобы не вызывать деструктор.
Аноним 25/03/16 Птн 06:32:30  697564
>>697484
Он не помечен, потому что, а хуй его знает почему. На самом дело много дискуссий на эту тему, но в итоге пришло к тому что вызов деструктора в расте не гарантирован, а утечки памяти не нарушают memory safety. И что можно воспроизвести поведение mem:forget и без него, не использую при этом unsafe.
Аноним 25/03/16 Птн 06:36:07  697565
Вот, даже нашел https://github.com/rust-lang/rust/issues/24456
Как раз из за этого говна scoped треды из std вырезали.
Аноним 25/03/16 Птн 06:42:40  697566
Ну, собственно, это цикличная ссылка в Rс.
Создаешь Rc, счетчик внутри равен 1. Делаешь клон Rc, счетчик становится равным 2. Кладешь клон Rc в себя же.
При выходе из скопа в первоначальном Rc уменьшается счетчик и становится равным 1. Проверяется, что счетчик не 0 и деструктор не вызывается. В итоге содержимое навсегда зависает в памяти.
Аноним 25/03/16 Птн 10:14:57  697615
>>697565
НЕ ОСИЛИЛ
@
ВЫПИЛИВАЙ ФИЧУ

Аноним 25/03/16 Птн 10:58:10  697629
>>697566
Мне кажется это уже особенность самих указателей с счетчиком. В C++ вместе с shared_ptr завезли weak_ptr, чтобы циклы разбивать.
Хватит терпеть циклы! Даешь УМНЫЕ умные указатели!
Аноним 25/03/16 Птн 11:13:59  697636
>>697629
>>697566
Ну так тут тоже weak и strong есть. Или они чем-то различаются от c++'ных?
Аноним 25/03/16 Птн 11:28:48  697641
>>697636
Weak есть в Rust. У них поведение с плючами идентичное. Rc +1 при клонировании делает, а Weak не учитывается в счетчике.

Я к тому, что
> 2016
> AI подебил в го
> утечка памяти из-за циклических ссылок
Ничего круче счетчиков пока не придумали?
Аноним 25/03/16 Птн 13:05:31  697704
>>697615
>>697629
Ну так все как в С++, проблема в том что утечка памяти не так страшно, но если forget'нуть scoped тред, то это приведет к дедлоку в главном треде. Поэтому выпилили не Rc, а scoped треды, а forget сделали safe.
Но никто не мешает эти же scoped треды с crates.io забрать и пользоваться аккуратно.
Аноним 25/03/16 Птн 19:29:01  698155
14589233416180.jpg (96Кб, 1280x875)
>>697704
Имхо, помечать forget как safe это идиотское решение. Как минимум из-за RAII. Память, файлы, сокеты, все завязано на этот механизм. И тут на тебе возможность наебать систему.
Аноним 25/03/16 Птн 19:38:55  698175
>>698165
Ну сборщик мусора это уже что-то тяжелое. Я имел ввиду додумались ли бородатые дядки до какого нибудь другого умного указателя.
Да и сборщик мусора тоже подвержен циклическим ссылкам. Питон до сих пор вроде (http://stackoverflow.com/questions/8025888/does-python-gc-deal-with-reference-cycles-like-this) не может разрубить цикл.
Аноним 25/03/16 Птн 20:10:09  698185
>>698176
Он будет медленнее когда у тебя много долгоживущих объектов. Когда куча маложивущих - подсчёт ссылок разорвёт память как полотно и целостность памяти пойдёт по пизде, тут gc выиграет и неоднократно.
Аноним 25/03/16 Птн 20:18:24  698188
>>698185
>Когда куча маложивущих
Происходит куча stop-the-world'ов, не? По крайней мере в джаве используют приватную ансейф фичу что бы избавлятся от кучи побочных объектов.
Аноним 25/03/16 Птн 20:20:36  698190
>>698185
> подсчёт ссылок разорвёт память как полотно и целостность памяти пойдёт по пизде
Поясни за фрагментацию. Я сам использовал только языки со сборкой мусора, и не очень понимаю в чем фишка.
Вот например память, со структурой A. (sizeof(A) == 3)
[A|A|A| | | | |]
Добавляем 2 структуры B (sizeof(B) == 2)
[A|A|A|B|B|B|B| ]
Удаляем первую структуру B
[A|A|A| | |B|B| ]
Дефрагментация ?
Вроде и память есть, но структуру А уже не добавить.
Как такую хуйню обрабатывать? Когда заморачиваться о такой хуйне?
Аноним 25/03/16 Птн 21:48:35  698235
>>698188
А теперь представь что из одного источника stop the world у тебя их столько, сколько элементов в массиве.
Аноним 26/03/16 Суб 01:28:31  698400
>>698235
Тогда почему языки без сборки такие быстрее языков со сборкой? Тем более наверняка удаление того же массива не по одному элементу, а раз по блоку памяти.
Аноним 26/03/16 Суб 09:30:24  698490
>>698400
Потому что перечитай ветку сообщений, вася. Есть конкретная ситуация где гц быстрее подсчёта ссылок – и всё, я не писал что это манна небесная.
Аноним 26/03/16 Суб 11:05:13  698530
14589795132880.jpg (9Кб, 184x184)
> https://doc.rust-lang.org/std/rc/
> Destruction is deterministic, and will occur as soon as the last owner is gone.
>>697564
> На самом дело много дискуссий на эту тему, но в итоге пришло к тому что вызов деструктора в расте не гарантирован
>> вызов деструктора в расте не гарантирован
Разрабы раста ловко себя обоссали.
Аноним 26/03/16 Суб 17:11:50  698899
>>698530
> as soon as the last owner is gone
Ну так всё верно. Просто the last owner не может быть gone, если Rc владеет сам собой.
Аноним 29/03/16 Втр 00:38:00  701634
Есть Iron юзающие тут?
Есть вопрос по составлению View. Я сам избалованный MVC-ребенок, и мне интересно как вы решили проблему генерации View. Суть такова, что есть SPA, который возвращается при заходе юзера на домашнюю страницу, и API, который дергается из SPA/другого клиента. Нужен какой-то темплейт движок, который это добро рендерить будет. Какие middleware лучше подключить?
У меня ощущение, что либы еще достаточно сыроваты для сириуз бизнеса. Постоянно что-то недоделано, кривовато
Аноним 29/03/16 Втр 12:39:25  701866
>>701634
1) Да, как и сам раст находящийся в разработке до сих пор.
2) Для сириус бизнеса в принципе-то юзать можно, только явно не для веб девелопмента. Какой гибудь плагин для nginx написать подойдёт идеально, делать на нём весь бэкэнд – пустодроч.
Аноним 30/03/16 Срд 20:38:32  703271
>>701866
Я думаю, переписать уже готовый бэкэнд на раст довольно тривиально. А вот с нуля писать это пока что такое себе. Тем более при нахождении всех вэб либ в глубокой преальфе.
Аноним 30/03/16 Срд 21:29:25  703325
>>703271
Если сравнивать со скриптовыми и управляемыми языками доминирующими в этой области - нихуя не тривиально переписать это всё, а потом ещё искать того кто всё это говно поддерживать будет.

Чо сразу на C++ то не переписать сайт-то? Там с поддержкой и преальфой библиотек проблем нет, лол.
Аноним 05/04/16 Втр 11:19:15  708262
Обновил Racer и он прямо раз в 10 быстрее стал (прошлый раз собирал в Январе). Но размер всё ещё огорчает. Он стал меньше на 400 кб но 30.9 мб это всё равно как-то не очень. Хотя я не обновлял сам раст, может так-то меньше.
Аноним 05/04/16 Втр 12:20:12  708335
>>708262
Ещё бы он хотя бы начал нормально видеть импотры с макросами - цены бы ему не было.
Аноним 06/04/16 Срд 20:31:03  709572
>>708262
>30.9 мб это всё равно как-то не очень
Терабайты на харде копейки же стоят, не?
Аноним 06/04/16 Срд 21:35:41  709630
Там у них так не бомбит, что регулярно пишут мантры на эту тему.
http://huonw.github.io/blog/2016/04/memory-leaks-are-memory-safe/
Аноним 08/04/16 Птн 22:42:38  711409
Есть какой-нибудь достаточно простой способ получить рандомное значение из enum?
Аноним 09/04/16 Суб 00:04:56  711467
>>711409
https://crates.io/crates/enum_primitive
Аноним 09/04/16 Суб 01:22:07  711496
>>711467
Спасибо. Хотя хотелось бы чего-нибудь покрасивее, такую хунту я могу и в крестах делать, хотя даже там enum class ввели ради безопасности.
Аноним 09/04/16 Суб 06:26:08  711546
14601723687600.jpg (59Кб, 900x600)
>>639238 (OP)
Недавно начал упарываться по расту. Пока всё нравится. Но интересует один вопрос. Можно ли в расте создавать треды (процессы) подобные эрланговским? Чтоб можно было несколько тысяч запустить и обмениваться сообщениями с ними. Я так понимаю что если обычные треды создавать в таком количестве, то операционка может вмешаться и прикрыть это дело, или я ошибаюсь?
Аноним 09/04/16 Суб 15:44:05  711943
>>711546
Приветствую.
http://devdocs.io/rust/
Рекомендую в закладки добавить, если ещё не сделал. Там можно закачать всё и хранить автономно в браузере.
По твоему вопросу. Обмен между потоками можно осуществлять через вот это:
http://devdocs.io/rust/std/sync/mpsc/index
Помимо этого, в crates можно найти и иные решения по каналам и потокам.
Стандартно на данный момент нормальных легковесных не предусмотрено.
Изначально назначение языка как раз и было
Аноним 09/04/16 Суб 15:46:08  711945
>>711943
Ой, не дописал.
Изначально назначение языка как раз и было на эту тему, само название Rust идёт откуда-то там из биологии и связано с данной темой.
Но пока приходится ограничиваться системными потоками.
Аноним 09/04/16 Суб 18:02:40  712086
>>711945
Говоришь так будто сожалеешь, если бы грин треды оставили как часть языка, то у нас был бы совсем другой ненужный rust. А так мы получили такую-то няшку, к тому же почти ничто не мешает запилить рантайм для грин тредов, просто никто еще этого не сделал.
https://github.com/rust-lang/rfcs/blob/0806be4f282144cfcd55b1d20284b43f87cbe1c6/text/0230-remove-runtime.md
Аноним 09/04/16 Суб 22:25:48  712241
14602299486840.jpg (66Кб, 436x500)
>>711945
> само название Rust идёт откуда-то там из биологии
От ржавчинных грибов же.
Аноним 09/04/16 Суб 22:51:39  712251
>>712241
А что в этих грибах связанного с тредами?
Аноним 09/04/16 Суб 22:57:16  712256
>>712251
Они нативные.
Аноним 10/04/16 Вск 23:35:05  713451
>>712256
Но в расте были не нативные треды.
Аноним 10/04/16 Вск 23:43:08  713453
>>712251
Надёжность и распределённость.
Аноним 11/04/16 Пнд 07:58:23  713555
>>712256
>>713453
Сук, трллте мня?
Аноним 11/04/16 Пнд 08:29:30  713561
>>713555
Сасай))
Аноним 14/04/16 Чтв 18:48:24  716753
Где можно почитать release notes новой версии раста?
Аноним 14/04/16 Чтв 19:56:49  716834
>>716753
https://github.com/steveklabnik/blog.rust-lang.org/blob/1.8-announcement/_posts/2016-04-14-Rust-1.8.md
В блоге почему-то не вывесили еще.
Аноним 14/04/16 Чтв 20:06:21  716849
>>716834
Я так понял что в основном косметические улучшения пошли.
> cargo init can be used to start a Cargo project in your current working directory, rather than making a new subdirectory like cargo new.
Вот это заебись.
Аноним 14/04/16 Чтв 20:08:35  716855
>>716834
Уже вывесили.
http://blog.rust-lang.org/2016/04/14/Rust-1.8.html
Аноним 16/04/16 Суб 08:36:41  718207
Мне вот интересно, когда они через 4 месяца дойдут до 2.0, то точно так же выпустят обещанный апдейт без нихуя, кроме пары замороженных апи?
Аноним 16/04/16 Суб 08:53:31  718209
>>718207
1.10 же, не?
Аноним 16/04/16 Суб 09:02:14  718211
>>718209
А сразу использовать нормальную версионировку, а не издеваться над системой счисления.
Аноним 16/04/16 Суб 12:44:25  718307
>>718211
Ну так они и используют. В каждой версии ведь что-то добавлено кроме багфиксов.
Всё по semantic versioning.
Аноним 16/04/16 Суб 12:58:09  718314
>>718307
Хз что за семантическое версионирование, но для моего парсера в мозгу цифры 1.1 и 1.10 идентичны (как и 1.10000 и тд).

Кроме багфиксов ещё баг/фича-фиксы в языке.
Аноним 16/04/16 Суб 14:26:57  718374
>>639238 (OP)
Наверное очень популярные вопрос среди тех кто знакомится с растом. Поясните за параметры времени жизни.
Вот пример:
struct Customer<'a> {
car: Option<&'a Car>
}
>Теперь компилятор будет знать, что у экземпляра структуры Customer время жизни должно быть таким же как и у экземпляра структуры Car или меньше.
Почему компилятор не может сам автоматом подставить эти параметры? Все примеры, что я видел - какие-то слишком очевидные, более того, я когда писал свой небольшой код - нигде не ставил параметры, и компилятор ругался "ставь их", и я просто наставил везде и прога скомпилилась и работала верно. Почему компилятор не может за меня это делать? Я подозреваю что есть какие-то более неочевидные случаи использования параметров времени жизни. Может приведет кто пример?
Превозмагая трудности Аноним 16/04/16 Суб 19:29:49  718627
Ньюфаг вкатывается в тред,
Есть С-функция которая возвращает "%звездочка%const c_char" который нужно преобразовать в строку, как проверить возвращаемое значения на null pointer?

Вот что намудрил: https://ideone.com/FnH1jn
Пример 1: Крашится если c_function возвращает указатеть на null или возвращает корректное значение.
Пример 2: При null указателе возващает дефолтное значение "is_null_value" иначе всегда пустая стока.
Аноним 16/04/16 Суб 21:09:41  718727
>>718627
Растономикон читал?
Аноним 16/04/16 Суб 21:18:20  718739
>>718727
Только rust book осилять начал.
Аноним 16/04/16 Суб 22:21:41  718785
>>718739
Тогда пока не лезь в unsafe и ffi. Как прочитаешь rustbook и разберешься с основами, можно начинать читать rustonomikon, там как раз то что тебе нужно, более глубокое погружение в язык и небезопасные возможности, без которого нормальную связь с библиотеками на других языках не осилишь.
https://doc.rust-lang.org/nightly/nomicon/
https://github.com/ruRust/rustonomicon
Аноним 17/04/16 Вск 00:03:31  718828
>>718314
Наркоман? Током ебнуть?
Версия это не вещественное число.
1.10 != 1.1

И как твой мозг представит 0.21.3 ?
Аноним 17/04/16 Вск 00:06:44  718830
>>718374
https://doc.rust-lang.org/book/lifetimes.html#lifetime-elision
Аноним 17/04/16 Вск 00:15:14  718838
>>718374
> Почему компилятор не может сам автоматом подставить эти параметры?
Может он еще за тебя код писать будет, и проектировать модели?
'a - это гарантия того, что ссылка на Car будет жить столько, сколько Customer. Это ты и указываешь, расставляя 'a в своем коде.

Как тут например расставить параметры?

struct Customer {
car: Option<& Car>,
hui: Option<& Hui>,
pizda: Option<& Pizda>
}

Ну поставит например компилятор

struct Customer<'a> {
car: Option<&'a Car>,
hui: Option<&'a Hui>,
pizda: Option<&'a Pizda>
}

А по моей модели нужно

struct Customer<'a, 'b> {
car: Option<&'static Car>,
hui: Option<&'a Hui>,
pizda: Option<&'b Pizda>
}
Аноним 17/04/16 Вск 10:46:16  718981
В чем ваши хваленые zero-cost заключаются, если для того чтоб что-то в куче создать, надо Box::new(x) делать, причем x - вначале появится на стеке, а потом будет в кучу перемещен?
Придется свой какой-то велосипед с использованием unsafe использовать, как это сделано в реализации Vec, иначе бы мы охуели создавать в стеке вектора по миллиону элементов и потом копировать в кучу их часами. Но если всё заканчивается unsafe, то нахуя нужен раст?
Аноним 17/04/16 Вск 10:47:06  718982
>>718981
или наслаждаться переполнением стека
Аноним 17/04/16 Вск 11:57:20  719021
>>718981
zero-cost по мнению разрабов это "минимальная стоимость".
https://doc.rust-lang.org/book/ownership.html
> Rust has a focus on safety and speed. It accomplishes these goals through many ‘zero-cost abstractions’, which means that in Rust, abstractions cost as little as possible in order to make them work.

Для Box новый синтаксис пилится. Пацаны что-то не поделили с Box, Rc и Cell, и в итоге решили использовать Box::new, пока все не уляжется, и api библиотеки не стабилизируется.
https://github.com/rust-lang/rust/issues/28008
Аноним 17/04/16 Вск 11:58:45  719023
>>719021
И вот еще ссылочка.
https://doc.rust-lang.org/book/box-syntax-and-patterns.html
Аноним 17/04/16 Вск 15:37:57  719223
>>719021
То есть box однажды появится в стейбл версии.
А в чем конкретно проблема? Что не поделили они там? Такое ощущение что проблемы на стороне LLVM.
Аноним 17/04/16 Вск 19:17:14  719431
>>719223
Там довольно много чего не устоялось.
Вот tracking issue: https://github.com/rust-lang/rust/issues/22181
Аноним 20/04/16 Срд 08:19:57  721551
Какая альтернатива синглтону в расте? Как я понял реализовать то его можно, но это не идеамотично. Таскать контекст по функциям?
Аноним 20/04/16 Срд 21:50:59  722111
>>721551
Та же что и в других языках, например, dependency injection, service locator.
Аноним 21/04/16 Чтв 12:36:44  722502
Аноны, есть что-нибудь по Rust на великом и могучем? Ангельский знаю не очень хорошо, поэтому хотелось бы для начала почитать на русском, чтобы понять основные концепции так сказать, а потом и за приведённые в шапке книги взяться можно будет
Аноним 21/04/16 Чтв 13:45:50  722540
>>722502
Есть перевод rust book https://github.com/ruRust/rust_book_ru и rustonomikon https://github.com/ruRust/rustonomicon
Аноним 21/04/16 Чтв 14:58:30  722620
Изучаю rust уже пару недель, но так и не могу понять почему внутри скопа матча, х = с, документацию читал, но въехать не могу, объясните на пальцах, почему так получается?

код:
let x = 1;
let c = 'c';

match c {
x => println!("x: {} c: {}", x, c),
}

println!("x: {}", x);


вывод:
x: c c: c
x: 1
Аноним 21/04/16 Чтв 15:18:37  722636
>>722620
Текущий скоуп перекрывает имена родительских скоупов. в данном слуае в матче у тебя x => .. этот икс перекрывает тот икс что let x = 1;
Аноним 21/04/16 Чтв 15:26:23  722643
>>722636
это понятно, но откуда у x значение с, где оно присваивается? Ведь если через оператор => присваивается вывод println то в x будет совсем не c
Аноним 21/04/16 Чтв 16:29:51  722716
>>722643
Потому что паттерн матчинг так работает. У тебя в паттерне переменная, что говорит компилятору "возьми то, что я там пытаюсь заматчить и сделай так, чтобы оно называлось именем этой переменной".
Аноним 21/04/16 Чтв 17:10:40  722755
>>722643
Извини анончик, писал пост про то как мы с тобой няшимся под пледиком и я рассказываю тебе про раст на примере розовых единорогов и бабочек, но отключилось электричество и все пропало. Так что коротко и зло, к тому же тебе уже ответили.
Ты читать что ли не умеешь?
In other words, x => matches the pattern and introduces a new binding named x. This new binding is in scope for the match arm and takes on the value of c. Notice that the value of x outside the scope of the match has no bearing on the value of x within it. Because we already have a binding named x, this new x shadows it.

Здесь у тебя нет сравненния, так как х затерла объявление твоей переменной, но эта новая х не инициализирована, следовательно здесь нечего сравнивать и раст закономерно решает что ты просто используешь патерн для связывания, что-то наподобие `x @ любое возможное значение` (так как в матче у тебя только одна рука). Поэтому у тебя просто создается биндинг (связывание) к значению c.
Это то же самое что и https://goo.gl/QpMHc3
Или чтобы тебе было еще понятнее это немного похоже на https://goo.gl/3LifL8 хоть и не совсем то.
Короче, перечитай еще раз главу про паттерн матчинг.
Аноним 21/04/16 Чтв 17:17:48  722764
>>722755
> Короче, перечитай еще раз главу про паттерн матчинг.

Спасибо, походу и правда надо еще читать дальше растбук, всеровно еще есть не до конца понимание
Аноним 21/04/16 Чтв 17:26:52  722772
14612488120210.jpg (75Кб, 736x490)
>>722620
В конкретно твоем примере match не имеет смысла.
Фактически его можно представить вот в таком варианте:
https://play.rust-lang.org/?gist=f18337e68bfd66eedbeb0cbf740a28e9&version=nightly&backtrace=0
Т.е. эти две x - разные переменные в разных скопах. Если тебе надо это избежать, используй разные имена.
Твой пример имел бы смысл, если бы ты, например, сделал несколько вариаций:
https://play.rust-lang.org/?gist=df4400b0fdcd09b35fe7792a6713bc0a&version=nightly&backtrace=0
А, вообще, паттерн-мэтчинг и деструкторы - классные штуки. Не зря на них много внимания в мануалах сосредоточено.
С ними можно много чего делать.
https://play.rust-lang.org/?gist=1305382e6a7484d1b2b7ce37dd1785a5&version=nightly&backtrace=0
Аноним 22/04/16 Птн 22:16:16  724009
Когда книга уже выйдет где более подробно будет всё рассказано чем в the book?
Аноним 22/04/16 Птн 22:26:52  724017
>>724009
Rustonomicon где-то переводили, там все узкие места и всё про ансейф облизано 10 раз.
Аноним 25/04/16 Пнд 07:55:55  726133
>>724017
Думаю он не это имел ввиду.
Аноним 25/04/16 Пнд 14:46:51  726412
>>709630
Перевели
https://habrahabr.ru/post/281370/
Аноним 25/04/16 Пнд 20:16:13  726852
CoLaboratory: Rust - конференция о Rust в Москве
https://rustycrate.ru/новости/2016/04/25/colaboratory-rust.html
Аноним 28/04/16 Чтв 15:45:26  729519
http://blog.rust-lang.org/2016/04/19/MIR.html
Мир, короче, всем.
Аноним 28/04/16 Чтв 18:31:03  729696
>>729519
Тоже видел это. Прямо семимильными шагами к светлому будущему движемся.
Аноним 29/04/16 Птн 12:27:49  730442
>>729519
А я уж думал каноникал решили мир на расте переписать, ну вот.
Аноним 29/04/16 Птн 13:02:26  730469
>>676017
http://benchmarksgame.alioth.debian.org/u64q/performance.php?test=fasta
Всем привет от колобка, ЛАЛки!
Аноним 04/05/16 Срд 11:45:22  733887
Почему вот так работает:
https://play.rust-lang.org/?gist=ea7718d84b14fa6c76fb013afa9ff358&version=stable&backtrace=0
А так не работает?
https://play.rust-lang.org/?gist=d73bd8ced4a8b434d36c75a25151d608&version=stable&backtrace=0
Аноним 05/05/16 Чтв 11:11:54  734923
>>733887
Ты даже документацию по функции с которой у тебя возникла проблема не в силах прочитать?
https://doc.rust-lang.org/std/mem/fn.drop.html
>While this does call the argument's implementation of Drop, it will not release any borrows, as borrows are based on lexical scope.
Аноним 06/05/16 Птн 21:13:46  736323
>>734923
Да уже потом понял, что тупанул.
Аноним 07/05/16 Суб 13:55:45  736845
14626185455540.png (60Кб, 409x428)
>>734923
Тут даже вопрос не в функции, а по механизму заимствования.
Потому что drop пустая и я от неё ничего не ожидал больше, чем от какой-либо другой функции.
pub fn drop<T>(_x: T) { }
А вот то что заимствования не освобождаются при передаче в функцию - в этом я ступил. Обычно же его передаешь как-нибудь так:
https://play.rust-lang.org/?gist=335ae238f07ac3d8c94c5d8399eba014&version=stable&backtrace=0
И не задумываешься об этом.
Спасибо за наводку.
Аноним 09/05/16 Пнд 22:45:51  738694
>>652293
>Очень далеко, ничего интересней простеньких демок не завезли.
нихуя себе простенькая демка, 500fps при анимации сотни дивов с тенью https://youtu.be/erfnCaeLxSI?t=125
Аноним 10/05/16 Втр 15:03:53  739246
>>738694
Когда двачик нормально рендерить сможет?
Аноним 10/05/16 Втр 18:40:34  739574
>>739246
У них текущая цель - чтобы 5 сайтов конкретных более-менее отображалось.
Аноним 10/05/16 Втр 18:46:57  739579
>>738694
Наверно потому, что он на гпу всё рендерит?

Я посмотрю как его на телефоны/ноутбуки будут проталкивать, это ведь дикий ++ по энергопотреблению.
Аноним 10/05/16 Втр 20:06:53  739643
>>739579
Еще кто-то рендерит не на гпу?
Аноним 10/05/16 Втр 22:17:47  739843
>>739579
Все на гпу рендерят. Просто гекко и вебкит не настолько "глубоко" это делают.
Аноним 11/05/16 Срд 07:57:48  740113
Котаны, быдло-эмбеддер в треде.
Появился интерес к изучению сабжа, вот только есть небольшой анальный зуд на многие термины типа "лямбда-функции", "hashmap" и прочее.
Где лучше всего читнуть про это, чтобы вкатываться в язык уже подготовленным?
Аноним 11/05/16 Срд 08:05:32  740115
>>740113
Нигде не читай заранее, в любом учебнике всё описывается подробно, там ничего сложного нет.

Ну или можешь гуглить аналоги на няшной (или какой у тебя там основной язык), я так часто делаю когда не понимаю сати какого нибудь паттерна.
Аноним 11/05/16 Срд 08:06:34  740116
228 пост ИТТ.
Аноним 11/05/16 Срд 08:08:17  740118

>>740115
>сати
Сути.
Аноним 11/05/16 Срд 09:06:54  740133
>>740115
Так может паттерны и читнуть разом? В планах тоже было.
Аноним 11/05/16 Срд 09:43:44  740146
>>740133
Если планируешь явамакакой работать – читай. Я ирл вне явы сталкивался только с визитором и синглтоном, сомнительная польза от их знания.
Аноним 11/05/16 Срд 10:19:59  740172
>>740146
Чтобы знать, какое говно мне пригодится, а какое - нет, надо хотя бы минимально в них разбираться.
А то как начал читать тред или смотреть описания языка, так натыкаюсь на всякое абстрактное говно, которое не знаю.
Меня просто интересует альтернатива С, да и в целом развиваться надо. Всякие ООП и прочее в моей области редко нужны.
Аноним 11/05/16 Срд 16:43:41  740448
>>739246
=> >>681371
Аноним 11/05/16 Срд 17:00:43  740462
>>740113
http://rustbyexample.com/ же.
Аноним 11/05/16 Срд 18:22:08  740519
>>740113
Наверное книги по сипп читать лучше. Там полно инфы на русском. А в доках Раста все на английском. Алсо вот про эмбедед https://zinc.rs
Аноним 11/05/16 Срд 18:30:20  740526
>>740519
Ангельский для меня - не ограничение, иначе хуевый бы из меня был эмбеддер, в смысле ещё хуевее, чем сейчас.
Читну, спасибо.
Аноним 11/05/16 Срд 22:00:34  740762

Может кто в курсе, как собрать приложение без привязки к терминалу под виндой? Создаю окошко с помощью glutin, но при запуске кроме него открывается и терминал.
Аноним 11/05/16 Срд 23:14:41  740863
>>740762
Гуглимо: http://stackoverflow.com/questions/29763647/how-to-make-a-program-that-does-not-display-the-console-window
Аноним 12/05/16 Чтв 06:46:36  741071
>>740762
Просто пропатч бинарник после компиляции. Там один байт всего поменять, по-моему.
Аноним 15/05/16 Вск 21:44:19  744537
поясните про биндиги к си коду. я вот хотел embed базу данных использовать, типа sqlite, но нихуя не понял, мне что нужно отдельно си код ктмпилить? или ставить в окружение что-то?
Аноним 15/05/16 Вск 21:49:42  744545
>>744537
Бляяять. Ты из скриптопараши/явадотнетов вкатываешься чтоле?

Если у тебя нет бинарника – да, тебе в любом случае придётся его собирать отдельно.
А потом нужно просто импортировать экспортируемые бинарником функции, как в экземпле, всё.
Аноним 15/05/16 Вск 22:19:46  744589
>>744545
лол, канешн самые компилируемые языки были у меня это typescript и coffeescript. я прост не понял почему у меня flate2 скомпилилось само, хотя там тоже код на си. как различать биндинги на внешний код от биндингов на си код который идёт в комплекте?
Аноним 15/05/16 Вск 22:29:20  744600
>>744589
>я прост не понял
В таких случаях нужно ковырятся в проекте.
https://github.com/alexcrichton/flate2-rs/blob/master/miniz-sys/build.rs#L6
Вот так хитро он сам компилирует свои сишные зависимости.
> как различать биндинги на внешний код от биндингов на си код который идёт в комплекте?
Биндинги - просто объявления функций обрамлённые в extern. Раст не си/плюсы, и тут неимпортируемый код всегда пишется там же где объявляется.
Аноним 16/05/16 Пнд 14:15:20  744977
А что-нибудь известно про box синтаксис? Я его сейчас много использую, но он нестабилен, Вдруг закроют?
Аноним 16/05/16 Пнд 21:51:46  745349
>>744977
усмысле? Box::new(hueta) - обёртка которая сразу кладёт в кучу?
Аноним 16/05/16 Пнд 22:08:58  745355
А что там с гуем, посоны? Что-нибудь новенькое появилось? Или всё так же старый-добрый пердолинг с Сишними апями через unsafe и самописные костыли? QML-биндинги расто-сообщество так и ниасилило портировать (а ведь они есть и с сишными апи)?

А как там интеграция с C++? Шаблоны с енумами вызвать из раста без ручного unsafe байтоёбства (который сломается после первого обновления шланга) хоть как-то можно?

А то сейчас пишу на F#+WPF, а хочется попробовать что-нибудь функциональненькое и одновременно скоростное (и с няшным гуем). Но видимо расту ещё до этого срать и срать.
Аноним 16/05/16 Пнд 22:57:15  745380
>>745355
https://crates.io/search?q=gtk
https://crates.io/crates/qmlrs
Аноним 16/05/16 Пнд 23:22:35  745398
>>745355
>Шаблоны с енумами
Ааа блять, не пиши хуйни. Шаблоны с енумами остаются в компайлтайме, разница в манглинге у разных компиляторов и тд – это говнище не стандартизировано, и его никогда не получится импортировать никуда нормально. Даже в D их интерфейсить не получилось (это такие рефакторнутые плюсы, если чо).
>Но видимо
Но видимо ты плохо понимаешь зачем нужен раст. Пишешь гуй – используй высокоуровенный язык. Не еби мозги себе и окружающим.
Аноним 16/05/16 Пнд 23:37:19  745408
>>745380
> https://crates.io/crates/qmlrs
Неполноценное альфа-дерьмецо. https://github.com/cyndis/qmlrs/issues/43
> https://crates.io/search?q=gtk
А вот это уже лучше. Надо будет глянуть.
>>745398
> Ааа блять, не пиши хуйни.
Что не пиши? Раст без дикий костылей вообще половину шаблонов С++ не осиливает (хотя учитывая, что эти сами шаблоны и есть костыли, то всё нормально). Или C++ библиотеки нинужны?
> Но видимо ты плохо понимаешь зачем нужен раст.
Для чего же? Хоть ORM или аналог LINQ завезли? Или базы данных тоже нинужны, а нормальные посоны ебашат чистым SQL?
Аноним 16/05/16 Пнд 23:39:19  745410
>>745398
Нахуя это ваше говно нужно?
Поясни уж.
Аноним 17/05/16 Втр 06:00:27  745525
14634540276780.png (45Кб, 353x609)
>>745408
> Хоть ORM или аналог LINQ завезли?

https://www.rust-lang.org/
> Rust is a systems programming language
> ORM
> LINQ
Аноним 17/05/16 Втр 07:24:12  745540
>>745408
>Раст без дикий костылей вообще половину шаблонов С++ не осиливает
Повторюсь: ты не понимаешь как эти шаблоны в крестах работают и, видимо, не умеешь читать.
>Или C++ библиотеки нинужны?
Ну сразу видно ни разу не писавшего на плюсах. Абсолютное большинство библиотек (та же Qt) их вообще не используют низачем, кроме как ради своих контейнеров.
>Или базы данных тоже нинужны
Бери высокоуровенный язык и ебашь гуи с крудами на нём. На расте ни ORM, ни LINQ адекватных аналогов нету и не будет. А ещё memory-safety модель языка будет тебе только мешать писать подобные вещи.
Аноним 17/05/16 Втр 07:42:48  745542
Ахуеваю конешн от туповатости хипсторов. Боженьки из мса им дали язык, с неебической платформой для гуя из коробки, ради него же добавили в язык асинхронность и даже специальную версию сборщика мусора. Им дали линк для быстрого шлёпанья крудов. Им дали мл на дотнете, назвав фшарпом – они всё равно ползут в мир низкоуровенного программирования и спрашивают чо там по гую.
Аноним 17/05/16 Втр 09:39:41  745612
14634671819780.jpg (159Кб, 850x470)
http://diesel.rs/
Аноним 17/05/16 Втр 14:21:14  745798
>>745540
> Бери высокоуровенный язык и ебашь гуи с крудами на нём.
Т.е. раст вообще ни для чего нинужен? Зачем тогда эти дибилы с мозилы делают на нём браузер?
> А ещё memory-safety модель языка будет тебе только мешать писать подобные вещи.
Что-то уровня: А ещё type-safety будет тебе только мешать писать подобные вещи. от любителей javascripta и прочего подобного дерьмеца.
Аноним 17/05/16 Втр 14:26:34  745809
>>745542
> неебической платформой для гуя из коробки
В .NET Core, кстати, весь гуй уже выкинули (для кроссплатформенности). А что там будет с .NET Framework не совсем понятно. Может от него вообще откажутся (а может наоборот откажутся от кора). WPF (а уж тем более формочки) уже сейчас считается устаревшим, да и работает только на винде. Предлагаешь гуй на html+css лепить и таскать с собой вебкит для рендеринга?
Аноним 17/05/16 Втр 14:28:52  745812
>>745525
> ORM
ORM даже на плюсах есть. Хотя с кем я разговариваю. Тебе же ничего нинужно кроме байтоёбства.
Аноним 17/05/16 Втр 14:34:32  745820
>>745798
> нет гуи с крудами
> раст вообще ни для чего нинужен
Ты тредом ошибся, маня.

> Зачем тогда эти дибилы с мозилы делают на нём браузер
И конечно, мозилы будут писать нотариально заверенные письма о своих намерениях дауненку с двощей, который
1) не может погуглить
2) не может скачать IRC клиент, зайти на канал разрабов раста и спросить.
Но давай ты сейчас попробуешь включить мыслительный нерв и порассуждать:
У мозилы возникли некоторые проблемы с C++ в фуррифоксе ->
нет нормальной замены C++ с решением существующих проблем ->
решили создать новый язык для решения существующих проблем.

> Что-то уровня: А ещё type-safety будет тебе только мешать писать подобные вещи. от любителей javascripta и прочего подобного дерьмеца.
Теперь точно можешь пиздовать отседова, так как сразу видно что с borrow-checker ты не сталкивался.
Аноним 17/05/16 Втр 14:40:59  745834
>>745812
> impying ORM на C++ такая уж важная вещь
Хотя крудошлепу вроде тебя это очень важно.

Если бы не был таким долбоебом, то мог бы уже найти http://www.arewewebyet.org/topics/database/ где ясно что ORM так то разрабатываются, но еще сырые.

Так что соглашусь с аноном выше.
> Но видимо ты плохо понимаешь зачем нужен раст.
Аноним 17/05/16 Втр 14:42:11  745836
>>745820
Ой-ёй, кокой ты злобный. С твоих слов раст это вообще какой-то волшебный язык, всё чего нет - абсолютно нинужно. Во как. Фанбойство? Или магия языка программирования?
> Теперь точно можешь пиздовать отседова, так как сразу видно что с borrow-checker ты не сталкивался.
Ой всё. Видимо ты сам туповат, если borrow-checker для тебя вызвало хоть какие-то проблемы, хотя в интернете всё это по 200 раз разжёвывается для самых тупых (вроде тебя). А на расте я писал ещё с бета-версии. И вижу, что пока кроме улучшенного высокопроизводительного байтоёбства в нём ничего и нет. Хотя нет, вот хоть асинхронный HTTP-сервер завезли[1] (13 часов назад, гы-гы-гы), прогресс на лицо. Хотя ты даже что такое асинхронный HTTP-север не знаешь. И день назад бы утверждал, что он абсолютно не нужен в таком языка программирования как раст.

[1]: https://github.com/hyperium/hyper/pull/778
Аноним 17/05/16 Втр 14:48:01  745844
>>745836
> С твоих слов раст это вообще какой-то волшебный язык, всё чего нет - абсолютно нинужно.
Наркоман?
Я говорю что раст в первую очередь создан мозилами для своих проектов. Все остальное пилится силами сообщества.

> Видимо ты сам туповат, если borrow-checker для тебя вызвало хоть какие-то проблемы,
А теперь ты кидаешь ссылку со своей реализацией LINQ или хотябы ORM.

> А на расте я писал ещё с бета-версии...
> мам мам сматри я олдфак тралю нюфагов
Аноним 17/05/16 Втр 14:52:42  745848
14634859625800.jpg (60Кб, 551x551)
>>745820
>У мозилы возникли некоторые проблемы с C++ в фуррифоксе
Заебись оправдание неосиляторству.
Аноним 17/05/16 Втр 14:55:47  745851
>>745844
> А теперь ты кидаешь ссылку со своей реализацией LINQ или хотябы ORM.
Но зачем? Это мне для домашних проектиков нужно. А то у очень больно смотреть как даже после обработки ngen'ом .net-приложение порой тормозит. Но видно не судьба. Самому писать лень, очевидно же.
Хотя вот уже делаю биндинги поверх [1]. Правда вряд ли я этим поделюсь с сообществом, потому что вангую, что полученный код будет невероятно уродлив (а может и не будет).
> > мам мам сматри я олдфак тралю нюфагов
Никто тебя не траллит. Просто я действительно не понимаю, что там может быть сложного.

[1]: https://github.com/filcuc/DOtherSide
Аноним 17/05/16 Втр 14:58:21  745854
>>745848
Ну куда ж мозилле до анона с двощей. Вот он бы им все правильно сделол.
Аноним 17/05/16 Втр 14:59:48  745856
>>745848
> Мозилла - единственная более-менее крупная компания, у которой хватило яиц навести порядок.
Аноним 17/05/16 Втр 15:04:41  745858
14634866817600.png (39Кб, 174x177)
>>745851
А теперь смотри:
> Хоть ORM или аналог LINQ завезли?
> memory-safety модель языка будет тебе только мешать писать подобные вещи.

> Что-то уровня: А ещё type-safety будет тебе только мешать писать подобные вещи
> сразу видно что с borrow-checker ты не сталкивался.

> ты говно - я Д`Артаньян
> покажи свой LINQ \ ORM

> Это мне для домашних проектиков нужно
> pic related

Ок. Ты победил.
Аноним 17/05/16 Втр 15:04:59  745859
>>745856
Тащем-та тот же гугл гораздо больше языков программирования создал, чем мозилла. Даже пытался няшный дарт протолкнуть, но веб-макаки отказались от ЯП, который имел слишком слабый запах говня, и остались верны старому доброму яваскрипту. Да и вообще сейчас любая более менее крупная ит-корпорация обязательно создаёт свою OS (на базе андроид), свой ЯП (самый-самый быстрый, обычно поверх JVM), свою бд (для верибиг-дата) и свой бев-фреймворк (который почти не тормозит). Просто раст выделяется из этого всего тем, что это системный язык.
Аноним 17/05/16 Втр 15:05:41  745861
>>745858
А что на домашних проектах нужно обязательно страдать и байтоёбить? Даже немножко абстракций и сахарку низзя?
Аноним 17/05/16 Втр 15:10:47  745868
>>745861
> страдать и байтоёбить
Еще раз блять повторяю. >>745525
Почитай определение системного программирования.

Хочешь сахарку - ищи другой язык\платформу. Раст для тебя еще сырой.
Аноним 17/05/16 Втр 15:13:42  745870
>>745868
Системное программирование и сырой это разные вещи. Раст попросту сырой. Отсутствие некоторых фич к какому-то там волшебному системному программированию, которое видимо летает над языком и уничтожает все абстракции ещё до того как они появятся, не имеет никакого отношения.
Аноним 17/05/16 Втр 15:33:56  745878
>>745870
Раст не попросту сырой.
В стандартной поставке нет средств ORM и LINQ потому что rust - системный язык.
Дизайнерам было похуй на крудоблядков, потому что язык предназначен для другой аудитории.
Сырой он в плане того, что либы сырые, что очевидно.
Вот здесь и переплетаются две разные вещи, понять которые ты не способен.

> волшебному системному программированию... бла бла бла...
У тебя батхерт какой-то. Иди обмажься C#. Ах да
> А то у очень больно смотреть как даже после обработки ngen'ом .net-приложение порой тормозит
У мсье просто руки из жопы, что круды тормозят, вот он и изливает тут душу, что в другом языке нет нужных ему фич.
Аноним 17/05/16 Втр 15:38:29  745884
>>745349
имеется ввиду box zalupa, допустим деалем матч и паттерн Huita(box zalupa) => {...}, говорит о том что zalupa обернута в бокс. Очень удобно.
Аноним 17/05/16 Втр 15:40:41  745888
>>745878
> В стандартной поставке нет
И не должно быть. Только это не из-за того что он системный.
> У тебя батхерт
У всех баттхёрт кроме тебя.
> У мсье просто руки из жопы
Прост ты никогда не работал с нетом. И да мне просто интересно было узнать как там у раста с гуем и базами данных, а в ответ только "кудах, нинужно, мозилла лучше знает, системный язык, а чего добился ты".
Аноним 17/05/16 Втр 16:00:16  745905
14634900160680.png (39Кб, 174x177)
>>745888
> Прост ты никогда не работал с нетом.
Обосрался, маня. 4 года на asp.net крудошлеплю. Был в стартапе со спагетти-кодом - ничего не тормозило. В студенчестве писал диплом решал систему дифуров - числодробилка слишком громкое название - ничего не тормозило.

> И не должно быть. Только это не из-за того что он системный.
Тогда вопрос
> Для чего же [нужен раст]? Хоть ORM или аналог LINQ завезли?
решен.

> У всех баттхёрт кроме тебя.
Нет ты.

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

Хитрые маняврирования:
> И да мне просто интересно было узнать как там у раста с гуем и базами данных
> Зачем тогда эти дибилы с мозилы делают на нём браузер
> pic related[1]
Аноним 17/05/16 Втр 16:06:19  745916
>>745905
> 4 года на asp.net крудошлеплю.
> мам мам сматри я олдфак тралю нюфагов

> Был в стартапе со спагетти-кодом - ничего не тормозило.
Очевидно, ты не писал десктопные приложения, сложнее, чем решалка системы диффуров.

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

> Пиздоглаз или жопочтец?
> Приводит аргумент >мозилла лучше знает< из списка.
Да ты у нас сам тот ещё жопочтец. Попу хоть после проигрываний вытираешь?
Аноним 17/05/16 Втр 16:19:44  745931
>>745916
> Приводит аргумент >мозилла лучше знает< из списка.
> Я говорю что раст в первую очередь создан мозилами для своих проектов. Все остальное пилится силами сообщества.
Мозилла не юзает эти технологии. Коммюнити пилит либы. Где ты тут увидел "мозилла лучше знает"? Дерьмо с глаз убери, мудила.

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

> Очевидно, ты не писал десктопные приложения, сложнее, чем решалка системы диффуров.
Очевидно, ты не писал %everything else%. Хотя какая разница, сразу видно твои познания, если ты ноешь тут про недостаток ORM и LINQ в системном языке, и гонишь на мозиллу, которые этим языком решают свои проблемы.
Аноним 17/05/16 Втр 16:24:28  745939
>>745931
> системном языке
Ты так и будешь продолжать повторять эту мантру? У тебя кроме раста и ассемблера системные языки вообще есть? Или отсутствие библиотек это у нас теперь новый признак элитарной системности?
Аноним 17/05/16 Втр 16:37:39  745950
>>745939
Ты какой-то дурашка, серьёзно. Тебе 21 раз сказали что это системный язык (читай для хуйлоад сервисов, риалтайма и прочего) с крутой системой типов, который решает проблемы в своей области, и в крудошлёпстве, где чтобы напороться на решаемые языком проблемы нужно очень постараться он нахуй не нужен. Это не того уровня язык, чтобы шлёпнуть кнопочку, и в контролере прописать запрос к бд одной строчкой. В чём суть твоего истегания говном здеся?
другой анон
Аноним 17/05/16 Втр 16:39:43  745952
>>745950
> читай для хуйлоад сервисов, риалтайма и прочего
Давай на чистоту. Даже в этих областях он не используется (можешь привести один контр-пример из дропбокса, но ведь больше у тебя ничего и нет) из-за своей сырости. Он не системный в твоём понимании. Никто не запрещает писать на нём всё что захочешь. Он просто сырой.
Аноним 17/05/16 Втр 16:46:44  745959
>>745952
Его нигде не использую потому что нет библиотек, писать свою велосипеды вместо использования существующих никому не всралось представь себе, чего стоит перенести хотя бы один рендер любого ААА движка на него, который писался десятками лет на плюсах, в этом направлении - да, он очень сырой, у него даже IDE с базовой навигацией по коду нету. В отличии от Goвна порог вхождения выше => библиотеки появляются очень и очень неспешно.
Аноним 17/05/16 Втр 17:02:27  745967
14634937476980.jpg (280Кб, 1012x755)
Stop right there, you bigots.
This place is supposed to be free of hate speech.
Аноним 17/05/16 Втр 18:26:02  746020
>>745939
> системный язык
> мантра
Очень смешно. А вообще да, буду повторять. Могу даже ссылку на сайт раста https://www.rust-lang.org/ прикреплять и цитировать
> Rust is a systems programming language

> Или отсутствие библиотек это у нас теперь новый признак элитарной системности?
А вот тут я непонял. Где ты элитарность увидел? В языке нет сахара по твоему вкусу и готовых либ, и он уже для тебя элитарен?

>>745952
Давай на чистоту. Где ты видел использование С\С++ для крудов? Либ-то дохуя там.
> Никто не запрещает писать на нём всё что захочешь.
Но они ПРОСТО не подходят для этих задач. Ты просто обосрешься, пока реализуешь нормальный прототип, а потом придется перепиливать из-за изменяющихся требований, чтобы в итоге получить несопровождаемое дырявое говно с уязвимостями типа Heartbleed.
Аноним 17/05/16 Втр 18:28:16  746025
>>746020
> Ты просто обосрешься, пока реализуешь нормальный прототип, а потом придется перепиливать из-за изменяющихся требований, чтобы в итоге получить несопровождаемое дырявое говно с уязвимостями типа Heartbleed.
Т.е. раст лучше вообще не использовать чтобы не получить уязвимости? Значит уже и сам раст нинужен? Вот это поворот.
Аноним 17/05/16 Втр 18:40:39  746038
>>746025
Если у тебя мир заканчивается на крудах с гуем – да, нинужен.
Аноним 17/05/16 Втр 18:40:44  746039
14634996447650.gif (24Кб, 512x512)
>>746025
>и сам раст нинужен
Аноним 17/05/16 Втр 18:42:29  746043
>>746038
Но ведь в системных приложениях тоже изменяются требования и там тоже очень важна безопасность. Зачем там использовать такой небезопасный язык как раст?
Аноним 17/05/16 Втр 18:43:24  746045
>>746043
Чтобы ты мог смишно жиреть в итт трете)))
Аноним 17/05/16 Втр 18:45:00  746052
>>746045
Ну ладно. Странно конечно, даже сами фанаты раста говорят, что он не нужен. Первый раз такой вижу.
Аноним 17/05/16 Втр 19:00:03  746057
>>746025
Ты контекст проебал, зеленый.
> С\С++ для крудов

>>746043
> небезопасный язык как раст
Ну это вообще пушка.
Аноним 17/05/16 Втр 19:04:12  746061
>>746057
Но ведь ты сам сказал, что раст небезопасен и лучше его не использовать. Причём тут контекст? Если вместо крудов я начну его использовать для системного программирования он волшебными образом станет безопасней и больше никаких уязвимостей написать на нём будет невозможно, я так понимаю? Это у нас определения "языка системного программирования" - язык, у которого магическим образом понижается безопасность если его не использовать для системного программирования. Интересно, а серво - это системное программирование? Мозилловцы знают, что рас у них слишком небезопасен и им лучше вместо браузера делать сразу операционную систему для её, безопасности, повышения?
Аноним 17/05/16 Втр 21:38:14  746226
>>746061
поехавший, уходи. у тебя паттерн "я не согласен, значит нужно найти до чего доебаться, ок, я буду брутфорсом перекручивать слова, а когда мне покажется что это достаточно ебанутая трактовка в отрыве от контекста - запощу в тред разбавляя знаками вопросов"

если начать пилить велосипеды на каждую хуйню - то будет овер 9000 дырявых велосипедов. а комьюнити ещё не запилило "каноничные" либы, которые дохуя людей смогут ревьюить и контрибьютить. поэтому да, язык молод, но причина что твой васянский код будет хуёвый не означает что язык хуёвый
Аноним 17/05/16 Втр 21:50:56  746246
>>746226
Умничка. Теперь ты сам видишь, что "системное программирование" тут совсем не причём. А если подумать ещё чуть-чуть, то можно прийти к выводу, что и для системного программирования его почти не используют из-за отсутствия тех самых библиотек.

А ещё, кстати, в расте нет наследования для структур, только для аналога нетовских интерфейсов под названием трейты, да и то в трейтах нет поддержки проперти. Видимо растокодеры (игнорируя кукарекания НИНУЖНО со стороны мозиллы) будут как в жавке писать методы getXXX() setXXX(... value). Из-за этого, кстати, в лоб биндинги для Qt и не напишешь. Хотя макросы, да, шикарны. Это вам не сишные дефайны, тут все серьёзно.
Аноним 17/05/16 Втр 22:26:32  746278
>>746246
я не тот анон с которым ты спорил, лол
из того что он "для системного программирования" выходит только то что у него нет жирного рантайма с GC и прочим оверхедом. т.е. на нём МОЖНО писать низкоуровневые штуки, которые обычно пишут на С/С++. больше ничего это не значит, на нём так же можно писать серверы с крудами и десктопы с гуями
Аноним 21/05/16 Суб 14:52:21  749296
Ну что же вы, растаны. Какие рода проекты колотите на расте?
Аноним 21/05/16 Суб 14:59:34  749303
>>749296
я вот пилю ebaltvoymamku-rs
Аноним 21/05/16 Суб 16:35:59  749379
14638377593960.jpg (84Кб, 800x831)
>>749303
Attaboy
Аноним 23/05/16 Пнд 03:42:45  751121
Как в Расте заюзать СИшную либу?
Аноним 23/05/16 Пнд 04:29:41  751147
>>751121
https://doc.rust-lang.org/book/ffi.html
Но лучше найти готовые биндинги.
Аноним 23/05/16 Пнд 12:56:31  751335
>>751121
https://github.com/crabtw/rust-bindgen такая вот хрень еще имеется
Аноним 23/05/16 Пнд 12:56:37  751336
>>751121
https://crates.io/
Здесь поищи привязки, для большинства известных библиотек должно быть. Обычно у них к названию приписывается sys.
Аноним 26/05/16 Чтв 21:36:49  754902
1.9
> Controlled unwinding
> Compile time improvements
> Rolling out use of specialization
> Cargo can now be run concurrently.
Аноним 27/05/16 Птн 00:02:23  755028
>>754902
https://github.com/rust-lang/rust/blob/master/RELEASES.md

> Cool! :skull: to the ".to_string()" is slow memes!
Аноним 27/05/16 Птн 05:35:03  755085
14643165032440.png (31Кб, 771x1004)
Аноним 27/05/16 Птн 05:38:02  755086
>>755085
Выглядит, как с++ моча.
консультант мимо проходил
Аноним 27/05/16 Птн 06:40:08  755095
>>755086
Я просто нуб, но расстроился когда дошел до этой главы. Для меня выглядит как обфускация простейшей функции. Пишут что это хороший стиль. Значит придется учиться такое читать
Аноним 27/05/16 Птн 06:41:41  755097
>>755095
Вроде ж сахарок с try/catch'ами в последних версиях уже добавили. Или ещё нет?
Аноним 27/05/16 Птн 06:44:57  755099
>>755097
Только RFC приняли.
Аноним 27/05/16 Птн 07:48:28  755106
14643245083520.png (31Кб, 686x744)
>>755099
Ну знак вопроса уже добавили в раст (с версии 1.9 вроде), а значит тот пример можно переписать гораздо няшнее.
Аноним 27/05/16 Птн 11:34:40  755197
>>755106
> I can guarantee you it will not. ? is still unstable, and since the release of 1.9 means that 1.10 is in beta, it will not be in 1.10.
> Well for one, there's a huuuuuge unresolved question: should it work for Option as well as Result? If we stabilized just the Result version, would we lock out the possibility of extending it in the future?
> Just in general, it is a huge, and widely debated new feature that only landed recently. It needs more time before we can consider stabilizing it. One of the longest-running and most-commented RFCs in Rust history deserves to not just be made stable as quickly as possible, but to take it slow and make sure we get it right.
Аноним 27/05/16 Птн 11:36:01  755200
>>755197
Ну это понятно. А пока пусть растовцы страдают.
Аноним 28/05/16 Суб 01:51:57  755669
>>755197
Алсо, есть ещё макрос `try!`. Выглядит конечно не так красиво, но работает даже в релизной версии:
[CODE]
fn file_double<P: AsRef<Path>>(file_path: P) -> Result<i32, MyError> {
let mut contents = String::new();
try!(try!(File::open(file_path)).read_to_string(&mut contents));
let n: i32 = try!(contents.trim().parse());
Ok(n * 2)
}
[/CODE]
Аноним 31/05/16 Втр 00:41:02  758066
Ебусь с нечеткими нейросетями. Нужно распараллелить один метод.

В чем суть - каждый `Мейкер` принимает на вход сырые данные и отдает обработанные. Причем имеется метод для объединения этих данных.
`Завод` дает каждому `Мейкер` одни и те же сырые данные и потом объединяет их и возвращает.

Вопрос знатокам - как можно распараллелить это дело? Язык вроде как нацелен на решение таких проблем?
Аноним 31/05/16 Втр 00:42:06  758067
>>758066
Ссылку проебал.

https://play.rust-lang.org/?gist=d7a9afd0ae73d5107d40c12e28d18b1f&version=stable&backtrace=0
Аноним 31/05/16 Втр 08:25:37  758183
>>758066
>>758067
> Язык вроде как нацелен на решение таких проблем?
Нуу, не совсем. В стандартной библиотеке есть только дубовые одноразовые треды, которые работают только со статическими переменными. Есть пара крейтов, но они вроде как не совсем стабильно. В общем как-то так: http://pastebin.com/gBcQsg9K
Аноним 31/05/16 Втр 10:55:14  758233
>>758183
Алсо, можно сделать так: http://pastebin.com/WgKY51bZ
Тут уже нет лишних мьютексов и Item::compose выполняется в главном треде. Да и выглядит красивее.
Да и выполняется чутка быстрее, только тут уже если Item::compose выполняется медленно, то потоки будут забивать память новыми make_result'ами если это важно.

test tests::bench_concurrent ... bench: 926,797 ns/iter (+/- 86,735)
test tests::bench_concurrent_new ... bench: 831,805 ns/iter (+/- 16,123)
Аноним 31/05/16 Втр 10:57:18  758235
>>758233
> http://pastebin.com/WgKY51bZ
Ой. Не ту ссылку дал. Вот правильная: http://pastebin.com/jThDrPDp
Аноним 31/05/16 Втр 23:44:37  758949
14647274773230.png (113Кб, 459x465)
>>758235
>>758233
>>758183
Спасибо анон. Ты охуеннен. Пойду дальше дрочить Rust.

Алсо, правильно ли я понял, что к выходу из замыкания в`pool.scoped` будет ожидание завершения дочерних тредов?

Где ты научился этой черной магии?
Аноним 01/06/16 Срд 04:32:15  759029
>>758949
Угу. Это особенность библиотеки такая. Потому второй вариант и неверен.
> Где ты научился этой черной магии?
Честно говоря, я просто сам заинтересовался и начал гуглить.
Аноним 01/06/16 Срд 04:35:24  759030
>>758949
Алсо, во всех случаях если в дочернем процессе произойдёт ошибка (или в растовом понятии паника), то в обоих случаях произойдёт deadlock. Возможность глобально ловить panick'и добавили только в версии языка 1.9, но пока ещё ни одна библиотека её не использует. Так что избегай unwrap'ов если 100% не уверен в их корректности.
Аноним 01/06/16 Срд 12:49:55  759191
>>745931
>Мозилла не юзает эти технологии.
Ебать ты конченый. В firefox'e уже переписали несколько компонентов на rust. Dropbox на него переписал тоже несколько компонентов своей инфраструктуры.
Аноним 01/06/16 Срд 14:36:21  759276
>>759191
Мозида спонсирует серво с растом напрямую, у дропбокса на расте облачное хранилище – скелет их инфраструктуры.
Аноним 01/06/16 Срд 16:06:16  759352
14647863768300.png (67Кб, 317x372)
>>759276
>https://news.ycombinator.com/item?id=11283685
>Actually, full disclosure, we really just rewrote a couple of components in Rust. Most of Magic Pocket (the distributed storage system) is still written in golang.

Что еще спизданешь?
Аноним 11/06/16 Суб 22:45:22  767394
Не врубаюсь
> error: #[feature] may not be used on the stable release channel
Но я использую nightly. Что нужно добавить, чтобы нормально воспринимало как nightly?
Аноним 12/06/16 Вск 00:31:42  767484
>>767394
Разобрался. В какой-то либе была кастомная сборка и она собиралась не той версией раста.
Аноним 12/06/16 Вск 17:26:50  767888
можно ли уже считать, что rust не выстрелил?
Аноним 12/06/16 Вск 18:39:46  767969
14657459868580.jpg (392Кб, 1400x1980)
>>767888
А ты много знаешь языков, которые "выстрелили" за короткий период времени?
inb4: swift; там анальный господин всё порешал.
Субъективно, по опросам stackoverflow, у раста есть как минимум большой потенциал в плане желающих им начать пользоваться. Но язык ещё дорабатывается. Доделают MIR, доделают оракл, rustup.
Больше всего вызывает опасение отсутствия привязки к C++. Если эту проблему не решат - это огромный минус будет. Отмазки типа "нинужно" звучат убого.
Года через 2 приходи - если к тому времени не выстрелит - тогда да.
Аноним 12/06/16 Вск 19:59:07  768067
>>767969
раст бы смог, если бы углубился в веб, понимая мейнстрим.
А переманить матерых сишников, которые пишут на сяшках по 20 лет, это верх идиотизма
Аноним 12/06/16 Вск 21:13:20  768141
>>767969
То есть сейчас нет смысла учить раст, вместо C\C++?
Аноним 12/06/16 Вск 22:23:31  768208
>>768067
Наверно в начале веб подразумевался, но из-за Go отказались.
Вот сишников пытаться перетянуть - маразм, да. Но они ориентируется на С++ разработчиков и умеренных функциональщиков, наверно.
>>768141
Одно другому не мешает. Если ты делаешь какие-то свои поделки, то почему бы его не сделать на каком-нибудь хипстерском языке?
А для работы - никому не нужно (это норма, рынок очень медленно реагирует на новые технологии). И тупо работать не с чем в данный момент. Есть либы какие-то на разные темы, есть попытка сделать веб-фреймворки, но пока ничего интересного. Iron явно умер, например.
Аноним 13/06/16 Пнд 01:01:44  768337
>>768141
если для себя, то хоть ассемблер, если с охватом для работы, смотри вакансии, они решают.

>>768208

Чем их Го то напугал? С вебом они обосрались точно, сейчас такой спрос на шустрые и маленькие микросервисы, что просто просрать это все, надо было еще суметь.
Даже на джаве и то пилять всякие standalone приложения, ибо тренд. И можно было вкатится в это все громко.

Я не сильно слежу за растом, но по-моему количество сторонников, которые смотрели в его сторону, ранее было больше? Чем они еще отпугнули сообщество? (меня, как уже понятно, вебом).
Аноним 13/06/16 Пнд 03:48:57  768377
>>768208
>>768337
Спасибо что пояснил, анон.
Аноним 13/06/16 Пнд 14:17:43  768594
Хуй знает чем Rust кому-то не угодил. Синтаксис-хуинтаксис, а такую охуенную весщь как cargo чет все упускают из виду.
1) Прописал зависимости в cargo.toml
2) $ cargo build
3) ??? (сборка проекта и зависимостей)
4) ЗКЩАШЕ
Сам перекатился с плюсов и не хочется уходить
Аноним 13/06/16 Пнд 14:24:26  768598
>>768594
>Сам перекатился с плюсов
В этом и суть. Я тоже кончил когда первый раз увидел тот же dub в D (с абсолютно тем же функционалом), но менеджер зависимостей есть в любом современном яп.
Аноним 13/06/16 Пнд 14:31:00  768603
>>768337
Ничего не изменилось, хайпить стали меньше (и хейтеров бампающих этот тред тоже).

>просрали веб
Не, вась, ну ты совсем ебанутый? Какой веб? Нахуя в вебе язык с борровчекингом, лайфтаймами и прочей низкоуровенной няшностью, когда можно написать то же на пхп/раби/питоне думая только о продукте и не думая мозгами?
Аноним 13/06/16 Пнд 15:57:22  768639
>>768603
что ты, что ты, я же не про бложики домохозяек говорю, а про отрасль высоконагруженных (да хоть средненагруженных) микросервисов, которые там в кучу зеленых потоках (корутинах) шустро шуршат в вычислениях и не отжирают тонну памяти и проца просто так.
Аноним 13/06/16 Пнд 16:07:19  768642
>>768639
Тонны памяти стоят заметно меньше, чем команда разработчиков на расте (чем сложнее инструмент – тем выше требуется квалификация и время дл выпуска продукта).

Короче – докупить пару серверов всегда легче, если ты не гугл/фейсбук.
Аноним 13/06/16 Пнд 16:57:30  768663
>>768642
>Тонны памяти стоят заметно меньше
эту фразу до дыр уже затерли те, кто как бы к бизнесу отношения не имеет.
А потом из-за них со всяких пхп, питонов нод.жс переписывают на что-то вменяемое.

В общем есть ниша эта, не хочу спорить, удачи расту на системном уровне
Аноним 13/06/16 Пнд 16:59:39  768664
>>768642
Проблема в том, что этот подход ведет скорее не к тормознутому ПО, а к тому что ПО в принципе не работает или падает с непонятной частотой, и никто нихуя ничего поняить не может как все это пофиксить, ребутнули и живем молимся.
Аноним 13/06/16 Пнд 17:14:10  768683
>>768664
Это ж золотой стандарт легаси! Даже паттерн такой есть: если дёшево падать и подниматься – занимайся этим сколько влезет.

>>768663
>В общем есть ниша эта
В общем, ты вообще не понимаешь о чем говоришь. Почему по твоему даже гугл свои сервисы пишет на яве (кроме поиска с почтой, разумеется)? Прост))) наверн))))
Аноним 13/06/16 Пнд 17:18:37  768686
>>768683
Ну ты просто сокращаешь расходы на дев и поднимаешь на операторов. Из пустого в порожнее. В итоге у тебя пятьдесят дешевых ртов, кто умеет зайти в консоль и пару комманд вбить из гайда. А чем чаще падает система, тем чило этих ртов шириться.
Аноним 13/06/16 Пнд 17:43:08  768714
>>768683
>Почему по твоему даже гугл свои сервисы пишет на яве (кроме поиска с почтой, разумеется)?

ну и почему же?
Аноним 13/06/16 Пнд 17:45:04  768718
>>768714
он наверно имеет ввиду вся джава индус аутсорс.
Аноним 13/06/16 Пнд 17:56:55  768731
14658298153730.jpg (37Кб, 604x545)
>>768714
Потому что тогда не было раста.
Аноним 13/06/16 Пнд 18:07:34  768738
>>768718
В гугле - код пишут индусы в аутсорсе?

>он наверно имеет ввиду
вот мне и интересно, что он имел ввиду
Аноним 13/06/16 Пнд 18:29:33  768746
Вот есть такой инструменты как Dependency Walker и dumpbin /dependents
Как можно автоматически собирать зависимости в одну директорию (ну, кроме системных), если нужно сделать сборку для распространения?
Аноним 13/06/16 Пнд 18:29:42  768747
>>768738
То что ты, животное, читать не умеешь, очевидно.

Я пытаюсь сказать, что если у девелоперов зарплаты не 30 т.р. – железо в большинстве случаев будет банально дешевле команды ртов.
Аноним 13/06/16 Пнд 18:38:53  768751
Помогите, почему peek тут все равно жрет мой токен?
https://gist.github.com/anonymous/bdb8e4b640efe1704bf118a058e02df9
Аноним 13/06/16 Пнд 18:44:06  768754
>>768747
Зарелизили проект, который писали 20 человек, оставили для поддержки только двоих на фиксы и вуаля есть мега-класстер который дороже даже двух этих программистов (даже по расходам на электричество).

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

А джава это компромисс между с++ и чем-то высокоуровневым (да вообще там тысячи причин, это же де-факто стандарт ынтерпрайза, но я хотел услышать это от тебя чтобы удостовериться понимаешь ли ты о чем вообще говоришь или просто генерируешь пену у рта).
Аноним 13/06/16 Пнд 18:53:58  768757
>>768751
Переформулируй свой вопрос, пожалуйста.
Аноним 13/06/16 Пнд 19:34:38  768769
>>768751
https://doc.rust-lang.org/src/core/up/src/libcore/iter.rs.html#3648
Уходит внутрь. При нормальном использовании это норм, но если всё время дропать Peekable, то данные съедаются.
Аноним 13/06/16 Пнд 20:18:00  768798
14658382807220.jpg (126Кб, 1600x1200)
>>768754
Ты все правильно говоришь, и очень странно что в современном мире стало уже хорошим тоном забивать на стоимость железа и все эти мантры про "программисты же дороже".

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

У эрланга, например, очень немало областей, где его применение очень даже целесообразно. Но аккуратно, потому что такого тормоза еще поискать. Часто люди, которые не сталкивались с масштабированием более, чем на десяток-другой машин, приводят аргументы навроде "зато мы быстро сделали, всё работает и похрену, что машинок надо до 5-7 раз больше — наша работа стоит дороже". Для этого надо ну хоть раз рассчитать хоть какой-то нетривиальный проект вплоть до стоимости электричества и аренды места (или хоть стоек) в датацентре. Даже на одной стойке вот только про электричество эти моменты уже становится существенными
Аноним 13/06/16 Пнд 20:22:51  768799
>>768337
>Я не сильно слежу за растом, но по-моему количество сторонников, которые смотрели в его сторону, ранее было больше? Чем они еще отпугнули сообщество?

В первую очередь тем что заебали все перепридумывать и переделывать.
При думали какую-то штуку, обсуждали хуй знает сколько времени - окей, до чего-то договорились, стали делать.
Доделали до половины, тут вкатывается новая пиздатая идея эту штуку делать вообще не такой, обсуждение еще на хуй знает сколько времени - окей, начинают ее, еще недопиленную, перепиливать. И так постоянно.
Аноним 13/06/16 Пнд 21:07:28  768822
>>768799
ну как и с D было, мозгов сделать продукт не хватало, а вот поиграться с кодом - наше все.
Аноним 13/06/16 Пнд 21:17:09  768828
>>768822
С одной стороны да. С другой стороны, есть вот пример Clojure, где Рич и еще несколько его ближайших соратников пилят язык по ночам под одеялом как им нравится, и всех посылают нахуй. И в результате наиболее активные члены сообщества забивают на Clojure хуй, потому что ни их патчи никому не нужны, ни их предложения, ни даже баг-репорты. "Без вас разберемся". И пока Рич красиво придумывает Трансдюсеры, куча core-функциональности нихуя не работает.

Совсем недавно было много обсуждений по этому поводу
http://ashtonkemerling.com/blog/2016/06/11/my-increasing-frustration-with-clojure/
https://news.ycombinator.com/item?id=11883579
https://www.reddit.com/r/programming/comments/4nlhih/my_increasing_frustration_with_clojure/


Это не вчера началось https://www.reddit.com/r/Clojure/comments/3jjit5/what_does_steve_yegge_mean_by_clojure_being/
Аноним 13/06/16 Пнд 21:35:19  768841
>>768822
Ебануктий, у D изначально другая проблема - нехватка людей. Когда его начинали пилить ни у gcc не было отдельного бэкэнда, ни llvm-а не было (он был где-то на диске какого-то студента, ок), авторы были заняты компилятором, при этом хотели более-менее вменяемую стандартную библиотеку с рантаймом - обосрались и у них стало 2 стандартных библиотеки, рантайм до сих пор довольно слабенький (пилит это всё дело 6-8 человек, в свободное время, не считая Александерску, который недавно начал на фултайме над этим работать.

>>768828
Ну, в кложуре всё тоже не так как в расте. В расте есть сообщество как в плюсах комитет - пока все не придут к консенсусу - будут страдать вообще все, только в отличие от плюсового коммитета любят забивать на проделанную работу. Благо что у них есть спонсора и над языком работают на фултайме.
Аноним 13/06/16 Пнд 21:36:51  768843
>>768841
>над этим работать.
Скобочка ) конешно.
>и над языком работают на фултайме.
Благодаря чему видно хоть какую-то доделанность.
Аноним 13/06/16 Пнд 22:32:42  768862
>>768841
Над кложурой тоже работают на фуллтайме, Рич с друзьями в компании https://web.archive.org/web/20140704050611/http://clojure.org/funding

> в кложуре всё тоже не так как в расте
Я и говорил что в кложуре ситуация обратная растовой, что имеет уже свои недостатки.

>в отличие от плюсового коммитета любят забивать на проделанную работу
Вот в этом главная растопроблема.
Аноним 13/06/16 Пнд 22:58:55  768875
>>768828

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

В этом и проблемы этих языков, программисты ими тупо играются.
Аноним 13/06/16 Пнд 23:11:11  768888
>>768875
Чтобы пользовались тысячи и миллионы нужно сделать много чего и вложить дохуя денег.
От языка вообще ничего в этом смысле не зависит.
Решили бы большие дяди вместо Java подарить миру INTERCAL, хуярили бы все сейчас на INTERCAL как миленькие.
Аноним 13/06/16 Пнд 23:14:13  768891
> Rust thread
> срач про D и Closure
Че за хуйня происходит?
Подскажите лучше как распространять бинарники. Запилил я например YOBA-AAA-INDIE-игрулю с дохуищей зависимостей которая компилируется час. Как мне теперь распространить этот продукт конечному юзеру? Подойдет ли для этого 'cargo package'?
Аноним 13/06/16 Пнд 23:17:03  768892
>>768891
> Подскажите лучше как распространять бинарники.
Казалось бы, а причём тут раст?
Аноним 13/06/16 Пнд 23:24:41  768896
>>768892
Вопрос не про сам раст, а про cargo или про инструмент, который решит данную проблему.
Аноним 13/06/16 Пнд 23:31:00  768898
>>768896
Карго это ж только для исходников вроде. С бинарями каждый ебётся как хочет, разве нет?
Аноним 14/06/16 Втр 01:01:18  768945
>>768769
Всё равно непонятно что ты хочешь спросить, честно говоря. Какие данные? Итератор? Структура, по которой идёт итерация? Можешь привести полноценный пример при которых это происходит?
Аноним 14/06/16 Втр 01:11:55  768949
>>768891
Тоже интересует. Вот выше нечто подобное спрашивал: >>768746
Аноним 14/06/16 Втр 05:11:00  768991
>>768663
Потому что час работы навороченного сервера стоит 20$, а час работы программиста - 60$. Вот когда сервера становятся дороже, тогда и начинают переписывать, но происходит это нечасто и не у всех.
Аноним 14/06/16 Втр 08:22:19  769024
>>768991
Тебе говорили уже - возьми и посчитай, и сразу в голове прояснится.
Программист твой 8 часов работает, а сервер 24 - привет, уже сравнялись. Даже пока сервер всего один, а программист все еще пилит эту глюкалу.
Аноним 14/06/16 Втр 08:24:29  769025
>>769024
Программист работает 8 часов и дальше не работает нихуя, а сервер собирает мусор все время. Плюс веб-макака тоже денег стоит, и не всегда дешевле программиста.
Аноним 14/06/16 Втр 08:34:26  769026
>>769025
А ещё веб макака гарантированно быстрее сделает продукт – с его инструментом мозги можно не включать.

А ещё веб макаку можно обучить Goвну за недельку от силы, и она с похожец скоростью будет говнокодить, а не думать хули там компилятор ноет про проёбанный борровинг.
Аноним 14/06/16 Втр 08:37:14  769028
>>769026
>А ещё веб макака гарантированно быстрее сделает продукт – с его инструментом мозги можно не включать.
Макака - это 30% экономии на зарплате, и 300% переплаты на железе.
>А ещё веб макаку можно обучить Goвну за недельку от силы, и она с похожец скоростью будет говнокодить, а не думать хули там компилятор ноет про проёбанный борровинг.
С этим согласен, раст не нужен, когда есть Go и C++.
Аноним 14/06/16 Втр 09:00:08  769035
>>769028
Go не нужен потому есть LuaJIT.
C++ не нужен потому что те кто умеет на нем писать, стоят как три мейнфрейма.
Аноним 14/06/16 Втр 09:01:58  769036
>>769035
>веб макака гарантированно быстрее сделает нерабочее говно, и можно будет нанять программиста это выкинуть и переписать за втрое большие деньги

не благодари, поправил тебя
Аноним 14/06/16 Втр 09:11:16  769039
>>769035
Lua динамически типизирован, а стоимость знающих C++ и Rust примерно равна. Кстати, не такая уж она и высокая, на С++-сеньер стоит столько же, сколько и Java-сеньер, например.
Аноним 14/06/16 Втр 09:20:00  769044
>>769039
Да, Lua динамически типизирован. При чем здесь это его положительное свойство?

Я про сеньёров ничего не говорил. Я говорил про тех кто умеет С++. Их, конечно, больше чем растеров, но только потому что количество растеров равно нулю.
Аноним 14/06/16 Втр 09:28:42  769050
>>639238 (OP)
Напомните, в Петухане Куриханыче можно формошлепить, или все печально, как и в Go?
Аноним 14/06/16 Втр 09:30:02  769051
>>769044
>При чем здесь это его положительное свойство?
Это отрицательное свойство - вместо написания программ приходится писать тривиальные тесты. Впрочем, если тебе это не очевидно, иди нахуй.
Аноним 14/06/16 Втр 09:32:16  769053
>>769050
Всё печально. Вроде есть биндинги для гтк, но формошлёпить не получится. Делай как все нормальные посоны: формошлёпай в html и в свою программу встраивай вебкит, который и будет отображать гуй.
Аноним 14/06/16 Втр 09:35:53  769057
>>769053
А как с Qt? Там можно рисовать формочки в Qt Designer независимо от языка программирования.
Аноним 14/06/16 Втр 09:38:47  769058
>>769057
Нет нормальных биндингов. Есть что-то полурабочее, но последнее обновление крейта с биндингами было 4 апреля, а нового ничего нет.
Аноним 14/06/16 Втр 09:49:40  769067
>>769057
был биндинг к qt-qml. может живо еще
Аноним 14/06/16 Втр 09:55:53  769072
>>768945
Это не вопрос, это ответ.

>>769067
Не юзабельно, увы: https://github.com/cyndis/qmlrs/issues/22
Аноним 14/06/16 Втр 13:12:58  769161
>>769053
Есть альтернатива, тоже html, но с помощью какой-то другой либы (C-шная). но найти не могу.
Аноним 14/06/16 Втр 19:16:11  769438
https://github.com/habitat-sh
Те кто пишет описание продукции, они, случайно, не у юристов учатся формулировать предложения?
Что эта хрень делает? Это типа докера?
Аноним 14/06/16 Втр 23:25:56  769597
Кто-нибудь пояснит, как пользоваться xml-rs?
Смотрю доки, а они там предлагают мне проходиться по всем элементам в документе ЛИНЕЙНО, блядь. Что за обосраное говно? В примере показано, что берется xml документ, и, блядь, ЛИНЕЙНО проходит по всем элементам по порядку, всрав нахуй всю вложенность. Что за пиздец? Почему по-человечески нельзя? Я чего-то не понимаю? Мне что, блядь, парсер xml писать, чтобы распарсить сраную колладу? Как же мне бомбит с этого обосраного говна.
Аноним 15/06/16 Срд 00:11:26  769627
>>769597
Ну ты и лолка. StAX это для бааальших хмлок нужно. А тебе нужен парсер с DOM-деревом и возможно поддержкой XPath.

Вот что нашёл:
https://github.com/shepmaster/sxd-document/
https://github.com/shepmaster/sxd-xpath
Аноним 15/06/16 Срд 10:22:26  769855
Вообще, по поводу библиотек лучше заходить на https://github.com/kud1ing/awesome-rust/ и смотреть что есть.
Аноним 15/06/16 Срд 12:38:18  769927
https://www.rust-lang.org/friends.html
Вот такой список всплыл
Аноним 15/06/16 Срд 23:55:04  770482
Подскажите пожалуйста, как определить сколько стоит скопировать объект. По занимаемой памяти и/или времени.

Хочу узнать, дорого ли будет делать .copy() на итератор. Но интересно, может есть какой универсальный способ и для других объектов.
Аноним 16/06/16 Чтв 00:00:39  770489
>>770482
Кажется, я нашел в книге - https://doc.rust-lang.org/book/benchmark-tests.html
Аноним 16/06/16 Чтв 00:02:32  770492
>>770482
А размер вроде так https://doc.rust-lang.org/std/mem/fn.size_of.html
Аноним 17/06/16 Птн 15:46:30  772048
14661675907630.png (13Кб, 577x527)
Какой есть способ не таскать за собой это перечисление.

Тут https://doc.rust-lang.org/std/any/trait.Any.html
сказано "Unstable (get_type_id #27745): this method will likely be replaced by an associated static"

Но что это за ассоциированный статик я не нашел.
Аноним 17/06/16 Птн 18:06:12  772209
14661759726660.jpg (102Кб, 558x759)
>>772048
Два часа не мог раздуплиться. Оказалось у Any есть еще метод
fn is<T: Any>(&self) -> bool
Returns true if the boxed type is the same as T
Аноним 18/06/16 Суб 23:53:27  773671
14662832077110.png (24Кб, 560x744)
Я все. Может лучше кирпичи таскать
Аноним 19/06/16 Вск 11:53:50  774048
>>773671
Зачем тебе вообще Any?
Аноним 19/06/16 Вск 23:26:27  774893
>>769438
https://www.opennet.ru/opennews/art.shtml?num=44619
Аноним 20/06/16 Пнд 07:32:08  774985
>>769051
В языках со статической типизацией тестов, очевидно, можно не писать?
Аноним 20/06/16 Пнд 07:57:34  774992
>>774985
В статических языках (тем более с адекватной системой типов, а не сишечным стёбом над типизацией) их требуется раз в 8 так меньше чем в динамике.
Аноним 20/06/16 Пнд 08:08:11  774995
>>774992
Какое смелое заявление. Из него можно сделать вывод что семь ошибок из каждых восьми в программах - это ошибки "перепутал литры с килограммами" (ни от каких других статическая типизация не помогает), что реальности не соответствует.

Также интересно узнать, не изменилось ли что-нибудь с момента появления умных тестогенераторов типа QuickCheck (имплементации которого существуют как для Rust - кстати, зачем? в нем ведь тесты можно не писать - так и для динамических языков)?
Аноним 20/06/16 Пнд 09:21:14  775015
Банальную опечатку "сложили вместо того чтоб вычесть" и компилятором не выявишь, а ведь именно такие опечатки и важны, задрачивать все типами чтобы ловить prink вместо print - это очень странное времяпрепровождение.

> пропатчил сигнатуру у функции, в статике ты компилируешь и фиксишь места, где тебе указал компилятор
Используем компилятор в качестве grep - ну что ж, отлично, развиите Computer Science наконец-то увенчалось полным успехом.
Аноним 20/06/16 Пнд 10:22:17  775037
>>775031
>смена интерфейса не превращается в боль (и grep тебе тут не поможет)
Обоснуй.
Аноним 20/06/16 Пнд 10:34:41  775046
>>774992
Тайпчекер может верифицировать программу и доказать ее соответствие спецификациям, но спецификации всегда не полны. Если же спецификации хотя бы близки к полноте, то сложность спецификаций приближается к сложности программного кода - как следствие, в спецификациях будет не меньше ошибок, чем в программном коде. И встает вопрос о том, чтобы верифицировать спецификации - то есть писать спецификации спецификаций. Здесь я вижу один путь - доказывать о программе какие-то отдельные интересные факты. То есть - динамическая типизация с опциональной управляемой статикой, или еще лучше - с системой поддержки контрактов, которые есть как для Lua, так и для большинства динамических языков. Полная же статика - это как колоть орехи микроскопом. Причем тогда, когда микроскопа нет - то есть мы должны для начала этот микроскоп придумать, спроектировать, произвести - и только потом расколоть наш орех. Примитивные системы типов, вроде системы типов хаскеля, и уж тем более раста, не позволяют отловить никаких "интересных" ошибок ("интересными" назовем те ошибки, которые не будут обнаружены на первом же тесте). То есть они, по сути, лишь не дают складывать слонов с телегами - чего явно недостаточно. Когда же мы хотим находить "интересные" ошибки, то приходим к проблемам со спецификациями на спецификации. На практике же мы имеем вполне определенную ситуацию - практически все ошибки подобного характера обнаруживаются при первой же проверке работоспособности кода. 99% незамеченных ошибок - логические, система типов их не ловит. Вот на отладку таких ошибок и следует потратить время, сэкономленное на борьбе с системой типов.
Аноним 20/06/16 Пнд 10:41:41  775050
14664085014680.jpg (30Кб, 408x306)
>>775046
> Тайпчекер может верифицировать программу и доказать ее соответствие спецификациям, но спецификации всегда не полны
Аноним 20/06/16 Пнд 13:04:51  775145
>>775143
Будет использовать умные IDE уровня VisualStudio+ReSharper. Такие, кстати, для Lua есть?
Аноним 20/06/16 Пнд 13:18:50  775164
>>775151
> Что будет делать IDE?
Хуй её знает. Они ж там все файлы анализируют составляют AST-дерево и уже по нему ищут где что используется и переименовывают только нужное. Ну и у тебя на всякий случай спросят, выдав список всех найденных совпадений.
Аноним 20/06/16 Пнд 13:20:40  775167
14664180408760.png (71Кб, 1024x728)
>>775145
https://studio.zerobrane.com/features
Аноним 20/06/16 Пнд 13:48:28  775189
>>775188
Ну ладно. Я тебе верю. Невозможно, так невозможно.
Аноним 20/06/16 Пнд 19:41:06  775402
14664408670430.png (14Кб, 490x441)
14664408670431.png (15Кб, 485x395)
>>774048
Потому, что я совсем не разбираюсь ни в ООП, ни в функциональщине, особенно трудно даются времена, заимствования и трейты с имплементациями (эти подстановки типов с кучей времен рядом сними). А начал изучать все это с раста.

Ну не получается у меня переопределить метод insert для BTreeMap, новый сделать получается, а когда называю его insert, он обращается к оригинальному. Вот пидор
Аноним 20/06/16 Пнд 22:19:05  775494
>>641808
> pijul
Интересная вещь. Никак не могу прочитать какое-нибудь интро в теоркат, чтобы прочитать их статью.

Но раст они зря взяли. Я бы на их месте попытался бы собрать на OCaml-е под винду, либо перекатился на питухон.
Аноним 20/06/16 Пнд 22:33:50  775509
14664512309340.png (13Кб, 498x293)
14664512309341.png (5Кб, 427x140)
14664512309342.png (6Кб, 439x173)
>>775402
https://github.com/rust-lang/rfcs/blob/master/text/1210-impl-specialization.md
https://github.com/rust-lang/rust/blob/ea6b3ddee9663e27221f366671261b21618394a0/src/libcollections/btree/map.rs
Я так понимаю, проблема у тебя в следующем:
1. insert - не trait в оригинале, а просто метод, но ладно
2. Для того, чтобы функцию/трейт можно специализировать, он(а) (оригинал) должен(на) быть помечен(а) default
Аноним 20/06/16 Пнд 23:58:20  775594
14664563002580.jpg (24Кб, 450x353)
>>639238 (OP)
>https://github.com/PistonDevelopers/piston
meine respektierung to all roosters Аноним 21/06/16 Втр 00:37:02  775629
Посмотрел на реализацию хешинга в русте. А там запилили по уму, не как сейчас в C++. Отделили алгоритм хеширования от хешируемого типа.

http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3980.html вроде не берут в C++17 :(
Аноним 21/06/16 Втр 06:50:28  775734
Почему не работает? Хотел контрибьютить в RUSL, но чет не получается. Тока учусь.

https://play.rust-lang.org/?code=%23![feature(libc)]%0Aextern%20crate%20core;%0Aextern%20crate%20libc;%0A%0Ause%20libc::{c_schar,size_t};%0Ause%20core::usize;%0A%23[no_mangle]%0Apub%20unsafe%20extern%20%22C%22%20fn%20stpcpy(dest:%20mut%20c_schar,%20source:%20const%20c_schar)%20-%3E%20mut%20c_schar%20{%0A%20%20%20%20//%20TODO(adam)%20compare%20and%20copy%20as%20word-size%20chunks%0A%0A%20%20%20%20for%20i%20in%200..%20{%0A%20%20%20%20%20%20%20%20dest.offset(i)%20%3D%20source.offset(i);%0A%20%20%20%20%20%20%20%20if%20dest.offset(i)%20%3D%3D%200%20{%0A%20%20%20%20%20%20%20%20%20%20%20%20break;%0A%20%20%20%20%20%20%20%20}%0A%20%20%20%20}%0A%0A%20%20%20%20dest%0A}%0A%0A%23[no_mangle]%0Apub%20unsafe%20extern%20%22C%22%20fn%20strlen(s:%20const%20c_schar)%20-%3E%20size_t%20{%0A%20%20%20%20//%20TODO(adam)%20convert%20to%20checking%20word-size%20chunks%0A%20%20%20%20for%20i%20in%200..%20{%0A%20%20%20%20%20%20%20%20if%20s.offset(i)%20%3D%3D%200%20{%0A%20%20%20%20%20%20%20%20%20%20%20%20return%20i%20as%20usize;%0A%20%20%20%20%20%20%20%20}%0A%20%20%20%20}%0A%20%20%20%20usize::MAX%0A}%0A%23[no_mangle]%0Apub%20unsafe%20extern%20%22C%22%20fn%20strcat(dest:%20mut%20c_schar,%20source:%20const%20c_schar)%20-%3E%20mut%20c_schar%20{%0A%20%20%20%20let%20len%20%3D%20strlen(dest)%20as%20isize;%0A%20%20%20%20for%20i%20in%20len..%20{%0A%20%20%20%20%20%20%20%20dest.offset(i)%20%3D%20source.offset(i);%0A%20%20%20%20%20%20%20%20if%20dest.offset(i)%20%3D%3D%200%20{%0A%20%20%20%20%20%20%20%20%20%20%20%20break;%0A%20%20%20%20%20%20%20%20}%0A%20%20%20%20}%0A%0A%20%20%20%20dest%0A}%0A%0Afn%20main()%20{%0A%0A%20%20%20%20unsafe%20{%0A%20%20%20%20print!(%22{:%3F}%22,%20strcat(b%22a\0%22.as_ptr()%20as%20_,%20b%22_b\0%22.as_ptr()%20as%20_));%0A%20%20%20%20%20%20%20//%20assert_eq!(strcat(b%22a\0%22.as_ptr()%20as%20_,%20b%22_b\0%22.as_ptr()%20as%20_),%20b%22a_b%22%20as%20_);%0A%0A%20%20%20%20}%20%20%20%20%0A}%0A&version=nightly&backtrace=0
Аноним 21/06/16 Втр 07:13:08  775737
>>775494
Раст они взяли чтобы исправить тормоза хаскеля, которые на окамле без анала не покрыть.
Аноним 21/06/16 Втр 08:42:53  775763
>>775737
Асимптотики алгоритма darcs они же исправили своей теорией патчей. Смысл в микрооптимизациях вроде выбора языка?
Аноним 21/06/16 Втр 11:48:30  775841
>>775734
Макаба съела все звёздочки. Дай нормальную ссылку (нажми кнопку Gist).
Аноним 21/06/16 Втр 11:51:48  775845
>>775841
Playground URL: https://play.rust-lang.org/?gist=ed2c4625f0f8bb8476eeaf3a0101f72f&version=nightly&backtrace=0

Gist URL: https://gist.github.com/ed2c4625f0f8bb8476eeaf3a0101f72f
Аноним 21/06/16 Втр 12:30:44  775871
>>775845
Ты пытаешься писать в константную статическую строку. Не удивительно, что у тебя application terminated abnormally with signal 11. Кроме того, у тебя strcat сломан.
Вот, попробовал слегка починить: https://play.rust-lang.org/?gist=7fa075ea95a8248dac19d6772bed7db0&version=nightly Работает даже с включёнными оптимизациями.
Аноним 21/06/16 Втр 12:46:59  775879
>>775871
> if ★dest.offset(len + i)
ffix.
Аноним 21/06/16 Втр 13:00:43  775889
>>775871
Спасибо! А как ассерты делать?
пишу: assert_eq!(strcat(bytes.as_mut_ptr() as _, b"_b\0".as_ptr() as _), b"a_b\0".as_ptr() as _);

а он мне:
thread 'main' panicked at 'assertion failed: `(left == right)` (left: `0x7fff672b3bbe`, right: `0x7f8f1610daeb`)'
Аноним 21/06/16 Втр 13:06:49  775893
>>775889
Ты сравниваешь указатели, а они, само собой, разные.
Аноним 21/06/16 Втр 13:09:51  775897
>>775893
а, вот почему они каждый раз разные.
>(left: `0x7fff672b3bbe`, right: `0x7f8f1610daeb`)'
Аноним 21/06/16 Втр 18:39:58  776146
>>775763
Как только проект у тебя разрастается во что-то побльшее пары-тройки KLOC и это всё безостановочно редактируется это уже далеко не микроопиимизация.
Аноним 22/06/16 Срд 23:51:10  777589
https://github.com/rust-lang/rfcs/pull/1657
Это ОНИ. Да, это действительно ОНИ.
Зависимые типы.
Аноним 23/06/16 Чтв 00:01:11  777596
>>777589
Вот это уже интересно.
Расскажите что сейчас у Rust плохо? (рассказами что в нем хорошо и так весь гугл забит)
Аноним 23/06/16 Чтв 00:10:05  777605
>>777596
Нет HKT, ! (нижний тип) пока ещё не тип, шумный синтаксис, множество фич делает язык не самым лёгким для изучения, автокомплит работает через racer а не через компилятор, инкрементальную компиляцию ещё нет, плагины к компилятору (aka процедурные макросы) в unstable, да и у обычных макросов много чего ещё нет. Ну и так далее.
Аноним 23/06/16 Чтв 00:24:28  777620
>>777605
Спасибо.
Но это все о языке, а что с экосистемой?
Есть ли библиотеки, насколько они в среднем сырые?
Что с community, побороли ли порочную практику долго обсуждать, доделывать до середины, начинать обсуждать как это можно было бы сделать лучше,бросать недоделанное и начинать заново?
Аноним 23/06/16 Чтв 00:29:07  777627
>>777620
> Есть ли библиотеки, насколько они в среднем сырые?
Зависит от того, какие библиотеки тебе нужны. Можешь на https://rust.libhunt.com/ глянуть.
> Что с community, побороли ли порочную практику долго обсуждать, доделывать до середины, начинать обсуждать как это можно было бы сделать лучше,бросать недоделанное и начинать заново?
Не совсем понял, о чём ты.
Аноним 23/06/16 Чтв 10:56:31  777821
14666685918360.png (12Кб, 487x496)
14666685918361.png (7Кб, 376x284)
14666685918362.png (14Кб, 476x552)
>>775897
Может это из-за https://ru.wikipedia.org/wiki/ASLR

>>639238 (OP)
Люди, как можно передать массив (без использования as_ref), чтоб он таки удовлетворил этот трейт?

На втором скрине трейт удовлетворяется, но там принимает переменная, которая может привести Vec<T> в Vec<u8>

На третьем - еще один неудовлетворительный способ
Аноним 23/06/16 Чтв 11:31:50  777860
14666707105110.jpg (77Кб, 450x539)

> Results of Rust Survey 2016
> The first diagram shows that 35.5% of respondents don't use, or stopped using, rust
> https://docs.google.com/document/d/1F6oELZcO_ejX2oVk20hmiBWd4lQugfFahn7OOOOyKsw

/thread
Аноним 23/06/16 Чтв 12:41:33  777979
>>777860
уносите этого.
Аноним 23/06/16 Чтв 13:02:14  778001
>>777860
И что? Может они просто учатся или следят за развитием? Как я например.
Аноним 23/06/16 Чтв 13:27:11  778019
>>777821
У тебя `&[T; n]` вместо `&[T]`. Поэтому тебе нужно или реализовывать типаж для всевозможных n, либо ждать ИХ, либо реализовать для &[T] и использовать метод borrow().
Кстати, есть же `std::convert::From`, зачем велосипеды писать?

>>777860
> 1 in 4 people mentioned Rust's learning curve. People commented on the borrow-checker and how lifetimes were tricky to effectively master. Echoing the complexity concern from non-Rust users, here people also mentioned the sense of a feeling of complexity.
> 1 in 7 people mentioned the lack of libraries. The kinds of libraries people mentioned ran the gamut in terms of topic, covering areas like GUIs, scientific/numeric computing, serialization support, web/networking, async I/O, parallel/concurrent patterns, and richer data structures (including more containers and broader coverage of general algorithms).
> 1 in 8 people mentioned the continued presence and growth of C++ as a challenge. C++ continues to be a vital part of application development, especially systems programming. Its recent interest in static analysis is causing some to wait and see if C++ can close some of the gap.
Аноним 23/06/16 Чтв 15:53:15  778106
14666863953490.png (6Кб, 597x154)
14666863953491.png (13Кб, 547x424)
>>778019
>std::convert::From
С ним у меня не получалось перевести все унифицированно. Кажись проблема со String была. Там нужен был дополнительный шаг или что-то в этом роде.

>либо реализовать для &[T]
Тогда проблемы уже на самом первом этапе.

У меня получалось с AsRef, а не Borrow. Но только напечатать, а не insert'нуть в BTreeMap, к сожалению
Аноним 23/06/16 Чтв 15:54:48  778110
>>777860
Не читается. email ввести просит
Аноним 23/06/16 Чтв 16:08:04  778115
>>778106
Просто делай `b"bytes".borrow().cv()` вместо `b"bytes".cv()`. Незачем придумывать хитрый способ скормить &[T, n].
Аноним 23/06/16 Чтв 18:28:52  778215
>>778110
Зайди в приватном режиме.
Аноним 23/06/16 Чтв 20:06:41  778306
14667016018390.png (11Кб, 445x556)
Я нашел как запретить пользователю в Any какашки запихивать. Теперь не будет во время исполнения вылетать!
Аноним 23/06/16 Чтв 20:46:23  778333
14667039837950.jpg (38Кб, 604x452)
>>778306
А нельзя просто использовать Box<AllowedTypes>?
Аноним 23/06/16 Чтв 21:35:51  778378
14667069520130.gif (1864Кб, 346x194)
>>778333
Я хочу чтоб пользователю функции push не пришлось самому в бокс запихивать.

Еще хотел, чтоб можно было и массивы( &[u8; _] ), и одновременно слайсы( &[u8] ) в аргументе функции передавать, но это оказалось невозможно сделать во время компиляции. (Динамически не проверял вроде, но думаю там можно через коробку опять же.) По крайней мере я почти неделю мучился, так и не нашел способ.
Аноним 23/06/16 Чтв 21:57:46  778410
>>778306
Если у тебя ограниченный набор типов, то почему бы просто не ввести enum и использовать From?
Аноним 23/06/16 Чтв 21:58:57  778413
>>778410
> From/Into
ffix
Аноним 23/06/16 Чтв 22:38:31  778430
Попробовал набросать что-нибудь: https://ideone.com/GMLFj0
Аноним 23/06/16 Чтв 23:21:42  778463
14667133031090.jpg (61Кб, 650x482)
>>778430
Посмотришь на такие решения, и сразу руки что-либо изучать опускаются. Сидишь неделю, ломаешь мозг над одной простой истиной
Аноним 23/06/16 Чтв 23:26:25  778467
14667135851180.png (13Кб, 489x684)
>>778430
После подсказки >>778410 начал вот Такое писать.

Не знал что через перечисление можно передавать значения. Я хоть и читал книгу почти до конца, но в цельную картину она у меня не складывается.
Аноним 23/06/16 Чтв 23:29:47  778471
>>778467
Для цельной картины тебе надо что-нибудь про функциональщину прочитать. С С++ на раст довольно тяжело переходить, потому что большей части фич ООП тут просто нет, либо они реализуются совсем по-другому.
Аноним 24/06/16 Птн 00:33:31  778501
>>778467
Rust by example читай. Ну и https://llogiq.github.io/2015/07/30/traits.html
Да, и в BTreeMap ты скорее всего хочешь хранить Vec<u8>, а не &[u8].
Аноним 25/06/16 Суб 01:31:20  779207
https://github.com/andreaferretti/on-rust-and-nim
Аноним 25/06/16 Суб 10:10:35  779324
>>779207
Сложна, сложнааа, нихуя нипанятна. Как обычно короч.
Аноним 25/06/16 Суб 12:03:50  779363
14668454305020.jpg (103Кб, 604x603)
>>779207
> I am a beginner both with Rust and Nim
> I am looking forward to their 1.0 release (rust v0.12)
Нахуй ты сюда это притащил?

Ну ладно, покормлю:
>the whole language is verbose: compare these 10 lines with this single line
>> Rust - 10 строк - деструктуризация и пустые строки
>> Nim - 1 строка (на деле 2) - обращение к полям
Аноним 25/06/16 Суб 12:32:40  779377
>>779207
Ему надо в раст компиляцию запилить, лол – получится отличный язык и без GC.
Аноним 01/07/16 Птн 16:22:13  785255
У серво теперь ночные сборки есть:
https://servo-builds.s3.amazonaws.com/index.html
Аноним 01/07/16 Птн 22:35:17  785542
Rust опять отсосал у Сишечки
http://lexborisov.github.io/benchmark-html-persers/
Аноним 02/07/16 Суб 10:09:26  785724
>>785255
Нормальную ссылку дай, йобаный https://download.servo.org/index.html

На сосаче по прежнему баги с рендерингом и теперь ещё и со скроллингом :)
Аноним 03/07/16 Вск 11:14:31  786579
Чет про веб не понял, поясните. Зачем вообще кто-то так сильно упирается и хочет использовать раст в вебе? Какие бенефиты по сравнению с традиционными решениями? Подозреваю что в скорости исполнения и пожирания памяти, но хотелось бы увидеть цифиры.
Аноним 03/07/16 Вск 11:51:37  786602

>>786579
>Зачем вообще кто-то так сильно упирается и хочет использовать раст в вебе?
Либо риалтайм проект, либо скудоумие.
>Подозреваю что в скорости исполнения и пожирания памяти
Грубо говоря, чуть больше кушает чем плюсы/няшная по процессору/памяти, но это не всегда эквивалентно времени выполнения – что и как напишешь, конкретных примеров с адекватным сравнением я не видел.

Разница по памяти/процессору в бенчмарках по сравнению с той же явой до 10-20 раз, со скриптотой умножай ещё на 3.
Аноним 03/07/16 Вск 12:04:40  786612
>>786602
Как думаешь, для веб-сервиса аля гугл-поиск подойдет раст? У гугла-поиска по сути одна простая страница, и все самое интересное творится на бэкэнде.
Аноним 03/07/16 Вск 12:34:22  786645
>>786612
А есть причины по которым может не подойти?
Единственная - нахуя тебе тратить в 5 раз больше времени на проект, которым пользоваться будет 1.5 человек включая тебя?

У того же яндекса по заверениям их разработчиков, большая часть поиска до сих пор на перле.
Аноним 03/07/16 Вск 13:03:16  786679
>>786645
В моем случае время не так важно, важна дешевизна арендуемого железа, на котором будет крутиться это дело. То есть нужно чтоб софт был минимально жрущий ресурсы. Присматриваюсь еще в сторону Erlang/Elixir решений, но на Rust я уже имею определенный опыт, написал несколько тысяч строк, а вот Erlang хоть и трогал, но всё-таки это что-то довольно новое.
Аноним 03/07/16 Вск 13:12:23  786682
>>786679
Если так – тот тут только раст (ну ещё может Go подойти, но он тоже достаточно прожорлив).

Эрланг – редкостный тормоз, который специализирован в первую очередь для железного масштабирования, что мягко говоря противоречит твоим целям.
Аноним 03/07/16 Вск 13:21:09  786684
>>786682
Видел что ерланговские бэкэнды держат очень много коннектов одновременных и вообще быстрый респонд имеют. Но подозреваю что если будет что-то более сложное чем отдать страницу клиенту, типа вычисления какие, то тут начинается сосалово.
Аноним 03/07/16 Вск 13:25:14  786688
>>786684
Я выше уже писал на эту тему, повторюсь: прожорливость до ресурсов != скорость выполнения.
Аноним 03/07/16 Вск 13:26:24  786690
>>786688
Имею в виду "много жрёт – не обязательно медленно".
Аноним 05/07/16 Втр 06:03:59  788259
Можно ли констатировать что Rust не взлетел.
Аноним 05/07/16 Втр 09:55:01  788348
>>788259
Нельзя.
Аноним 05/07/16 Втр 11:19:01  788384
>>788259
Летит низенько и точно уж дальше Cyclone (спасибо Samsung & Mozilla). Как убийца плюсов, наверное можно делать выводы - не реализовался.
Аноним 05/07/16 Втр 11:22:23  788387
>>786684
Любая дура с IO на select и асинхронной обработкой (например за счет кооперативной многозадачности на основе библиотеки) держит столько же коннектов. Ессно, сосалово придет вместе с вычислениями.
Аноним 05/07/16 Втр 11:26:12  788389
>>786602
Про десятичный порядок проеба по памяти в сравнении с жабой - верю. Про cpu - не верю. Скорее бинарный порядок, т/е жаба сливает в x2-3.
Аноним 05/07/16 Втр 13:14:29  788441
>>641808
Мне кажется мир еще не осознал всего величия данной штуки.
Аноним 09/07/16 Суб 20:17:23  792401
>>786645
Поиск на крестах, но перл у некоторых подразделений для байнда поиска используется.
Аноним 15/07/16 Птн 12:00:48  796612
Расскажите почему Rust лучше чем Swift?
Аноним 15/07/16 Птн 12:08:04  796619
>>796612
Тем, что работа с памятью явная. И да, swift уже можно запустить на микроконтроллере?
Аноним 15/07/16 Птн 12:21:59  796628
>>796619
Раст ты тоже на МК не запустишь, а бинарь, им собранный, возможно на некоторых камнях.
Аноним 15/07/16 Птн 16:12:19  796767
>>796619
На микроконтроллеры похуй. Во всяком случае пока.
У Rust эта явная работа с памятью может превратиться в такие конструкции, что уже вся эффективность явной работы может похериться. Тут надо быть очень большим спецом по расту чтоб что-то делать. В прочем справкедливости ради надо отменить что надо быть спецом в любом языке чтоб нормально писать.
Аноним 15/07/16 Птн 16:51:12  796787
>>796767
На них вообще всегда похуй, это аргумент из серии "смотри, а я зато на голове стоять умею!". Софту для микроволновки меморисейфети и прочее точно не нужно.

В расте относительно тех же плюсов эта самая работа с памятью вообще скрыта.

Со свифтом его мягко говоря нихуя не корректно сравнивать: сравнение хаскеля с плюсами. Один низкоуровенный даёт рассмотреть все проржавевшие кишки, второй на уровне птичьего полёта даёт глядеть на программу.
Аноним 15/07/16 Птн 17:04:23  796798
14685914632230.jpg (72Кб, 604x368)
>>796787
>Софту для микроволновки меморисейфети и прочее точно не нужно.
Анон, ты бесподобен
Аноним 15/07/16 Птн 17:48:47  796836
>>796787
Можешь более развернуто высказать свое мнение на счет Rust? Ну и немного про Swift, всё-таки тред про раст.
Аноним 15/07/16 Птн 17:57:10  796848
>>796787
>Софту для микроволновки меморисейфети и прочее точно не нужно.
Если микроволновка подключена к интернету, то нужна.
Аноним 15/07/16 Птн 18:17:41  796875
>>796848
А нахуя ей это? Во всяких кококумных домах есть одна центральная пека – там не нужен не перформанс, нихуя, можно хоть жаву накатить.
>>796836
Что именно-то? В свифте нихуя низкоуровенного банально нету, даже ссылок – всё скрыто, в расте – наоборот, вот и всё сравнение.
Аноним 15/07/16 Птн 18:45:20  796893
>>796875
Ты наверное не слышал о находках уязвимости во всяких умных телевизорах, микроволновках, холодильниках.
Аноним 15/07/16 Птн 18:50:34  796898
>>796893
А раст уже успел стать серебряной пулей?
Аноним 19/07/16 Втр 08:11:06  799897
14689050662730.jpg (155Кб, 1280x840)
Скажите, если я буду писать максимально в функциональном стиле на расте, на сколько сильно это повлияет на производительность?
Я имею ввиду, использовать максимум иммутабельности и чистых функций.
Аноним 19/07/16 Втр 08:25:25  799908
>>799897
Зависит от кода же. Просто так в иммутабельности и в чистых функциях нет ничего плохого, даже наоборот.
Аноним 19/07/16 Втр 08:34:07  799916
>>799908
Ну да, ты прав.
Хотя бы может примерная какая-то оценка есть типовых задач, когда мутабельная версия сильно превосходит иммутбельную. Деревья поиска может какие или сортировка, че там еще бывает?
Заметил что в Расте, если идти таким путем - функциональным, то код заметно чище становится и понятнее, и меньше борьбы с борроу-чекером и параметрами времени жизни.
Аноним 19/07/16 Втр 09:20:14  799944
>>799916
Очевидно, копирование больших данных не полезно для производительности, как и слишком частое выделение и освобождение памяти в куче. Ну и ещё плохо, когда данные разбиты на мельчайшие осколки, хаотично расположенные в памяти, с косвенной адресацией на каждом шагу (привет, связные списки).
А вообще, просто пиши чистый и понятный код, и профилируй его периодически. Тем более, что профилировать крайне легко:
http://www.brendangregg.com/FlameGraphs/cpuflamegraphs.html
https://doc.rust-lang.org/book/benchmark-tests.html
Аноним 19/07/16 Втр 12:16:07  800029
14689197675900.jpg (283Кб, 1280x960)
>>799944
А вот move сементика как реализована внутри? Надеюсь не происходит никакого копирования данных?
И еще коль уж начал спрашивать, есть ли где-то наконец-то нормальное пояснение по лайфтайм параметрам? Борроуинг понятен. В принципе даже можно привыкнуть. Немного бесит, что в Rust Book подробно расписывается какая-то херня типа точки с запятой, cargo run, всякие идиоматичности кода (этов ажно, согалсен), всякие циклы, ифы, а блядь самая мутная тема быстро галопом по верхам, я имею ввижу лайфтаймы. Какого хуя?
В своем коде еще сталкивался с такой штукой, что компилятор мне говорил " у тебя вот тут не указан параметр" - ну я взял да указал, и норм стало. Компилятор мог и без меня это сделать. В общем я пока не сталкивался с ситуациями где бы компилятор не могс ам догадаться куда ставить эти параметры. Может есть примеры какие-то?
Аноним 19/07/16 Втр 12:43:01  800047
>>800029
> Надеюсь не происходит никакого копирования данных?
Только данных на стеке, это совсем-совсем дёшево.
> Компилятор мог и без меня это сделать
Мог. Но раст предпочитает явное вместо магии.
http://stackoverflow.com/questions/31609137/why-are-explicit-lifetimes-needed-in-rust/
Аноним 19/07/16 Втр 12:52:06  800052
>>800029
>А вот move сементика как реализована внутри?
Как и в плюсах – просто обнуляется старая ссылка с присвоением значения новой. Учитывая что у раста несколько промежуточных представлений – в банальных случаях в скомпилированном коде этого перемещения не будет вообще.
Аноним 19/07/16 Втр 17:52:46  800315
>>799897
При использовании иммутабельных данных и чистых функций нет семантической разницы между вызовом по ссылке и вызовом по значению (поскольку структуры данных в них являются неизменяемыми, и функция так или иначе не имеет возможности изменить значение своих аргументов), поэтому их обычно описывают как вызывающие по значению, несмотря на то, что многие реализации в действительности используют вызов по ссылке для повышения эффективности.
Аноним 23/07/16 Суб 09:17:30  803315
Я вам верификации принёс: https://github.com/Kha/electrolysis
Аноним 27/07/16 Срд 10:09:37  806651
14696033780140.png (4Кб, 928x208)
Оказывается в Книге был еще один способ проверить палиндром. На всякий случай тут его оставлю.
Аноним 27/07/16 Срд 11:10:48  806670
>>803315
Что это за хуёвина? Влом смотреть презентацию.
Аноним 30/07/16 Суб 01:17:05  808626
>>806651
я что-то пропустил, что за ref? это же по идее & ?
Аноним 30/07/16 Суб 11:14:19  808692
>>808626
http://rustbyexample.com/flow_control/match/destructuring/destructure_pointers.html
По идее, должно быть ∗, но этот RFC не приняли.
Аноним 30/07/16 Суб 11:48:14  808712
https://github.com/tailhook/vagga убийца докера
Аноним 05/08/16 Птн 21:17:22  814082
Стоит ли вкатываться в раст, если до этого писал только хеловорлды на шарпе?
Аноним 05/08/16 Птн 21:19:50  814087
>>814082
Цель-то какая? Если её нету – забей, нахуй не стоит.
Аноним 06/08/16 Суб 13:00:28  814493
>>814082
перекатывайся сразу в хаскель/эрланг и пиши хелоуворды там, делов то
Аноним 06/08/16 Суб 14:34:44  814540
>>718838
А почему в твоей модели возможна разная длительность жизни для hui и pizda? Типа возможен момент времени, когда hui уже будет уничтожен, а pizda нет? Как тогда может существовать в этот момент Customer, он же будет в неконсистентном состоянии?
Аноним 06/08/16 Суб 17:58:04  814701
>>806651
Красота, чо. Прям как в хачкеле.
Аноним 08/08/16 Пнд 16:19:21  816105
>>814540
> Option
Аноним 09/08/16 Втр 10:29:35  816477
>>816105
Это всё равно неправильно. Немножечко окамеля:
type xyupizda = Hui | Pizda
and car = ...
and customer = {
car: car option;
sex: xyupizda
}
Аноним 10/08/16 Срд 17:13:51  817265
let v:Vec<Vec<i32>> = vec![];
v.push(vec![1,2,3,4]);
v.push(vec![5,6]);
v.push(vec![7,8,9,10,11,12,13,14]);
...

Как подобное сделать const?
Например, массив можно сделать
const a: [[4];5] = [[1,2,3,4], [5,6,7,8]...];
но тут каждый подмассив одинаоковой длины должен быть.
Ну или не обязательно const, главное чтоб не динамически выделялась память.

Аноним 10/08/16 Срд 17:50:47  817292
>>817265
што я за хуйню сейчас прочитал /0
1) Раст – хуёвый выбор для новичка;
2) Именно с векторов – никак. Это, сука, динамический массив. И твою задачу без аллокаций памяти не решить – не страдает фигнёй.
Аноним 10/08/16 Срд 18:22:55  817313
>>817292
>Как подобное сделать
Я имею ввиду может какая другая есть структура данных. Никаких измененией данных не планиурется, ни добавление, ни удаление, ни редактирование элементов.
Аноним 10/08/16 Срд 18:26:19  817317
>>817313
Тогда unsafe и c-like указатель на указатель (он же двухместный массив).
Аноним 10/08/16 Срд 23:15:12  817501
>>817313
Непонятно, такое что ли?
let a = [&[1,2,3,4][..], &[5,6][..], &[7,8,9,10,11,12,13,14][..]];
println!("{:?}", a); // [[1, 2, 3, 4], [5, 6], [7, 8, 9, 10, 11, 12, 13, 14]]

Объясни для чего это, чтоб понятней стало что тебе надо.
Посмотри на сорсы макроса vec! или какого там. Сделай себе похожий, если ты хочешь в коде какие-то необычные финтифлюшки удобно вытворять.
Аноним 11/08/16 Чтв 11:52:12  817706
>>817501
Ты - молодец.
Сделал так:
const a:[&'static [usize];2] = [&[1,2,3],&[4,5]];
Аноним 18/08/16 Чтв 12:16:40  822304
Добавьте в шапку и вообще помогите ребятам сделать tiling wm

https://github.com/Immington-Industries/way-cooler
Аноним 25/08/16 Чтв 15:48:16  827105
>>822304
Есть ещё https://github.com/Kintaro/wtftw
Аноним 25/08/16 Чтв 21:40:13  827267
14721504136790.png (102Кб, 944x645)
Судя по комментам, тут более менее вменяемая аудитория, поэтому решился на вопрос.

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

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

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

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

PS Го не предлагать, это без меня :)

Аноним 25/08/16 Чтв 22:49:55  827328
Меня чет порвала эта мелкая нелепость

~~~~
Конкатенация
Но если у вас есть две String, то необходимо использовать &:

let hello = "Hello ".to_string();
let world = "world!".to_string();

let hello_world = hello + &world;
Это потому, что &String может быть автоматически приведен к &str. Эта возможность называется «Приведение при разыменовании».
~~~~

Это конечно лютый пиздец дизайна, вот бля будешь ты ставить про строку + строку (да еще и в циклах) и догадывайся, что там будет происходит какое-то преобразование в строку, но вот в другую "&str" (блять в литерал). Просто высший пилотаж магического дизайна.

Изъебывали язык годами, ожидаешь грамотного академического подхода... а нет, очередная хипстота (но безопасная).

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

И что блять за nth, что блять за экономия символов в 2016 году. Давайте снова писать как WinAPI "LPCSTR" или GJEK!JEJJHKJJKQW, сука...
Аноним 26/08/16 Птн 11:43:07  827608
14722009876020.jpg (16Кб, 384x288)
>>827328
да ты же ролидовый!

это не дизайн, это ЯВНОЕ ЛУЧШЕ НЕЯВНОГО, а ты просто неосилятор. покури маны почему нельзя две строки вот так просто взять и конкатенировать, нахуя срезы и тд
нелепость его порвала, вообще ахуеть
Аноним 26/08/16 Птн 14:04:01  827718
>>827608
>>827608
хуячишь на тысячах языках, конкатинируешь как все вменяемые str1 + str2 (а тут же норм компиляторы собирают через всякие StringBuilder) а тут хуяк в ржавой хуйне надо приписать str1 + &str2, ведь это же блять так явно к неявному, строка каким-то волшебным хером преобразуется к литералу (по сути к константной строке из исходника).

Кококо - я не могу в дискас, назову всех неосилятором.
Какой нахер неосилятор если я пример то понял и его еще привел? Я не говорю что сложно, я говорю ЧТО ГОВНО.

Я уверен если на таком обослались, там дальше будет веселей.
Аноним 26/08/16 Птн 15:00:27  827763
>>827718
пиши макросы, прячь всё за абстракции, хули ты хотел?
не оправдало твои ожидания, сразу говном бросать. обосрались? нет, это как раз та НИЗКОУРОВНЕВОСТЬ

String - это, блядь, вектор в хипе, а срез строки &str, это ссылка на память, которая может быть где угодно. это легко спрятать в макрос и питушки вроде тебя пришедшие с питонов будут и дальше писать строка + строка не задумываясь что там происходит под капотом. отсюда же твоё непонимание про text[3] и text.nth(3). в памяти строки хранятся в utf-8, а там 1 байт не всегда равен 1 символу. text[3] - вернёт четвёртый байт, а .nth сисмвол. что, сука, в своих высокоуровневых комбайнах никогда с байтами не работал? пиздуй в го хомячь, там даже жопу за тебя вытирать будут
Аноним 26/08/16 Птн 16:05:28  827836
>>827763
>пиши макросы, прячь всё за абстракции, хули ты хотел?

Нас ждут тогда полные чудеса.

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

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

Блять, SQL запрос тяжеловесный, давайте сделаем вызов через оператор "-=]}<SELECT...>" - а то блять будут пользоваться такими тяжелыми операциями (ты ощущаешь всю нелепость ситуации и долбоебизма??).

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

Про то как utf8 устроенно будешь на собеседованиях рассказывать и в документации разжевали, но все равно насрали, потому что ты ванька, мы тебя тут оберегаем. Предлагаю получать строку так text[(}3{)] - я бы тут сразу догадался что это трудная операция и подумол много раз (а то прям эти клоуны не будут юзать text.nth(3) автоматом)!!!


PS раньше языки делали для людей, конечно обсерались, конечно на легалиси синтаксисе строили чудовишь, но там никто не пытался показать как кому, что надо делать и когда. Опытные программисты понимают как устроенны хешмапы, массивы, а неопытным со своим бложиком потери в 1мс из-за text.непонятнаяХуйня(3) - ничем ужасным не покажется.

Феномен 21 века, хипстер-архитекторы языков, лол, аж смузи на лептоп пролил
Аноним 26/08/16 Птн 17:12:02  827906
>>827836
ебать у тебя в голове каша

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

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

>хипстер-архитекторы языков
всё с тобой понятно. ты поехавший. хипстеры - это как раз маньки, вроде тебя, которые не хотят ни в чём разбиратся, пусть сычи пишут код, а я не хочу ничего решать, я хочу просто скачать крейт и что бы всё привычно было как пистоне!
Аноним 26/08/16 Птн 19:08:24  827996
>>827906
нахера ты мне про устройство раста каждый раз рассказываешь, я тебя в конкретное говно тыкаю же.

>нихуя не понятно, пиши яснее. какая нахуй "строка в литерал превращаетя"?

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

ПОЭТОМУ

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

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

3. Нахера на операторе конкатенации "строки-из-кучи" и результатом которой будет "строка-из-кучи", делать преобразование в строку-литерал.
Логичнее даже литералы привести к динамичной строке, но не наоборот же.
Ну вот просто - нахрена??
Аноним 26/08/16 Птн 19:35:21  828031
>устройство раста каждый раз рассказываешь

потому что ты не въежаешь в устройство раста.

если ты под литералом имеешь в виду "строку как поледовательность символов", то это данные которые хранятся в String, а $str - это не литерал, а ссылка на данные, срез.
а вот если ты про "константную строку из исходного кода", она представляется тем самым $str.

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

1. потому что это вообще разные сущности, работать с которыми приходится из-за того их не скрыть за zero-cost абстракцией

2. она никуда не преобразовывается, & возвращает ссылку, йтть

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

вообще странно что из всех вычурностей этого ЯП ты приебался к строкам. ведь после понимания owning and borrowing подобные вопросы сами отпадают
Аноним 26/08/16 Птн 19:42:05  828040
>в принцепи
>пи
>с тобой все ясно
лол
Аноним 26/08/16 Птн 19:59:10  828060
>>828031
>а вот если ты про "константную строку из исходного кода", она представляется тем самым $str.

Нехуя ты какой сообразительный, ну наконец-то. Серьезно.
В этом и проблема, я тебе пытаюсь нативные решения объяснить, которые применяются при трансляции языка, а ты мне про документацию из раста.

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

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

То что им пришлось делать две строки и одна из них псевдо-литерал - это обосрамс.
Вот найдешь реально решение почему они
1. Ввели два вида строк (и не надо говорить zero-cost, это оверхед вообще-то)
2. Перезагрузили оператор "+" так что он преобразует (или извлекает ссылку, не важно) &str из вектора, но возвращает вектор (это как если бы складывать int'ы но сначала преобразовывать в long'и).

Вот тогда мы поговорим, а так все пусто. Я аргументирую ты мне документацию рассказываешь (где мотивация эта не расписана)
Аноним 26/08/16 Птн 20:01:00  828065
>>828040
"мне этот собеседник не нравится, но сказать что-то по теме мозгов нет, поэтому я докопаюсь до орфографии"
Аноним 26/08/16 Птн 20:09:55  828071
>>828065
не, если бы мне не нравился собеседник, я бы ен писал. а к орфографии как раз не доебался в ответе, а заметил уже когда перечитывал, оттого и проиграл. а ты чё обиделся?


олсо

ПЕРЕКАТ

http://2ch.hk/pr/res/828070.html
http://2ch.hk/pr/res/828070.html
http://2ch.hk/pr/res/828070.html
Аноним 26/08/16 Птн 20:27:01  828099
>>828060
->
>>828093

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 518 | 58 | 202
Назад Вверх Каталог Обновить

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