Leading IDE Software in the World of Computer Science

In today’s realm of numerous development languages (such as C++, C#, Ruby, and Java), various IDE (Integrated Development Environment) software applications have been created to aid the overwhelmed developer in the creation, management, and compilation of their software projects. Below is a short listing of the four most common IDEs available today and I discuss my pick for the IDE software that I prefer to use.

  • Visual Studio – Microsoft’s IDE creation. It supports all of Microsoft’s languages such as C#, VB.net, and ASP.net as well as languages essential for web development such as X/HTML, CSS, and Javascript. There are plugins that can add in support for other languages such as Python and Ruby. Visual Studio also contains a number of GUI (Graphical User Interface) tools to ease development of database interfaces.
  • Eclipse – An opensource IDE supported by IBM. There is a strong focus on Java with Eclipse; however, it either comes with a third party plugin or you can download one that has been developed for almost any purpose. For example, there are official plugins for C++ and PHP. In addition, the Memory Analyzer released by SAP and the popular Ruby on Rails IDE RadRails both started out as Eclipse plugins.
  • Netbeans – Another opensource IDE supported by Sun Microsystems/Oracle. Again, intended for Java but can be used for almost every major language. Compared to Eclipse, NetBeans includes support for more languages, frameworks, and tools out-of-the-box than Eclipse.
  • Emacs – Open source IDE/Editor that has been existence since the early days of computers. It can act as a basic code editor, full fledged IDE, email client, chat client, or toaster. However, it has a much steeper learning curve compared to the others due to it’s key-combo driven GUI. While there is support for the mouse and a drop down menu along the top, it is strongly encouraged to learn the key combos for anything you do often in Emacs.

My Preferred IDE

During my work hours, I switch between Visual Studio, Eclipse, and Emacs depending on what language I am using and what tools I need to use. However, at home I work towards becoming an Emacs Guru. The ability to do everything I might need to do in the course of a day through one program is an unusual yet attainable goal with Emacs. While the steep learning curve and, at the time of this blog entry, somewhat weak support for certain languages (mostly C#/VB and Java to a certain extent) will prevent it from becoming the only IDE I use, I plan to make it one of my main tools. I’ve even remapped the Caps Lock key as a Control key to avoid the dreaded Emacs Pinky (http://xahlee.org/emacs/emacs_pinky.html). If any readers are curious about Emacs, the most obvious place to read about it is at http://www.gnu.org/software/emacs/. However, if you want some good links to learn about Emacs, check out the following screencast and plugin kit.

Emacs Starter Pack –

A plugin library to Emacs that includes a number of useful plugins and rebinds a number of commands to easier key presses for newcomers.
http://github.com/technomancy/emacs-starter-kit/tree/master