Which language futures make D overcompicated?

Ralph Doncaster nerdralph at github.com
Fri Feb 9 22:36:19 UTC 2018


On Friday, 9 February 2018 at 21:05:10 UTC, H. S. Teoh wrote:
> On Fri, Feb 09, 2018 at 08:49:24PM +0000, Meta via 
> Digitalmars-d wrote: [...]
>> I think the perception of D being complicated is more from 
>> programmers coming from Python/Ruby/JS (and to a lesser 
>> extent, Haskell/Scheme/Java). D is quite different if you're 
>> coming from a "VM" or "scripting" language because it exposes 
>> you to a lot of new concepts such as static typing, value 
>> types, templates, monomorphization, immutability, memory 
>> layout, linking and compilation, compile-time vs. runtime, 
>> etc. It's not that these programmers are less skilled or less 
>> knowledgeable; it's that if they've never used a language that 
>> has forced them to consider these concepts, then it looks to 
>> them like D is a massive step up in complexity compared to the 
>> language that they're used to.
>> 
>> I think if you asked 100 C++ programmers whether they thought 
>> D was a complicated language, 99 of them would say no. If you 
>> ask 100 Python programmers, 99 would probably say yes.
>
> Thanks for this very insightful post.
>
> Before reading this, I couldn't understand why people thought D 
> was complex... I come from a strong C/C++ background, so to me 
> D is like a breath of fresh air in terms of understandability, 
> flexibility, and verbosity level. "Complex" certainly isn't 
> what I'd think of when I think about D.  But I suppose if 
> someone is coming primarily from a Python background, D could 
> certainly be considered quite a step up in perceived complexity!

I've done lots of C++ (though more in the earlier years), and I 
have to disagree.  I'd agree C++11 is more complicated than D, 
but D is still complicated.  I think I've programmed in enough 
languages (from asm, Perl, Java,...) and in large enough projects 
to have a good idea of what languages can be like.

I'll probably continue to stick it out and play with D for 
personal projects because of the things I like and find 
interesting, but professionally it's a no-go (pardon the pun).

Frankly, I think it is doomed to be a niche-use language.  While 
many more things were done right compared to C++, too many things 
were done wrong and there doesn't seem to be interest in breaking 
backward compatibility to excise them from D.



More information about the Digitalmars-d mailing list