Whoa! This thread lasted for like 2+ years!
Anyway, unless one already knows how to use an IDE, using an IDE to learn the Java programming language (any language in fact) would actually make the learning process less effective for the following reasons (that I can think of):
- There's always a learning curve for IDEs (as if learning the language itself is not confusing enough?)
- IDEs do lots of things to help you, either by creating more code that you might not be able to understand, or
- IDEs may force you to code in one way or another (may narrow your view about the language)
- IDEs do more for you (such as automatic get/set method generation for the fields you create, or the automatic implementation of abstract methods/interfaces done for you when you extend abstract classes or implement interfaces), but do you know why they do those things for you? At this point you might have to stop your reading about variable scope and go to later chapters to find out why those methods are implemented/created for you, which may even further confuse you!
- Whoa I can just draw GUI objects and the IDE will just generate the code, cool! Well, what if you're looking at some code that have been previously created by someone? Now what? Do you know why it's generated that way? Is it because of how your IDE is designed to create the code or is it because of the language limitations?
Well that's all I can think of, but I do understand there are some benefits to using IDEs, such as:
- IDEs allow you to look at the states of the variables of your code and allow you to see what's happening in real time! (well, sort of)
- Some IDEs allow you to look at library codes and browse the class hierarchy very easily, this may help you to understand how the classes work as a whole
Bottom line, once you know the whats, hows, and whys of a programming language, IDEs will work wonders for you. But to learn an IDE on top of a programming language might slow down your learning.
[This message has been edited by Ken Lai (edited May 29, 2001).]