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