Why I chose D over Ada and Eiffel

Chris wendlec at tcd.ie
Mon Aug 26 02:29:16 PDT 2013


On Monday, 26 August 2013 at 07:32:53 UTC, Zach the Mystic wrote:
>
> One of the theories as to why there are no bears to be found on 
> the African continent is that they are omnivores - i.e. 
> generalists - which in a hugely competitive environment such as 
> Africa, there is no niche in which they will not be beat out by 
> a more specifically adapted animal. My understanding of D is 
> that is like a bear, trying to be good at everything. (Maybe 
> that's why bearophile likes it so much!)
>
> But the environment for programming is sufficiently competitive 
> that a language which is merely good at everything without 
> being the best at something could be beaten out of the race 
> simply by not having a niche. Therefore I see an emphasis on 
> one thing to be a strategic advantage even if one's ultimate 
> goal is to build something which is actually good at everything.
>
> It certainly seems to turn a lot of heads when D rivals the 
> fastest languages in a performance comparison. Having caught 
> their attention, D can introduce its other advantages. The two 
> which seem most prominent to me are compile time (often 10% of 
> C++'s) and overall expressiveness, but it seems like almost 
> nothing has been completely ignored.
>
> I'm more or less a fanboy, so I'm sort of on-board for better 
> or worse. Even so, I sometimes feel like this community is 
> building some kind of Cyberdyne Systems Terminator in their 
> garage or something.

I don't agree. I first used D exactly because it is an 
"all-rounder". For me built-in UTF support was as important a 
factor as native machine code (performance). The reasons why 
people would perfer C++ to D are probably habit and convenience. 
If you've used C++ for years why should you bother to learn D? 
After all, C++ is well established, well-documented, has loads of 
libraries, will get you a job more eaily etc. Language features 
and performance are sometimes over-estimated when it comes to 
analyzing why a language succeeded. There's convenience, 
marketing (propaganda) etc etc.

Also I don't think that performance alone decides whether a 
language becomes popular or not. If it were soley down to 
performance we wouldn't have Java or Python or even Objective-C 
(which used to be criticized for being too slow). Ease of use, a 
clear and consistent structure and "write once run everywhere" 
are very important too. Especially now that developers have to 
face so many different platforms (Linux, Mac, Windows, Android, 
iOS) everythnig goes into the direction of "write once ..." 
That's one of the reasons why Android took off, I think, because 
developers said "Great, maybe this will put an end to the mobile 
platform jungle. We'll support Android, less headaches for us!".

D has what it takes to make it. I don't think the language itself 
is the problem. And of course, you will always hear arguments 
like "But C++ is 1% faster" from people who want to hold on to 
what they have spent years learning. It's completely 
understandable, it's like the song "There's a whole in my bucket" 
(http://en.wikipedia.org/wiki/There%27s_a_Hole_in_My_Bucket). Any 
excuse.


More information about the Digitalmars-d mailing list