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

03/04/16 - Набор в модераторы 03.04 по 8.04
26/03/16 - Конкурс: Помоги гомункулу обрести семью!
15/10/15 - Набор в модераторы 15.10 по 17.10



[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 508 | 14 | 113
Назад Вниз Каталог Обновить

D tret oficialnyj) Аноним 10/01/16 Вск 18:09:11  623030  
14524385519060.jpg (69Кб, 500x742)
Если ты не гей заходи в етот тред об лучшем языке современности)

Когда появился Дэ - страуструп, одерски, гвида, мац, джо, андерс заплакали, когда ричи сообшчили про Дэ он умир. Уолтер Брайт великий человек нашего времени запилил Дэ, и тем самым уничтожил с++, няшную, а заодно и гопарашку, и растодаунов)

Сразу же FAQ про Дэ


1. Впрс: как читатца D ???
Отвт: - как дэ

2. Впрс: чем он лучше чем
Отвт:
дэ в отличии от с, досточно высокоуровневный чтобы в каждой либе непереизобретать ооп, эрленк и хачкель
дэ в отличии от с++ учитца навсигда, а не на 3 года до выхода нового стандарта, когда ты старый ешчё читаеш на 150й странице, и только вот выучил все андефинит бихавир связаные с операндом "+"
дэ в отличии от джавы компилитца сразу же в нативный код, поэтому ненадо устанавливать джре и прочую вендор лок хуйню чтобы твои 30кб кода запустилися
дэ в отличии от хачкеля широко используем в промышленном програмировании
дэ в отличии от лиспа работает на большинстве целевых архитектур а не токо на лис-машинах

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

3. Впрс: где скачать такую годноту????
Отвт: http://dlang.org/

4. Впрс: мне в гейских третах сказали что Дэ ненужен!!!!
Отвт: ты гей если видёшся на вскудахты даунов)
Аноним 10/01/16 Вск 18:19:13  623036
>>623030 (OP)
>)
>Дэ
>эрленк
>ешчё
>компилитца
>умир
Мамку ебал)
Аноним 10/01/16 Вск 19:28:11  623085
>>623030 (OP)
Мамку твою ебал. Сажи.
Аноним 14/01/16 Чтв 02:52:18  625200
ну ты мудак!

гей-программист на D (похоже, единственный в Рашке)
Аноним 14/01/16 Чтв 17:11:54  625515
>>625200
Может быть покажем друг-другу лямбды?
Мимо-гей-программист-на-хаксе
Аноним 14/01/16 Чтв 18:11:51  625534
Тред 10/10
Аноним 14/01/16 Чтв 21:49:34  625720
>>623036
>>623085
>>625200
>>625515
сьебали нахуй отсюдава пидоры))


Аноним 14/01/16 Чтв 21:53:32  625726
Тоже гей, как ни странно, на гейОСе
Аноним 14/01/16 Чтв 21:54:34  625728
>>623030 (OP)
D - это неудачный рефакторинг крестов и фейл во всём.
Скрыл говнотред про мёртвый недоязык.
Аноним 14/01/16 Чтв 22:13:15  625745
мамку ебал))скрыл)))))
Аноним 14/01/16 Чтв 22:16:25  625751
>>625728
Харкачую мудреца. Сажи говнотреду. Скрыл.
Аноним 16/01/16 Суб 10:05:19  626577
>>625751
>>625728

Просто за этим языком не стоит корпораций. Вот вы и беситесь. Го форсят из-за того что его придумал гугл, ангуляр форсят из-за того что его придумал гугл, свифт форсят потому что его придумал эпл. Между тем, корпорации придумывают себе инструмент для конкретной задачи, либо простой vendor lock-in. А быдло жрёт и просит ещё.
Аноним 16/01/16 Суб 10:28:18  626580
>>626577
Просто его разрабатывают вроде умные и опытные люди, а действуют как ебанашки.
Раньше он был более нахайпован, только хули толку если его авторы на какой-то хуй занимались разработкой своего компилятора, вместо разработки 1 стандартной библиотеки и помощи какому нибудь GDC.
Аноним 16/01/16 Суб 15:37:49  626790
>>626580
>авторы на какой-то хуй занимались разработкой своего компилятора
И почему, интересно, авторам языка нельзя разрабатывать эталонный компилятор для их собственного языка? По-твоему, спецификации было бы достаточно? Почему бы Ораклу тогда просто не заняться поддержской gcj, вместо того, чтобы на кой-то хуй пилить собственный комлятор жабы?

>вместо разработки 1 стандартной библиотеки
А сейчас их сколько?

>помощи какому нибудь GDC
Который использует фронтэнд DMD? Это чтобы на какой-то хуй пилить собственный компилятор, пока пилишь собственный компилятор? Или они должны вместо команды GCC пилить их бекэнд?
Аноним 16/01/16 Суб 15:54:11  626798
>>626790
> А сейчас их сколько?
Две, сплюснутые в одну, которая как полторы.
Аноним 16/01/16 Суб 15:59:33  626804
>>626790
Ресурсы были проебаны на 2 компилятора и библиотеки. А потом С++11 подкатил и уже стало не особо интересно.
Аноним 16/01/16 Суб 16:19:49  626820
>>626790
>По-твоему, спецификации было бы достаточно?
По моему, можно было сразу делаеть решение на нормальном бэкэнде с человеческой оптимизацией и прочими плюшками, а не писать своего монстра. Суть компилируемых нативных языков - производительность.
>Который использует фронтэнд DMD?
Дык я и имел в виду допись фронтэнда к gcc. А сейчас там какая-то помойка, которую один компилятор - компилирует, второй - крашится, третий - компилирует с уб. Зато есть один эталонный конпелятор, который конпелирует всё моментально за счёт отсутствия оптимизаций.
>Почему бы Ораклу тогда просто не заняться поддержской gcj
В оракле работают не 2,5 человека, и у них были средства чтобы продвинуть своё говно для кофемолок в массы.

Итог страдания студентотой и "йа сам!": интересный язык так и не взлетел, а говно для кофемолок и холодильников на всех серверах мира.
Аноним 16/01/16 Суб 17:03:03  626868
>>626820
>интересный язык
Та же помойка, что и кресты. И nim. Гумно и нинужно.
Аноним 16/01/16 Суб 17:15:05  626877
>>626868
у тибя иде загрузилась) иди останавливай мир)
Аноним 17/01/16 Вск 09:22:20  627353
>>623030 (OP)
>работает на большинстве целевых архитектур а не токо на лис-машинах
Под pxa270 компилится?
Аноним 17/01/16 Вск 09:23:04  627354
>>623030 (OP)
Алсо, язык уже вышел из состояния вечной бета-версии?
Аноним 17/01/16 Вск 10:22:41  627364
>>626804
>А потом С++11
хех ебанашка))) твой си подплас никаму ненужен, у тебя в канторке ешчё пишут на с++ 91го года))

Аноним 17/01/16 Вск 10:24:26  627365
>>626820
>По моему, можно было сразу делаеть решение на нормальном бэкэнде
у тебя петуха забылися спросить))

> человеческой оптимизацией и прочими плюшками
покпок оптимизация)) ну давай роскажы мне за оптимизации)) лалка

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


Аноним 17/01/16 Вск 10:24:50  627366
>>627354
он там и небыл))
Аноним 17/01/16 Вск 10:26:10  627367
>>627366
Так он ещё и из альфы не вышел что ли?
Аноним 17/01/16 Вск 12:03:17  627407
>>627365
>у тебя петуха забылися спросить))
и абасралися))
>покпок оптимизация)) ну давай роскажы мне за оптимизации)) лалка
ниет)) соси
>лел што????
зачим мне начанать прожэкът на дэ, а не на перле???
Аноним 17/01/16 Вск 12:35:06  627417
>>627407
>ниет)) соси
слив защитан) что и требовалось доказать
Аноним 17/01/16 Вск 12:55:09  627425
>>627417
>слив защитан) что и требовалось доказать
зачим мне разказевать что-та дауничу???)
хош аргументации - вытащи хуйок изо рта)))
Аноним 17/01/16 Вск 14:14:50  627464
>>627425
достал свой хуй у тебя из рта)))
Аноним 17/01/16 Вск 23:26:48  627834
>>627464
покпок хуй))) чо ты там сувал, если он у тибя меньше клитора лольки, как и твой аекью?)))
Аноним 18/01/16 Пнд 17:16:33  628295
dlang.org обновился
Аноним 18/01/16 Пнд 17:30:27  628300
14531274274420.png (0Кб, 51x329)
>>628295
Охуенно стало, но, блядь…
Аноним 18/01/16 Пнд 17:41:13  628306
>>627364
4 года прошло с выхода, уже везде С++11.
Аноним 18/01/16 Пнд 18:09:30  628318
14531297704490.png (42Кб, 224x180)
>>628295
Доброе утро, он в 12 по мск уже такой был.
Аноним 18/01/16 Пнд 18:51:34  628355
14531322944830.gif (12Кб, 250x194)
>>628318
И не говори, четыре часа разницы, ну что за слоупочный анон пошел.
попробую задать серьёзный вопрос Аноним 20/01/16 Срд 08:31:46  629854
если попросить авторов компиляторов Ди добавить обработку в начале файлов крыжика типа @immutable то не получится ли лёгким движениям у нас аналог Rust, где все переменные - immutable?
Аноним 20/01/16 Срд 08:33:01  629855
>>628295
>dlang.org

Server: Apache/2.4.17 (FreeBSD) OpenSSL/1.0.2d PHP/5.6.16

а чего они свой vibe.d туда не прикрутили?
Аноним 20/01/16 Срд 09:20:35  629882
>>629854
Иммутабельность по умолчанию - фишка функциональных языков а не раста, и нинужна.
>>629855
Наверно потому, что он:
а) сделан задолго до вибе.ди;
б) им нужна простая онлайн справка на бесплатной цмс, а не технодемка.
Аноним 20/01/16 Срд 09:52:18  629897
>>629882
>Иммутабельность по умолчанию - фишка функциональных языков а не раста, и нинужна.

pure в D есть тоже ведь

и раст не функциональный, вроде как
Аноним 20/01/16 Срд 10:01:50  629899
>>629897
Есть, но это не фишка по умолчанию.
Раст просто нахватал всех безопасных паттернов из фп и чем то похожую систему типов.
Аноним 20/01/16 Срд 12:50:08  629992
>>629882
> Иммутабельность по умолчанию - фишка функциональных языков а не раста, и нинужна.
Нужна, нужна. А вот как раз мутабельность нужна далеко не всегда.

>>629897
> и раст не функциональный, вроде как
Не функциональный. Но так как функции могут не только брать замыкания, но и быть параметризованными ими, замыкания в расте дёшевы и используются повсеместно.
Аноним 21/01/16 Чтв 18:06:36  631160
Решил упороться сабжем - охуеваю, на кресты без слез смотреть не могу. Никогда не мог в шаблоны на крестах, а тут они пишутся будто их и нету.

Увы, сабжу дико не хватает std.gui и нормальной ide. Пока юзаю эклипс, а плагин к идее виснет при попытке поредактировать код и нихуя не автодополняет, хотя dcd-server нашел и запустил.
Аноним 21/01/16 Чтв 21:02:41  631301
Дишники, хелп.
Вот, есть строка. Которая на самом деле immutable(char)[];
То есть изменяемый массив неизменяемых по одтельности символов.

Как описать такую же хуйню, только фиксированного размера?
immutable(byte)[3] = [1,2,3] это нихуя не то, что нужно.
Аноним 22/01/16 Птн 07:32:54  631641
>>629899
>Есть, но это не фишка по умолчанию.
ну значит запилить поддержку @immutable и @pure для всего исходника. И сразу раст соснёт!
Аноним 22/01/16 Птн 07:33:50  631644
>>631301
immutable(immutable char)[]

?
Аноним 22/01/16 Птн 08:55:46  631662
Дишники, а вас в ди замыкания как диспатчатся: статически или динамически? А захватченное окружение где хранится: на стеке или таки в куче?
Аноним 22/01/16 Птн 09:45:43  631679
>>631644
Хуй там был. Так нельзя менять ни массив целиком, ни отдельно по частям.

А надо, чтобы можно было поменять целиком, но нельзя по частям. Как со строками, только фиксированного размера.

вот так:
(immutable int)[5] fff = [1,2,3,4,5];
не компилится
Аноним 23/01/16 Суб 16:58:00  632808
Дишники, ответьте мне на такой вопрос:
Какого хуя функции для Range не работают с фиксированными массивами? То есть я могу следать map! для byte[], но для byte[40] - хуя с два, мне обязательно надо это говно кастовать.
Аноним 23/01/16 Суб 22:19:07  633041
>>632808
А ты не думал, что byte[40] - обычный c-like массив? Схуяли ему итерируемым быть?
>>631662
Окружение по умолчанию все в куче.
Про замыкания и их диспатч где почитать можно?
Аноним 23/01/16 Суб 22:42:35  633054
>>631679
Видимо, Александерску с Брайтом пытались воссоздать шутку с сишным const, когда он может иметь по 4-6 значений.

immutable(char)[] arr = [1,2,3];
arr = [3,2,8]; // ok
arr[0] = 1; // error: sosi hui
Аноним 23/01/16 Суб 23:49:20  633105
>immutable
Зачем это нужно? В чем отличие от const?
Аноним 24/01/16 Вск 02:08:39  633160
>>633041
>А ты не думал, что byte[40] - обычный c-like массив? Схуяли ему итерируемым быть?
Хуя с 2. byte[40] - точно такой же массив, как и byte[]. Только в его типе уже зашита длина, уже в компилетайме. Сишные массивы там делаются как и в си, малоком и дрочкой с указателем.

И он блять, итерируемый. И через форич. В книжке Александреску написано, что если функция требует T[] - то T[n] автоматом к нему кастуется. Но вот блять, для всяких функций из Range - ничего нихуя не кастуется, везде надо вручную кастовать.

Оно конечно можно и везде T[] ебашить (то есть просто auto), но хочется доп проверки в компилетайме чтобы не проебаться.
Аноним 24/01/16 Вск 02:10:06  633161
>>633054
>immutable(char)[] arr = [1,2,3];
>arr = [3,2,8]; // ok
>arr[0] = 1; // error: sosi hui

Это все понятно. Но как сделать так же, но с массивом фиксированного размера?
Аноним 24/01/16 Вск 02:12:05  633162
>>633105
Если ты про плюсовый/сишный const - то immutable это он и есть.

А const тут - для того, чтобы ставить его в параметрах функции, если ты в функции обещаешь нихера его не менять, но передать тебе туда можно и не immutable.
Аноним 24/01/16 Вск 09:54:15  633238
>>631301
нихуя не понял тогда что ты хочешь
Аноним 24/01/16 Вск 13:28:26  633315
>>629992
>А вот как раз мутабельность нужна далеко не всегда.
Без мутабельности язык выродится в хачкель со всей вытекающей из этого трагедией.
Аноним 24/01/16 Вск 13:42:50  633322
>>633160
Функции из range работают над rangами: выкусывают из него элементы, обрабатывают их и оставляют в range то, что осталось. Такое пройдёт с T[], но не с T[n] – его длину нельзя изменить.
Аноним 24/01/16 Вск 13:45:31  633323
>>631679
>А надо, чтобы можно было поменять
Норкоман, immutable нельзя поменять.
>>631662
>Дишники, а вас в ди замыкания как диспатчатся: статически или динамически?
што
>А захватченное окружение где хранится: на стеке или таки в куче?
Замыкания бывают двух типов: вниз и вверх. У первых в стеке, у вторых в куче.
Аноним 24/01/16 Вск 13:52:55  633327
>>626820
>По моему, можно было сразу делаеть решение на нормальном бэкэнде
Гнусный бакенд ненормальный, а в llvm плюшки завезут в этом году кроме дебага, а некоторые плюшки они сами отказывались брать.
>Суть компилируемых нативных языков - производительность.
Производительность – это алгоритмы. Нативная конпеляция просто позволяет не страдать хуйнёй типа доконпеляции кода во время старта программы.
Аноним 24/01/16 Вск 14:06:01  633330
>>633238
Очевидно же, он посувать руку себе в анус хочет как с const указателями в си:
const char* arr = "qwe";
arr = "vqy"; // ok
arr[1] = 's'; // hui
>>633160
>Хуя с 2. byte[40] - точно такой же массив, как и byte[]
https://dlang.org/spec/arrays.html#static-arrays
>These are analogous to C arrays.
>>633327
>Производительность – это алгоритмы. Нативная конпеляция просто позволяет не страдать хуйнёй типа доконпеляции кода во время старта программы.
Вась, одно из другого напрямую вытекает.

