Choosing D over C++, Go, Rust, Swift

maik klein via Digitalmars-d digitalmars-d at puremagic.com
Sun Jan 24 06:07:42 PST 2016


On Sunday, 24 January 2016 at 12:04:58 UTC, Dibyendu Majumdar 
wrote:
> On Thursday, 14 January 2016 at 13:47:39 UTC, Dibyendu Majumdar 
> wrote:
>> I wrote recently that I am looking at an alternative to C++ 
>> for a project currently being coded in C++. I am pleased to 
>> say based on preliminary investigations I have chosen D over 
>> Go, Rust, and Swift.
>
>> 1. D appears to give me all the power of C++ - and in 
>> particular even greater power with templates.
>>
>> 2. D code is cleaner, more traditional (Java and C like), and 
>> easier to read and understand than some of the alternatives. 
>> Go is simpler of course and also easy to follow - but that is 
>> because it is a small language. I dislike the new syntax of 
>> Rust as it seems gratuitously different and (in my view) hard 
>> to read.
>>
>> 3. D gives me all the low level control while at the same time 
>> giving me the ability to write code at a higher level. C++ is 
>> similar but the other languages are all restrictive in some 
>> way or other.
>>
>
> Hi - just to give you an update. After trying to get some 
> simple tests working for the past few days I have concluded 
> that while D is the best choice for my project (after C++) - 
> D's implementation and tooling is not mature enough yet for me 
> to spend effort on a port. So I will defer the move to D to a 
> future time - but my intention is to do other work in D related 
> to my OpenSource projects around Lua.
>
> I really want to use D as a better C / C++ so am looking 
> forward to library developments that better support a style of 
> programming that relies less on GC. Its not that I don't like 
> GC - but I feel that the reasons for my using a language like D 
> or C++ is control - else I would use Java or Swift or Go.
>
> Regards
> Dibyendu

I am in a similar boat, I don't need the GC at all and there is 
not much stuff in the std to support a programming style like in 
C++. Also I already run into a couple of bugs in the std which I 
am currently trying to fix or work around. It is quite annoying.

But it is still the best bet if you want to do any 
metaprogramming, I think I have tried all statically compiled 
languages so far and nothing really comes close to what C++ can 
do. But D even improves on C++'s metaprogramming and it compiles 
so much faster.

Actually I personally came to the conclusion that C++ is kinda 
useless for metaprogramming because the compile times will 
explode very quickly.

A small entity component system with compile time filtering that 
I have written in C++ takes around 15 seconds for a toy example. 
In D it is ~1sec and the number doesn't seem go go up at all.




More information about the Digitalmars-d mailing list