I can understand why people sometimes get the impression that I’m a .NET hater. Most recently, this includes my former colleague David Arno. So, time for me to clarify my position (again).
Firstly, what really concerns me is when people can’t be bothered to think for themselves. They blindly accept whatever someone tells them, without engaging their considerable intellect. In software development today, the main problem is developers who don’t ever question what Microsoft hands down. They don’t seem to know that there’s a world outside of .NET, and therefore .NET must be the solution to every problem. (David is not such a person, by the way.)
I actually believe there is much that is good in .NET, and in the .NET ecosystem. Things that spring immediately to mind include LINQ, Silverlight 2, advances in TDD… In particular, it includes a very comprehensive set of server-side technologies - here, of course, deployment is largely not an issue. As a technophile, I’ve really enjoyed seeing the pace of software innovation ramp up because of the interplay of ideas between Microsoft’s .NET and the open source community.
Where .NET remains a disaster is in the area of deployment to client machines. There are too many variants of the .NET framework, and each of them is much too big. Sure you can bundle the framework into your installer (as long as the target version of Windows is new enough), but this severely limits the scope for web-based deployment.
The point was pushed home for me when I recently moved from Azureus to µTorrent as my Windows BitTorrent client. If you’re not a µTorrent user, you should know that it’s a really elegant, full-featured, intuitive application. In short, it’s a dream to use. The stunner is that the download is only 214 kB, and it runs on everything from Windows 95 up. This is the kind of thing that wins users - not MB of bloat for a basic utility.
In the battle for hearts and minds, Microsoft has a big problem here. Maybe Silverlight 2 suggests a route to a more manageable and lightweight deployment model - it’ll be interesting to see how this unfolds.