Аноним 24/01/16 Вск 14:14:38  633334
>>633322
Ты какой то наркоман - функции с Range никогда входные данные не меняют, их вход с выходом никогда не пересекаются.

Их суть - ебошить код в функциональном стиле, где иммутабельно все. Они никогда не меняют входной параметр, менять длину им незачем. И вообще - я же говорю, дело решается обычным кастом.
Аноним 24/01/16 Вск 14:17:50  633337
>>633323
>Норкоман, immutable нельзя поменять.
Но строку (string) ты же можешь поменять? Но поменять только целиком - это блять изменяемый массив неизменяемых символов.

Я хочу изменяемый массив неизменяемых переменных фиксированного размера.
Аноним 24/01/16 Вск 15:08:57  633386
>>631160
Попробуй monodevelop/xamarin studio с плугом -- как по мне самая годня ide из тех, что есть сейчас для D
Аноним 24/01/16 Вск 15:14:23  633392
>>633386
Пробовал как то - под линупсом не завелось.
Аноним 24/01/16 Вск 15:22:05  633399
14536381259050.png (381Кб, 1920x1080)
>>633392
Ты чо.
Заскринить автокомплит не могу - сбивается от принтскрина.
Аноним 24/01/16 Вск 15:22:07  633400
>>633392
Вот как раз под линуксом и сижу. Давно пробовал?
Аноним 24/01/16 Вск 15:31:38  633407
>>633400
Ну год назад наверное.
Аноним 24/01/16 Вск 15:36:38  633414
>>633330
>Вась, одно из другого напрямую вытекает.
Что из чего?
Аноним 24/01/16 Вск 15:41:59  633420
>>633337
Строка – ссылочный тип, и ссылка там мутабельная её и можно поменять, а содержимое строка остаётся неизменной. А статический массив – нессылочный тип, с ним такой трюк не пройдёт. Можешь конечно запердолить ссылку на этот массив.
Аноним 24/01/16 Вск 15:46:07  633421
>>633420
То есть T[] и T[n] это не одно и то же, они по разному хранятся?
Я думал что вся разница - это длина уже прошита в типе, а @length - иммутабельна
Аноним 24/01/16 Вск 15:51:10  633429
>>633414
Производительность из нативной конпеляции, а скорость любого, даже самого крутого йобаалгоритма из скорости сгенерированного кода.
Если нет уверенности, что все заёбы разработки на нативном языке окупятся как следует - нахуй такое средство.
Аноним 24/01/16 Вск 16:06:25  633433
>>633421
Да как в сях.
Аноним 24/01/16 Вск 16:07:54  633434
>>633429
Скорость алгоритма происходит из алгоритмической сложности этого алгоритма. Если у тебя экспоненциальный алгоритм, то хоть упердолься с конпеляцией.
Аноним 24/01/16 Вск 16:37:54  633438
>>633434
Если у тебя один и тот же алгоритм вообще любой сложности будет выполнятся с одинаковой скоростью на грамотных реализациях на си и яве - удачи.
Аноним 24/01/16 Вск 16:51:31  633442
>>633429
Но на ди нет заебов - охуенный же язык.
Прям вот как я хотел зделоли.
Аноним 24/01/16 Вск 16:54:45  633446
>>633442
Разве что зависть, что нет возврата нескольких аргументов, как в питоне. А так - похож на питон малость, только ошибки при компиляции выдаёт.
Аноним 24/01/16 Вск 17:00:33  633449
>>633446
Кортежи есть жи (человеческие, не такие крутые как в расте конеш, но не то уродство из C++).
Аноним 24/01/16 Вск 19:22:34  633552
>>633449
И можно в функцию, которая принимает три аргумента, подсунуть тульпу из этих трех типов?
Аноним 24/01/16 Вск 19:52:42  633571
>>633552
Можно её развернуть.
Аноним 24/01/16 Вск 20:21:47  633585
>>633571
А можно примерчик?
Аноним 25/01/16 Пнд 00:05:27  633668
>>633585
>auto hoy = tuple(1, 0.1f, "sosach)");
Можно развернуть по-колхозному простенько:
>myYobaFunction(hoy[0], hoy[2], hoy[1]);
Или вот так, красиво но менее понятно:
>myYobaFunction(hoy.expand);
Или еще вот так можно красоту хуярить:
>auto hoy = tuple!("lenght", "radius", "name")(1, 0.1f, "sosach)");
>myYobaFunction(hoy.lenght, hoy.name, hoy.radius);
Аноним 25/01/16 Пнд 00:31:29  633676
>>633668
Меня походу интересует вариант с expand.
Мне надо что то вроде hoy.expand.myYobaFunction

Щас проверю, позволяет ли.
Аноним 25/01/16 Пнд 11:46:11  633934
14537115720020.jpg (70Кб, 600x450)
Хабар покушать вам принёс:
https://habrahabr.ru/post/275801/
Аноним 25/01/16 Пнд 11:49:26  633936
>>631160
IDE ненужны - достаточно редактора типа нотепад++, кодеблокс или geany

потому что сейчас всякие continous integration, coverage и прочее - всё это делается сторонними программами для которых так и так надо консольный способ сборки иметь.

ебашь конпеляцию в консоли, базарю - ещё захочешь
Аноним 25/01/16 Пнд 12:19:48  633951
>>633934
Rust разрабатывается с конкретной целью - переписать Фаерфокс. Так что вскукерик Александреску, выпустившего говно без задач, веса не имеют.
Аноним 25/01/16 Пнд 12:21:31  633953
>>633951
> Rust разрабатывается с конкретной целью - переписать Фаерфокс
Никто не переписывает Firefox, успокойся.
Аноним 25/01/16 Пнд 12:43:38  633966
>>633934
Эта тема - неспособность видеть высокоуровневую реализацию низкоуровневых шаблонов в коде - в Rust-треде в самом начале обсуждалась.
Аноним 25/01/16 Пнд 13:14:02  633984
>>633966
так поясни - раст лучше ди или нет в этом контексте?

(посматриваю на раст, но пугают меня все эти уёбищные мусорные "fn" и "->". ди от этого избавился и слава богу)
Аноним 25/01/16 Пнд 13:29:20  633990
>>633984
Я выбираю ди, ибо похож на кресты.
А раст - какая то неведомая ебаная хуйня с наркоманским синтаксисом.
Аноним 25/01/16 Пнд 13:47:01  633996
Прочитал статью и не понял почему автор в предисловии наезжает на D, а потом все примеры у него построены на противопоставлении C++

Отдельно обзмеился с предлагаемой там обработкой исключений. В го такое же говно предлагают?

Вброс какой-то
Аноним 25/01/16 Пнд 13:47:36  633997
тут >>633996 речь об >>633934

Аноним 25/01/16 Пнд 13:47:45  633998
>>633984
Вот этот пост: >>572830
>Если на С++ ты пишешь средствами языка, то на С пишешь то же самое, но паттернами. Нужен тебе специализированный вектор? `#define YOBA_VECTOR_T int/#include "yoba_vector.h/#undef YOBA_VECTOR_T/yoba_int yoba;` вместо `yoba_vector<int> yoba`. Исключения - if(!...) goto cleanup; в больших количествах, HRESULT и прочая ебота. И так далее.
>В С++ появилась куча своих паттернов и Rust сделал то же, что и С++ с векторами на дефайнах - оформил это в виде средств языка. На С++ уже давно есть разделение на "библиотечный" код, в котором new и delete разрешены, и код "пользовательский", в котором вместо них нужно использовать умные указатели или векторы. Вот тебе и концепция safe/unsafe, которая вполне рабочая, нужно было ее только оформить в виде части языка. А далее - счастье, ты запретил джуниорам и новичкам в проекте писать unsafe код, и избавлен от кучи проблем. С правилами использования умных указателей все то же самое - они уже давно были на уровне соглашений.
Я D не знаю, но так понимаю, что D - это шаг вперёд в сравнении с С++, а Rust - несколько шагов вперёд. Ни в одном системном языке не было столько статических проверок.
>пугают меня все эти уёбищные мусорные "fn" и "->"
Вообще непонятная придирка. У Раста синтаксис компактный, но читаемый.
Аноним 25/01/16 Пнд 14:01:25  634006
>>633998
в чём суть отказа в расте от исключений? теперь кодер ОБЯЗАН их все обработать, иначе не соберётся или чо?

потому что возврат union из функций, где может быть как результат так и исключение это то же самое что система исключений крестов с разверткой стека и этим вот всем остальным с технической точки хрения
Аноним 25/01/16 Пнд 14:02:36  634008
>>633998
>Вообще непонятная придирка.

В D специально отказались от требующих нажатий шифта стрелок и скобок. Отдельно об этом у них там где-то (на сайте или в книгах) написано. И это реально упрощает (на мой вкус) как написание так и понимание.
Аноним 25/01/16 Пнд 14:04:03  634011
>>633998
>D - это шаг вперёд в сравнении с С++, а Rust - несколько шагов вперёд.

ты сравнить рас т и ди в состоянии? без фанбойства

я заебался уже читать этих хаброёбов, которые дрочат на го, раст и пердуину - никто не может трезво рассуждать там.
Аноним 25/01/16 Пнд 14:11:37  634014
>>634006
>в чём суть отказа в расте от исключений? теперь кодер ОБЯЗАН их все обработать, иначе не соберётся или чо?
Суть в том, что мы готовы написать лишний раз try! ради гарантии обработки исключения, непередачи его выше, чем нужно, за счёт указания в типах.
>это то же самое что система исключений крестов с разверткой стека и этим вот всем остальным с технической точки зрения
Не знаю точно, как исключения в крестах работают. По крайней мере в расте overhead не больший, а может даже меньший, потому что исключения не могут передаваться бесконечо вверх как в крестах.
>В D специально отказались от требующих нажатий шифта стрелок и скобок.
Это хорошо. Я поклонник хорошего синтаксиса в ЯП. Но синтаксис Раста не считаю хуже, он просто другой.
>ты сравнить рас т и ди в состоянии? без фанбойства
Нет. Я сейчас глянул D, последий раз смотрел 4 года назад - вижу, язык неплохо продвинулся вперёд, так что мои старые данные неактуальны.
Аноним 25/01/16 Пнд 14:19:08  634018
>>634006
> в чём суть отказа в расте от исключений?
1. Да, ты должен обработать ошибку. Правда, unwrap — тоже обработка.
2. Тип функции прямо указывает на то, что что функция может вернуть ошибку (как это и должно быть)
3. Нет развёртки стека на каждый чих.
4. Из-за отсутствия HKT в языке нельзя провозгласить Option и Result монадами и использовать do-блоки. Зато есть какой-никакой чейнинг и костыль `try!`.
Аноним 25/01/16 Пнд 14:34:41  634022
>>634014
>Не знаю точно, как исключения в крестах работают
Ви таки будете смеялъсо, но это всего лишь синтаксический сахарок над операторами возврата. Из нескольких функций сразу.
И оверхед там и правда нулевой (почти).
Аноним 25/01/16 Пнд 14:39:00  634025
>>633998
>У Раста синтаксис компактный, но читаемый.
Нихуя не читаемый. Почему окамловский не оставили? Вообще, не понимаю, что всех так к фигурным скобкам тянет. Что один, что второй нахуярили говна какого-то и радуются, но у первого хоть читабельно вышло.
Аноним 25/01/16 Пнд 14:57:15  634035
>>634025
>Вообще, не понимаю, что всех так к фигурным скобкам тянет.
Вы серьёзно? Поебать вообще, скобочки, do..end или ещё какая параша, одих хер ориентируешься по отступам.
Аноним 25/01/16 Пнд 17:07:53  634093
>>633998
>а Rust - несколько шагов вперёд
От C. Не от C++ (если говорить не о C++98).
Позиция "замены плюсов" занята пиара ради, как префикс "java" у "javascript".

Какбе сразу выражу позицию:
C++ говорит - вот тебе супер синтаксис, реализуй чо хош и как хош, полная швабода, хоть роняй конпелятор с аут-оф-мемори бустом кек, только убери C подальше из пользовательского кода и заныкай его в свои недры.
Rust говорит - вот тебе с ссылки-хуесылки, и глобальные переменные, и модель ооп которая покажет все преимущества процедурного подхода, и всё сразу, продолжай писать как на С везде. Только ты будешь это писать как я тебе скажу, потому что ты ОБЯЗАН обрабатывать ошибки и тд.
Аноним 25/01/16 Пнд 17:15:25  634096
>>634093
>Только ты будешь это писать как я тебе скажу, потому что ты ОБЯЗАН обрабатывать ошибки и тд.
Есть unsafe, так что мимо.
Аноним 25/01/16 Пнд 17:21:31  634105
>>634096
Хуёво меткость меряешь, и в D он есть, и в C++ можно писать как в C. Только это не значит, что так надо писать.
Кстати, если я правильно знаю, в расте обработка ошибок построена на системе типов. В unsafe можно на неё просто насрать, используя например, стандартную библиотеку.
Аноним 25/01/16 Пнд 17:22:11  634108
>>634105
>В unsafe можно на неё просто насрать, используя например, стандартную библиотеку?
Это вопрос, если чо.
Аноним 25/01/16 Пнд 18:59:52  634200
>>634108
> В unsafe можно на неё просто насрать, используя например, стандартную библиотеку?
Очевидно, что нет. Хотя, ты можешь сделать transmute и получить UB.
Аноним 25/01/16 Пнд 19:07:08  634206
Обычно просто используется метод unwrap, который или разворачивает значение, или же паникует.
Аноним 25/01/16 Пнд 19:07:14  634207
>>634200
Значится, я таки прав - unsafe это костыль, и легитимными средствами в расте делать что хочешь нельзя.
Аноним 25/01/16 Пнд 19:15:50  634214
>>634207
У unsafe довольно-таки скромная функциональность: https://doc.rust-lang.org/book/unsafe.html#unsafe-superpowers
> и легитимными средствами в расте делать что хочешь нельзя
Можно, но с UB. Прям как в С, лол.
Аноним 25/01/16 Пнд 23:11:34  634432
>>634018
> 1. Да, ты должен обработать ошибку. Правда, unwrap — тоже обработка.

А "снаружи" функции видно какого типа эта ошибка может быть? Как я понимаю, нет.

А значит рано или поздно произойдёт необрабатываемое никем исключение и всё точно как исключениями некрасиво упадёт

>2. Тип функции прямо указывает на то, что что функция может вернуть ошибку (как это и должно быть)

nothrow указывает, что функция не может вернуть ошибку, как это и должно быть
Аноним 25/01/16 Пнд 23:30:01  634455
>>634432
Прежде чем писать фигню иди посмотри вначале как ошибки в расте обрабатываются.
Аноним 26/01/16 Втр 11:25:09  634634
>>634432
Паника существует не для того, чтобы обрабатывать ошибки. Она лишь раскручивает стек, вызывает деструкторы и убивает тред.
В стабильном расте ты даже не можешь отловить панику.
Используя unwrap, ты как бы говоришь «значение или смерть!».
> А "снаружи" функции видно какого типа эта ошибка может быть?
Функция возвращает Result<T, E> же.
> nothrow указывает, что функция не может вернуть ошибку, как это и должно быть
Да, но по-умолчанию функция не должна возвращать ошибку.
В той же Java есть checked exceptions, но это малость костыльное решение.

А вообще, читай http://rurust.github.io/rust_book_ru/src/error-handling.html
Аноним 26/01/16 Втр 11:40:23  634642
>>634634
>Используя unwrap, ты как бы говоришь «значение или смерть!».
Nonnullable система типов синтаксически реализованная через анус, в отличие от такой же хуитки в свифте и котлине. ухади
Аноним 26/01/16 Втр 11:46:09  634644
>>634642
Напротив же, всё максимум прямолинейно.
Можешь глянуть ещё https://wiki.haskell.org/Error_vs._Exception
Аноним 26/01/16 Втр 11:51:23  634647
>>634018
>4. Из-за отсутствия HKT в языке нельзя провозгласить Option и Result монадами и использовать do-блоки. Зато есть какой-никакой чейнинг и костыль `try!`.
Для do-блоков HKT необязательны, как например в C# или Скале - там достаточно чтобы тип имел методы Select/map и SelectMany/flatMap. В Скале HKT есть, но Option, Try и другие монады не принадлежат этому тайпклассу, его вообще нет в стандартной библиотеке.
мимокрокодил
Аноним 26/01/16 Втр 11:57:26  634650
>>634634
>Функция возвращает Result<T, E> же.

а если функция вызывала функцию, которая вернула исключение?

