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?
--
Using Opera's revolutionary email client: http://www.opera.com/mail/