
Ievgenii
30.08.2018
15:30:03
Хм...
Выходит только структуры?
И интерфейсы идут лесом?)

NullSanya
30.08.2018
15:31:14
Вроде да

Google

Ievgenii
30.08.2018
15:31:17
Блин

NullSanya
30.08.2018
15:31:47
Используй ди с самописным рт

Ievgenii
30.08.2018
15:32:40
На самом деле мне сейчас хочется создать экземпляр класса в @nogc функции
И вот завис...
Со структурой все просто
А вот с классом...

NullSanya
30.08.2018
15:34:35
Выделяешь память нужного размера и emplace
Но в беттерС не прокатит

Ievgenii
30.08.2018
15:36:37
Мда...

NullSanya
30.08.2018
15:38:31
Ибо для эмплейса нужен TypeId
Или как он там зовется

Ievgenii
30.08.2018
15:39:12
Блин

Google

Ievgenii
30.08.2018
15:39:53
А как тогда пишут взаимодействие между компанентами, не зная о их реализации, без интерфейсов О.о
Вот сижу и что-то не въезжаю

Stepanos
30.08.2018
15:40:16
я не понимаю почему вы фапаете на этот беттерси, оно же говно. В производительность большинство никогда не упрется (сужу по джаве, которая в 2-2.5 раза медленнее D), а если упрется - значит уже успех и будут ресурсы на железо

Ievgenii
30.08.2018
15:40:29
Хочу сделать dll-ку, с функцией, в которую должен был приходить интерфейс
И сейчас не понимаю, как это переделать на структуры...

NullSanya
30.08.2018
15:40:43

Stepanos
30.08.2018
15:41:04
не используют беттерси?))

Ievgenii
30.08.2018
15:41:27
Вот делаю имитацию. что пишут его на чем-то отличном от Ди
Тупняк...

Stepanos
30.08.2018
15:42:43
ну берешь спеку и пишешь либку-обертку, в которой разрабатьіваешь свой интерфейс)

Ievgenii
30.08.2018
15:43:07
Вот я интерфейсы навоял
А потом вспомнил, что в том же Си, классов нет)
И мои интерфейсы до жопы)
Нужны структуры
А там нет моего любимого полиморфизма(((
Та не проблема. Сейчас все выкину и напишу заново))))

NullSanya
30.08.2018
15:44:11
Напомните что такое полиморфизм

Ievgenii
30.08.2018
15:44:47
class A {}
class B : A {}
A b = new B()

Stepanos
30.08.2018
15:45:02
не надо структурьі) не гони

Google

Ievgenii
30.08.2018
15:45:14

Stepanos
30.08.2018
15:45:29
просто в реализации к своему интерфейсу дергай функции либки

Andrey
30.08.2018
15:45:32

Ievgenii
30.08.2018
15:46:26
Смотри, dll-ка должна спросить список каких-то сервисов у основного APP. Я планировал передавать в dll-ку некий интерфейс с методами, через который можно получать нужный тебе сервис по какому-то ключу

NullSanya
30.08.2018
15:47:19

Ievgenii
30.08.2018
15:47:28
Вот именно

Andrey
30.08.2018
15:47:29
https://dlang.org/spec/cpp_interface.html#using_d_classes_from_cpp это не оно?

Ievgenii
30.08.2018
15:48:26
Это статическая либа
Которая линкуется вместе, как я понял
А у меня DLL, она же ничего не знает о моем APP

Andrey
30.08.2018
15:48:57
без разницы вроде ж

Ievgenii
30.08.2018
15:49:00
Или я не верно понимаю?

Ievgenii
30.08.2018
15:49:04
Хм...
Тогда нужно попробовать

Andrey
30.08.2018
15:52:17
на форуме может спросить? в подразделе leaning )

NullSanya
30.08.2018
15:52:49
Не, ну тут одна большая проблема: нет стандарта для интерфейсов
Можно сделать структуру указателей на функции

Ievgenii
30.08.2018
15:53:36
По крайне мерее я не могу дернуть произвольную функцию из dll-ки, не указывая из какой именно я дергаю
Сейчас попробую в другую сторону

Google

Ievgenii
30.08.2018
15:56:48
О!
А вот с DLL-ки я могу дернуть произвольную функцию

NullSanya
30.08.2018
15:57:13

Ievgenii
30.08.2018
15:57:17
Тогда мне реально не нужны интерфейсы

Andrey
30.08.2018
15:57:38
вроде не должно быть разницы между длл и статичиеской либой, просто способ линковки

Ievgenii
30.08.2018
15:58:04
А не со стороны приложения

Andrey
30.08.2018
15:58:21
как это со стороны длл-ки)
со стороны приложения не должно быть разницы, если правильно слинковано

Admin
ERROR: S client not available

Ievgenii
30.08.2018
15:59:06
DLL-ка может дернуть произвольную функцию из APP, а вот APP не может дернуть произвольную ф-цию из DLL-ки, без указания из какой именно DLL-ки дергать

Andrey
30.08.2018
15:59:45
ну да

Ievgenii
30.08.2018
16:00:09
Лады
Побежал домой
Завтра доделаю)

Denis
30.08.2018
16:16:24

Ievgenii
30.08.2018
16:16:50
Уже

Google

Pavel
30.08.2018
16:20:15
Во-первых это хобби проекты, которые ради удовольствия всегда упираются в то во что не упираются продакшены. Во-вторых если уперлось в производительность это не значит еще что пришел успех.
Например сделал ты какой-нибудь хайлоад стриминговый сервер, выложил его на гитхаб, а тебе пользователь пишет что у него тормозит на 1000 пользователей. Тут ни денег ни железа, а проблема есть.
Если так рассуждать то и D никогда не нужен, в него ничего не упирается и всегда есть более подходящий язык.

Andrey
30.08.2018
16:24:49
возможно, имлось ввиду, что GC обычно не является причиной при проблемах с производительностью... кривые руки - вероятнее)

Pavel
30.08.2018
16:27:01
Как не является когда он делает stop the world
работает у тебя приложуха все прекрасно, а потом берет и виснет на полсекунды.
Это вот как раз то во что реально часто упирается и из-за чего по сути не имеет смысла писать на D

Denis
30.08.2018
18:47:51
github.com заблочили что ли? попробуйте открыть в браузере?
у меня ни http ни ssh не проходят на него

Andrey
30.08.2018
19:04:35
да вроде норм

Ievgenii
30.08.2018
19:19:15
СМ не мешает, а только помогает!
Если не ссорить объектами - то все норм и СМ даже запускаться не будет.

Pavel
30.08.2018
19:30:31
что значит "пиши грамотно" и что значит "не сорить" ? =) Это противоречит самой идее GC
Если не сорить то тогда и классы нечего использовать.

Ievgenii
30.08.2018
19:34:16

Pavel
30.08.2018
19:35:38
Это ты сейчас как будто сказал "Не пиши на D и все нормально будет" :)

Ievgenii
30.08.2018
19:35:57
Ну чего
Не обязательно на Ди писать как на РНР

Pavel
30.08.2018
19:36:32
std библиотека вся из классов состоит