в обычных языках с исключениями этих самых типов исключений может быть хоть сколько вложено же
Аноним 26/01/16 Втр 11:57:51  634652
>>634455
>Прежде чем писать фигню иди посмотри вначале как ошибки в расте обрабатываются.
Так я посмотрел же. Видимо, понял неверно и теперь вот проясняю
Аноним 26/01/16 Втр 12:00:43  634654
>>634650
Нету в расте исключений.
Аноним 26/01/16 Втр 12:04:49  634657
>>634650
Функция `f1` обрабатывает результат функции `f2` типа `Result<T2, E2>` стандартными способами (в которые входит и макрос `try!`).
Вот тебе совсем на примерах, если книгу не осилил: http://rustbyexample.com/error.html
Аноним 26/01/16 Втр 21:05:07  635175
>>634657
ну то есть, строго говоря, мы можем не обрабатывать ВСЕ варианты возможных исключений?

тогда опять вопрос: ну и в чём принципиальная разница между обычными эксепшенами (которым 30 лет и они проверены вдоль и поперёк) и этой хуергой?
Аноним 26/01/16 Втр 23:04:47  635324
>>633934
Из растаманского треда протекли растаманы.
Аноним 27/01/16 Срд 10:37:26  635595
>>635175
В смысле? Есть Result<T, E>, для которого тебе так или иначе придётся делать match с обработкой и результата, и ошибки.
Есть паника, которая убивает тред и не ловится.
Есть unwrap, который делает следующее:
[CODE]
match znachenie {
Ok(z) => z,
Err(o) => panic!("SOSNOOLEY: {}", o)
}
[/CODE]
Есть `try!`, который «значение или возврат!».
Аноним 27/01/16 Срд 22:59:02  636282
>>634654
патаму шта раст сосёт у Дэшачки)
где в вашим расте исключения? где у вас темплайты? где вот ето всё? у вас хотябы static if есь? нету??? ахаха уёбывайте отсюдава из трета белых господ
Аноним 27/01/16 Срд 23:00:01  636283
>>635595
>Есть паника, которая убивает тред и не ловится.
>убивает тред
ахахаха
АХАХАХАХА
АХАХАХАХАХАХ
лол

>match znachenie {
Ok(z) => z,
Err(o) => panic!("SOSNOOLEY: {}", o)
}

худший кот который я видил)
Аноним 27/01/16 Срд 23:07:35  636295
О, оп даун приперся.
Запили ахуенную историю чтоле, где пропадал.
Аноним 27/01/16 Срд 23:22:33  636317
Так есть ли у раста хоть один профит перед дишечкой?
Аноним 27/01/16 Срд 23:27:02  636323
>>636317
Только скорость, вытекающая из C-подхода.
Аноним 28/01/16 Чтв 00:08:41  636373
>>636323
Разве у дишечки есть проблемы со скоростью?
Аноним 28/01/16 Чтв 07:15:30  636550
>>636317
нету, растик сосёт по всем фронтам)
Аноним 28/01/16 Чтв 07:57:14  636552
>>636373
У D есть GC, но нет аффинных типов.
Аноним 28/01/16 Чтв 08:39:07  636559
>>636552
что за афинные типы?
Аноним 28/01/16 Чтв 08:42:00  636561
>>636559
http://mitpress.mit.edu/sites/default/files/titles/content/9780262162289_sch_0001.pdf
Аноним 28/01/16 Чтв 10:09:59  636581
>>636561
И при чём тут скорость?
Аноним 28/01/16 Чтв 10:41:55  636593
>>636581
В том что он лалка.
Раст - изначально сейф сишечка, которая в некоторых местах даже быстрее её например, с правилом "одна ссылка на одни данные" по дефолту обходится алиасинг и в которой ты все делаешь руками.
Ди делался более высокоуровенной сипиптшечкой с gc и пр.
Аноним 28/01/16 Чтв 18:24:23  636999
>>636581
Потому что без них у тебя есть два стула: или ГЦ, или код с memory safety уровня С.

>>636593
> и в которой ты все делаешь руками
Чего же тебе нужно делать ручками в расте?
Аноним 28/01/16 Чтв 18:27:11  637001
>>636999
Хотя, если стандартная библиотека D полагается на GC, то стул на самом деле только один.
Аноним 28/01/16 Чтв 18:52:18  637044
Когда заходишь в Rust-тред, там обсуждают C++ и Go, когда заходишь в D тред обсуждают С++ и Rust.
Может сделаете отдельный срачетред?
Аноним 28/01/16 Чтв 20:20:57  637150
>>637044
Всё познаётся в сравнении, а ты можешь идти сосать член со своей мамашей если что-то не нравится.
Аноним 28/01/16 Чтв 22:12:57  637253
>>636999
Ну в расте ты ж не всё время сидишь на стуле с дилдой (хоть и прямо сидишь). Есть ещё unsafe.
Аноним 29/01/16 Птн 18:36:23  637820
Кто-то ковырял аллокаторы уже? Пилите прохладные, как вы пилите хайлод и риалтайм на этом вашем дэ
Аноним 31/01/16 Вск 02:11:44  639085
>>637820
Я свои аллокаторы пилил. Андрейка как-то заоверинжинирил всё. Мне видится только две стратегии управления памятью: либо ровная сишная куча и индивидуально управляем каждым выделенным куском – но в этом случае не надо ничего абстрагировать, куча так куча, в неё и лезем. Вторая стратегия – выделяем на сцене, а в конце освобождаем всю сцену разом – тут хватит простого делегата, а никакой логики по освобождению не надо. Хайлоад не пишу, пишу маленькие программки, например, хешировалка файлов компиляется в 13кб.
Аноним 01/02/16 Пнд 01:17:12  639908
dmd 2.070 вышел

нихуя не понял про новый алиас для литералов
Аноним 01/02/16 Пнд 06:16:08  639978
>>639908
Ого, алиасы к лямбдам, а я как раз пару недель назад хотел такую штуку.
Аноним 01/02/16 Пнд 12:57:47  640116
>>639978
поясни зачем это?
Аноним 01/02/16 Пнд 13:50:38  640158
>>640116
Просто сахарок синтаксический. Например, когда тебе нужно сделать кучу проверок перебрав кучу данных по шаблону удобнее делать это с новой фишкой:

alias isMyHui = (weight, height) => weight >= 100 && height == 25;
..
search_results += 2ch_cocks.filter!isMyHui;
...
search_results += 2ch_vaginas.filter!isMyHui;
...
search_results += 2ch_cocks.filter!isMyHui;
Аноним 01/02/16 Пнд 14:13:29  640207
>>640158
>alias isMyHui = (weight, height) =>

испортили божественный синтаксис D добавив эту => хуергу
Аноним 01/02/16 Пнд 14:15:43  640211
>>640158
>alias isMyHui = (weight, height) => weight >= 100 && height == 25;

нет, серьёзно, а чем им не подошла обычная функция-делегат с именем? делегаты же есть 100 лет уже
Аноним 01/02/16 Пнд 14:23:00  640219
>>640158
У вас лямбда — НЕ ГРАЖДАНИН что-ли?
Аноним 01/02/16 Пнд 14:34:18  640230
>>640219
Да гражданин полноценных, со своей жилплощдью по документам, хули.
Это фишка - просто защищённое подобие на препроцессор си.
>>640211
Такой синтаксис куда удобнее и компактнее.
>>640207
Отличная хуитка в математическом стиле, которую даже 6-тиклассник поймёт.
Аноним 01/02/16 Пнд 15:03:58  640257
>>640230
> Это фишка - просто защищённое подобие на препроцессор си.
Как-то печально. Могли бы и нормальные лямбды завести, как в расте.
Аноним 01/02/16 Пнд 15:18:10  640267
>>640257
Блядь, а здесь по твоему что?
http://ideone.com/hmUlEJ

Если ты не понял - под "препроцессорной фишкой" я имел ввиду подставку через alias.
Аноним 01/02/16 Пнд 15:25:34  640277
>>640207
Наоборот, эта штука божественна.
Аноним 01/02/16 Пнд 21:28:14  640575
>>640267
блджад, ну и чем это лучше этого?
http://ideone.com/kavnon
Аноним 01/02/16 Пнд 22:12:35  640628
>>640575
С функциональным стилем выглядит куда чище и аккуратнее.
Аноним 01/02/16 Пнд 22:18:15  640637
>>640628
нет

нет вообще никакого "функционального стиля"
Аноним 01/02/16 Пнд 22:25:19  640649
>>640637
Твой вариант выглядит как говно из C++03 где лямбды не завезли.

И таки да - лямбды изначально пришли из функциональщины (с "чистыми" однострочниками и прочим), т.е. нельзя сказать что его нету - код написанный по паттернам фп ты всегда отделишь от обычной императивщины.
Аноним 01/02/16 Пнд 23:53:14  640754
>>640649
> Твой вариант выглядит как говно из C++03 где лямбды не завезли.
> код написанный по паттернам фп ты всегда отделишь от обычной императивщины.

ты лямбды ради лямбд хуячишь? (впрочем, я же знал куда заходил)
Аноним 02/02/16 Втр 00:09:02  640765
>>640754
Я хуячу лямбды ради удобства. А у тебя психическое расстройство манямирка либо неумение держать смысловую нагрузку более 3-х слов, если ты так мои слава интерпретируешь.
Аноним 02/02/16 Втр 00:09:03  640766
>>640754
Почему лямбды ради лямбд?
С лямбдами тупо короче.
Аноним 02/02/16 Втр 00:23:14  640779
>>640754
>>640637
>>640575
>>640257
>>637044
Ахуеть, почему в мой тред заходит такой жывотный скам?
Аноним 02/02/16 Втр 00:25:21  640782
>>640766
> С лямбдами тупо короче.

подсчитай строки-то

Аноним 02/02/16 Втр 00:25:54  640784
>>640779
хаскелисты из своего илитария протекли?
Аноним 02/02/16 Втр 00:26:34  640785
>>640782
Где подсчитать?
Давай пример то.
Аноним 02/02/16 Втр 00:42:17  640795
>>640785
>Где подсчитать?

и

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

ну да ладно, вот ссылки:
http://ideone.com/hmUlEJ
http://ideone.com/kavnon
Аноним 02/02/16 Втр 00:45:28  640800
>>640795
Ты дурак что ли? В треде больше двух анонимов.
>> А у тебя психическое расстройство манямирка либо неумение держать смысловую нагрузку более 3-х слов, если ты так мои слава интерпретируешь.
И сабж писал не я.

По ссылкам прошел, и тут лямбда нахер не нужна.
Лямбды нужны для обработки списков. Короче - подсовывать их во всякие там map! и filter!.
Аноним 02/02/16 Втр 00:52:02  640803
>>640800
К примеру, как их применять: (пишу без IDE по памяти, может и не компильнуться)

bool[] data = [1,0,1,0,1,1,0,1];
//вывести эту ебань как "1010 1101" - группами по 4 цифры
data.map!(x => x ? '1' : '0').chunks(4).join(' ').writeln;
Аноним 02/02/16 Втр 01:10:17  640812
Вышла книга "D Web Development", на английском

скачать pdf без регистрации и СМС:
http://vk.com/doc-471951_437245037

Обмазываюсь не торопясь, разжёвано хорошо, для тупых. Начинают аж с установки конпелятора и описания работы с dub
Аноним 02/02/16 Втр 01:11:07  640814
>>640812
Отлично, то что надо.
Хочу упороться Vibe.d и написать свой двач.
Аноним 02/02/16 Втр 01:21:04  640828
>>640814
та же фигня

это годный шанс для (бывших) плюсоёбов вкатиться в веб. ништяки обещаются знатные - сайт, написанный на компилируемом аналоге С++ должен быть быстрым
Аноним 02/02/16 Втр 01:24:13  640829
>>640828
Если только для себя.
Вакансий по сабжу в лучшем случае не будет еще лет 10, в худшем - никогда.
Аноним 02/02/16 Втр 01:28:29  640836
>>640829
в Рашке - да
но и да, я сам себе начальник

пойдёшь ко мне крудошлёпить веб на D?
Аноним 02/02/16 Втр 07:39:29  640908
>>633386
На этот раз поставил таки MonoDevelop, все срослось.
Как сделать, чтобы блядский консольный вывод не шел в отдельное окно? Галочку в настройках проекта поставил - ему на нее поебать похоже.
Аноним 02/02/16 Втр 07:53:54  640911
>>640803
Фурычит.
http://ideone.com/Gbij27

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

Гребаный автокомплит не понимает, что функцию можно вызвать как метод и нихуя не подсказывает.
Аноним 02/02/16 Втр 09:52:21  640923
>>640803
ну и зачем тут "именованная" лямбда?
Аноним 02/02/16 Втр 12:04:09  640970
>>640908
По хорошему его надо ещё настроить - http://lhs-blog.info/programming/dlang/osvaivaem-monodevelop-monod-chast-i-ustanovka-i-bazovoe-znakomstvo-s-nastroykami/
Аноним 02/02/16 Втр 16:55:09  641219
>>640923
Очевидно, подставлять её, если она используется больше, чем один раз.
Аноним 02/02/16 Втр 17:43:20  641263
>>640970
Ну, полазил я по этим галочкам.
Только вот вывода в нижнюю панель вместо консольного окна там все равно нет.
Аноним 03/02/16 Срд 13:33:19  641804
>>641219
тогда обычная функция бы подошла

тут скорее экономия в отсутствии необходимости многократно писать одинаковые аргументы
Аноним 03/02/16 Срд 15:10:04  641880
>>623030 (OP)
>дэ в отличии от хачкеля широко используем в промышленном програмировании
лал, д конечно интересная затея, но ни о каком широком использовании речи не идет. Сам александреску говорил что используется с ФБ экспериментально, да еще в паре проектов.
Аноним 03/02/16 Срд 17:19:37  642006
>>641880
Если анон хочет профессионально (то есть, за деньги) кодить на D то он мог бы тут или где-то ещё оставить свои контакты.

Месяца через полтора-два мы будем начинать с проект на D и нам нужны будут удалённые кодеры. Единственный минус - зарплата на уровне (Планируем 40к, а может и ниже, доживём - увидим) нищерашкинского рынка питонокодеров.

Проект будет про b2b, базы, формочки, vibed
Аноним 03/02/16 Срд 19:00:19  642091
>>642006
Скилл то какой требуется?
Аноним 03/02/16 Срд 21:54:39  642197
>>641804
Ну и типы параметрам можно не указывать.
Аноним 04/02/16 Чтв 07:00:25  642376
>>641804
Нет, фича очень хорошая.

string str = "429(69-37)+(8-6)/2";
alias isDigit = (x) => (x >= '0') && (x <= '9');
auto tokens = str.chunkBy!((a,b) => isDigit(a) && isDigit(b));*

А теперь попробуй написать это без алиаса к лямбдам.

На ideonone кстати хер зальешь, там старый dmd и в них не умеет
Аноним 04/02/16 Чтв 07:01:09  642377
>>642376
звезды сожрало.

string str = "429*(69-37)+(8-6)/2";
alias isDigit = (x) => (x >= '0') && (x <= '9');
auto tokens = str.chunkBy!((a,b) => isDigit(a) && isDigit(b));
Аноним 04/02/16 Чтв 10:15:37  642428
>>642376
Знаешь, я д не знаю, и не писал на нём никогда, но думаю, это будет как-то так.
string str = "429*(69-37)+(8-6)/2";
bool isDigit(char x) { return (x >= '0') && (x <= '9'); };
auto tokens = str.chunkBy!((a,b) => isDigit(a) && isDigit(b));
Аноним 04/02/16 Чтв 10:47:04  642454
>>642428
Только вот сабж не работает.
Аноним 04/02/16 Чтв 11:30:38  642470
>>642454
Почему? http://ideone.com/tdMnC0
Аноним 04/02/16 Чтв 11:35:38  642472
>>642470
>Почему?
Потому что то, что не работает - ты почему-то закомментировал, лол
Аноним 04/02/16 Чтв 12:39:43  642499
>>642091
> Скилл то какой требуется?

Наш хитрый план состоит в том, что в настоящее время те, кто считает себя D-кодером, имеют скилл выше среднего по больнице (ведь к D приходят не из-под палки, это - осознанное решение)
Аноним 04/02/16 Чтв 12:40:58  642500
>>642377
попахивает говнокодом, слегка
Аноним 04/02/16 Чтв 12:57:22  642513
>>642472
Потому что писало, что у строки нет этого метода. Ты бы разъяснил, ибо я не вижу никакой связи между сахарком для лямбд и левой функцией. Пока это выглядит, как одна из штук, которые принято гринтекстом вбрасывать в треды.
Аноним 04/02/16 Чтв 13:44:31  642532
>>642513
Разъясняю за того анона:
1) Твоё говно не работает, шаблонное питушение для итерации говорит что "predicate is not reflexive";
2) У строки такого метода и нету - это всё метопетушение из std.algorithm и сахар в виде UFCS.

