I came across this James Avery post via Mike Gunderloy’s blog. Avery attempts to make a similar point to one Martin Fowler puts forward about the best developers moving away from the .NET platform. Beyond the sort of anecdotal evidence I’ve read, I don’t see much abandonment of .NET as a platform.
When I read this post by Dave Laribee, I decided that Avery missed his point. The point of ALT.NET isn’t as a bridge to a different set of tools, but to recognize two things:
- The best solutions on the .NET platform won’t always come from Microsoft.
- The best ideas from other software development communities can work very well on the .NET platform.
The existence of tools like NUnit and log4net, frameworks like Spring.NET and rules engines like Drools.net is more likely to keep developers using the .NET Framework than it is to encourage them to switch to Ruby on Rails. Because a lot of ALT.NET is free and open source, there’s plenty of incentive to use it instead of the Microsoft alternative (which increasingly comes with hefty licensing fees).
I don’t think I missed David’s point, I understand his point with ALT.NET… heck I am a huge proponent of it! My point was only that I see many ALT.NET tools as trying to emulate things that are easier in other more dynamic languages. How long will people try to make .NET do things that are alot easier in Ruby or Python? Personally the more I try to make my .NET apps like a rails app the more I wonder if I should just use Rails instead.
I think it’s important to distinguish between Ruby and Rails. There are enough ports of languages to .NET-compliant versions (including Ruby and Python) that we as developers have our choice of functional or imperative languages. At least with the couple of tools I mentioned earlier (NUnit and log4net), I don’t know that unit testing or logging is any easier on other platforms than it is on .NET.
With that argument aside, we’re down to web applications. For some web applications, Rails may be a great choice. But for others, a platform that’s far more battle-tested is more appropriate. This isn’t to say that Rails can’t get there eventually, but it has a long way to go.
Besides, nothing stops Microsoft from putting a level of Ruby support in Visual Studio that makes it a compelling option. People who really don’t like Microsoft won’t go for it, but I believe there are enough pragmatists out there that would make this a worthwhile step for Microsoft to take. They have plenty of cards left to play to encourage us to continue developing with .NET.