Ask HN: Recommend an IDE for noobs/novices?

10 points by jolie ↗ HN
Hey folks.

I'm pretty new to programming, and I made the mistake of asking a few friends for IDE recommendations. What an opinion-laced minefield. I had no idea developers were so emotionally attached to their workflows.

To try to make this process (choosing a good IDE) easier for others, I'm trying to write a decent compendium for entry-level programmers. I'd love to get some good recommendations for IDEs for various languages, their pros and cons, their costs (financial and/or system resources).

Can y'all help me out? What IDEs do you use, and for what languages?

I really appreciate anything you can throw my way!

_______________

Edit: Thanks a bunch to everyone who's answered! Keep 'em coming. =)

30 comments

[ 3.5 ms ] story [ 72.8 ms ] thread
I use simple textmate for Ruby/Rails and lite java coding. I haven't done heavy java coding in 3+ years (yay!), but when I did I used eclipse and it worked well for me.
I downloaded Eclipse and have been trying to work with NetBeans, too.

For some reason, my prof has us using JCreator, which no one yet has recommended. Any idea why?

I tend to find that most of my programming professors use outdated IDEs or really bad ones . . .
Eclipse JDT for Java/Android/GWT

Eclipse CDT for C

Eclipse PDT for PHP

Eclipse + PyDev for Python

hmm <3 Eclipse. :)

I was an Eclipse PDT guy (came from Java), but when [unnamed] broke PDT last year, I gave up on it. Once I picked up NetBeans, I was pretty happy with it. I found this article later on:

http://daveyshafik.com/archives/743-netbeans-for-php-continu...

I really didn't care for netbeans--- the look, and it was more laggy for me.

Could be I'm also way more used to Eclipse because I use it for everything else. ;)

I like basic editors so on a Mac TextMate and Linux gEdit.

For quick Java and C tests and all Android work I use Eclipse which is available on all major platforms of course. IntelliJ is on my list to try out but I have no real reason just yet

