
Denis
07.03.2018
18:58:48
ага

Dark
07.03.2018
18:59:14
И да, граф движок там найс, а вот физический не очень оптимизирован

Denis
07.03.2018
19:00:39
дык 2д есть же всякие sdl/sfml

Google

Denis
07.03.2018
19:00:45
и физика в gfm

Pavel
07.03.2018
19:02:44
Да проще на анриле сразу начать творить.

Dark
07.03.2018
19:02:57
Анриле?

Pavel
07.03.2018
19:03:16
анриле, да

Dark
07.03.2018
19:03:44
Unreal Engine действительно крут

Pavel
07.03.2018
19:04:07
ощущение будто боги писали

Dark
07.03.2018
19:04:39
Хз, я его не тыкал
Видюхи нет, а без нее пропащее дело его юзать

Pavel
07.03.2018
19:05:48
Да ладно.
Редакторы настраиваются, графика заоптимизирована по самое некуда, тестовые режимы.

Denis
07.03.2018
19:10:02
скоро без видюхи даже браузер не заработает
они там расстановку виджетов через gpu запиливают

Dark
07.03.2018
19:10:33
Я с линукса, пощади(

Google

Pavel
07.03.2018
19:10:54
А... Ну, чиркай, чиркай... )

Dark
07.03.2018
19:12:43

Pavel
07.03.2018
19:12:57
Бородатый анекдот
Идет полицай вдоль железнодорожных путей. Видит партизана, который безуспешно пытается спичками поджечь бикфордов шнур.
- "Гомельдрев"?
- Ага...
- Ну чиркай, чиркай...

Evgeny
07.03.2018
19:15:53
А о чем был спор? Плохо ОРМ или хорошо?

Pavel
07.03.2018
19:16:05
Мнения разделились.

Denis
07.03.2018
19:16:35

Dark
07.03.2018
19:17:30

Evgeny
07.03.2018
19:18:06
Я не спрашивал плохо ОРМ или хорошо. ? Я пытался угадать тему спора. Угадал?

Denis
07.03.2018
19:18:27
Да

Evgeny
07.03.2018
19:19:10
Мое личное отношение к ОРМ скорее плохое, чем хорошее. Но вот сейчас работаю с Ecto (эликсировская либа для работы с БД) и даже не знаю, можно ли ОРМ назвать или нет.

Pavel
07.03.2018
19:19:38
Таки у девелопера, а особенно у геймдевелопера железо должно быть потопее. Играться же можно на приставке.

Evgeny
07.03.2018
19:20:12
Ну у серверного девелопера главное памяти побольше, да процессор помощнее, а видео дело десятое.

Pavel
07.03.2018
19:20:46
В общем каким-то чудом send и receiveOnly примитивы из std.concurrency работают с Task вайбовскими. Магия.

Evgeny
07.03.2018
19:21:30
Скорее всего неверно работают
не конкурентно
send и receiveOnly есть в https://vibed.org/api/vibe.core.concurrency/
но оно лежит сейчас

Igor
07.03.2018
20:02:00

Google

Igor
07.03.2018
20:02:39
как-раз сейчас делаю это для event loop в пределах нити и надеюсь что можно допилить кросс-тредово

Pavel
07.03.2018
20:23:28
https://github.com/vibe-d/vibe-core/blob/master/source/vibe/core/concurrency.d#L1223 походу все работает как надо, остался вот такой алиас, а receiveOnly вообще нет больше.

Denis
07.03.2018
21:01:55
ждёт нас общей эвентлуп или уже ?

Igor
07.03.2018
21:05:46
в каком смысле общий?

Denis
07.03.2018
21:06:06
std.*

Igor
07.03.2018
21:06:29
что-то сомневаюсь в скорой перспективе
включение чего-либо в std это тяжкий и не всегда интересный труд

Denis
07.03.2018
21:09:02
ну пусть де-факто стандарт, есть уже?

Igor
07.03.2018
21:10:14
ну наверное vide.core
или даже то, что под ним

Denis
07.03.2018
21:16:59
под ним нечто неудобное
ок значит vibe-core

Denis
07.03.2018
21:17:16
а то что он сокеты на запись слушать не умеет это норм?

Igor
07.03.2018
21:20:10

Dark
08.03.2018
09:14:10
Интересно, когда стоит использовать struct'ы, а когда - tupl'ы?

