Jack Wrote: > The post "C#'s greatest mistakes" prompts/begs this post. Have at it, > pick up the ball and run with it, don't be shy. I expect Walter and > Andrei to answer (if Walter and Andrei so dare!) after others' posts have > stopped or stagnated into that cesspool of threaded discussion that is > "the subthread" or "tangential thread" (which surely needs a rock > anthem).
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.
