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.

Reply via email to