Oleg
08.03.2018
09:58:51

Evgeny
08.03.2018
11:53:06

Denis
08.03.2018
12:05:25
> туплы это структуры.
(внутри)

Evgeny
08.03.2018
12:16:29

Pavel
08.03.2018
12:25:36
Нет)

Google

Dark
08.03.2018
12:37:25
Это как?

Pavel
08.03.2018
12:38:41
Ну снаружи она называется тюпля, ведет себя как тюпля. А внутри это структура.
Я почти никогда не использую тюпли, не могу придумать пример когда они лучше. Видимо тогда когда надо явно подчеркнуть что мы хотим работать имено с несколькими значениями а не с несколькими значениями как единой структурой.

Dark
08.03.2018
12:42:20
Вообще-то, обычно tuple(как правильно читать, кстати?), используются как то так:
func a() {
return (1, 2);
}
int x, y;
(x, y) = a();

Pavel
08.03.2018
12:53:00
У тюпла есть ряд методов и ими он может быть интересен.

Dark
08.03.2018
12:55:06
Какие, к примеру?

Pavel
08.03.2018
12:55:33
например toHash

Dark
08.03.2018
12:57:14
Т.е. можно написать так: int[Tuple!(int,char)] data?

Pavel
08.03.2018
12:57:31
типа да

Dark
08.03.2018
12:57:50
Офигенная фича, прямо

Admin
ERROR: S client not available

Pavel
08.03.2018
12:58:08
бывает полезно

Pavel
08.03.2018
12:59:39
А еще можно перебрать значения тюпли по одному в цикле что часто используется при метапрограммировании, когда нужно что-то сделать с информацией об аргументах функции

Dark
08.03.2018
13:01:18
Похоже весь D сводится к метапрограммированию

Pavel
08.03.2018
13:04:11
метапрограммирование=производительность программера

Pavel
08.03.2018
13:04:19
Нет почемуж, но ему отведена большая роль
И это она из киллер фичей, даже не фичей, а целых областей где он далеко впереди других языков.

Dark
08.03.2018
13:06:09
Это как технология MetalStorm - она выплевывает over 9000 пулек в секунду. Проблема в том, что подать необходимое количество пулек невозможно

Pavel
08.03.2018
13:07:27
постановщики задач могут всё

Pavel
08.03.2018
13:07:59
? жиза

Google

Evgeny
08.03.2018
14:11:33
Нет)
Компилятор с тобой не согласен
writeln(is(Tuple!(string, int) == struct)); // true ?

Pavel
08.03.2018
14:12:23
Так компилятор это уже внутри
А снаружи - это то как программист об этом думает

Evgeny
08.03.2018
14:14:40

Pavel
08.03.2018
14:15:19
я где то раньше слышал что это структура но так то никогда не думал о тюпле как о структуре

Dark
08.03.2018
14:16:18
А разве Tuple не делает что то вроде (struct{...}).tupleOf?

Evgeny
08.03.2018
14:16:53
например toHash
Вы не поверите, но обычная структура тоже умеет opHash - https://glot.io/snippets/eyz8lgerwc

Dark
08.03.2018
14:19:21
Самое вкусное - красивую десериализацию - не подвезли

Pavel
08.03.2018
14:19:46
десереализацию чего в чего?

Dark
08.03.2018
14:19:58
Кортежей в переменные

Evgeny
08.03.2018
14:20:03

Dark
08.03.2018
14:20:26
Я понимаю, для этого надо, что бы ЯП ее поддерживал
А этого как раз нет

Evgeny
08.03.2018
14:20:36
Кортежей в переменные
Звучит примерно как: сериализация массивов в переменные - бессмысленно и беспощадно ?

Dark
08.03.2018
14:20:51

Evgeny
08.03.2018
14:21:23
Ну тогда поясни.

Pavel
08.03.2018
14:21:30
Ну кстати, не факт что этого нельзя сделать. Благодаря тому же метапрограммированию может и можно как-то извернуться

Pavel
08.03.2018
14:21:45

Dark
08.03.2018
14:22:18
В голимом JS можно сделать так:
let obj = { a: 123, b: 456 };
let { a, b } = obj;
И это реально удобно

Evgeny
08.03.2018
14:22:42

Dark
08.03.2018
14:22:48
Тьфу