Visual Studio Express 2012
Okay, I'm hooked. The 2012 express line of Visual Studio products is amazing. I am actively working on several hobby projects and I had decided to stick with the Visual Studio Express for Web product to take it for a test drive. I was extremely impressed with it. There were only a few times when I realized I wasn't using a full version of Visual Studio. In the 2010 express line you couldn't use multiple languages in a single solution or project; you couldn't do unit testing and you couldn't install any extensions, not even NuGet. Now you get all of those things. You still can't install just any extension, but NuGet is an exception and comes pre-installed.
For most of this year I have been telling people that Microsoft is making a push to embrace open source software and developers. I can say now with confidence that is no longer the case at all. Nope.....Microsoft HAS embraced open source software. For a while it seemed like an internal battle was being waged in Redmond, but as the official release of Windows 8 rapidly approaches I feel extremely justified in saying that the battle is over and open source won. For starters, the entire ASP.NET web stack is now completely open source. This time they didn't just "throw us a bone" like they did with MVC when they first released it after development had finished internally. First they upgraded CodePlex to support Git for source control, then they started using it to develop their products in real time. Don't believe me? Have a look! You can see that they are committing to the repository in real time as they do their work. You can even fork it, make modifications, and submit pull requests to have your work included in the actual product.
I'm actually a little surprised these things haven't made more of a splash in the tech world. I was floored when I heard what Microsoft was doing, but many of the people I know barely batted an eye. I guess that Micro$oft stigma won't be going away as fast as I would like it to. Not only have they begun to open source a lot of their products but their express product line for developers has received a huge upgrade. At first they announced an express product for developing Windows 8 apps and an express product for developing web apps and that was all. But when their customers started screaming for more they actually listened and gave them more. Currently on the express products page (which has also been upgraded and is much easier to navigate) you can now install: Express for Web to create web applications like Web Forms or MVC, Express for Windows 8 to create Windows 8 Metro (or whatever they call it now) applications, Express for Windows Desktop to create WinForms, WPF or console apps, and Team Foundation Server Express so that up to five developers can collaborate using TFS which used to only be available to large enterprises who could afford it.
These four express products are so much more powerful than any free tools Microsoft has ever put out. You can run a project from start to finish with these and not feel like you are running a half-baked demo. These are the real deal and if you doubt it then you really need to give them a go. Sure if you are coming from the Professional or Ultimate line of Visual Studio you are bound to encounter some limitations in the express products (otherwise why pay for enterprise versions?) but I have yet to hit any showstoppers. NuGet is probably the biggest addition to the express packages, but built in unit testing is a nice little bonus as well. I think so far the only thing I have missed is my little Git Extensions toolbar, but that's hardly a road block since I have Git Extensions open in the background 90% of the time anyway. If you're a fan of ReSharper then I would imagine that will be the biggest thing most people will miss in the express products. I personally dislike having too many options for me to waste time configuring so ReSharper ends up making me less productive because it allows my OCD side to kick in.
The only other limitation I have found so far is that opening solutions containing projects of various types is impossible. For example, opening a solution with a web project and a Windows 8 project will not work. Depending on which express product you are using (Express for Web or Express for Windows 8) one of the projects will fail to load and you will be unable to modify it. This is a rare scenario, at least for me, but I do know of a few projects that this would cause problems for. Of course, all three versions of Visual Studio Express support class library projects so you don't have to worry about that :)
The 2012 express product line may not be Visual Studio Ultimate, but it is easily the ultimate suite of development tools for open source .NET projects and hobby developers. I already liked how well Microsoft supported their developers. Now it's impossible not to love what they've done. Microsoft is rapidly becoming the Apple in my life, and that is truly saying something. If you haven't already, go check it out!