As a C# programmer, I guess I am also one of the cynical and old bastards. But unlike him, I don't think working with Microsoft technologies automatically reduce myIQ by a whopping 20 points or turn me into a dog. Quite the contrary, I believe that I am happier person as a .Net developer than I can otherwise be.
Before I get off to explain why this is so, let's take a look at the sins Microsoft committed that reduce the Forbes to a masochistic being:
- Close source libraries
- crappy development tools
- Stupid marketing material
- Stupid Microsoft events
Close source libraries
Forbes lamented that the .Net framework source code are not freely available for browsing. Well, starting with VS 2008 this has changed. Now you can download source code on demand if you really want to see the code.
If you are not working with VS 2008, you can still see the source code by using Reflector. The output of the Reflector is plain C# or VB and you don't need to know assembly language or any other languages in order to decipher the output.
Crappy Development tools
In Forbes' opinion, Microsoft's IDEs sucks. Huh? Excuse me, are you living in the real world? Microsoft's IDEs are the best. The intellisense, the syntax coloring and the ability to insert plug-in are simply unparalleled among IDEs.
Don't believe me? Try using non-Microsoft tools to write a program and then use Visual Studio to do it and compare the results. You will find that Visual Studio IDEs are so much more productive that you are unable to use any other tools else. After working exclusively with Microsoft Visual Studio compilers for a few years, I decided to try something non-Microsoft's. So I picked Python up and only to realize how hard it is to work with other development tools. If Microsoft IDEs are hard to use then maybe there is nothing that is easy.
About the Visual SourceSafe, well, I have no experience with it so can't make any comments. But you don't have to use it if you don't like it. You can choose other source control systems you like. Microsoft, as far as I know, doesn't use SourceSafe either.
Stupid marketing material and events
If you find that the marketing material is stupid then feel free to ignore it. But however stupid or irrelevant the marketing stuff is, the stupidity does not render the tools useless. Hating the tools because the promotional covers suck is tantamount to throwing baby out with water.
Why I am proud of being a .Net programmer
Because I know that I am using great products backed by a giant software vendor who is unlikely to default on their products. This means that whenever I run into problems, there are a large pool of users and a dedicated technical support team to help me out. There are always enough technical documentation, code samples and tips lying around to help me when I get stuck or when I want to self-improve. They remove my development barriers, and make me much more productive as a programmer and I can pass on my productivity gain to my customer.
This is a win-win-win situation.
Paul Graham in his article "The Python Paradox" explained that if a company chooses to write its software in a comparatively esoteric language, they'll be able to attract better talents because they'll attract only those who are cared enough to learn it.
Microsoft tools and the .Net framework are vastly popular because they are easier to learn. It is therefore no suprise that a lot more vocational programmers work with Microsoft tools than with other, harder, less user friendly tools. Some may say that as a consequence of this the average .Net ( or Java) programmers are not as smart as Python or Ruby Programmers. But looking the other way, one can say that .Net is so easy to learn that even the not-so-smart ones can use it and get their job done. In the hands of the smarties, the ease of learning translate into greater productivity gain. The success of the tools should always be inversely propotional to the average user's IQ. So no, Microsoft compilers aren't crappy, they are great.
I am a .Net programmer, and I am proud of it!