@dlangru

Страница 409 из 719
Maxim
19.02.2018
06:54:00
Оно вроде живое снова, да? А то помнится там застой был.
я уже с полгода как на vscode пересел, не слежу

NullSanya
19.02.2018
06:54:10
Хотелось бы visual-d использовать, но у него странный курс развития

elias
19.02.2018
06:54:45
а есть нормальный туториал - работа с языком D на vscode (для тех, кто не работал c vscode)?

Google
elias
19.02.2018
06:55:18
windows

Maxim
19.02.2018
06:55:49
да мне кажется, хватит туториала для начинающих в vscode

NullSanya
19.02.2018
06:56:01
Как у меня например

и да, ldc2 тогда надо ставить

и workspace-d лучше самому компилировать

Как и само расширение

Кстати, code-d у меня сегодня запускал кучу dmd

ЗАчем я так и не понял

Maxim
19.02.2018
06:57:41
хм, я как-то далёк от виндовых заморочек, у меня основная система для жизни — kubuntu

но настойчивость, с которой сообщество D плюет на Windows, удивляет)

NullSanya
19.02.2018
06:58:33
хм, я как-то далёк от виндовых заморочек, у меня основная система для жизни — kubuntu
К сожалению я так и не смог пересесть, ибо настроить дискорд и осу там у меня никак не выходит.

Google
Maxim
19.02.2018
06:58:51
шаманство на шаманстве шаманством погоняет

NullSanya
19.02.2018
06:59:04
Выпилили бы уже поддержку omf и не требовали бы vs для coff

и радости бы не было предела

Maxim
19.02.2018
07:00:12
это огромную работу проделывать надо, как говорит Уолтер — так исторически сложилось, что все инструменты Digital Mars заточены под OMF

NullSanya
19.02.2018
07:00:12
типа линковщик и библиотеки из mingw

Мда... это печалит

NullSanya
19.02.2018
07:09:02
а линковать-то чем?
mingw, там вроде все есть

в rust допустим есть такая возможность

Evgeny
19.02.2018
07:09:26
ну и какая разница? один хрен нужен сторонний линкер

проблема, что в ведре нет штатного компилятора

с штатным же линкером

NullSanya
19.02.2018
07:10:13
ну и какая разница? один хрен нужен сторонний линкер
в раст он вместе с компилятором вроде, но точно не помню

Ну mingw куда проще поставить, чем vс++ без vs

elias
19.02.2018
07:11:15
mingw разный бывает - новичков может отпугнуть обилие модификаций.

Evgeny
19.02.2018
07:11:47
если GDC впилят в GCC, то есть шанс, что в мингве будет GDC

Maxim
19.02.2018
07:12:06
а еще VS Community никак не хочет заводиться в wine

Pavel
19.02.2018
07:13:55
и не захочет)

Google
Maxim
19.02.2018
07:15:22
не, ну может, конечно, наступит когда-нибудь такой момент, ходят слухи, что в Wine 3.0 кому-то это удавалось сделать)

Dmitry
19.02.2018
07:46:43
Ради линкера ставить Visual Studio не нужно, достаточно поставить http://landinghub.visualstudio.com/visual-cpp-build-tools

DLangIDE я недавно пытался на винде использовать, месяц или два назад. Увы, текущая версия оказалась совершенно неюзабельной: через несколько минут после запуска она или виснет, или начинает дико тормозить и жрать проц (1-2 ядра). Причем даже если не использовать - просто запустить и держать в фоне. Я подозреваю это из-за плохо встроенного dcd там. Раньше такого не было, вроде.

Dmitry
19.02.2018
07:54:40
Неа. Кажется, там такие issue уже упоминались.

Evgeny
19.02.2018
08:19:26
Sublime Text 3 :D

Dmitry
19.02.2018
08:40:13
Variant — это магия из std.variant)
Дык она разве не подходит для того чтобы ответ из ОРМ получать? Я все к теме того где Tuple полезен

Pavel
19.02.2018
08:41:25
Tuple - массив Variant-ов

Список, если точнее.

Dmitry
19.02.2018
08:42:37
Variant это обёртка над Tuple?

Pavel
19.02.2018
08:43:00
Обычно там Union.

Evgeny
19.02.2018
09:01:01
Tuple - это кортеж. По сути сахар для быстрого создания анонимных структур

Denis
19.02.2018
09:14:18
Гоню-с

Igor
19.02.2018
18:31:52
о, выпустили большой релиз dmd - 2.079.0