Проверенный на последнем dmd вариант - http://ideone.com/lqiuDc
Аноним 04/02/16 Чтв 13:54:57  642544
>>642500
А что тут говнокодом попахивает?
Вроде все коротко и ясно.
Аноним 05/02/16 Птн 04:52:53  643432
>>642544
на не-ASCII может сломаться
Аноним 05/02/16 Птн 05:04:47  643435
>>643432
не-ASCII в арифметическом выражении не может быть по определению.

Если "сломается" - вылетит эксепшн, который трактуется как "ввели какую-то хуйню"
Аноним 05/02/16 Птн 08:10:55  643459
Дишники, есть сабж.
http://dpaste.dzfl.pl/c29970b821be

На DPaste не работает, компилятор там последний dmd.
У меня та же херня, если собирать Debug.
Но когда я собираю Release - все ништяк и работает.

В чем проблема? Это я где то срукожопил, или баг компилятора?
Аноним 05/02/16 Птн 14:37:44  643661
>>643459
>или баг компилятора?
запросто может быть. я вчера напоролся на баг с enum, у которого тип был структурой - ldc на такое заругался почему-то, мол ожидается float вместо структуры. Так что багов там - внукам ещё останется.

Покажи бажный вывод, лень компилировать
Аноним 05/02/16 Птн 14:38:23  643662
>>643661
>Покажи бажный вывод, лень компилировать
и всё, вижу. говорил же вам - нахуй вы лямбды эти ебёте, пишите как люди декларативно
Аноним 05/02/16 Птн 15:14:39  643688
>>643459
> рефлексивный предикат
Знаешь, что это? Predicate(a,a) должен быть true для любого a. У тебя, если a - не цифры, то предикат false.
ChunkBy требует, чтобы предикат был рефлексивным, транзитивным и симметричным.

Так что здесь и ты накосячил, и компилятор в Release сглючил.
Аноним 05/02/16 Птн 15:31:47  643707
>>643688
Хотя нет, в документации возможность и потенциальность глюков тоже обозначена. Скосячил только программист.

> This predicate must be an equivalence relation, that is, it must be reflexive (pred(x,x) is always true), symmetric (pred(x,y) == pred(y,x)), and transitive (pred(x,y) && pred(y,z) implies pred(x,z)). If this is not the case, the range returned by chunkBy may assert at runtime or behave erratically.

В debug режиме возможно проверяется выход предиката на эти свойства.
Аноним 05/02/16 Птн 15:36:59  643716
>>643707
Ясно.
Тогда я вообще нихера не понимаю, как работает этот хренов chunkBy.
Надо его выбрасывать.
Аноним 05/02/16 Птн 15:52:12  643744
>>643716
Я не вчитывался в код, но мне кажется, нужен унарный предикат, который на вход будет принимать только одно выражение. Почитай примеры в вики.
Аноним 05/02/16 Птн 15:54:40  643749
>>643744
Либо бинарный, если отношение эквивалентности нельзя описать обычным равенством.
std.range Аноним 10/02/16 Срд 01:53:48  648617
14550584288030.jpg (267Кб, 1680x1050)
Поясните такой вопрос: у меня есть некий класс или структура.

Я реализовал для них методы .length() и .opIndex(size_t)

Какой мне теперь шаблон вызвать для неё (и как) чтобы автоматически добавить счётчик и методы типа .popFront(), .empty() и т.п.?

Мануал говорит, что .length() и .opIndex(size_t) достаточно, чтобы сделать finite range из чего угодно, но не говорит как.
Аноним 10/02/16 Срд 01:58:49  648621
>>648617
Ругается оно так:

Error: no property 'opCall' for type 'std.range.interfaces.BidirectionalRange!(MyOwnClass)'
Аноним 10/02/16 Срд 02:02:46  648623
>>648621
Алсо, уже прогрепал весь std.range* на предмет наличия opCall этого - нету там такого совсем!

Чего ей от меня надо?
Аноним 10/02/16 Срд 02:34:35  648633
14550608757700.webm webm file (5910Кб, 688x368, 00:05:30)
— Одну минуту, — громко произнес Александреску, — прежде чем продемонстрировать вам способ распития портвешка, о котором все вы, как будто, позабыли, я должен опорожнить свой кишечник.

Вот каким образом развратник приступил к омерзительной операции. Его окружили четверо Dбилов: один держал наготове большой ночной горшок, второй взял зажженную свечу и подставил ее поближе к анусу, чтобы было лучше видно происходящее, третий сосал ему член, четвертый, перекинув через руку белоснежное полотенце, целовал главпетуха в губы. Тот, опершись еще на двоих педерастов, поднатужился, и как только появилось невероятное количество дерьма, которое обыкновенно и регулярно выдавал хозяин параши, учитывая страшное количество поглощаемого им борща, тот Dбил, что держал горшок, принялся восхвалять экскременты. «Какое прекрасное Dерьмо! — восклицал он. — Ах, господин мой, какое превосходное говно! Как красиво вы испражняетесь». Когда дифирамбы закончились, педераст, вооруженный салфеткой, языком очистил преддверие ануса, а горшечник подставил содержимое горшка под нос Александреску и опять громогласно восхвалял его. После этого мощная струя мочи ударила в рот сосателю, который тут же проглотил всю жидкость, полотенце завершило то, что не мог сделать язык, и четверо петухов, оставшись без дела, долго сосали поочередно язык, фаллос и задний проход распутника.
Аноним 14/02/16 Вск 11:47:34  653422
Есть какой-то http клиент с поддержкой https?
Аноним 14/02/16 Вск 12:16:22  653441
>>653422
std.net.curl разве не поддерживает?
Аноним 14/02/16 Вск 17:02:41  653700
>>648633
соус вебмки
Аноним 15/02/16 Пнд 00:36:18  654343
>>653441
он какой-то унылый, хотет что-то вроде requests для python
Аноним 15/02/16 Пнд 00:48:17  654368
>>654343
Так блядь, у нас теперь самая лучшая хэтэтэпэ библиотека уже унылая.
Аноним 15/02/16 Пнд 21:26:33  655400
>>653422
http://vibed.org/api/vibe.http.client/
Аноним 16/02/16 Втр 10:28:41  655738
14556077217100.jpg (104Кб, 600x800)
А есть штука типа Travis CI, но для Windows и с поддержкой среды D?
Аноним 16/02/16 Втр 12:20:21  655847
>>655738
>типа Travis CI
https://ru.m.wikipedia.org/wiki/Travis_CI
>множестве языков, включая C, C++, D, JavaScript, Java, PHP, Python и Ruby
Какой анон ленивый-то пошёл.
>но для Window
Ой, всё.
Аноним 16/02/16 Втр 12:23:17  655854
>>655738
AppVeyor?
Аноним 16/02/16 Втр 17:56:59  656267
>>655400
Уж лучше std.net.curl чем это наркоманство с делегатами.
Аноним 16/02/16 Втр 23:41:36  656976
>>655854
Он какой-то непонятный

Зашел на их сайт, там просят выбрать язык проекта и ди там в выборе нет
Аноним 17/02/16 Срд 19:30:58  657799
Ух ты.
Ковыряюсь в языке, захотелось одну фишку - switch по диапазонам (типо как 0-9 или a-z в регекспах).
И после гуглинга и пробы выяснилось, что таки сабж есть.

switch (c) {
case '0': .. case '9': c.writeln; break;
default: break;
}


К моему приятному удивлению, сабж компилится и работает.
Так, к слову - вдруг кто не знал.
Аноним 18/02/16 Чтв 17:07:16  658656
Почему все так не любят вибе.д?
Аноним 18/02/16 Чтв 17:14:41  658664
>>658656
А кто не любит то?
Я еще не пробовал сабж, только почитал - но есть планы им обмазаться.
Аноним 18/02/16 Чтв 17:14:43  658665
>>658656
Все – это кто? Пхп-петушки?
Аноним 18/02/16 Чтв 17:17:44  658671
>>658664
>>658665
Ну вот:
>>656267
>>629882
>технодемка.
Аноним 18/02/16 Чтв 17:19:50  658675
Есть ли на дишке операционки?
Типо танненбаумовского миникса, но на сабже? Т.е. академического интереса, а не практического.
Аноним 18/02/16 Чтв 17:28:07  658684
>>658671
Первому петушку не нравится делегаты (хз что именно), второй я не хэйтил ("технодемка" не к вбд относится).
Аноним 18/02/16 Чтв 17:33:19  658693
>>658675
Да
https://github.com/xomboverlord/xomb
Аноним 18/02/16 Чтв 17:38:41  658701
>>658684
>второй я не хэйтил
Ну ладн.
Аноним 18/02/16 Чтв 17:58:04  658734
>>658684
Сам ты петушок. Ничего не имею против делегатов, но вот так вот:

requestHTTP("http://www.example.org/",
(scope req) {
req.method = HTTPMethod.POST;
//req.writeJsonBody(["name": "My Name"]);
},
(scope res) {
logInfo("Response: %s", res.bodyReader.readAllUTF8());
}
);

кверять уеб, это наркоманство
Аноним 18/02/16 Чтв 17:58:55  658735
>>658734
парсер лох

requestHTTP("http://www.example.org/",
(scope req) {
req.method = HTTPMethod.POST;
//req.writeJsonBody(["name": "My Name"]);
},
(scope res) {
logInfo("Response: %s", res.bodyReader.readAllUTF8());
}
);
Аноним 18/02/16 Чтв 18:13:31  658752
>>658735
Так это стандартная хуитка с колбэками, в curl и прочих асинхронных библиотеках то же самое.
Аноним 18/02/16 Чтв 18:20:55  658757
>>658752
Это да, но когда тебе нужно просто запостить пару байт в уеб, вот это вот намного проще:

import std.net.curl;
auto content = post("d-lang.appspot.com/testUrl2", [1,2,3,4]);
Аноним 18/02/16 Чтв 18:21:45  658759
>>658757
Ну так и юзай это, когда тебе пяру байт нужно.

Чего на говно исходить?
Аноним 18/02/16 Чтв 18:23:32  658760
>>658759
ебать ты упорот, где я на говно исходил? просил же говно уровня request из python
Аноним 18/02/16 Чтв 18:36:13  658774
>>658760
Нету ничего такого - ни гугл, ни регистр dub-а ничего не дают можешь сделать хорошее дело и написать, если очень нужно. Видимо, D в REPL-е не используют, и не ебут мозги чтобы не писать 2 лишние строки кода.
Аноним 18/02/16 Чтв 18:58:19  658789
Помогите наркоману. Есть json такого вида:
{
"errors": {
"size": 3,
"error": [
{
"message": "spam"
},
{
"message": "eggs"
},
{
"message": "fubu"
}
],
"start-index": 0,
"max-result": 3
}

Хочу с помощью Json от vibe.d сделать что-то вроде с помощью each и join из phobos:

test["errors"]["error"].each!(x => x["message"]).join;

но эта сука ругается:

source/app.d(28,75): Error: template std.array.join cannot deduce function from argument types !()(void), candidates are:
/usr/local/Cellar/dmd/2.070.0_1/include/dlang/dmd/std/array.d(1550,41): std.array.join(RoR, R)(RoR ror, R sep) if (isInputRange!RoR && isInputRange!(Unqual!(ElementType!RoR)) && isInputRange!R && is(Unqual!(ElementType!(ElementType!RoR)) == Unqual!(ElementType!R)))
/usr/local/Cellar/dmd/2.070.0_1/include/dlang/dmd/std/array.d(1627,41): std.array.join(RoR, E)(RoR ror, E sep) if (isInputRange!RoR && isInputRange!(Unqual!(ElementType!RoR)) && is(E : ElementType!(ElementType!RoR)))
/usr/local/Cellar/dmd/2.070.0_1/include/dlang/dmd/std/array.d(1713,41): std.array.join(RoR)(RoR ror) if (isInputRange!RoR && isInputRange!(Unqual!(ElementType!RoR)))
Аноним 18/02/16 Чтв 19:02:51  658796
>>658789
each же нихуя не возвращает, тебе разве не map нужен?
Аноним 18/02/16 Чтв 19:06:05  658802
>>658796
Другая хуйня:

/usr/local/Cellar/dmd/2.070.0_1/include/dlang/dmd/std/algorithm/iteration.d(552,20): Error: cannot implicitly convert expression (this._input.opDispatch()) of type Json to bool
/usr/local/Cellar/dmd/2.070.0_1/include/dlang/dmd/std/algorithm/iteration.d(473,16): Error: template instance app.get_bamboo.__foreachbody2.MapResult!(__lambda2, Json) error instantiating
source/app.d(28,50): instantiated from here: map!(Json)
Аноним 18/02/16 Чтв 19:06:47  658804
>>658802
Вот для такого:

test["errors"]["error"].map!(x => x["message"]).join;
Аноним 18/02/16 Чтв 19:07:36  658807
>>658804
Можно кусок кода целиком?
Как этот test воссоздать? И желательно без vibe d, он у меня не установлен.
Аноним 18/02/16 Чтв 19:10:53  658813
>>658807

Вот json строка:

`{
"errors": {
"size": 3,
"error": [
{
"message": "spam"
},
{
"message": "eggs"
},
{
"message": "fubu"
}
],
"start-index": 0,
"max-result": 3
}`

можешь ее использовать, но подозреваю, что тут с vibe.d связано
Аноним 18/02/16 Чтв 19:23:05  658822
>>658813
Я никогда не юзал json.
Напили минимально-работоспособный main.d. Или минимально-неработоспособный.

Пока я ставлю этот хренов вайбер
Аноним 18/02/16 Чтв 19:30:46  658831
>>658822
Уже нашел, спасибо. Вот работающий код:

test["errors"]["error"].get!(Json[]).map!(x => x["message"].get!string).join("\n\n");

В IRC #d помогли если что.
Аноним 18/02/16 Чтв 19:33:41  658834
>>658831
Круто. А я вот не втыкаю: dub мне сгенерил демку, а в app.d нету main, я пытаюсь его добавить - пишет, что второй main низзя.

Где первый? Как это все пашет?
Аноним 18/02/16 Чтв 19:38:33  658842
>>658834
все ок, там вместо mail

shared static this()

он нужен для того, что-бы vibe.d встроил твой говнокод в event-loop
Аноним 18/02/16 Чтв 19:38:56  658843
>>658842
>mail
main
быстрофикс
Аноним 18/02/16 Чтв 19:39:45  658847
>>658842
Я уже нашел, в дабфайле нужно VibeDefaultMain заменить на VibeCustomMain

Мне то евентлуп этот хренов не нужен сейчас, мне жсон обработать и отвалиться.
Аноним 18/02/16 Чтв 19:40:39  658849
Кстати а это нормально, что его хелловорлд браузерный так долго компилится?
Аноним 18/02/16 Чтв 19:40:59  658850
>>658847
можно просто к хуям удалит строку
"versions": ["VibeDefaultMain"]
из dub.json
по дефолту он работает с VibeCustomMain
Аноним 18/02/16 Чтв 19:41:54  658853
>>658850
Пусть лучше будет явно, чем неявно.
Аноним 19/02/16 Птн 22:11:34  660224
>>658822
чтобы юзать Json весь Vibe целиком не надо в зависимости, достаточно добавить "vibe-d:core"
Аноним 20/02/16 Суб 03:03:29  660720
>>660224
по моему vibe-d:data все таки
Аноним 20/02/16 Суб 12:58:48  660873
>>660720
точно, затупил

это относительно недавно всё появилось в нём
Аноним 21/02/16 Вск 01:28:09  661507
>>658831
>В IRC #d помогли если что.
Спасибо за намек.

Зашел сегодня сам туда по одному вопросу - охренел. В момент накидали советов по делу, я аж не ожидал.

Мда, двач развращает. Просто поразительно, что где то можно вести нормальный диалог.
Аноним 22/02/16 Пнд 06:40:10  662746
Любопытное открытие: есть эквивалентные проги на D и на джаве. И они подают в консоль выхлоп - примерно 400к строк.

Так вот - если запустить time, а выхлопу заткнуть рот через tail -n 0 - то дишная прога станет в 2 раза быстрее, а жабная - в 2 раза медленнее.

Интересно, почему...
Аноним 22/02/16 Пнд 06:43:39  662747
>>662746
>Любопытное открытие:
А еще, как выяснилось, обработка исключений - пиздец дорогое удовольствие.

Если прицепить ifThrown к функции, которая может дропнуть исключение, и выполняется 1 миллион раз - прога замедлится в 10 раз.
Аноним 22/02/16 Пнд 09:49:54  662777
>>662747
Свежесть уральских гор, лол. Они даже в больших C++ проектах не используются, посмотри тот же Google style guide.

Алсо, это зависит ещё от компилятора – тот же ldc может в Itanium ABI с его "zero cost" исключениями. Правда, таковые они разве что по сравнению с обычными.
Аноним 23/02/16 Втр 09:46:48  663648
>>662747
>Если прицепить ifThrown к функции, которая может дропнуть исключение, и выполняется 1 миллион раз - прога замедлится в 10 раз.

Не должно быть такого. Попробуй без ifThrown отлавливать

Дело в том, что обработка исключения удовольствие дорогое, но исключение - штука редкая так-то если.
Аноним 23/02/16 Втр 11:26:44  663692
>>663648
>Не должно быть такого. Попробуй без ifThrown отлавливать
https://github.com/D-Programming-Language/phobos/blob/master/std/exception.d#L1572
Это просто шаблон для однострочной отловки исключения, дело тут именно в исключениях, которые к каждому вызову довешивают ещё по 5 инструкций.
Аноним 23/02/16 Втр 17:36:54  663946
>>663692
>Это просто шаблон для однострочной отловки исключения, дело тут именно в исключениях, которые к каждому вызову довешивают ещё по 5 инструкций.
ровно столько довешивают, сколько бы инструкций было бы потрачено на ручную проверку кода возврата
Аноним 23/02/16 Втр 17:39:12  663948
>>663946
если бы код возврата приходил в тупле, а не в той же переменной, что и результат, конечно
Аноним 23/02/16 Втр 18:34:50  664002
Пытаюсь на vibe.d небольшой сервисок для дела наковырять. В общем нужно:
1. Получить post запрос
2. Ответить, что получил
3. Дернуть другой сервис на основании данных из запроса
4. Запулить данные из предыдущего сервиса в третий

Последние 2 хотелось бы делать в отдельном потоке, но как это лучше сделать на vibe.d учитывая, что результат меня мало волнует, его можно просто залогать. То есть отработку завершения сборки и отправки данных Я делать не буду. Короче, накидайте как правильно это делать, можно на пальцах, бес практис и вот это вот все.
Аноним 23/02/16 Втр 20:06:19  664104
>>664002
Я другой чувак, и у меня животрепещущий вопрос: Vibe.d могет в Diet шаблон с жабаскриптом? Нужно вернуть html с canvas'ом, который отображает точки на холсте, а вот сами точки должны быть динамическими и получены от проги на D.
Аноним 23/02/16 Втр 20:10:02  664109
И еще вопросец - тут есть set(контейнер множества), или придется искать как накостылить его на библиотечной RedBlackTree! ?
Аноним 23/02/16 Втр 20:26:08  664137
>>664104
http://vibed.org/templates/diet
> The main difference is that you write D expressions and statements instead of JavaScript.
Аноним 23/02/16 Втр 20:33:24  664151
>>664137
Круто, че. А как мне без джаваскрипта в html5 канваси вообще любой графон кроме текста?
Аноним 23/02/16 Втр 20:39:35  664161
>>664151
Хотя нет, средства для него таки есть
https://github.com/rejectedsoftware/vibe.d/issues/9
Аноним 23/02/16 Втр 20:41:50  664166
>>664161
Надеюсь, выгорит.
У Дэ с графоном все печально? Нет никаких еще попыток создать "import gui.*"?
Аноним 23/02/16 Втр 20:47:20  664183
>>664166
>Надеюсь, выгорит.
Всмысле?
>У Дэ с графоном все печально? Нет никаких еще попыток создать "import gui.*"?
1) Где взаимосвязь графона с гуем?
2) http://code.dlang.org/packages/tkd
http://code.dlang.org/packages/gtk-d
%и ещё куча обвязок для Qt и проч.% - есть, в основном порты, ибо всё давно написано и переписано.
Аноним 23/02/16 Втр 20:47:48  664185
>>664183
Алсо, ещё есть десяток говняшек для шинды онли.
Аноним 23/02/16 Втр 21:45:05  664271
>>664183
>>У Дэ с графоном все печально?
вчера попадались биндинги аж для Вулкана новомодного
Аноним 23/02/16 Втр 21:46:00  664273
>>664104
>Я другой чувак, и у меня животрепещущий вопрос: Vibe.d могет в Diet шаблон с жабаскриптом?
да

