Many Intro to Java books and experienced developers recommend that beginners not use an IDE (Integrated Development Environment) when first learning, but rather use a basic
test editor and command line compile and run commands. I agree with that
philosophy. The reason being is that most IDE's have lots of shortcuts, auto-completion features, auto code generation, etc. While that is great for experienced developers to help increase productivity, the problem with it for beginners is that it prevents them from learning -- or greatly increases the time it takes them to learn -- the intricacies of Java. It just makes sense that if something is doing something for you, you don't learn how to do it yourself. The second reason it is not recommend for beginners to use IDE's is that the student ends up spending more time trying to learn the IDE and its features, and not Java. Lastly, if you start-out with a basic Editor and command line compile & run commands, in the future, you will find it very easy to learn almost any IDE because you will understand what it needs to do, and will simply need to learn what menu or keyboard command to use to do it. Whereas if you first learn to program on an IDE, you will find yourself "stuck" with that IDE since when you try to learn a different IDE, you are always relating how it does things back to the first IDE you learned, and not the language. It makes it hard to switch IDE's.
With that said, you can use any basic test editor to code with. The key is it must be a text editor and not a
word processor (i.e. it cannot add any formatting information to the file). So in windows you can simply use NotePad, or in Unix vi or emacs. For Windows, since NotePad is not the greatest text editor in terms of editing feature, you can look at some other basic text editors. There are tons out there at various freeware and shareware sites. My personal favorite is EditPad from
JS Soft (Just Great Software). It's a great editor that reads/writes UNIX (LF only), Mac (CR only) and DOS/Win (CR+LF) text files. It has a great search & replace engine that supports regular expressions. There is a free version (EditPadLite) that is free for non-commercial use. Then there is a Licensed version (EditPadPro) which adds a
ton of useful features. One such feature that is useful for programming is syntax color coding and highlighting. It is
well worth the US $39.95 - you can download a 30 day trial as well. I�ve been using it for 3 years now, and love it. Despite all its features, it has a very light footprint (i.e. it doesn't use a lot of resources).
That's my 2 cents worth of thoughts. Hope it helps. And good luck in your studies of what I think is the greatest Programming language and environment in the world today.