C++ or D?
RSY
rsy_881 at gmail.com
Thu Dec 24 08:36:54 UTC 2020
On Wednesday, 23 December 2020 at 19:00:14 UTC, evilrat wrote:
> On Wednesday, 23 December 2020 at 18:03:56 UTC, frame wrote:
>>
>> It's not the problem mentioned but I had to struggle with DLLs
>> and D's Variant-type. The problem is that Variant uses
>> TypeInfo which does not pass DLL boundaries correctly so that
>> int != int in runtime even it's in fact a simple int.
>>
>> If you need to exchange unknown data between a DLL and your
>> application you need to get a workaround and cannot use that
>> elsewhere settled nice feature. But it's a Windows specific
>> issue - it works as expected on other systems.
>
> Which is basically same as in C++, despite the fact it does
> have real working SO/DLL runtime's many large projects have
> their own RTTI implementation. LLVM has its own RTTI because
> standard type info is "inefficient", Unreal Engine has its own,
> IIRC Qt too has its own, etc...
>
> Same thing with D Variant, some people say it is
> "inefficient"... so we ended up having multiple libraries.
>
> Not saying anything about how good or bad all this, just the
> facts.
C++ you need to write duplicate code (.h and .cpp)
C++ you need to care about header include order
C++ you need to forward declare everything you gonna use if it is
not included before
C++ you need to waste time waiting for compile
C++ you need to fight to get proper reflection
D is much more superior to C++ in my opinion, proper package
manager, great compile time, great module system, great interop
with C and C++
You can use GC, you can disable it, you can use malloc, it suits
all your need!
Can't find a lib? use a C or C++ one, that is what makes D so
much powerfull, you don't have to give up on other ecosystem, you
can embrace them in your project
More information about the Digitalmars-d-learn
mailing list