книжку про vibe новую погрепай - там есть
Аноним 23/02/16 Втр 21:49:03  664281
>>664271
Ого! Ссылочку можно?
Как раз хотел дождаться свежей LTS убунту и попробовать в пуканвулкан.
Аноним 23/02/16 Втр 21:51:36  664289
>>664281
https://github.com/Rikarin/VulkanizeD
Первая ссылка в гугле.
Аноним 23/02/16 Втр 22:03:02  664314
>>623030 (OP)
Что пишут на D? Бот к онлайн игре, парсер твитера, веб сервер или ддос можно на нем написать?
Аноним 23/02/16 Втр 22:05:25  664319
>>664314
Всё можно.
>ддос
Только ты ёбнутое животное, иди в пхп или питон тред.
Аноним 23/02/16 Втр 23:00:02  664416
>>664319
Угадал, я и так с питоном и жабой работаю.
Аноним 24/02/16 Срд 08:12:37  664798
14562907577730.png (192Кб, 1920x1200)
Решил я знатно упороться, и попробовать пописать на сабже для своего планшета. Накатил на него бубунту, поставил ldc. И тут такая непонятная хрень.

Что сие значит?
Аноним 24/02/16 Срд 08:29:23  664800
ИЧСХ - хелловорлд на крестах собрался, хоть и не без бубна - из домашней директории запускать мне его не давало, пока не скопировал в /usr/bin
Аноним 24/02/16 Срд 08:37:46  664810
14562922670420.png (216Кб, 1920x1200)
>>664798
В топку ldc, поставил gdc и заработало.
Эхх, к нему бы графоний...
Аноним 24/02/16 Срд 09:39:39  664837
>>664798
Вопрос только один – нахуя? %тут пикча про автобус который можно сделать из хлеба%
Аноним 24/02/16 Срд 09:40:52  664838
>>664837
А почему бы и нет?
Аноним 24/02/16 Срд 09:51:55  664846
>>664810
>Эхх, к нему бы графоний...
Dlangui юзает для отрисовки SDL, судя по вики - вяленый и мир добавили в него в версии 2.0.2, а по дефолту - 2.0.4. А в репах 2.0.0.

Жалко...
Аноним 24/02/16 Срд 10:00:52  664853
>>664838
Можнт потому, что это сувание руки в анус, и дальше хэловорда ты с планшета м всё равно не уедешь?
>>664846
Зачем вообще кому-то может пригодится это убогое поделие, когда для D есть полноценные качественные биндинги под всё – от Tcl до Qt?
Аноним 24/02/16 Срд 10:08:21  664856
>>664853
>когда для D есть полноценные качественные биндинги под всё – от Tcl до Qt?

Я не хочу биндинги блять, я хочу нативную библиотеку - я хочу import gui.qml; import gui.widgets и т.д.

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

К примеру - нахуя нужен QThread и ему подобные, если тут есть нативные потоки? Нахуя нужен QString, когда тут нормальные строки? Нахуя нужен QtNetwork, когда есть нормальная сеть + Vibe.d? И так далее.

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

>Можнт потому, что это сувание руки в анус, и дальше хэловорда ты с планшета м всё равно не уедешь?
А вдруг? Я напишу для убунты двач.браузер, учитывая ее пустой тухлый маркет - это даст огромный толчок к появлению новых пользователей у мобильной убунты, Шаттлврот восхитится, позовет в Британию работать на него и в моем личном кабинете лично мне отсосет.
Я так устал, что даже когда обосрусь на лекции - это меня не разбудит
Аноним 24/02/16 Срд 10:28:15  664871
>>664856
>Я не хочу биндинги блять, я хочу нативную библиотеку - я хочу import gui.qml; import gui.widgets и т.д.
Для тебя добавить одну строчку в dependecies dub-файла, видимо, представляется невозможным.
>К примеру - нахуя нужен QThread и ему подобные, если тут есть нативные потоки? Нахуя нужен QString, когда тут нормальные строки? Нахуя нужен QtNetwork, когда есть нормальная сеть + Vibe.d? И так далее.
Потому что это легаси из начала 2000-х. Тебя никто не заставляет их использовать, код прекрасно разделятся.
>А по поводу "нормальных биндингов" - насколько я помню, QtD протухла, и вроде аж на 4й ветке, а я без qml уже жить не хочу.
Для 5-ф ветки есть DOtherSide, тоже протухший похоже.

Суть в том, что если ты хочешь сделать нормальный кроссплатформенный софт, который выглядит не как инопланетное говнище даже на своей единственной платформе, то выхода тащем-та и нету ни на каком языке – везде всё на биндингах Qt/Tk и иногда Gtk.
Аноним 24/02/16 Срд 10:36:43  664875
>>664871
>Тебя никто не заставляет их использовать
Да ну? Разве Qt не на них целиком завязан? Тот же qml завязан на QVariant, который завязан на всякие QString/QList/QObject и прочую парашу.

На 90% Qt - это попытка завернуть говно в красивую обертку. Нахер все это нужно, если в phobos все это нормально уложено и без костылей? Я мечтаю, чтобы из Qt выдрали язык Qml и его API (т.е все до единого элементы, Text-Rectangle-Layout-whatever...) и перетащили в D, а все остальное выкинули КЕМ.

А биндинги - это костыли в квадрате, сперва костыли к крестам - так теперь еще и вызываются из другого языка, костыльно и устарели к хренам. Проще тогда уж просто на крестах налабать.
Аноним 24/02/16 Срд 10:42:08  664877
>>664875
>А биндинги - это костыли в квадрате, сперва костыли к крестам - так теперь еще и вызываются из другого языка, костыльно и устарели к хренам.
Так и напиши – я не смотрел не одного биндинга, кроме Qt, но считаю всё костылями.
Аноним 24/02/16 Срд 10:49:32  664885
>>664877
>Так и напиши – я не смотрел не одного биндинга, кроме Qt, но считаю всё костылями.
Я писал на Qt - я его знаю, все его гребаные QSomeShit-классы. Я таки считаю, что Qt - лучший для гуя из всего, что только создавалось, и вообще образец планирования API.

А что, кроме Qt, ты предлагаешь? Какой-нить биндинг к SWT, который и в жабе то послали на хуй и заменили javaFX? Только Qt предлагает декларативное описание интерфейса и логики и динамическое вот это все, а от говна уровня 90х Widget button = new Button("якнопко") - блевать тянет.

P.S: смотрю, в списке биндингов появился dqml, и судя по examle'ам они именно сделали как я хотел = спиздили qml подчистую. Надо посмотреть, если не протухло и актуально - будет великолепно
Аноним 24/02/16 Срд 10:59:45  664891
>>664885
Хотя, тоже говно и костыли.

Взять хотя бы
auto app = new QApplication();
scope(exit) destroy(app);

После каждой строчки писать этот scope(exit) - пиздос же. Сборщик мусора есть, а все как негры вручную.
Аноним 24/02/16 Срд 11:21:22  664899
>>664885
>Какой-нить биндинг к SWT, который и в жабе то послали на хуй и заменили javaFX
Если у тебя всё заканчивается на этом - используй это.
>Widget button = new Button("якнопко")
Есть Gtk, обладающий и нормальной обёрткой (без костылей), и даже формошлёпством. Есть Tkl если кажется что всё - монструозное говно.
>После каждой строчки писать этот scope(exit) - пиздос же. Сборщик мусора есть, а все как негры вручную.
Так ты не только память очищаешь. Сборщик мусора не дошёл до того, чтобы за тобой например открытые файлы закрывать.
Аноним 24/02/16 Срд 11:28:19  664905
В D есть GC? Язык месты в таком случае: нет виртуальной машины и нет ебли с памятью. Очень жаль, что не взлетит уже никогда.
Аноним 24/02/16 Срд 11:30:17  664906
>Язык мечты
Сука.
Аноним 24/02/16 Срд 11:30:47  664907
>>664899
>Сборщик мусора не дошёл до того, чтобы за тобой например открытые файлы закрывать.
Лол, схрена ли? Взять тот же Qt-шный QFile - как только он будет удален - файл будет закрыт.

>>664905
Да, есть GC. Впрочем, ебля с памятью не запрещена, она опциональна. Есть и malloc, и счетчик сцылок в стандартной библиотеке.
Аноним 24/02/16 Срд 11:32:21  664909
>>664905
>Очень жаль, что не взлетит уже никогда.
Ящитаю, что оно уже взлетело. Хотя, что понимать под "взлетит" - если вакансии, то да, нескоро. Это штука с большой инертностью.
Аноним 24/02/16 Срд 11:34:59  664910
>>664909
Обидно, а всякие дристоязычки типа руста и скалки уже взлетели.
Аноним 24/02/16 Срд 11:39:54  664913
>>664910
Скалка еще бы не взлетела, она же как преемница жабы позиционируется.

А насчет раста не смеши - он то в каком месте взлетел? Он, КМК, еще куда поглубже чем D закопан.
У дишки симпатичный синтаксис и отличная стандартная либа, на ней просто берешь и пишешь приложение, не ебя себе мозги. А на расте сейчас на ЛОРе в очередной раз пишут список.
Аноним 24/02/16 Срд 11:58:13  664927
>>664002
А вот по этому поводу ни у кого мыслей нет?
Аноним 24/02/16 Срд 12:09:18  664935
>>664927
D Web Wevelopment возьми (есть pdf на главной dlang.ru висит) и прочитай главу про fibers.
Аноним 24/02/16 Срд 12:28:38  664948
>>664913
Вокруг Руста такая шумиха и движуха, так что как эффект снежного кома, полагаю, взлетит.
Аноним 24/02/16 Срд 12:29:02  664950
>>664935
Спасибо анон
Аноним 24/02/16 Срд 12:30:23  664952
>>664948
В чем шумиха и движуха? И чем раст лучше чем D?
Раст это вроде как замена сишечки в его нише, а D - замена крестов.
Аноним 24/02/16 Срд 12:32:26  664954
>>664952
В общем-то ничем. По мне так дрисня полная, сам не рад.
Аноним 24/02/16 Срд 12:34:15  664955
>>664952
Принциально новые нескучные обои с вырвиглазным синтаксисом и возможностью вынести себе мозг вместо отстрела ноги.
Аноним 24/02/16 Срд 12:35:51  664958
>>664954
Лично я читал книжку по расту, но так и не понял в чем его плюсы. Наркоманский упоротый синтаксис который кружит голову. Единственное что я там заметил, чего нет в D - паттерн матчинг. И то - в дишке в switch можно передавать группы через запятую и диапазоны, что довольно удобно, по сравнению с крестами, где нельзя в свитч для строк (да и строк нет по сути) - уже как паттернматчинг.
Аноним 24/02/16 Срд 12:37:52  664960
>>664958
Тем более, насколько я понял - раст не может в ООП.
Аноним 24/02/16 Срд 12:40:17  664963
>>664948
Вокруг раста нагнанный моззилой недопиар, вроде статей на медиуме "как я с похапе перешёл на руст и щаслив".

По факту - это язык для 1 проекта.
Аноним 24/02/16 Срд 12:41:53  664965
>>664963
ЧСХ - фраерфокс как тормозил, так и тормозит дальше.
Аноним 24/02/16 Срд 12:43:41  664967
Кстати, огромный минус D - ебанутое название, по которому хуй чего загуглишь. Рака яиц тем, кто придумывал названия для c и d. с++ и c# хотя бы уникальная по напиманию хуйня.
Аноним 24/02/16 Срд 12:45:45  664970
>>664967
По "d lang" всё прекрасно гуглится.
Алсо, такая же хуйня с goвном.
Аноним 24/02/16 Срд 12:45:52  664971
>>664967
Dlang же.
Аноним 24/02/16 Срд 12:46:54  664973
>>664970
>>664971
Блядский гугл всегда норовит на golang исправить.
Аноним 24/02/16 Срд 12:48:36  664975
>>664973
пидорасы сер -- продвигают свое поделие
Аноним 24/02/16 Срд 12:52:18  664976
Ящитаю, дишке для пробивного развития нужна ОС написаная на себе (без сраного артефакта 80-х ака posix), чтобы блять в системе был dub вместо dpkg/rpm, dmd вместо gcc и phobos вместо libc. И чтоб терминал, на котором можно прямо на каком-нить диалекте DScript ебашить вместо баша.