Denis
19.02.2018
18:40:44
бета же

The delete keyword has been deprecated. Ну вот и всё...

Igor
19.02.2018
18:48:51
есть интересные и полезные фишки

Function parameters with default values are now allowed after variadic template parameters прикольно, только недавно наткнулся на эту проблему

Denis
19.02.2018
19:01:11
и как оно догадается?

Google
Evgeny
19.02.2018
19:02:36
что догадается?

Denis
19.02.2018
19:03:38
Ну там пример вон дан https://dlang.org/changelog/2.079.0.html#default_after_variadic

пишу я предположим вызов: log(int, string); // string тут в file пойдёт или как более левый аргумент?

Igor
19.02.2018
19:06:13
ну думаю что оно смотрит на типы и определяет - попадают типы последних переменные в вызове в типы переменных с дефолтными значениями в описании функции и если нет - относит их к variadic

Denis
19.02.2018
19:12:01
почему для простых типов (long, например) не работает (иногда?) конструкция типа: i.someFunc(); ?

если функция someFunc(long) существует

Evgeny
19.02.2018
19:13:09
вот приятное изменение: https://dlang.org/changelog/2.079.0.html#minimal_runtime

наконец-то какие-то подвижки

Denis
19.02.2018
19:13:36
давно пора было ага

контроллеры ждут

Pavel
19.02.2018
19:15:50
А где можно почитать как свой рантайм делать?

Evgeny
19.02.2018
19:26:48
ну думаю что оно смотрит на типы и определяет - попадают типы последних переменные в вызове в типы переменных с дефолтными значениями в описании функции и если нет - относит их к variadic
Нет, в чейнджлоге написано, что если НЕ указывать явно параметры шаблона (IFTI - Implicit Function Template Instantination), то параметры по умолчанию всегда будут дополнительно добавлены со своими значениями по умолчанию. Поэтому log(int, string); // int и string попадут в variadic аргументы, и еще два параметра будут добавлены со значениями __LINE__ и __FILE__

Igor
19.02.2018
19:30:25
то есть явно я их указать никак не могу? Т.е. я хочу в вызов передать некие полученные откуда-то line и file - так не получится?

Evgeny
19.02.2018
19:39:23
Получится, если явно указать параметры шаблона:

log!(int, string)(10, "ssss", 256, "file.d")

Eto
19.02.2018
19:42:56
А где можно почитать как свой рантайм делать?
Можно начать тут: https://stackoverflow.com/q/13573289/944911

Evgeny
19.02.2018
19:51:37
лично я все делал как обычно, но подсовывал линкеру свой скрипт, который резал весь рантайм. А нужные мне функции рантайма я просто определял где-нибудь в своих же исходниках.

Dmitry
20.02.2018
01:56:34
Google
Dmitry
20.02.2018
02:00:16
С тем же подходом что у Евгения.

Valeriy
20.02.2018
03:20:05
А кто и как решает какие изменения попадут в язык, а какие нет. У D есть консорциум, стандарт?

Denis
20.02.2018
03:21:51
На форуме коллегиально.

Valeriy
20.02.2018
03:27:04
На форуме коллегиально.
А есть стандарт?

Denis
20.02.2018
03:27:28
Нет, но есть референсный компилятор.

Valeriy
20.02.2018
03:27:54
Понял спасибо.

The delete keyword has been deprecated. Ну вот и всё...
Вот это жаль. Подумывал запилить свой uniq_ptr чтобы как в C++ гибко управлять памятью без утечек и GC.

Denis
20.02.2018
03:32:47
Там костыль в виде __delete ещё оставили

Valeriy
20.02.2018
03:33:25
Там костыль в виде __delete ещё оставили
Ну если выпили delete, то и его выпилить могут в любой момент...

NullSanya
20.02.2018
04:02:12
Там костыль в виде __delete ещё оставили
Который будет вечно существовать.

Valeriy
20.02.2018
05:56:06
для этого delete не нужен
Хорошо если так. Я только начал разбираться с D всех тонкостей не знаю.

NullSanya
20.02.2018
05:56:54
Так что есть он, или нету... разницы нет

Dmitry
20.02.2018
05:59:01
Я использовал иногда с пользой. А вообще, если делать свой uniq_ptr, то там лучше память не в GC куче выделять, соответственно и освобождать не через delete.

Так что тут как раз проблемы нет.

Dmitry
20.02.2018
06:03:57
Их или аллокаторы на их основе.

std.experimental.allocator

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