As a .Net developer my take on the Framework 1.1 is that it remains somewhat immature. Not buggy, or bad as such, but rather something that should be taken as a good start instead of the ultimate end of the system.
What’s there is, by and large, good, though I do agree wholeheartedly with the criticisms levelled at the DataGrid control. I’ve been there with the DataGridStyle subclasses and it’s a lot of effort to return something that should have been there in the first place. The Framework should have shipped with more options than “Simple text box” and “Simple check box”. I can see why it happened; the control itself is flexible to the nth degree, but ships with too few Style subclasses, quite possibly due to time or resource constraints.
In my work with .Net so far I’ve found that I have often to resort to calling unmanaged APIs, with all the associated danger of memory leakage and buffer overflows you expose yourself to when using the Runtime.Interop library. Version two of the Framework takes up some, but not all, of this slack.
The Framework will continue to develop over time and the controls and libraries will mature as MS receives feedback on their performance.
As regards the more open nature of C# and the core Framework, I think MS is, for a change, following the right path and appears to have genuine intentions. The ingrained mistrust of MS by the open source community will take some overcoming, of course, but hopefully time will enable people to set aside their ideological differences. The core Framework needs to grow to encompass portable forms and data access systems as part of the standard in order to become truly useful, but hopefully this will come with time.
I sometimes suspect that MS exporting C# as an ECMA standard is a tactic to show up Sun and some of the hypocrisy in the open source community. Java remains a proprietary system owned and managed by a single company who have, in the past at least, aggressively defended that ownership in court (against MS, among others). It invites those who condemn MS software for its proprietary nature to put their money where their mouth is and embrace the open C# standard over proprietary Java.
It is a tool to expose those who condemn MS simply because they are MS (a group that has quite a few members - though, given MS’s behaviour in the past, it’s not hard to see how this became the case). Genuine believers in the pursuit of open standards should be happy to see C#, while those who condemn it are forced to come up with genuine criticisms that can drive the improvement of the language or admit that they do not like it simply because of its association with MS - a position unworthy of dispassionate consideration in the marketplace.
I’d like to think this move has the potential to let things progress beyond the endless throwing of FUD from all sides in the software community, but I fear that it will take a long time and many more good-faith moves from MS to see this happen.
Still, it’s a beginning and, I hope, a step on the road to a community ruled less by ideology and prejudice and more by the genuine and pragmatic kind of evaluations it needs.