this is a little confusing to me, because i've been working with .net since it came out and i always thought of it was an example of the type of good products microsoft was capable of releasing if they tried. there are certainly bad portions of the API, but i don't think it's nearly as bad as the author makes it out to be. an obscure threading bug in windows forms is not really that damning. assuming you couldn't find an equally stupid problem in swing (if even java is good enough) it's not even a relevant issue if you're not using winforms, and not everyone is.
With "enterprise" software, you can often get away with a clunky program, because the people who are using it have all been trained on what to do. If doing X makes the application crash, that's okay—they can just be taught not to do X any more.
These articles always end up discussing the UI api. After having been in the shrinkwrapped industry since DOS, and thanks to MSFT using the UI as a cheap gimmick to keep programmers hooked, I can tell you from experience that the latest and greatest UI controls now yield diminishing returns that de-sparkle in about two weeks of heavy use.
Apple is finally getting some market traction, but MSFT has already devalued the UI angle badly enough that Apple can't be guaranteed that users will see Cocoa as superior to whatever MSFT has already pissed on.
My takeaway from this experience is the following:
0) Computing is becoming a necessary part of modern daily life, which is a lot more compressed than it was at the introduction of the pc. There's nothing novel about having a computer sitting on your desk.
1) Single commercial vendor control of UI standards is bad.
2) Other metrics, such as reliability, user flow, convenience, and by ext good use of user's time are of more enduring importance than cool looking UI controls.
3) HTML w/js is increasingly good enough, until something else much better grows out of that experience.
Good points, A great percentage of the development work I am doing only uses a browser at the client end with all processing being managed at the server. HTML (backed up by JavaSript/Ajax is becoming the business client end platform of choice.
Your only a proper developer if you are writing code for yourself - those getting paid for it "suck".
.NET 2002 was aimed at programmers who suck and did not support the C++ "gods" of programming who were well served by the Win32 API. Oh no - now Win32 and Win64 are broken as well.
I rather gave up then on this "Oh I'm great post" at about that point. Surely, our task is to write excellent software that will be used - we target the platforms our customers have selected (good or bad) because that's where they are. Professionals are entitled to be critical of specific (or even all) platforms but critical or not we have to live in the real world.
Say what you like about Microsoft operating systems (all down hill since Win 2000 if you ask me but...) the guys at MS who build the programming tools and Visual Studio are second to none.
The last page regarding the jumbledness of UI I think is symptomatic of a) a lack of a single strong design leader and b) too many fiefdoms all wanting to be unique within Microsoft. Windows Media Player wants to be different -- but there needs to be a design-oriented leader who says NO, you're sticking with our Vista guidelines because we don't want to look like a slapdash collection of malware.