Choosing a programming IDE

This is somewhat of a debatable topic, but it has come up a lot of times without any real final clarity, so I will try and cover it all.

Lets begin by explaining exactly what an IDE is and then we can move onto the more debated areas of choosing the right one for you.

An IDE stands for “Integrated Development Environment” and is often used by programmers when creating their applications. It can be quite a different thing according to lots of factors including language, preference and perhaps a biased opinion.

I will begin with the most common ones and talk about them a bit and then move to some alternatives.

Microsoft Visual Studio

Possibly one of the most well known ones out there created by Microsoft currently serving the .NET list of languages such as C#, C++.NET, VB.NET, ASP.NET and the like.
Tons of developers use this bad boy and I must say, it’s a pretty good choice when it comes to compiled languages.

Not free for the full version
There is an express edition that is free and can be downloaded from the microsoft site.

Eclipse

An IDE created in primarily Java with lots of language plugins to program in the following: C, C++, COBOL, Python, Perl, PHP, etc.
Once again, tons of developers are using this one to do their daily tasks, it’s very customisable and can cater for almost everything you could think of doing with it.

Free

Netbeans

Quite similar to Eclipse and also written in Java this IDe can host many languages including: Java, JavaScript, PHP, Python, Ruby, Groovy, C, C++, Scala, Clojure, etc
This IDE has quite a large user base as it is totally free and can be customised quite extensively.

Free

Zend Studio

A really good IDE for PHP creation/editting using the Zend Framework which allows the developer to also encode their code from prying eyes.
A great solution for PHP web development companies looking to streamline and protect their end product.

Not free..

Xcode

An IDE created for the MacOS platform, used to create Mac specific applications. Ships with Apple Machintosh computers or can otherwise be downloaded from the Apple website. A perfect choice if you are developing for the Mac. Also has GUI addition as well as the official iPhone plugins to create apps for the platform.

Free on your Mac

CodeWarrior

Wiki said it best: An IDE for the creation of software that runs on a number of embedded systems. Prior to the acquisition of the product by Freescale Semiconductor, versions existed for Macintosh, Microsoft Windows, Linux, Solaris, PlayStation 2, Nintendo GameCube, Nintendo DS, Wii Palm OS, Symbian OS, and even for BeOS. C and C++ compilers are the focus of the tools, though versions of CodeWarrior have included Pascal, Object Pascal, Objective-C, and Java compilers as well.
This was used very often as the number one choice in the past but has started to lose some of it’s users as other IDE’s have gained stronger ground.

Not free..

ActiveState Komodo

Komodo IDE is built on the Mozilla platform. It supports languages such as JavaScript, Perl, PHP, Python, Ruby, and Tcl. Framework stacks like Ruby on Rails and CakePHP. Client libraries such as the Yahoo! UI Library and Dojo.
It is quite an impressive yet lightweight editor.

Not free..

There is a free minimised version called Komodo Edit that can be used for all your PHP etc editing tasks as it has quite useful code completion.

Code::Blocks

A cross platform IDE. Developed in C++ using wxWidgets as the GUI toolkit.
Uses a plugin architecture with a wide range of features added by the provided plugins. Code::Blocks is created for C/C++.
A very good direction to go if you are building a cross-platform application under C++.

Free

Lazarus

Once again, take it away Wiki: A cross-platform visual IDE which provides a Delphi-mimic development environment for Pascal and Object Pascal developers. It is developed for and supported by the Free Pascal compiler. As of March 2008, Lazarus is available for several Linux distributions, FreeBSD, Microsoft Windows and Mac OS X.

Free

KDevelop

Another cross-platform IDE that has been recently rewritten using the Qt4/KDE4 architecture. Once again, if you are going the cross-platform with C++ etc route, then this is a definite must see before making your final choice.
I think the binaries are only pre-compiled for Linux, so check their site for more information.

Free

Turbo Pascal

The good old Turbo Pascal running in a DOS window. This is how IDE’s used to be back in the day before modal windows and multi-threading was even around.
I doubt any of you will be going this route unless you are still running DOS perhaps?

Free

Notepad++

Not really much of an IDE, but a feature rich text editor that I personally find very useful for all scripted languages.
Not one you will want to choose if you are compiling your languages, like C/C++ for example, but definitely a great PHP, Javascript, XML type editor.

Free

Finishing up

Making the choice for the right IDE for you can be a hard one when you consider all the pros and cons of each and which one will streamline your workflow the best.
Don’t be too rash in this decision as it could change the size of your pocket if not the product you output in the end.

It would be really interesting to hear what you have to say, which is your favourite, and why?

Images taken from:
http://ronetix.at – http://publib.boulder.ibm.com – http://wikimedia.org – http://www.popsci.com – http://www.rtos.com – http://images.betanews.com – http://wiki.lazarus.freepascal.org – http://www.pegasoft.ca – http://www.luisdigital.com – http://i042.radikal.ru – http://lh4.ggpht.com

One thought on “Choosing a programming IDE

  1. Well, I would go for NetBeans for all non microsoft development, simply because it’s more user friendly than eclipse and has it all. As for .net development, I would choose visual studio.

    For php I am currently using Zend Studio. You forgot to mention Aptana Studio, which is free and you can develop under it, php, ruby, python, java…

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>