For some time now, I am working on the windows platform again using .NET 3.5, C# and ASP.NET. With more and more functional programming elements introduced into the .NET platform such as LINQ I really prefer C# over Java.
However one thing that bothers me and is very often accountered is the sheer awe of microsoft. Every solution for a problem provided by them have to be the best by definition.
“written by Microsoft” – While this may not mean anything to you, it is significant to me. These guys probably have more development expertise in .NET than I do. I know they have more development budget than I do and probably anyone I’m ever going to work for.
While this statement is probably true, it misses some critical points:
- Development of open source projects utilizes the development skills of many thousands of developers, which should even surpass microsofts budget.
- It doesn’t really matter how big a budget is, since Microsoft solutions are aimed for a broad market they grow and grow to suit the needs of just about anyone while open source solutions direct their development efforts at a certain target audience, hence fitting their needs better. Just take ruby on rails as an example. They created an innovative web development framework which Microsoft is going to “borrow” ideas from for ASP MVC.
As John Snyder pointed out:
The reason I like Java better, and it out weights all of C#’s advantages, is the perceived attitude of the Java community. When I look around at what is going on in the Java community I see many people working on all kinds of interesting things. There is an attitude of “Hey that would be cool, I’ll build it”. When I look around at the .NET community I get the sense that people are waiting around for Microsoft to provide all the infrastructure.
Bottomline, Microsoft solutions are quite good, but definitely the lable “written by Microsoft” doesn’t mean much. Small companies can focus more on the things microsoft missed. As a developer take Resharper or Visual Assist X as example. Once you tried it would you still like to miss it? However while some companies spend much money on upgrades of visual studio, some don’t see the benefits of investing in small tools like the above mentioned.
Sometimes we would do better if we trust in ourselfs more, since we know best what we really need. We should be able to find what suites our needs best.