D's greatest mistakes
Kagamin
spam at here.lot
Mon Nov 29 12:26:51 PST 2010
so Wrote:
> > What I can see now, mistakes are mostly syntactical like switch, auto,
> > const, rebindable, array ops, full slice, arbitrary-code-contracts
> > instead of single bool expression. Choice for round braces for templates
> > leads to slightly unreadable template code: foo!(params params)(yet more
> > params). Omissible parens feel like omissible semicolons :-/
> > Implicitly nested classes.
> > Versions should be typed variables.
> > C baggage is still around.
> > Extensive use of unsigned ints.
> > Well, I admit, properties are hard to get good.
> >
> > Zealous backward compatibility with baggage, early desing and legacy
> > code: these issues are no more fixable, I'm afraid.
>
> I agree on switch, version, backwards compatibility and maybe "const" but
> could you at least give a few examples to others or give some links to
> your reasoning?
> For example what is wrong with auto?
It used to mean automatic storage. Rebindable - no syntax to declare rebindable const class variable. Array ops/full slice - see bugs 3395 and 3889. Arbitrary-code contracts require the body keyword, while single bool expression is enough (like for template constraints).
Hmm... statement about nested classes may be invalid, I only vaguely remember there was some problem with it.
More information about the Digitalmars-d
mailing list