

Ask HN: Recommend an IDE for noobs/novices? - jolie

Hey folks.<p>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.<p>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).<p>Can y'all help me out? What IDEs do you use, and for what languages?<p>I really appreciate anything you can throw my way!<p>_______________<p>Edit: Thanks a bunch to everyone who's answered! Keep 'em coming. =)
======
Rapiere
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).

------
modulado
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).

------
phren0logy
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.

~~~
jolie
Thanks! Good points -- I think the language-specific IDE tip is a good one for
utter beginners like me.

------
jasonpark
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

------
pamelafox
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...](http://5lide-
maker.appspot.com/list?id=ags1bGlkZS1tYWtlcnIQCxIIU2xpZGVTZXQY-
cYFDA&output=slide#slide5)

------
bendmorris
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.

------
evilmushroom
Eclipse JDT for Java/Android/GWT

Eclipse CDT for C

Eclipse PDT for PHP

Eclipse + PyDev for Python

hmm <3 Eclipse. :)

~~~
caseysoftware
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...](http://daveyshafik.com/archives/743-netbeans-for-php-continues-to-
impress.html)

~~~
evilmushroom
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. ;)

------
dharh
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++

------
CrowderSoup
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.

------
Cafesolo
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.

------
carlrice
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

~~~
jolie
I <3 gEdit bigtime, and all my Mac-using friends are constantly enthusing
about TextMate. Is there a Windows equivalent?

~~~
adbge
E text editor is supposed to be a TextMate clone for Windows. Never used it
myself, though.

------
pcnerd37
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!

------
sionus
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.

------
ashitvora
IDE: Netbeans or Aptana

Editors: Textmate on Mac GEdit on Linux Editplus on Windows

------
ljharb
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.

------
malyk
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.

~~~
jolie
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?

~~~
D0nkeyBOB
I tend to find that most of my programming professors use outdated IDEs or
really bad ones . . .

------
D0nkeyBOB
Eclipse is always my choice for java.

All other projects I use TextMate.

------
JessieAMorris
Vim for all languages. Not an IDE, just text editor.

~~~
atmos
Vim + tabbed terminals and you're golden.

~~~
jolie
Yeah, I've seen a TON about making Vim into an IDE:
[http://arstechnica.com/open-source/guides/2009/05/vim-
made-e...](http://arstechnica.com/open-source/guides/2009/05/vim-made-easy-
how-to-get-your-favorite-ide-features-in-vim.ars)

------
jchonphoenix
Vim :)

------
rick_2047
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.

