In some sense, this has nothing to do with the language and the environment itself. This kind
of ecology could have developed around any language (and, in fact, most languages now have
some sort of ecology like this). What makes the Java ecology so good is the sheer size of the
thing. Although making the right choices about what parts of that ecology to use may be diffi-
cult, having all of those choices makes a huge difference in your productivity. Spend some of
the time that you save by using the ecology to explore the ecology, and perhaps to contribute
to it. This is one of those cases where more really is more, and everyone wins.
[ 43 ] That we now have acronyms for which no one really knows the full form is an indication that the
whole acronym thing has gotten even more completely out of hand than we had suspected.
[ 44 ] There are many commercially available IDEs on the market, but it appears that the two most com-
monly used IDEs for Java development are the open source projects Eclipse and Netbeans . I'm not try-
ing to say which one is better, as life is too short for those sorts of discussions and I've already spent way
too much time in said discussions as it is. Pick the one you like. Your mileage may vary. Satisfaction
guaranteed or I won't be surprised. Please send all further correspondence on this subject to /dev/null .
[ 45 ] LISP programmers are always happy to tell you just how much better LISP was than anything before
or since, how much better it was as a development language, and how all the advances that have oc-
curred since then are just attempts at recreating what they had 30 years ago. Even if they are right, they
need to let it go.
[ 46 ] The point isn't to hurt the engineer being swatted, but just to make a loud enough noise that it scares
him. Unless I've done this to him before, in which case I use something much harder than a rolled-up
[ 47 ] From which it does not follow that if the code is tested, it does not have bugs. But it will probably
have fewer bugs, and that's the point.
[ 48 ] See http://junit.sourceforge.net/ . JUnit is the brainchild of Kent Beck and Erich Gamma. Enough
[ 49 ] For those who do want to gain some appreciation for what it is to write a good test suite, I can think
of no better stimulus to your thinking than Alberto Savoia's marvelous “Beautiful Tests,” a chapter in
Oram and Wilson's Beautiful Code ( http://oreilly.com/catalog/9780596510046/ .)
[ 50 ] Really thorough code reviews, in which someone else reads your code carefully to find problems,
are the best way I know to do early bug detection. But they are rarely done. This is partly because they
take a lot of time to do well, but I think it is mainly because most programmers are a bit afraid of hav-
ing someone else review their source. We as a profession need to get over this reluctance; if you don't
want someone to read your code, then write it so you do. If someone else shouldn't read it, why should
someone else use it?