R.A.M. said:
I have started learning .NET and I have a question: what are, in your
opinion, weak sides of .NET 2.0.
..NET library in particular? I would say:
* The drawing performance of WinForms applications, and general lack of
maturity of WinForms and GDI+.
* The steady and continuing pollution of System.* namespaces with
ugly Win32-isms (System.Diagnostics.* in particular).
* The lack of some classical collections including trees etc. for
guaranteed logarithmic performance.
..NET runtime in particular? I would say:
* Debugging interop with native code can be confusing, because managed
code is at a different abstraction level (there's no easy way out of
this one, though.)
* Lack of flexibility in the underlying virtual machine model for
implementing dramatically different language features (e.g.
continuation passing style, poor tail-call performance, coroutines,
lightweight threading models).
* The existence of the .NET libraries requires languages to interoperate
well with its object model in order to leverage it. This in turn
forces languages with different object models to change their object
model, or be an awkward and strange member of the world of .NET, or
have two similar but subtly different object models.
-- Barry