<p>Eclipse is a very good IDE.</p>
<p>I just started learning Java recently (well, yesterday actually), and Im using this book:</p>
<p>As a beginner, I find it very helpful and easy to understand. It starts out with a basic explanation of how programming works and then moves on to lessons focused on Java. There are lots of little hints and reminders, explanations, examples, and exercises to try out. Im really enjoying it.</p>
<p>And I second Eclipse. Its a dream to have when you dont want to search for errors, especially as a newcomer who makes lots of them, and its really simple to use. I have Netbeans downloaded too, and my dad says its good.</p>
<p>Don't play with IDEs yet. Start with simple editor with syntax highlighting like FAR's and command line C++/Java compiler. It won't make you attached to the heavy things IDEs have. I personally started with Notepad&TurboC++. </p>
<p>Of course, no *****, IntelliJ IDEA is the best IDE there is among all of them. Eclipse is good but too slow. Same thing with NetBeans. </p>
<p>For running start, I'd recommend you this:</p>
<ul>
<li>FAR Manager</li>
<li>MinGW32 </li>
<li>Straustrup's or Deitels' book</li>
</ul>
<p>What I would really recommend though is getting a good book on algorithms and data structures/processing. I'd say right away, the best and most interesting programming experience comes from dealing with complex algorithms. Good mathematical foundation is your #1 goal.</p>
<p>Think about why Microsoft hires MIT graduates to code in C+ even though MIT never teaches C++. Learning C++ is easy. Learning programming is hella hard.</p>
<p>IDEs are not necessarily bad, unless you become dependent on them to write code. NetBeans for instance has a GUI editor that can design all of the dialogs practically without any code. I use Macintosh, so I always use XCode, which basically wraps all of your java files into an easy to use project file (which makes building and running easier, etc.)</p>
<p>I would strongly recommend learning Java. C++ gets very difficult very fast and it is usually harder to understand a lot of the problems that are happening. As someone else mentioned, memory management and pointers are not fun to try.</p>
<p>Have you thought of starting with something really easy, like BASIC. I started with TI_BASIC on my calculator and played with basic logic and stuff. That helped more than anything in trying to understand how programs run. If that's not for you, then at least learn Java first - there are a ton of libraries and tutorials online that should help.</p>