Why I chose D over Ada and Eiffel

Zach the Mystic reachzach at gggggmail.com
Mon Aug 26 11:33:53 PDT 2013


On Monday, 26 August 2013 at 09:29:18 UTC, Chris wrote:
> 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!".

I'm trying to analyze the problem from a strategic point of view. 
For this, I like to invoke the Serenity Prayer (please forgive 
any distasteful theology):

"God, grant me the serenity to accept the things I cannot change,
The courage to change the things I can,
And wisdom to know the difference."

So yeah, you can't control people's choices. The question is, of 
the things which *can* be done, is it better to focus on 
well-roundedness, or to press an advantage where one is already 
ahead of the pack? Which will lead to greater adoption of the 
language?

One thing about performance in particular is that it's easy to 
measure and easy for the naive person to understand what it is. 
So there is perhaps a risk of being seduced into sacrificing 
other things which are more subtle, but equally important, in 
favor of winning at performance. Yet I think the key point is 
that that's not going to happen here. I personally have too much 
respect for the engineers working on this thing to think they 
would be that short-sighted.

But if it's *possible* to grab a performance trophy while still 
keeping the other flocks well-fed, it seems like a clear 
strategic win.


More information about the Digitalmars-d mailing list