И гуй.
Смісл жизни Онан 24/02/16 Срд 12:53:00  664977
ребят, как написать прогу, которая находит смысл жизни?
Аноним 24/02/16 Срд 12:53:34  664978
>>664977
int main(){
return 42;
}
Аноним 24/02/16 Срд 15:05:11  665083
>>664885
https://www.linux.org.ru/people/greatperson/profile это ты?
Аноним 24/02/16 Срд 16:32:34  665176
>>664935
> как_нарисовать_сову.png

нету там особо нихуя, в документации не намного меньше. мне бы больше как это правильно сделать. Отдельный класс который хендлит тред и посылает туда данные через send или просто запуливать функцию в отдельный тред и все делов, не городя класс для обработки. И да, как это все создавать и освобождать во время работы. И если загонять функцию в тред, то отомрет ли тред сам, или его надо прибивать. Вот такое вот меня больше интересует.
Аноним 24/02/16 Срд 16:43:27  665181
>>665176
>мне бы больше как это правильно сделать.
Да блять нету такого. И быть не может по определению - всё реализовывается под конкретные нужды для конкретной цели. Всякие паттерны-хуяттерны-бестпрактикс которыми ты ебёшь себе мозги сделаны для возможности создавать круговорот дешёвых мартышек компаниями. Просто реализовывай как удобно - если нужно быстро накидать и забить делай просто функцию, если в дальнейшем планируешь расширять и т.д. это говно - создавай класс и ебись с архитектурой и прочим.
>И если загонять функцию в тред, то отомрет ли тред сам, или его надо прибивать
Какой тред? Созданный мануально средствами стандартной библиотеки/вибе.д или чем-то ещё? Короче, смотри документацию конкретной реализации.
Аноним 24/02/16 Срд 16:47:50  665185
>>665181
vibe.d тред, через runWorkerTask() или что-то вроде
Аноним 24/02/16 Срд 16:53:58  665192
>>665083
Нет.

А в чем логика? Я у того чувака в избранных тегах про qt ничего не увидел.
Аноним 24/02/16 Срд 17:01:51  665204
гребанное дерьмо, пытаюсь вытащить данные с https сайта с помощью vibe.http.client -- так это говно зависло с ошибкой да потом еще и сегфолтнулось:

[0EDEC001:0EDECE01 dbg] SSL cert initial error: unable to get local issuer certificate
Program exited with code -11
Аноним 24/02/16 Срд 17:07:07  665207
>>665185
http://pastebin.com/eRnp2SVi
Двощик где-то в этом посте нашёл слово из спам листа, посему копипастнул ответ на пастебин.
Аноним 24/02/16 Срд 17:08:57  665210
>>665207
Неужели "без задач"?

Кстати, надо бы пастебин в спамлист занести.
мимоабу
Аноним 24/02/16 Срд 17:11:57  665217
>>665207
ок, буду ковырять, спасибо анон
Аноним 24/02/16 Срд 17:25:55  665226
>>665185
>runWorkerTask
Пиздец магия какая-то, сколько нужно учить программирование, чтобы понимать, что там в доке написано?
мимокрок
Аноним 24/02/16 Срд 17:30:20  665233
>>665226
Не быть похапешником достаточно.
Аноним 24/02/16 Срд 20:52:34  665447
>>665176
>нету там особо нихуя, в документации не намного меньше. мне бы больше как это правильно сделать.
Есть ближе к концу (в последней или предпоследней главе)
Аноним 24/02/16 Срд 20:54:30  665450
>>665181
>Всякие паттерны-хуяттерны-бестпрактикс которыми ты ебёшь себе мозги сделаны для возможности создавать круговорот дешёвых мартышек компаниями. Просто реализовывай как удобно - если нужно быстро накидать и забить делай просто функцию, если в дальнейшем планируешь расширять и т.д. это говно - создавай класс и ебись с архитектурой и прочим.

удваиваю это

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

обрати внимание - треды Fiber в vibed это такие треды, которые "олдскул" - когда ещё процессоры были однопоточными то использовались именно такие треды внутри программ чтобы синхронно гуй рисовать и прочее. Кооперативная многопоточность.
Аноним 27/02/16 Суб 14:24:39  668630
14565722799800.jpg (136Кб, 694x1024)
Почитал про Котлин, ранее про сишарп и яву, знаю С++ - D уделывает всех их. Почему же оно не взлетает блеать?!
Аноним 27/02/16 Суб 14:44:10  668649
>>664891
зачем ты пишешь этот destroy? тебе жизненно важно грохнуть app на момент выхода что-ли?
Аноним 27/02/16 Суб 14:48:48  668656
>>664976
>Ящитаю, дишке для пробивного развития нужна ОС написаная на себе (без сраного артефакта 80-х ака posix),

никто не мешает начать переписывать ядро на Ди оставив интерфейс С + дописав свои хотелки.

> чтобы блять в системе был dub вместо dpkg/rpm, dmd вместо gcc и phobos вместо libc. И чтоб терминал, на котором можно прямо на каком-нить диалекте DScript ебашить вместо баша.

Это всё ты можешь и сейчас поставить и настроить. И даже ди в качестве шелла, наверно (но это нахуй не надо - спектрумист штоле?)
Аноним 28/02/16 Вск 04:25:23  669432
>>668656
>никто не мешает начать переписывать ядро на Ди
Кроме монструозности и того факта, что сейчас в ядре линупса может разобраться только тот, кто его пишет сейчас.

>Это всё ты можешь и сейчас поставить и настроить. И даже ди в качестве шелла, наверно
Но с линупсовым ядром. Где man будет показывать инфу по сишным вызовам, где главной будет glibc и так далее.

Кресты взлетели потому, что были быстрыми и фичастыми, а кучу кодеров на сишке не пришлось переучивать. А сишка взлетела потому, что на ней линупс написан.
Аноним 28/02/16 Вск 04:28:17  669434
>>668630
D яву не уделывает. Потому что инфраструктура. Под яву есть самая лучшая IDE, на яве можно писать под что угодно. Хоть для МК, хоть для ведроида, хоть для чего угодно. И библиотек дохерища, и готовых ява-кодерков, и гуй можно лабать, и сервер-шмермер.

Честно говоря, котлин дишка не уделывает - по удобству написания они сопоставимы, но котлин полностью вписывается в нишу джавы.
Аноним 28/02/16 Вск 12:43:26  669653
>>668630
потому, что пеар, за java стоит огромная корпорация, которая ее и протолкнула, а за d по большому счету никого
Аноним 28/02/16 Вск 13:58:00  669705
>>669434
Ты с фанатиком общаешься. У фанатика пуребейсика из соседнго треда бейсик тоже всех уделывает.
Аноним 28/02/16 Вск 18:20:37  670019
>>669434
>Хоть для МК,
это ложь
Аноним 28/02/16 Вск 19:10:00  670115
>>670019
https://en.wikipedia.org/wiki/Embedded_Java
Просвещайся, дремучий
Аноним 28/02/16 Вск 20:29:35  670227
>>670115
реальные примеры дай, а не это говно теоретическое

санки промахнулись, когда сделали ставку на переносимые бинарники. никому не надо запускать софт от микроволновки на компе и наоборот
Аноним 28/02/16 Вск 22:45:13  670430
>>670227
>реальные примеры дай, а не это говно теоретическое
Ты там в глаза ебешься что-ли?
>In January 2013, STMicroelectronics announced full Java support for STM32 F3/F4-series microcontrollers STM32 and stm32java.
У меня кстати платка STM32 F4 DISCOVERY завалялась, надо будет попробовать.
На работке компилили скрипты на сишке в байткод, и коллега все мечтал байткод от джавы вместо своего прикрутить.
Аноним 29/02/16 Пнд 16:41:30  671190
>>670430
на эту плату и на D можно конпелировать

> Ты там в глаза ебешься что-ли?

Да
Аноним 01/03/16 Втр 11:29:50  672112
Чорт. Походу, сишечка быстрее дишечки в 5 с половиной раз (.
Аноним 01/03/16 Втр 11:32:40  672115
>>672112
откуда дровишки, какой компилятор, и это про c или про c++?
Аноним 01/03/16 Втр 11:36:14  672118
>>672115
Дровишки - переписал свой хелловорлд с дишечки на си - скорость замерять. Собсно, в цикле происходит полтора миллиарда операций. Дишечка справляется за 73 секунды, сишечка - за 13.

Скорее всего, дело в этом блядском безопасном доступе к массиву. Щас попробую foreach заюзать - он то по идее без проверок должен работать.

У сишечки gcc 5.2.1, дишечка dmd 2.070.1
Аноним 01/03/16 Втр 11:37:47  672120
>>672118
и попробуй gdc или ldc
Аноним 01/03/16 Втр 12:36:32  672163
>>672120
Заменил for на foreach - но это выиграло лишь пару секунд.

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

Пиздец короче, я и не знал, что эти сраные свойства/методы такие жирные.
Аноним 01/03/16 Втр 13:24:50  672199
>>672163
Во-первых, если сравниваешь с dmd компилируй сишный код без оптимизаций (флаг -O). Иначе сопоставляй результаты с gdc/ldc.
Во-вторых, вкинь код, интересно что именно и насколько правильно ты там тестировал.
Аноним 01/03/16 Втр 13:36:59  672209
>сишный код без оптимизаций
Так и было. По крайней мере явное -o0 время не изменило

https://ideone.com/7xxrTY
https://ideone.com/jx0Hk5

Сабж считает ближайшую пару точек. Аргумент командной строки - число точек, запускать с 50000 - это даст 1249975000 итераций.
Аноним 01/03/16 Втр 14:55:54  672313
>>672163
Сборщик мусора жирный.
Аноним 01/03/16 Втр 14:57:54  672315
>>672313
Но в цикле не было создания объектов - собирать было нечего.
Аноним 01/03/16 Втр 15:12:11  672323
>>672209
1) В сишном коде ты не проверяешь входной аргумент, и уж тем более не кидаешь исключений;
2) p1 и p2 у тебя на си int, т.е. по 4 байта. На D - оба структуры с 2мя double, т.е. 16 байт. Хз зачем ты в сишном коде брал другие значения.
Кстати, без лишних проверок твой код (со слайсами и foreach) отрабатывает у меня за 18.8, сишный - за 17.7.

Учитывая, что другие компиляторы какого-то хуя не осиливают этот код (ldc говорит что не умеет в итерацию, а gdc валится со странной ошибкой о каком-то static) вполне нормальный результат.
Аноним 01/03/16 Втр 15:29:57  672337
>>672323
>1) В сишном коде ты не проверяешь входной аргумент, и уж тем более не кидаешь исключений;
Хуйня, а не аргумент - это просто валидация аргументов командной строки. Нужно целое число, больше 1 (для пары нужно как минимум 2). В цикле, который выполняется миллиард раз - нет никаких исключений.
>2)p1 и p2 у тебя на си int
Херню городишь. sizeof(struct points) почему то 16

>Учитывая, что другие компиляторы какого-то хуя не осиливают этот код (ldc говорит что не умеет в итерацию, а gdc валится со странной ошибкой о каком-то static) вполне нормальный результат.
У меня 15 секунд дишный и 13 сишный. После того, как я class Point заменил на struct point, ага.
Какого хуя получить поле структуры - вместо получить его значение через свойство-геттер - тормозит прогу в 6 раз?
Я думал, оно вообще инлайниться должно, в крестах по крайней мере всем подобным методам в хидере inline пишут.
Аноним 01/03/16 Втр 15:48:03  672362
>>672337
>Хуйня, а не аргумент
Хуйня - это делать тесты с разной логикой.
>Херню городишь. sizeof(struct points) почему то 16
А ты читать не умеешь.
С - int p1,p2;
D - Points p1,p2;

Ходя один хуй, кроме 5-10 мс это ничего не даст.

>тормозит прогу в 6 раз?
Этож dmd, он не особо то что-то умеет оптимизировать. Алсо, попробуй прогнать через него с флагом -O (там он один всего для оптимизаций, лол).
Даже в сях они инлайнятся только на усмотрение комплятора (даже расширениями компилятора вроде __forceinline в msvc не фиксится). Поэтому кстати qsort из C++ рвёт классический сишный, там гарантированно все инлайнится шаблонами.
Аноним 01/03/16 Втр 15:52:37  672368
>>672362
>Хуйня - это делать тесты с разной логикой.
Закомментируй лишние строки в дишке, делов то.
На логику работы проги они никак не влияют.
>А ты читать не умеешь.
>С - int p1,p2;
>D - Points p1,p2;
Самый первый вариант вообще был на функциональных выебонах, с map'ом, генератором и лямбдами. Я охуел от его "быстродействия", и выкинул нахуй, с обычным for-циклом стало работать в 1000 раз быстрее.
Аноним 01/03/16 Втр 16:09:56  672387
>>672362
>D - Points p1,p2;
Присваивание произойдет только тогда, когда сработает if
Т.е максимум 50 тысяч раз из полутора миллиардов. А значит, никакой погоды тут не делает.
Аноним 02/03/16 Срд 12:57:38  673249
Можно ли как то расширить слайс, а не только сузить?
к примеру:
auto a = [1,2,3,4,5,6];
auto b = a[1..$-2]; //[2,3,4]
auto c = b[0..$+1] // вроде должно быть [2,3,4,5] - авотхуй, RangeError
Аноним 03/03/16 Чтв 08:14:46  674062
Вечер в хату.
Есть сабж в крестах:
typedef struct GLFWwindow GLFWwindow;
Как сие конвертировать на дишный?
Аноним 03/03/16 Чтв 08:37:20  674073
>>674062
Просто перепиши структуру и всё. Это какой-то очередной костыль из си89.
Асло, typedef в D - alias.
Аноним 03/03/16 Чтв 08:38:42  674075
>>674073
Нету у меня структуры, не определена она.
Пока сделал alias GLFWwindow = void, но чет мне кажется это костыль и делается как то иначе.
Аноним 03/03/16 Чтв 08:43:06  674076
>>674075
Макаба тебе в том посте звёздочку ни где не убрала?
Посмотри https://dlang.org/spec/interfaceToC.html
Аноним 03/03/16 Чтв 08:44:04  674077
>>673249
присвой слайсу желаемую длину
Аноним 03/03/16 Чтв 08:44:40  674078
>>674075
просто struct GLFWwindow; не работает?
Аноним 03/03/16 Чтв 08:45:12  674079
>>674078
А что, можно вот так написать, а содержимое не расписывать?
Аноним 03/03/16 Чтв 08:46:10  674080
>>674078
Хм, работает.
Аноним 03/03/16 Чтв 08:46:54  674081
>>674077
Как? Мне надо расширить слайс, но это не приводит к выходу за границы, т.к расширяемый слайс был сужен.
Аноним 03/03/16 Чтв 13:05:42  674195
>>674079
>А что, можно вот так написать, а содержимое не расписывать?
всегда можно было, и в крестах тоже (или чистом си - забыл)

часто бывают бинарные библиотеки, которые не раскрывают внутреннего устройства структур, но позволяют этими структурами оперировать (создавать, сохранять, применять к ним функции и т.д.)
Аноним 03/03/16 Чтв 13:06:21  674196
>>674081
>Как?
arrayName.length = 100500;
Аноним 03/03/16 Чтв 16:28:03  674357
>>674196
Херню какую-то ты городишь. Если увеличить длинну слайса вот так - он тупо создаст новый массив, и скопирует туда старый + нулем инициализирует новые значения. Короче - слайс перестанет указывать на старый массив. А тут нужен именно сабж.
Аноним 04/03/16 Птн 14:14:37  675646
>>674357
ну ты ведь понимаешь что просто так на ровном месте без своего хитрого аллокатора и своей реализации слайсов невозможно взять и увеличить кусок уже выделенной памяти?

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

ты поехавший, в общем
Аноним 04/03/16 Птн 14:17:23  675651
>>675646
Ты дурак. Еще раз - заранее известно, что там есть данные. Выделять нихуя не надо - оно уже выделено.

