@dlangru

Страница 432 из 719
Evgeny
05.03.2018
12:31:24
что хочешь, то и пиши там

Dark
05.03.2018
12:31:40
Я понял

Сейчас перепишу

Google
elias
05.03.2018
12:54:12
а есть ли незаброшенные D-биндинги к негуёвым классам Qt?

Alexander
05.03.2018
12:55:35
QtE5 жив вроде, но на любителя

Dark
05.03.2018
13:37:01
alias же, распиши - поможет
Мы уже разобрались, косяк был в другом

Denis
05.03.2018
13:37:51
только что написали

Evgeny
05.03.2018
14:20:59
его тоже помню, кто-то обосрал, типа для гуя плохо подходит

я правда так и не понял что особенного в гуевом эвент-лупе?

Denis
05.03.2018
14:22:33
когда успели обосрать если его только что опубликовали?

первый коммит 2 марта

Evgeny
05.03.2018
14:23:00
а, значит не его, видимо я попутал

Denis
05.03.2018
14:24:44
а, это похоже https://github.com/etcimon/libasync

Google
Denis
05.03.2018
14:24:57
скопипиздили

или нет, хз, не пойму

Pavel
05.03.2018
14:34:53
Какой-то чувак взял libasync и даже не удосужился имена в dub.json поменять

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

Denis
05.03.2018
14:39:00
дык и в vibe их уже 2 или 3

vibe-core и vibe:core содержат разное

Pavel
05.03.2018
14:39:24
ну да. Шизофрения

Dark
05.03.2018
15:02:27
*Шутка про то, что в JS фреймворки чаще делают*

Pavel
05.03.2018
15:24:53
Ну в жс хотя бы есть хорошо оформленные проекты-лидеры

Dark
05.03.2018
15:29:17
Они от крупных компаний. Придут такие компании на D и там тоже такие проекты будут

Pavel
05.03.2018
15:34:29
Ну вот есть vibe.d вполне рабочий который пилит один энтузиаст в одиночку, есть еще libmir который пилится тоже в одиночку

Хотя как рабочий.. у меня например vibe-core зависает в бесконечном цикле через пару часов работы, что сводит его крутость на нет

Pavel
05.03.2018
16:10:55
А вот и в одиночечку!

Pavel
05.03.2018
16:11:22
https://github.com/vibe-d/vibe.d/graphs/contributors остальные 10% вклада суммарно и то с натяжкой

Evgeny
05.03.2018
16:56:54
Тем не менее не в одиночечку. Кроме того это данные за все время. А если взять последний год, то уже и 20% набежит

Dark
05.03.2018
17:06:49
Может мне кто нибудь объяснить TaskPool? А то я не допер

Google
Pavel
05.03.2018
17:07:28
Это очередь задач, кладешь туда задачи а треды их разбирают

Dark
05.03.2018
17:09:17
Можно простенький пример TaskPool с Task?

Pavel
05.03.2018
17:14:00
while (true) { clientSocket = serverSocket.accept(); auto task = scopedTask!handleSocket(clientSocket); taskPool.put(&task); } void handleSocket(Socket clientSocket) { }

Dark
05.03.2018
17:19:40
Кажется я понял. Есть n потоков, а taskpool раздает им таски

Так?

Dmitry
05.03.2018
17:21:29
Вот только scopedTask в этом примере - большая ошибка.

Dark
05.03.2018
17:25:47
Наверное потому, что при новом цикле это будет выпушено из стека

Dmitry
05.03.2018
17:25:49
потому что будет ждать завершения задачи на каждой итерации, никакого параллелизма

Task objects created using scopedTask will automatically call Task.yieldForce in their destructor if necessary to ensure the Task is complete before the stack frame they reside on is destroyed.

Pavel
05.03.2018
17:31:19
Что-то я не понял в какой момент оно будет ждать

.put() пихает задачу в очередь и дальше работает

Dmitry
05.03.2018
17:33:45
и в следующей строчке срабатывает деструктор задачи, который останавливает текущий поток, пока задача не выполнится

Pavel
05.03.2018
17:34:22
Чот не верю

Dmitry
05.03.2018
17:36:36
вопрос для проверки: где живет этот таск? сколько их будет создано за 100 итераций, сколько из них могут существовать одновременно?

ответ: на стеке этой ф-ии, в единственном экземпляре, так что параллельно они жить не могут

Pavel
05.03.2018
17:38:13
Ща проверим

Dark
05.03.2018
17:40:14
Вот мне не хватает сворачивания доки. А то пытаешься окинуть взглядом все это, а не, нифига

Google
Денис
05.03.2018
18:52:09
http://dlang.ru/faq норм так разжигаете в сравнии с растом и го )
Слушайте, уберите/исправьте это позорное сравнение про го. Проблемы тут следующие: 1 - Очень хейтерский тон. Этот текст должен рекламировать яп, а не школосрач разводить (половина тезисов просто безосновательный пиздеж). 2 - Гошный код просто бездарный (совершенно неидиоматичный и раздутый), ужал все примеры без проблем в 2 раза, кроме суммы. Сумму можно сделать тем же редьюсом через рефлексию, но надо указать что компайл-тайм рефлексии в го хорошей нет, в этом и плюс D 3 - В примере с поиском по массиву - вообще очень грустно. Зачем-то сортируем (что алгоритмически неправильно), используем сложный sort.Search. Не круто это все, надо не на хеллоуворде проводить сравнения, а действительно показывать киллер-фичи, которых нет в %языкname%. Говоришь - у нас компайл-тайм рефлексия с человеческим лицом и любой гофер сразу понимает как это круто.

