Does D have too many features?

bearophile bearophileHUGS at lycos.com
Mon Apr 30 16:42:31 PDT 2012


akaz:

> Well, these are some. I feel that the right line is somewhere 
> between D1 and D2. It is good that advanced, complex features 
> are present in D, I just not want to be forced to use those 
> when porting "traditional" C code.
>
> I expected to meet D and exclaim: wow! C++ done right! Instead, 
> I feel like being forced to learn another, completely new 
> paradigm language, like I would start with Lisp or something 
> else.

I think D is not C++ done right any more, it's a new language. 
This was probably necessary if you want D to have a more than 
minimal chance of success.

I have translated a significant amount of C code to D1 and D2, 
and usually in such simple porting I find bugs in the original C 
code, like off-by-on errors in arrays, missing returns, missing 
breaks in switches, dead code paths caused by precedent returns, 
erroneous re-uses of loop variables used in outer scopes, and so 
on. So I love such (moderate) bug-discovering qualities of D, and 
I'd like D to have even more of them.

In many cases D doesn't force you to use its advanced features, 
it allows you to write very C-looking code too (that is usually 
bad D code). But probably D can't allow this in every case, some 
things need to change if you want to improve the language a 
little. So think of those forced uses as a small price to pay to 
have a better language.

Bye,
bearophile


More information about the Digitalmars-d mailing list