auto a = [1,2,3,4,5,6];
auto b = a[1..$-2]; //[2,3,4]
auto c = b[0..$+1] // вроде должно быть [2,3,4,5] - авотхуй, RangeError
Аноним 04/03/16 Птн 14:52:08  675697
>>675651
>// вроде должно быть [2,3,4,5] - авотхуй, RangeError
Дебил блядь, у тебя 6 элементов в слайсе, ты требуешь 7. Что там блядь расширятся должно?
Аноним 04/03/16 Птн 14:58:44  675706
>>675697
Что ты несешь?
если b[0..$] дает 3 элемента, схуяли b[0..$+1] должно требовать 7 вместо 4?
Аноним 04/03/16 Птн 15:06:18  675714
>>675706
Тем более, слайс оно сука расширить не дает, но значение за его пределами все равно можно выдрать адресной арифметикой
>auto a = [1,2,3,4,5,6];
>auto b = a[1..$-2]; //[2,3,4]
>(*(b.ptr + 3)).writeln; //выдаст 5
Аноним 04/03/16 Птн 16:04:22  675804
>>675651
>Еще раз - заранее известно, что там есть данные.
Такой эвристикой реализация слайсов явно не обладает, особенно в релизном коде (без проверки границ).

Тебе придётся написать свою реализацию, и она будет более медленной.
Аноним 07/03/16 Пнд 05:34:57  679101
>>675651
>Еще раз - заранее известно, что там есть данные. Выделять нихуя не надо - оно уже выделено.

Проверяй это с помощью .capacity, а потом, если всё ок, в наглую небезопасно расширяй себе свой анус
Аноним 07/03/16 Пнд 11:57:46  679200
>>675714
а завести багу в багзиллу совесть не позволяет? в крайнем там растолкуют почем фунт лиха
Аноним 07/03/16 Пнд 18:41:41  679492
>>679200
это не баг а unsafety фича
Аноним 13/03/16 Вск 11:16:58  685965
Ну как у вас дела, Даноны?
Аноним 13/03/16 Вск 12:04:15  685994
>>685965
Плохо - работы нет
Аноним 13/03/16 Вск 12:26:32  686014
>>685994
Зато можно побрататься с челиками из хачкельтоеда.
Аноним 13/03/16 Вск 14:20:27  686095
>4. Впрс: мне в гейских третах сказали что Дэ ненужен!!!!
Отвт: ты гей если видёшся на вскудахты даунов)
> Если ты не гей заходи в етот тред об лучшем языке современности)

Тебя ебал огромный педераст, и от резких движений ты, случайно, ебанулся ебалом об быльце кровати, ломанув себе несколько зубов, правда?
Аноним 13/03/16 Вск 14:28:52  686107

>>686095
Нахуй ты сюда зашёл, жывотный даун???)))
Аноним 14/03/16 Пнд 22:08:53  688096
Сап, двач, мур-мур-мур-мур
Есть сабжевый код.
https://ideone.com/Yt345X

Проблема в том, что он выдает результатом 3026331761191340503770893373029273844677591368122716618704642247067326254159330908652193057324457123166746681628950720.

Реализации на других языках - груви, лишпике, етц - выдают малость другой результат - 3026331761191340503770893372888058869422738484032331390788387569021838371831280294822254761283098828539404148603710720.
Например, http://pastebin.com/ZmKktwua.

Где проеб? Это я где то проебался, или баг? Если баг - где? В мемоизации? В реализации BigInt?
Аноним 15/03/16 Втр 02:57:45  688423
>>688096
>uint x
>(x-1 >= 0) ? ...
Аноним 15/03/16 Втр 03:53:11  688444
>>688096
Это код из продакшена или лаба2?

Написано красиво но что оно делает понять невозможно
Аноним 15/03/16 Втр 13:08:36  688667
>>688423
Точняк, слона то я и не приметил. Тханкс а лот!

>>688444
Очевидно, лаба. Какой к хуям продакшен, на дишечке то? На нем вакансий нет, и в лучшем случае не будет еще лет 10.
Это из "олимпиадных задач треда" - грубо говоря, сколькими способами можно на доске 100 на 100 клеток пройти из точки (50,50) до (60,60) за ровно 200 ходов. Какому-то анону ее дали на собеседовании на жуниора.
Аноним 16/03/16 Срд 12:35:42  689632
>>688667
>На нем вакансий нет, и в лучшем случае не будет еще лет 10.

жути не нагоняй!
взлетать начнёт за год, примерно. хуяк и уже ди это не гейство, а мейнстрим.
мы делаем на ди небольшие тулзы для продакшена, но не основные, а такие, которые можно если что переписать хоть на чём
Аноним 16/03/16 Срд 12:57:20  689648
>>689632
> взлетать начнёт за год
Проиграл
Аноним 18/03/16 Птн 04:24:16  691318
>>689648
как всякие докеры-гитхабы - однажды просыпаешься, а все уже там
Аноним 18/03/16 Птн 14:41:42  691664
>>691318
Когда появился докер и как быстро он взлетел? Это не сравнимо с D.
Аноним 18/03/16 Птн 15:20:03  691691
>>691664
Goвну тоже уже 7 лет (если не учитывать что его ключевые концепции копипаста с limbo, которому уже 20+ лет).

Говоря про докер, он имел ввиду его эффект – из нихуя появляется крутой проект с никому нахуй не нужным язычком, и язычок уже царь горы. О Go ещё 1,5 года назад знало 1,5 человек, а теперь это говно на каждом шагу, как после резкого оттаивания снега.
Аноним 18/03/16 Птн 15:21:22  691692
>>691691
Ну так Go действительно предлагает что-то новое, а D нет.
Аноним 18/03/16 Птн 15:28:00  691700
>>691692
Нихуя нового он не предлагает, кроме крутой команды челиков из гугла, которые налижут рантайм до блеска.

Просто были явисты которых можно было выучить за 3 недели классами, посадить писать экзамен и принять парочку, а теперь будут гоферы, которым будут объяснять чо такое ссылочки. Тащемта, даже в круговороте мартышек ничего нового не принесло оно.
Аноним 18/03/16 Птн 15:46:45  691716
>>691700
>Нихуя нового он не предлагает, кроме крутой команды челиков из гугла, которые налижут рантайм до блеска.
А это мало по-твоему? Нет блядь, лучше гениальные имплементации D, одна хуже другой.
Аноним 18/03/16 Птн 15:52:58  691727
>>691716
Да, это по-моему вообще нихуя. Выпустили хуйню, которая по убогости превосходит яву 6 и радуются. Завтра гугл начнёт пеареть пхп и ты напишешь так же, что больше нихуя и не нужно? Ну ты совсем кек?
Аноним 19/03/16 Суб 00:32:49  692151
Кто в чём пишет?
Я пока остановился на xamarin, но там почему-то плохо работает автодополнение.
Например
>auto http = HTTP("www.zaloopa.huy");
методы http уже не видит.
Пытался ставить всКоде, но он вообще никакое автодополнение не видит(dcd, dfmt и т.д. ставил, пути прописывал, но всё равно не пашет).
Аноним 19/03/16 Суб 02:12:53  692183
>>692151
Monodevelop с ди-плагином.
Да, по сравнению с идеей жабной сосет конечно, но жить можно.
Аноним 19/03/16 Суб 02:24:06  692197
>>692183
Так он на нём и сидит.

И да: это лучший автокомплит из имеющихся.
Аноним 19/03/16 Суб 02:27:08  692200
>>692197
Вот реально, чем хуйней страдать - взяли бы дишники и запилили на дишке - ИДЕ, и чтобы не тормозило как блядская идея.
Аноним 19/03/16 Суб 20:12:57  692692
>>692200
три часа назад полную поддержку MSVC только запилили, а тебе уже иде подавай
Аноним 19/03/16 Суб 20:15:47  692695
>>692200
Coedit / DlangIDE
Обе на ди, и обе говно без задач
Аноним 19/03/16 Суб 20:25:55  692698
>>692695
>Coedit
>lazarus (кросплатформенный дэльфи)
>обе на ди
Ты кек чтоле?
>DlangIDE
Это техдемка их UI библиотеки, а не IDE. Вся работа с кодом там делается DCD, который к любому атому/саблайму/виму прикручивается в 6 строчек.

Раньше ещё какую-то пилили, но забросили лет 6-7 назад.
Аноним 21/03/16 Пнд 02:40:42  693830
>>692698
Вот то-то и оно.
А ведь реально могло продвинуть язык далеко вперед.
Вон, как QtCreator для Qt - кутя своим взрывным ростом во многом ему обязана.
Аноним 26/03/16 Суб 13:38:10  698685
>>692151
tamarin из коробки хуёво автодополняет. Попробуй вот это - http://lhs-blog.info/programming/dlang/osvaivaem-monodevelop-monod-chast-i-ustanovka-i-bazovoe-znakomstvo-s-nastroykami/
Аноним 26/03/16 Суб 19:13:54  699066
>>698685
Хуйня на самом деле это руководство, его писал "капитан очевидность".
Короче я его читал - и ничего нового там не написано.
Аноним 26/03/16 Суб 21:15:19  699285
>>699066
поясняю, всё просто: для ди есть 2 вида автодополнений. одно встроенная "эврестическая" фигнюха в твой редактор (типа как в geany и codeblocks - понимает все языки потому что они все примерно одинаково выглядят), другая - отдельная софтина (выше писали название), которая умеет по-настоящему парсить код ди и понимать что там надо показать для того чтобы это было дополнением

так что, в любой редактор добавь эту софтину и пользуйся

(сам не пользуюсь - обычной "эвристики" хватает за глаза)
Аноним 26/03/16 Суб 21:27:22  699295
>>699285
>(сам не пользуюсь - обычной "эвристики" хватает за глаза)
"Обычной" эвристики там нету - XS даже не подсвечивает код, какое там автодополнение фантазёр.
В ксамарине работает только с плагином, DCD тоже ещё паршивенько работает. Обе не справляются с выводом типов из auto, но в ксамарине хоть с ufcs нормально работает (хотя часто не видит импортов вообще).

Вообще, dcd ещё даже до релизной версии не дошёл, а уже на уровне ctags работает, так что не плохо.
Аноним 27/03/16 Вск 14:18:20  699869
>>699295
>>(сам не пользуюсь - обычной "эвристики" хватает за глаза)
>"Обычной" эвристики там нету - XS даже не подсвечивает код, какое там автодополнение фантазёр.
А я пользуюсь не этим редактором, а geany - там есть.
Аноним 07/04/16 Чтв 06:52:56  709865
Новый dmd вышел - старый код поломался
Аноним 07/04/16 Чтв 07:15:32  709869
>>709865
Из синтаксических изменений там только приват по умолчанию для функций/классов/тд без явного паблика.
Аноним 07/04/16 Чтв 07:26:16  709874
>>709869
изменилось понимание импортируемого из других модулей - все проекты стали светиться надписями про deprecated
Аноним 07/04/16 Чтв 07:27:51  709875
>>709869
>Из синтаксических изменений там только приват по умолчанию для функций/классов/тд без явного паблика.
пруфы? не вижу в чейнджлоге
Аноним 07/04/16 Чтв 12:49:21  710042
14600225612700.jpg (51Кб, 672x371)
Ну же аноны хватит хуйной страдать пишите на Rust!
Аноним 07/04/16 Чтв 12:49:42  710043
>>710042
нет
Аноним 07/04/16 Чтв 12:50:18  710045
>>710042
Руст сосет у дишки взаглот. Что там такого есть?
Если ты про ГЦ - то он меня не напрягает.
Аноним 07/04/16 Чтв 12:53:41  710048
>>710045
Разве что паттернматчинг. Но в дишке нормальный свитч в отличие от крестов, так что все норм.
Аноним 07/04/16 Чтв 12:55:48  710051
Кстати, а у D есть возможность сделать реализацию конкурентности и каналов подобно Go?
Аноним 07/04/16 Чтв 12:56:39  710053
>>710051
А как в го? Приведи кусок кода, который ты хочешь заделать.
Аноним 07/04/16 Чтв 13:01:55  710055
>>710045
в ди не система типов - а говно,
по сути ди - это просто рефакторинг крестов, на деле такое же блевотное говно
Аноним 07/04/16 Чтв 13:02:27  710057
>>710053
Не, Я в плане планировщика, прозрачности для погроммиста и вот этого вот всего. Не конкретный кусок кода, а именно подобную реализацию.
Аноним 07/04/16 Чтв 13:02:55  710058
>>710055
> в ди не система типов - а говно,
Пруфы в студию.

Чем говно? Почему? Пока похоже на кукареканье.
Аноним 07/04/16 Чтв 13:03:03  710059
>>710055
А по существу, с примерами как правильно и годно?
Аноним 07/04/16 Чтв 13:07:13  710061
>>710057
Ну, я например не понимаю, что ты имеешь под конкуррентностью.
Запустить функцию в потоке? Создаешь таск task!func и выполняешь в новом потоке как executeInNewThread. Я так чекаю прокси на пригодность чтобы макакину мочу в ротеш ебать. Есть вроде и многопоточный foreach. Да дохуя чего есть, я не понимаю, чего именно ты хочешь.

Про каналы я не понял. В дишке в библиотеке есть сигналы/слоты - это оно?

Есть вроде и "кооперативные потоки", кажись - с yield.
Аноним 07/04/16 Чтв 13:11:53  710067
>>710061
Планировщик Go умеет перекидывать таски между тредами, если в треде работает долго таска другая. Можно такое сделать?
Аноним 07/04/16 Чтв 13:13:36  710071
>>710067
Хуй знает. Это же потоки операционной системы - разве не она этим занимается, лол? Ты просто ставишь потоку приоритет. Ну, по крайней мере я в Qt так делал, тут я еще нге смотрел про приоритеты.

Или в Go юзаются не потоки ОС, и они переизобрели ее планировщик?
Аноним 07/04/16 Чтв 13:14:24  710073
>>710042
Нахуя в треде о высокоуровневом языке писать про эту сишку с хачкелеподобной системой типов?

>>710051
Возможность – есть, такой же крутой рантайм – нету.
Аноним 07/04/16 Чтв 13:14:34  710074
>>710061
Каналы подобны дишным send/receive но тебе нет нужды знать tid тасков, просто создаешь канал и передаешь его в в две таски -- одна пишет, другая читает. Когда писать закончила, закрыла канал и слушатель завершился отработав все данные. Удобно достаточно.
Аноним 07/04/16 Чтв 13:15:24  710076
>>710071
Таски это fiber, кооперативная многозадачность, не вытесняющая -- ОС о них нихера не в курсе.
Аноним 07/04/16 Чтв 13:16:22  710077
>>710071
Системные потоки достаточно тяжелы, поэтому в Goвне "горутины" – это корутины которые шедулятся между системными потоками (созданными при старте), посему их там можно спамить тысячами как в эрланге.
Аноним 07/04/16 Чтв 13:17:12  710079
>>710076
Хуй знает короче - на практике я такие таски юзал только в скиптах на сишке в микроконтроллере, в дишке нужды не было - юзал потоки ОС. Я не понимаю, как можно к примеру распараллелить загрузку файла не потоками ОС.
Аноним 07/04/16 Чтв 13:18:21  710080
>>710077
Тогда вроде есть - но конкретно за них я не распишу, бо никогда ими не пользовался.
Аноним 07/04/16 Чтв 13:18:33  710081
>>710079
Потому что ->
>>710077
Аноним 07/04/16 Чтв 13:19:06  710083
>>710079
Это IO оно охуенно асинхронно распаралеливается и не нужно плодить тяжелые треды (хоть в линухе они таки дешевые) а просто заюзать фибры и aio.
Аноним 07/04/16 Чтв 13:58:56  710110
>>710083
И на какой задаче это нужно и станет критическим?
Аноним 07/04/16 Чтв 15:00:32  710162
>>710110
Сетевые сервисы?
Аноним 07/04/16 Чтв 15:09:57  710169
>>710162
Нет, я просто пытаюсь представить - что такого неблокирующего можно делать в куче потоков одновременно, да так, чтобы не подходили потоки ОС и нужно было обязательно городить гринтреды.

Вопрос в том - может ли это понадобиться лично мне, или область применимости этой штуки только если я захочу написать не менее чем свой фейсбук и ворочать огромными датацентрами?
Аноним 07/04/16 Чтв 15:21:01  710179
>>710169
Если захочешь свой фейсбук — тебе нужно писать что-то уровня эрланга, лел,
Аноним 07/04/16 Чтв 15:23:53  710180
>>710179
Короче насколько я понял, суть этих "гороутин" - обычная кооперативная многозадачность, где на месте ожидания какой-то хуйни будет yield и переход с следующей задаче. Да, так можно.

