Original Post
I am not a greatly experienced programmer by any means, but I do know a thing or two about it, and am currently interested in learning more Object Oriented programming and in particular, learning Java. I have done some Cpp and various other languages, but Cpp always seemed to show you how to "Do stuff" and then kind of tack the object oriented part on in particularly odd and confusing ways(at least they confused me.) I was told that Java would be a nice way to get a firm grasp on the finer points of OOP. (I know it uses automatic GC, but I figure I can learn GC once I am used to OOP itself) Enter http://www.faqs.org/docs/javap/, a really nice tutorial. I really appreciate its approach, and it definitely has already taught me a lot. I think what I have read in it will even make it easier to use the OOP parts of C++ for me. (I *finally* grasped the concept of Classes spawning Objects, and the difference in static and nonstatic, which was a stumbling block for me because it was described poorly or in pure jargon to me in most Cpp tutorials, just as an example) Unfortunately, then I run into the "This tutorial of course assumes you are using JavaLavaLamp 1.3.4.5.6a on a modified, over clocked Macintosh Speak&Spell using the Commodore 64 OS" Of course, this is huge exaggeration, but the point is, I find that I am often spending 99% of my time struggling with things unrelated to the actual language. The Author uses a nice TextIO class that facilitates easier learning by letting the reader receive input from the user (something that I understand can be non-trivial to a Java newbie.) Now, I have tried both BlueJ and Netbeans, and they don't quite seem to work. Unfortunately, when I compile to an executable JAR file, it seems like it is missing huge amounts of information needed for an executable JAR to work.(It gives me an error that looks like it's missing a whole ream of definitions for displaying it) In short, I cannot get the program to actually "run" in a way that allows me to use TextIO properly, which the tutorial basically relies on. Converting each example to an I/O applet might work, but that would be a huge distraction for me. Perhaps this is the only way :/ ? What I need is advice regarding what the best combination of a tutorial, and an environment, to minimize the finicky details of the specific environments long enough for me to study the language(and OOP of course, which I am still very much learning) and do some experimentation without having to fight with reams and reams of unrelated issues. I'm not afraid to get my "hands" dirty, it's just that these little IDE and SDK details are too much for me and are stressing me out and effectively preventing me from going any further. I want to shave it down as close as I can to learning the pure language, and then dealing with the detail demons later. Any advice would be appreciated :)