Let’s face it programming a computer is a little more involved than programming a VCR (if you’re old enough to remember those, Wikipedia for those that don’t). Those of us that have been doing it for a while can make it look easy but part of that starts with our tools. Let’s look at the developers second most critical tool. An IDE.
What is an IDE
IDE stands for integrated development environment. It’s a software tool that helps you write code. Some key features in this regard are intelligent code completion, build engines, source control integration, debuggers, and project file management. Some IDEs have all of these features, while others have a mixture of them. Like I said , they are tools that help you write code. If your IDE isn’t helping you write code, you’ve chosen the wrong one.
One IDE to rule them all
What’s the best IDE? There isn’t one.
The key here is that you want to choose the IDE that suits you. Your collegues may have different preferences and may espout their chosen IDEs features, but if it doesn’t work for you then you may as well get a pipe and smack you keyboard and call it coding.
How can we not start here. It’s the main-stay of .NET IDEs and it’s what I use on a daily basis. Visual Studio comes in a variety of flavors, Express (free), Professional, Premium, and Ultimate.
The main drawback of Express is that there isn’t just one version. There are several that all depend on what you want to do. There’s one specifically for web, one for desktop, one for RT (interface formerly known as metro), one for Phone, etc. They all have MSTest built in too so you can create unit tests. To be honest, for open source projects or single dev shops, you don’t really need much more. One major drawback is that you can’t install extensions like you can for the Pro and higher versions, which means no ReSharper.
Professional is identical to the Express editions with the addition of extensions (yay ReSharper support), and it’s one version. Over the years the Professional version has become really watered down and, in my opinion, doesn’t cut the mustard for large projects anymore.
Which brings us to Premium. All of the versions are buy-ups so to speak, so you get all the goodies of the lower-priced versions but with added features. The biggest thing that Premium gets you is the Team tools. From here you can solicit code reviews, view your tasks for the project/sprint, perform code reviews for others, etc. When I say solicit code reviews, I don’t just mean create a task, I mean full-featured reviews. You can create a task for someone and they can open that task and see all of the files you changed and do a side-by-side comparison of the changes. You even get to highlight and comment the changed code and send those comments back. When you get the comments you can click on them and it will jump you right to the line under discussion. Really cool feature and essential for larger teams.
Last is Ultimate. Which has all of the features. The two big draws here are the Architecture tools and the Load and Performance test tools. In earlier versions of VS you could perform Load and Performance tests at the Premium SKU, but as of 2012 that has changed. If you’re on a larger team/project, I recommend that at least one person have one of these licenses.
Alternative .NET IDEs
Alternatives are SharpDevelop, which I haven’t used but I hear is a very nice alternative to VS. Another one is MonoDevelop, which if you’re doing development in Mono instead of C#, you have a choice of VS or MD, but MD is really nice at it. If JetBrains were to create an IDE for .NET and package ReSharper into it, I have a feeling that would become dominant (hint hint JetBrains :-)).
This is a really nice free offering from Microsoft. If you’re a .NET developer making a transition to Node.js or just don’t want to load Visual Studio, this is a really great stepping stone. It has default templates for .NET Web Projects and Node.js projects among many others. It will also automatically configure your IISExpress to run Node.js websites. You can even install a NPM extension that lets you grab packages right from the IDE.
This one is by JetBrains and is a world class web IDE. It’s biggest draws are going to be the intellisense (code completion) and refactoring tools. It’s a really nice IDE and feels very comfortable to work in. You can try before you buy and can pick up a personal license for $49 (USD).
No matter what IDE you choose, make sure you learn the ins and outs of it. There are things that an IDE can do to make your life so much easier when coding. Don’t ignore those things and make sure you fully explore. Happy Coding!