video#http://www.youtube.com/embed/kTcaUJva9cU

Modern software developers, have you already written off .NET? Not so fast.

I recently gave a tech talk about the places where .NET shines and made the case that the newer, friendly, open-source pieces of .NET are work a look. The video covers these .NET issues quickly; below is a more in depth summary covering how and why open source software developers should get involved with .NET

Common .NET Misconceptions

  • Too verbose and too slow

  • Closed source

  • Costs too much

  • No one uses it except huge corporate conglomerates who hate themselves

While some of these used to be true, things have really changed in the last 5 years. The new Web API with ASP.NET MVC4 is heavily inspired by Rails so its super simple and clean for a REST API implementation, but you can leverage the full power of the .NET framework and all the code that comes with it. It is also super fast when combined with the latest versions of SQL Server.

.NET is no longer closed source. You can access all the .NET source now and even better you can access submit pull requests to ASP.NET. Sounds pretty sweet amirite?

.NET costs too much. Well this is sorta true if you don't do your research. You want to create a startup but don't want to spend the time learning one of the dynamic web frameworks like Rails? Well with the Microsoft Bizspark program, you can get all the products and tools you need for free for up to 3 years. Boom.

Well still, no one legit uses it. Ever heard of Stackoverflow? Of course you have. One of the most visited sites on the web, handling millions of requests a month and managing a gigantic dataset. All run off of .NET and ASP.NET technologies. They are all about open sourcing code and content too. They are are one awesome company.

New .NET Features

Azure is a big one but I will leave that to the big boys like Brady Gaster tell you how awesome Azure can be.

MVC4 and the new Web API tools are amazing. They make it dead simple to get a clean REST API up and running in no time. Combine that with Nuget and the powerful Visual Studio IDE and you have an excellent development environment. Heck I even develop with a Vim text editor.

Nuget is a particular favorite of mine as I have a deep interest in helping .NET become more prevalent in the open source community and building modules that all .NET devs can utilize.

SignalR is a interesting piece of the latest .NET tech. I don't have a lot of personal experience with it yet, but I hope to be able to leverage it in some new projects I am working on.

Where .NET Still Needs Help

Get rid of those XML configuration files. JSON ftw! Seriously though no one likes XML. At least give me the option to use JSON instead.

Speed in certain applications is still a factor. It is hard to compete with node.js for real time apps, but with SignalR we may see that niche filled for those who are uncomfortable trying to get node running under IIS.

Start Using .NET If...

  • You want an amazing integrated development experience

  • You want a highly scalable enterprise application

  • You need to support desktop clients in addition to browser clients

  • You need to support different programming paradigms like functional and object oriented and still want to leverage the excellent .NET framework

  • You want fully detailed API documentation

  • You need to support a large number of platforms like x86 an x64