A Beginner's Guide to Integrated Development Environments

 By 
Jolie O'Dell
 on 
A Beginner's Guide to Integrated Development Environments
Mashable Image
Credit:
Mashable Image
Credit:

Unless you're committed to working in a text editor and a command prompt window (and there are compelling reasons for doing exactly that) you might be looking for some advice on how to choose a good IDE, the pros and cons of various varieties, the relative costs (financial or system resources) of running a particular IDE, what other languages the IDE might handle well, the operating system(s) it runs on and ever so much more.

I was recently in need of such advice, myself. As some of the readers of this blog know, I recently went back to school to study computer science. Being an utter novice, I made the mistake of asking developers in my sphere what IDE I should use.

The topic is apparently a minefield of catastrophic proportions. Developers are passionate, experienced and opinionated when it comes to optimizing their workflows, and recommendations (and anti-recommendations, e.g., "NetBeans is superlatively bad and will turn your hardware into Cream O' Wheat!") fly like shells over a battlefield.

Here's a less opinionated, concise but thorough look at IDEs for the new programmer. If you need more detailed information or want to find an IDE for a less common programming language, check out the Wikipedia article comparing just about every IDE known to humankind.

And if we left out an IDE you particularly love, let us know about it in the comments -- but try to keep the NetBeans/Eclipse, Vim/Emacs flamewars to a minimum.

IDEs Built from Text Editors

It's a slightly more complicated setup, but some pro developers swear by these workflows, which take a lightweight, run-of-the-mill text editor and turn it into a full-fledged, be-all-end-all IDE.

Ars Technica has an excellent step-by-step article on how to turn Vim into a great IDE using Exuberant Ctags, completion modules, script collections and more.

Emacs users can also use commands to make this editor more developer-friendly. And of course, this topic gets a thorough discussion at StackOverflow.

When in doubt, search Google for tips on turning your favorite text editor into a great IDE for your language of choice. Chances are someone, somewhere has already attempted it and is willing to hand out advice.

Multi-Language IDEs

Mashable Image
Credit:

IDEs for Mobile Development

These days, developing mobile applications is one of the most compelling and exciting reasons for learning how to code. We're still looking for that perfect, all-in-one, cross-platform mobile app IDE -- in fact, we particularly welcome your comments and suggestions on this score -- but here are a few ideas to get you started.

Try some of PhoneGap's cross-platform tools. PhoneGap works with Xcode and Eclipse for iPhone and Android, respectively. You could also try the web-based, hosted RhoHub, which allows for git-powered source control and team collaboration.

Another good bet for mobile developers is Appcelerator's Titanium Mobile, which lets you write in any language/IDE you choose, then translates your code to Objective-C or Java. You can also check out our list of cross-platform mobile development tools. Finally, the mobile development products (and resultant applications) from Adobe are getting more interesting all the time -- we highly recommend keeping an eye on their developer tools.

Also, if you're already using a multi-language or other IDE, check the web to see if a mobile-development plugin already exists; many IDEs such as Eclipse have this functionality.

Web-Based IDEs

Mashable Image
Credit:

IDEs for Specific Languages

Here are a few suggestions for IDEs that cater to developers working in a single language. Some of these options are more costly than others, but most of the non-free IDEs here will also have a free trial version available for you to test-drive the software, learn to use it and decide whether or not you need and want its features and interface.

We only have space to highlight a few of the more popular programming languages here. If we left your preferred language out of this list, search StackOverflow for IDE recommendations, or ping the friendly devs over at Hacker News for their advice.

C/C++

C/C++ languages are some of the most widely used in the world of computer programming. Almost every multi-language IDE will support C/C++, but here are some dedicated IDEs just for C programmers.

Bloodshed Dev-C++

Price: FREE

Code::Blocks

Price: FREE

CodeLite

Price: FREE

C-Free

Price: $79.95 (single-user license)

Java

Yeah, yeah, I've heard about how much Java sucks more times than I can recall. But it's used in the Android stack as well as in a lot of intro-level programming courses, so here's a lineup of good Java IDEs.

Jikes

Price: FREE

Jcreator

Price: $89 (single-user license)

IntelliJ IDEA

Price: FREE

Python

Never mind the fu and bar, here's some spam and eggs. If you got that reference, you might want to check out these links. Here are a few IDEs dedicated to Python, a powerful, readable and fascinating language. For more suggestions and comparison information, check out this exhaustive StackOverflow list of Python IDEs.

Idle

Price: FREE

PyCharm

Price: $49 (personal license)

Pida

Price: FREE

Wing

Price: $35 (personal license, single OS)

Pyscripter

Price: FREE

PHP

PHP powers some of the most ubiquitous web apps around today, from WordPress to Facebook. Many of the free multi-language IDEs also support PHP development. Here are some full-featured, pro IDEs we've seen recommended.

PHPStorm

Price: $99 (personal license)

PhpED

Price: $119

Zend Studio

Price: $399

PHP Designer

Price: $45 (personal license)

Ruby/Rails

For a relatively young language, Ruby gets a lot of mileage, from consumer-facing apps like Twitter to dev-centric sites such as GitHub. In addition to these IDEs, also check out Ruby In Steel, a Ruby tool for Visual Studio, and Heroku, the so-hot-right-now PaaS for Ruby apps.

RubyMine

Price: $99 (commercial license)

Redcar

Price: FREE (and still under development)

RadRails

Price: FREE

Use What You Love, Love What You Use

Finally, after scores of links and a huge data-dump of information, we can only tell you this: Developers are passionate and opinionated about their IDEs because each individual has researched, chosen, used and come to appreciate a specific IDE (or set of IDEs) for personal as well as practical reasons.

We recommend you try out a few of the free (and free trial) IDEs before making a hard and fast choice as to what you'll use, but you should ultimately use the IDE that suits you best and makes you happiest. Anyone else's recommendations are just highly subjective suggestions.

We wish you well, and happy coding!

Disclosure: The author of this post uses gEdit, Notepad, NetBeans, JCreator, and a magnetic needle and a steady hand.

Series supported by Rackspace

Mashable Image
Credit:

The Web Development Series is supported by Rackspace, the better way to do hosting. No more worrying about web hosting uptime. No more spending your time, energy and resources trying to stay on top of things like patching, updating, monitoring, backing up data and the like. Learn why.

More Dev & Design Resources from Mashable:

- 11 Trends in Web Logo Design: The Good, the Bad and the Overused

- Top 5 Web Font Design Trends to Follow

- 5 Tips for Aspiring Web App Developers

- Flash vs. HTML5: Adobe Weighs In

- 6 New Mac Apps for Designers and Developers

The biggest stories of the day delivered to your inbox.
These newsletters may contain advertising, deals, or affiliate links. By clicking Subscribe, you confirm you are 16+ and agree to our Terms of Use and Privacy Policy.
Thanks for signing up. See you at your inbox!