Continued from the thread: http://www.java-forums.org/new-java/...your-code.html - we are discussing the best way to learn Java. The basic question is whether to use an IDE or text editor and compiler to understand the things in the deep:
I completely agree with you - although I didn't have such experiences now in Java (I am too new to Java for such experiences) but I can imagine, that there are several problems that need deep knowhow in what is going on "behind the scenes" (or what should go on behind the scenes ;) ).
Similar issues are for instance if developers do program for windows 2000/XP and do hardcode the path "C:\Documents and Settings\" or "C:\Program Files" which then runs only on english OS. - So they should know more about the system and read those paths from the registry for instance.
I really do not want to avoid understanding all those basics. The problem for me is that learning Java I read so many new abbrevations, rules, concepts, libraries etc. that I clearly cannot deal with everything at the same time. So I have to get to it step by step. And here I prefer (in some cases) the top-down when learning. Ant is a good example here: Why do I have to learn the ant at the same time when learning java? - Why not using a tool at the beginner level that will do it right yet. There will come the time when I have some special desire that will make me dig into Ant. But again, I cannot learn everything at the same time. The same applies for knowing the libraries and methods by heart.
As I already mentioned, this is something I am very happy about that in our company it is not this way - components are more separated and there are not working many programmers on the same component (not more than two as far as I know).
Here I do completely disagree - IDE helps a very lot. Either if you know the class names and methods by heart. Sample: Fixing the imports - with this feature when using a new class the needed import is added to the beginning of the class code. In Notepad I would have to scroll up to the beginning and then find the line again where I stopped coding. Very annoying.
Another sample: Simply less characters to type with the autocomplete feature. This even helps the advanced developer.
Another sample: Building GUI - When doing purely in code, how many attempts to run and look if it is ok would it need?
Another sample: Coming from VB I very often forget the semicolon at the end of a statement. I know it from the eightees when learning different programming languages at the same time that it can be very annoying starting compilation and then get those syntax errors. With the IDE I will fix these errors without all the manual failing attempts to compile.
Here you are right - using an IDE you need to learn not only Java but also the IDE that is correct and learning the IDE also takes several days - no doubt about that. But I think regarding the IDE it is worth investing additional time here in learning it because it saves you from a lot of annoyances while learning Java then.