Dark
05.03.2018
19:26:01
Про пункт 2. Автор, видимо, не кодил на го

Денис
05.03.2018
19:32:30
Про пункт 2. Автор, видимо, не кодил на го
Кстати я тут подумал: [1,2,3,4,5,6].reduce!((a,b) => a+b).writeln; Отличный способ отстрелить себе ногу так-то. Он неявно приводит к инту и переполняется. В го же то, что явно надо указывать тип - наоборот спасает. Так что некорректный вообще пример.

Dark
05.03.2018
19:33:23
При чем тут переполнение?

Денис
05.03.2018
19:39:15
При чем тут переполнение?
Ну если я нечаянно редьюсну так массив например [1,2147483647], то получу неприятный результат. И тогда мне придется ручками переписать на, например uint[]list = [2,0,0,0,2147483647]; list.reduce!((a,b) => a+b).writeln;

И тогда никакой разницы с го, где так же явно указывается тип - нет

Dmitry
05.03.2018
19:42:40
Достаточно написать [1u, 2147483647]

Тогда будет uint[]

Pavel
05.03.2018
19:44:55
какая же опасная операция это сложение)

Pavel
05.03.2018
19:45:56
Единственный верный способ как уделать любой другой язык - взять переписать популярную на нем программу с меньшими усилиями.

И показать типа вот смотрите - строк стало меньше на 42%, читабельность и производительность такие же.

Pavel
05.03.2018
19:48:31
может тут что есть готовое: https://rosettacode.org/wiki/Category:Programming_Tasks

В любом случае, нужно владеть сравниваемыми языками.

Pavel
05.03.2018
19:51:51
Вот брать задачи отсюда https://rosettacode.org/wiki/Metaprogramming и решать на go. Шах и мат, гоисты!

Dark
05.03.2018
20:04:51
Pavel
05.03.2018
20:06:02
Я не понял сути твоего философского высказывания ?

Igor
05.03.2018
20:06:16
только что написали
те-же Sonke и etcimon ))

Dark
05.03.2018
20:08:17
Я не понял сути твоего философского высказывания ?
Я имел ввиду, что короче не всегда понятнее и т.п. Взять Perl, к примеру В общем, сравнивание ЯПов очень субъективная штука

Pavel
05.03.2018
20:09:01
Я же там сделал уточнение про читабельность и производительность ;)

Денис
05.03.2018
20:09:35
И показать типа вот смотрите - строк стало меньше на 42%, читабельность и производительность такие же.
Ну читабельность - слишком субъективная вещь, а размер тоже не показатель. Кому-то и перлгольфные однострочники збс. Если сравнивать - то надо именно по механизмам, которые есть в языке приминительно к задачам, где эти механизмы заходят.

Google
Dark
05.03.2018
20:10:03
Опять таки это субъективная оценка

Pavel
05.03.2018
20:10:20
Ладно это уже пошла какая-то демагогофилософия ;)

Dark
05.03.2018
20:10:44
Скорее, метафилософия

;)

Pavel
05.03.2018
20:11:20
Потому что субъективных вещей не так уж много. Особено если учесть что щас все языки двигаются друг к другу и стали все очень похожими.

Значит некая золотая середина есть и все ее чувствуют

Dark
05.03.2018
20:15:01
Значит некая золотая середина есть и все ее чувствуют
Самое смешное, что эта золота середина, в общем то, С.

Pavel
05.03.2018
20:19:43
Он содержит в себе самое маленькое подмножество возможностей, но более высокого уровня там нет.

асинхронное выполнение, аннотации, функциональщина, ооп

Денис
05.03.2018
20:20:18
Потому что субъективных вещей не так уж много. Особено если учесть что щас все языки двигаются друг к другу и стали все очень похожими.
Согласен. Поэтому лучше не сравнивать D с другими языками, а показать все его механизмы тупо. Вот тут мы парсер на компайл-тайм рефлексии пишем, а вот тут многопоточный сервер парой строчек, а здесь графику обрабатываем экономя текст миксинами. Такой faq сложно написать, но меня бы воодушевило больше, чем кидание стереотипами и мерянием числа строчек для сложения 2 чисел. Хм. А Вообще год не писал на D, а тут прям желание появилось, надо будет на праздниках поразвлечься. Кстати vibed еще ничем не заменили?

Pavel
05.03.2018
20:22:00
юнька это что?

Денис
05.03.2018
20:22:25
юнька это что?
Unity видимо, 3д движок

Dark
05.03.2018
20:23:06
Он содержит в себе самое маленькое подмножество возможностей, но более высокого уровня там нет.
Я не говорил, что он идеален. Я говорил, что он золотая середине, большинство ЯПов заимствуют решения С. Те же инкременты

Pavel
05.03.2018
20:23:26
Инкременты?

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

Денис
05.03.2018
20:25:45
Я не говорил, что он идеален. Я говорил, что он золотая середине, большинство ЯПов заимствуют решения С. Те же инкременты
Хз. Я бы сказал, что питон - золотая середина. В нем есть всё. Все какое-то игрушечное, но почти всё. Хоть функциональщину пиши.

Страница 432 из 719