I <3 gEdit bigtime, and all my Mac-using friends are constantly enthusing about TextMate. Is there a Windows equivalent?
E text editor is supposed to be a TextMate clone for Windows. Never used it myself, though.
I use both Eclipse (Java) and Visual Studio 2010 (C#). If I have a choice, I usually prefer to work with C# in Visual Studio because its much easier to step through your code than any other IDE I have tried. Also, intellisense is AWESOME!
Try out DragonRAD - its cross-platform (write once, run anywhere) and its essentially a 'codeless' drag & drop design tool. You don't need to be a programmer to use it. No HTML, CSS, Javascript...if you know what you want your app to look like and how it functions, you're good to go.

It's mainly focused on enterprise application development (backend integration and synchronization) and the pricing model is dead simple - for $4,900/year you can build as many apps as you want and deploy them to an unlimited number of users. No $/user/month/app model. You can try it out for free too. www.dragonrad.com

Eclipse is always my choice for java.

All other projects I use TextMate.

For HTML (and frankly most every other languages that I don't need compiled as I type) I use editpadpro. It's just a text editor that can color code keywords, has FTP built in, other than that, not many frills, which is good.

Otherwise:

C# - Visual Studio 2010

SQL - SQLYog/MS SQL Manager

Java - Eclipse

c/c++ - dev c++

The two main opensource IDE are Eclipse & Netbeans:

Eclipse is the jack of all trades with many plugins, you'll need to know which plugins to add in order to build your environment however it's really customizable to suit your needs.

Netbeans is the state of the art Java & JEE integration with less plugins and customization hence less cumbersome. As long as you only need to use its features you're on a smooth experience.

You should try both in order to define which one you prefer based on your tastes and needs (GWT/GAE support is better in Eclipse).

I use Panic's Coda for PHP, CSS, JS, and very lightly for Ruby on Rails. It needs code folding and git integration, but otherwise is quite pleasant to use and doesn't take up very many system resources.
I'm a HUGE fan of .Net...my list will show that.

For simple HTML, PHP, or javascript I use NotePad++. Color codes for pretty much every language out there.

For ASP.Net / C# I use Visual Studio 2k8 or 2k10 if I'm at work, and Mono-Develop if I'm at home.

For Java I have always used eclipse. But I RARELY write java.

I use Eclipse everyday for Java programming. We use a Subversion server and create Tomcat webapps, both of which integrate easily with Eclipse.

The only drawback is that Eclipse, when it bugs out, can be a serious headache to fix.

I use VisualStudio 2008 for C# and C++. It is good for any serious dev.It has visual design features integrated and depending on versions it might have database designer, provides easy way to read/write databases. It can also have connections with source controls, project management, and architecture design. it has powerful debugger even for webpages and javascripts.

A drawback in webpage designer. It's not the best! many times I had to switch to plain HTML when I was dev http://www.SimpleConnexion.com

What language are you using? Although many IDEs can handle more than one language, few do it well. Plus, it's likely overkill if you are just getting started. If you are still messing around with a bunch of different languages (which is great), stick with a good text editor like gEdit. One thing that's really helpful is syntax hilighting for the language you are working with. Even if you do pick a language, depending on which one you may just stick with a text editor.

Contrary to what other people might tell you, I wouldn't advise going emacs or vi(m) just yet. They are fantastic text editors, but that's one more thing to try to learn.

Keep it simple for now.

Thanks! Good points -- I think the language-specific IDE tip is a good one for utter beginners like me.
I'm usually on a Linux or SSHed into a Linux and use vim most of the time (in combination with screen). When I occasionally have to do Java, I use Eclipse. If I'm stuck with only my Windows box, then I use Notepad++ instead of vim.

Here's a slide about different HTML editors for Windows/Mac that I made based on other folks input: http://5lide-maker.appspot.com/list?id=ags1bGlkZS1tYWtlcnIQC...

My vote is for Eclipse. Eclipse is great and has a pretty easy learning curve, especially if you plan on learning multiple languages. Most major languages have an Eclipse plugin, so you can use the same environment for Java as you do for Python, PHP, or anything else. There's also the Subclipse plugin for SVN integration, etc.

I came from Visual Studio for .NET and it does make that type of development easier, especially if you're only targeting Windows.

All depends on what are you planing to do. For a real novice the best recommendation is a good Editor (like the examples below, TextMate, vim, jed, emacs, notepad++, gedit, etc) with just syntax hilighting. Why? an IDE like eclipse, netBeans, Visual Studio are complex tools for complex projects. A novice can easy get lost with lots of options. For a good starting, the person who start to learn a programming language needs understand the syntax and one very important thing too, mistakes, "Why my code doesn't compile" and "how can I fix that" (in case of an imperative language like C). An IDE groups all the tools that you need to make your "programming life" easy. But for a novice, at least in the first steps into programming is better make some mistakes to learn some things like use a debugger, the compiler or whatever you need for your code. Later you can go to the easy way, and choose a best solution for large projects, or more complex like UIs, etc.

Note: I forgot my recommendation. Well, my vote is for eclipse but in case of making graphical UIs in Java I prefer NetBeans. For Android devel Eclipse again. For python a text editor with syntax highlighting like TextMate. And for php/html Espresso (mac also).

Funny nobody mentioned geany [1]. This was my first and only IDE (I do embedded C stuff so I reverted back to vim/gedit + shell/plugins). Its lightweight, easy to configure, I think it supports many languages. Over all it was fun working on it, and as I write this post I seriously am considering reverting back to it as it is already installed on the puppy linux distro I use.
IDE: Netbeans or Aptana

Editors: Textmate on Mac GEdit on Linux Editplus on Windows

I'm surprised nobody mentioned E-TextEditor yet. It's a great text editor for Windows. It supports TextMate bundles and it's very customizable.

http://e-texteditor.com

If I'm coding Java, Eclipse is my IDE of choice.