I genuinely hope I’m right when I say that .NET is shit, because if I’m wrong then we’re really in the shit here at work. I was moved over from Java/Ruby to .NET a month ago to help deliver a chronically late project and I’ve been contemplating resigning ever since. The code is just a disaster and I can’t tell if .NET is at fault or the existing code is just an extremely poor implementation of it. I’m more inclined to believe the implementation is at fault.
If I was in charge I’d just scrap it and move to a more agile language like Ruby, PHP or even Perl. It’s a hard decision to make and a brave one at that, but I believe it’s the right decision. Not to mention the financial savings you would make. No more Windows, SQL Server, Visual Studio license fees.
The high cost of .NET technology also makes me believe it’s impossible to find good talent. Anyone can get started in Ruby, PHP or Perl with no cost to them at all, which means more people can just pick it up and start gaining valuable experience. If I want to do some .NET at home at a bare minimum I need Visual Studio, IIS and SQL Server. I do know there are free “express” versions available, but then that defeats the purpose of gaining experience using the tools you would use in the work place. With open source tools, the knowledge I learn at home I can apply directly at work. If I use MySQL at home, I know that its exactly the same as MySQL at work, the same goes for Apache and not to mention in Ruby, PHP or Perl, I’m not tied to a specific IDE. Jesus, good luck opening a project you started in Visual Studio 2003 in Visual Studio 2005 and then trying to work on it at home in Visual Studio Express.
We’re struggling here at work to deliver the initial version of our long awaited flagship product. It’s been a good 6+ months in development and we’re aiming to have a crippled version delivered by the end of May. Looking at what we’re trying to achieve with the application, I’m pretty much 110% sure that in any of the scripted languages and with an extra pair of hands, the project could be written and delivered in under three months.
To be great you have to make painful decisions. It’s these decisions that make the deference between being great and being mediocre.