На работке у нас для такой хуйни был свой диалект сишечки с "wait", который компилился в байткод.
Аноним 07/04/16 Чтв 15:25:52  710183
>>710169
банальных микросервисов с головой хватит, а гринтреды в любом случае не лишни, особенно если их не надо городить и они есть годные в рантайме, ну и удобные, со скедулером и aio
Аноним 07/04/16 Чтв 15:27:03  710184
>>710180
именно, легковерсная кооперативная многозадачность, там где io а не числодробилка это очень удобно
Аноним 07/04/16 Чтв 15:29:21  710185
>>710184
Тот самый случай, когда мы навелосипедили эту хуйню на работе и пользовались, вообще не слышав про гринтреды, го и yield, лол.

В качестве "io" было ожидание ответа от датчика - когда едет какой-то механизм и шлет координаты, и нужно дождаться пока он доедет до конца.
Аноним 07/04/16 Чтв 21:09:21  710456
>>710051
оно есть в фобосе и в vibe.d слегка отличающийся вариант уже
работет норм, юзаю - брат жив
Аноним 07/04/16 Чтв 22:28:05  710530
>>710456
а как с каналами там?
Аноним 07/04/16 Чтв 23:02:47  710567
>>710530
Я честно говоря, так и не понял, что это и нахуя оно нужно.

Можно популярно объяснить?
Аноним 09/04/16 Суб 06:13:47  711543
14601716276740.jpg (166Кб, 1200x725)
>>623030 (OP)
Поясните следующие вопросы по D.
1. Работал ли кто-нибудь с Fibers? Верно ли что это что-то вроде гринтредов? Можно ли их плодить тысячами как в Эрланге?
2. Когда выпустят std незавиящую от сборщика мусора?
3. Почему люди до сих пор начинают новые проекты на С++ и др языках, когда есть D?
Аноним 09/04/16 Суб 09:50:24  711592
>>711543
> 1. Работал ли кто-нибудь с Fibers? Верно ли что это что-то вроде гринтредов? Можно ли их плодить тысячами как в Эрланге?
Не работал. Мог бф попробовать, но не могу придумать задачу для теста, для которой они были бы нужны.
2. А чем std зависит от сборщика мусора? Например, стандартные динамические массивы зависят от ГЦ - так есть std.container.array.Array.
3. А хрен их знает. Не знаю, кто будет начинать реально новые проекты на с++, это мазохизм какой-то.
Аноним 09/04/16 Суб 10:55:19  711662
>>711543
1. Весь vibe.d на этом постороен, так что все кто использует vibe.d используют Fibers или явно (async, runTask) или неявно.
2. Сроков точных нет конечно, но сейчас Phobos активно ренжифицируется, что позволяет отказаться от GC для него.
3. Язык это не только синтаксис, набор фичей и компилятор для него. Это еще и инфраструктура и экосистема. Ну и реклама да. Язык развивается, но отсутсвие корпорации за спиной сильно заметно.
Аноним 09/04/16 Суб 11:54:07  711694
>>711592
> А чем std зависит от сборщика мусора
Всё вплоть до контексации строк, в офф. справке описано. Даже делегаты без него запускать — мазохизм с ёблей в виде арифметики указателей на 10 строк.
Аноним 09/04/16 Суб 11:55:33  711697
>>711694
> Всё вплоть до контексации строк,
Можно же делать Array!char = "Eroha", не? В Array ГЦ нет, и его конкатенация от ГЦ не зависит.
Аноним 09/04/16 Суб 12:26:07  711726
>>711697
Где-то была полная статья на эту тему, но её я найти не смог, посему вот так:
https://dlang.org/spec/garbage.html#op_involving_gc
Как видишь, если массив не зарардкожен — есть, причём при любой операции.
Аноним 09/04/16 Суб 12:27:46  711727
>>711726
> Как видишь, если массив не зарардкожен — есть, причём при любой операции.
Это для встроенных массивов же. А есть и std.container.array
Аноним 09/04/16 Суб 14:42:32  711877
>>623030 (OP)
хочу реализовать небольшое приложение, которое будет отправлять мне емейлы в нужное время.
реально ли вообще такое сделать на дэ?
Аноним 09/04/16 Суб 14:49:12  711884
>>711877
Дэ не для таких тупых задач, возьми питон для такой ерунды.
Аноним 09/04/16 Суб 14:54:08  711898
>>711877
Да, вполне реально: https://code.dlang.org/packages/smtp
Аноним 09/04/16 Суб 14:56:22  711902
>>711884
D для любых задач, в том числе и для таких
Аноним 09/04/16 Суб 15:18:58  711920
>>711877
Я сделал приложение, которое перебирает прокси и ищет на сосаче рабочие и незабаненные.

На дишке вышло в 50 строк, включая пустые строки и штук 12 импортов.

Так что да, в нео оче хорошая стандартная библиотека, бери его.
Аноним 09/04/16 Суб 15:22:19  711923
>>711884
Из профитов питона пожалуй - отсутствие необходимости писать "auto" и умение возвращать несколько переменных - красиво присваиваются, черт возьми.

А в основном, дишка ничуть не хуже, но куда лучше.
Аноним 09/04/16 Суб 21:42:16  712219
>>711923
> умение возвращать несколько переменных
да, этого часто не хватает, и еще else у циклов в python тоже годный, да
Аноним 09/04/16 Суб 22:37:04  712245
>>712219
Черт, забыл про сравнение вроде (10 => x > 1) - тоже мне оче нравилось.
Аноним 09/04/16 Суб 22:56:00  712255
>>712245
Ну тут это тяжелое наследие C, и без вариантов. Остальное в принципе можно вкрутить.
Аноним 09/04/16 Суб 23:31:45  712290
>>712255
В смысле? В сишке никогда так сравнивать было нельзя.

Еще вспомнил именованные параметры. В питоне они точно были нужны, но пока не могу придумать, нужны ли они здесь.
Аноним 09/04/16 Суб 23:42:04  712309
>>712290
Если использовать дефолтные значения, то было бы неплохо их иметь.
Аноним 10/04/16 Вск 02:04:05  712398
>>712290
> В сишке никогда так сравнивать было нельзя
Именно, в Python не было необходимости тащить это и они сделали лучше, а когда в D принимали решение посчитали, что C подобный язык с отличной семантикой будет создавать больше проблем, чем решать. Поэтому оставили подход из C хотя голосов за Python подход было немало.

> Еще вспомнил именованные параметры
Не хватает, и притом достаточно сильно. Дефолты есть а именнованных нет, это расстраивает.
Аноним 10/04/16 Вск 02:05:37  712399
>>712290
>>712309
Тут вот есть: http://wiki.dlang.org/DIP88 -- возможно вкрутят.
Аноним 10/04/16 Вск 02:08:02  712400
>>712399
и вот такое по мотивам: http://forum.dlang.org/thread/n8024o$dlj$1@digitalmars.com
Аноним 10/04/16 Вск 17:41:41  713010
>>712399
Сильнее всего не хватает std.gui (или gui.*)
Вроде бы дишка идеально подходила бы для гуйниаппликух, но увы.
Аноним 10/04/16 Вск 17:50:56  713025
>>712399
Нахуй просто, у меня до сих пор кровь из глаз от этой хуйни в свифте и обж-с. Если пишешь в каком нибудь блокноте на питоне — ок, но когда у тебя есть иде — это уже совсем избыточное говно получается.
>>713010
Ты много языков с гуем в стандартной библиотеке видел?

Боженька тебе итак дал биндинги ко всему от tk до qt.
Аноним 10/04/16 Вск 17:54:12  713029
>>713025
> Боженька тебе итак дал биндинги ко всему от tk до qt.
Все это спроектировано не под D.

Это как выкинуть фобос и юзать core.stdc.*
Аноним 10/04/16 Вск 20:40:59  713276
>>713025
> Нахуй просто, у меня до сих пор кровь из глаз от этой хуйни в свифте и обж-с
это оче юзабельно, когда у тебя 100500 параметров с дефолтами и один из них надо переопределить, а прописывать половину так как они позиционные посути из-за одного переопределения ну вообще не комильфо
Аноним 10/04/16 Вск 20:41:30  713277
>>713029
Чувак прав, неча тянуть гуй в батарейки, лучше выбора поболе дать
Аноним 10/04/16 Вск 20:44:40  713286
>>713277
Пфф, необязательно в std тянуть. Очень бы хотелось шоб было зделано как vibe.d
И спроектировано под дишку как вайбеди, а не "ну эта, иди сокеты юзай, тут же сишные вызовы никто не отбирал"
Аноним 10/04/16 Вск 20:47:43  713291
>>713286
Наслаждайся, все твои хотелки:
http://code.dlang.org/packages/dlangui
Аноним 10/04/16 Вск 20:52:01  713298
>>713291
Спрошу тут, хуле:
В MonoDevelop можно как-то добавить плагин с хотя бы базовой поддержкой синтаксиса qml? Или есть где то руководство, как его самому написать?

Пробую зафигачить dqml.
Аноним 10/04/16 Вск 20:56:21  713305
Кстати, вот еще вопрос дишникам, або знает вдруг кто:
Что за фигня такая, что у даба два синтаксиса проектов? Причем сам dub создает dub.sdl, а в большинстве страниц в интернетах обычно расписывают в dub.json
Аноним 10/04/16 Вск 20:57:23  713306
>>713276
Так берёшь и меняешь нужный, в чём проблема?
Алсо, есть куча способов структурирования кода, и если у тебя много аргументов в функции – твой код дефакто говно уровня битрикса (где-то на хабре было его засирание, как там по 24 аргумента передают, кек).

>>713298
https://developer.xamarin.com/guides/cross-platform/getting_started/extending_xamarin_studio_with_addins/
Вся инфа гуглится по стандартному "xamarin studio plugin development".
Алсо, можешь не ебаться – я где-то видел плаги для QtCreator.
Аноним 10/04/16 Вск 20:58:05  713307
>>713305
Создавай проект с --format=json
Аноним 10/04/16 Вск 21:00:17  713312
>>713307
> Создавай проект с --format=json
О, спс! Не знал.

Этот sdl - смотрится как то странно
Особенно его эти массивы с arg1 [arg2 [arg3]]
Аноним 10/04/16 Вск 21:01:56  713313
>>713306
> Алсо, можешь не ебаться – я где-то видел плаги для QtCreator.
В смысле, он как-то встраивается вместо редактора в монодевелопе?

Потому что просто писать код и переключаться между двумя IDE - сомнительное удовольствие. Я уже это оценил, когда писал на Qt с жаба-вставками для ведроида (а у креатора поддержка жабы нулевая)
Аноним 10/04/16 Вск 21:05:26  713320
>>713313
Всмысле можно писать на Д в QtCreator (хотя хз что там на текущий момент, когда я прбовал собрать месяц назад нихуя не работало).
Аноним 10/04/16 Вск 21:25:52  713350
Кстати, аноны, как правильно сделать структуру конфига в vibe.d? Делать глобальной переменной или таскать ее постоянно во все функции и объекты?
Аноним 10/04/16 Вск 21:30:47  713357
>>713350
А что за конфиг то?
Аноним 10/04/16 Вск 21:31:55  713359
>>713357
эм, всякие там api endpoint и тому подобные credentials
Аноним 10/04/16 Вск 21:33:31  713362
Как ди для геймдева?
Аноним 10/04/16 Вск 21:36:22  713370
>>713362
А пес его знает, явно разнообразием движков не похвастается.
Ибо большинство гейдева было запилено до его появления.

Что именно хотел то?
Аноним 10/04/16 Вск 21:38:33  713375
>>713362
Вот какой-то игровой движок на дишке.
http://dash.circularstudios.com/
Аноним 10/04/16 Вск 21:42:52  713381
>>713375
>>713362
Говорят, что у Unity есть только одно преимещество перед этим двигом -- редактор, во всем остальном сосет. Но это конечно одна бабка сказала.
Аноним 10/04/16 Вск 21:43:21  713384
Кто то сталкивался: https://issues.dlang.org/show_bug.cgi?id=15625 ?
Аноним 10/04/16 Вск 21:46:18  713387
>>713384
Это видимо для тех, кто сам компилятор и окружение собирает.
Пользуюсь сбилженным из реп, проблем не имею.
Аноним 10/04/16 Вск 21:49:34  713388
>>713362
Судя по расписанию докладов на dconf 2016, ди использовали в quantum break (хотя и сомневаюсь что для рендера). Если кто не в курсе – это одна из самых захайпованных ААА игрулек в этом сезоне.
Аноним 11/04/16 Пнд 11:33:36  713639
>>713388
Апну пруфчанмким:
http://dconf.org/2016/talks/watson.html
Аноним 11/04/16 Пнд 11:57:34  713657
Что можно поделать с херней по имени:
>&"warning: GDB: Failed to set controlling terminal: Operation not permitted\n"

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

Что можно с этим поделать?
Аноним 11/04/16 Пнд 12:05:55  713669
>>713657
AFAIK ничего
Аноним 11/04/16 Пнд 12:34:22  713692
Есть ли способ сделать что-то вроде filter!, но чтобы вернуть не отфильтрованный список, а отфильтрованный элемент?

Например - есть жсон, сейчас это делается как json.filter!(x => x['field'].str() == "value").array[0]

Но array[0] бессмысленен, поскольку мне надо просто выдрать результат с конкретным 'field' и он там один, и это избыточно.

Типо какой-нить filterFirst или что-то в этом роде?
Аноним 11/04/16 Пнд 12:40:32  713693
>>713692
take? они все равно ленивые, так как ренжифицированные
Аноним 11/04/16 Пнд 12:43:43  713696
>>713693
разве .array не заставит там чего-то выделять? А в чистом range нельзя по индексу обратиться

Ща take попробую.
Аноним 11/04/16 Пнд 12:46:02  713697
>>713657
Пойти и модифицировать плагин к ксамаринстудии, можешь даже создать форк или пулл реквест– он опенсорсный.
Аноним 11/04/16 Пнд 12:50:34  713698
>>713696
Так take же не возвращает из рейнжа по индексу, а просто обрезает его до указанной длины?
Аноним 11/04/16 Пнд 12:54:26  713701
>>713692
http://dlang.org/phobos/std_algorithm_searching.html#find
Аноним 11/04/16 Пнд 12:54:55  713702
>>713698
Не обрезает, а берет несколько элементов. Фактически вычисления будут идти до момента, пока take не получит необходимого колличества элементов, в твоем случае одного. И не будет лишнего выделения памяти и лишнего потребления процессора.
Аноним 11/04/16 Пнд 13:03:34  713703
>>713702
Я нагуглил какой-то popFront. Только вот проблема в том, что он выбрасывает из рейнжа нужный элемент в никуда, а сам - void.
>>713701
это малость не то. У меня уже есть рейнж с результатом на выходе. Я думал, есть что-то вроде "вытолкнуть первый элемент", и оно таки есть, но
void
Аноним 11/04/16 Пнд 13:04:39  713705
>>713703
Все, вопрос закрыт.

Это обычный .front
Аноним 11/04/16 Пнд 13:04:40  713706
>>713703
Попробуй front.
Аноним 11/04/16 Пнд 13:06:42  713707
>>713703
front это часть интерфейса протокола range и не рекомендую ее использовать напрямаю. Тот же take и его варианты используют этот протокол.
Аноним 11/04/16 Пнд 13:07:29  713708
>>713706
Да, уже нашел - сабж именно то что я искал.

Алсо - 500 постов, перекатывать будем?
Аноним 11/04/16 Пнд 13:08:15  713709
>>713707
А что плохого будет, если дернуть front?

Я попробовал - вроде все работает, и коротко.
Аноним 11/04/16 Пнд 13:08:36  713710
>>713708
Да, только шапку нормальную запилить надо, без "отосов" и "смиртей))".
Аноним 11/04/16 Пнд 13:11:32  713712
>>713709
для начала дерни empty, а вообще http://www.tutorialspoint.com/d_programming/d_programming_ranges.htm
Аноним 11/04/16 Пнд 14:48:41  713783
Мда. Попробовал я dqml и остался разочарован.
В практических целях использовать это практически нельзя. QQmlComponent - нету, QQuickWindow - нету.
Только хелловорлды рисовать походу.

Еще есть мертвый DQuick, и два мертвых биндинга к Qt.

Видно придется попробовать кушать говно по имени GTK.
Аноним 11/04/16 Пнд 19:47:53  714003
>>713783
ПЕРЕКАТ: https://2ch.hk/pr/res/713798.html
Аноним 12/04/16 Втр 07:16:54  714405
>>711923
>Из профитов питона пожалуй - отсутствие необходимости писать "auto"
Это не баг а фича. Если ты никогда не ебался с типами то тебе не понять
Аноним 12/04/16 Втр 07:18:44  714406
>>713305
sdl это надмножество json, вроде
юзаю оба варианта - в старых проектах json в новых sdl - sdl удобнее

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

Топ тредов