Java URLs
- http://java.sun.com:8081/index.html
- The main JavaSoft web site. Lots of marketing crud but good
stuff under "Products and APIs" and "For Developers". Some
particular points of interest are the main documentation
index where you can browse or download everything from
the JDK API docs to The Java Language Specification
and The Java Virtual Machine Specification. virtually
all the docs available from JavaSoft.
- http://java.sun.com:8081/docs/codeconv/html/CodeConventionsTOC.doc.html
- Another URL from the JavaSoft site worth calling out is the
coding standards document. While I prefer 2 spaces indentation to
4 these are a pretty good set of guidelines.
- http://developer.java.sun.com/
- The Java Developer Connection (JDC). Much more technical meat than
java.sun.com and the place to download the latest and greatest
versions of various classes and APIs. You need to register but
it's free. Highly recommended.
- http://developer.java.sun.com/developer/technicalArticles/Programming/Stacktrace/index.html
- For example, this article from the JDC is the best (and only)
explanation I've ever seen of what all the gibberish you get
back from a full thread dump means.
- http://developer.java.sun.com/developer/bugParade/index.html
- The BugParade. Perhaps the most useful part of the JDC --
the place to search for known bugs in the JDK, file new ones,
and vote for the ones you think should be fixed first. It's not
clear that the voting has any real effect but it can't
hurt. (While you're there put all three of your votes on bug 4209652
my bug du jour.)
- http://java.sun.com/products/jfc/tsc/archive/tech_topics_arch/swing_worker/swing_worker.html
- An article from the Swing connection about the SwingWorker
helper class with a link to the source of the class. (It
doesn't come as part of Swing so if you want it you need to
grab it from here.) You should at least read and understand the
source if you're going to be doing Swing programming.
- http://www.afu.com/javafaq.html
- The Java Programmer's FAQ by Peter Van der Linden (author of
the excellent C book, Expert C Programming). I haven't
read the whole FAQ carefully so I can't vouch one way or the
other for everything he says but it covers a lot of ground and
has good explanations of stuff that might trip you up early on
(for example see Question 4.3
How do I set the CLASSPATH for a good explanation.) Go up a
level to http://www.afu.com/
for some other good Java links. Be warned, however, that the FAQ
has a bit of an anti-Microsoft ax to grind, for what that's
worth.
- http://www.javalobby.org/
- If you dig the anti-Microsoft stuff in Van der Linden's FAQ,
you'll probably dig the Java Lobby, a group of (they say) over
25,000 folks dedicated to preserving the "write once, run
anywhere" philosophy of Java and to promoting Java as a serious
development environment. They might change the world and in the
mean time they have links to lots of snazzy Java projects, some
of which you can volunteer to take part in.
- http://sunsite.unc.edu/javafaq/javafaq.html
- The comp.lang.java FAQ List. A bit out of date at this point
(last modified in October 1997) but the original Java FAQ if
memory serves. A bit less idiosyncratic than Van der
Linden's.
- http://www.norvig.com/java-iaq.html
- The Java IAQ: Infrequently Answered Questions. This FAQ like
document covers a few of the weird corners of Java. Some of it
is stuff you'd probably do well to know about so you don't bang
your head about it (for example, I once spent about an hour
banging my head against the very odd behavior described in question 3
before I figured it out and filed a bug
at the JDC.
- http://g.oswego.edu/
- Doug Lea's Home Page. Lea is the author of Concurrent
Programming in Java: Design Principles and Patters a
must read if you are going to do multi-threaded programming
in Java. (Which you will.) Lots of good stuff here about
Java and Patterns and just about every other thing to do with
computers.
Tools
- http://www.reliable-systems.com/tools/iContract/iContract.htm
- The iContract tool -- provides Eiffel/DBC-style inherited
invariants in Java. I haven't actually tried using this tool yet
but it's on my short list of things to check out.
- http://www.antlr.org/
- Home of ANTLR, my prefered parser/lexer/tree-parser generator.
The Java world's answer to lex and yacc. Other folks like JavaCC better -- I used
JavaCC about a year ago and then discovered ANTLR and liked it
better. Also ANTLR is free and open source whereas JavaCC is
owned by Sun. YMMV.
-
ftp://prep.ai.mit.edu/pub/gnu
- Canonical GNU software site. You can pick up the source to Emacs
and about a million other free software packages here. If you're
looking for Emacs for use on NT or Windows check out the NTEmacs
page at
http://www.cs.washington.edu/homes/voelker/ntemacs.html.
XP (ExtremeProgramming)
- http://www.armaties.com/Practices/PracLeadin.htm
- The main place to read about XP, a software methodology that
came out of the Smalltalk world, and which makes a lot of sense
to me.
- http://c2.com/cgi/wiki?WelcomeVisitors
- WikiWikiWeb. An collaborative discussion project inhabited by
folks interested in patterns and XP. Many of the oldtimers are
Smalltalkers but most of the discussion is about programming in
general. And, anyway, Smalltalkers have a lot of good
perspectives on OO that you might not get from your local C++
bigot, er, fan.
Misc URLs
- http://sagan.earthspace.net/~esr/
- Eric S. Raymond's Home Page. The editor of The New
Hacker's Dictionary (a.k.a The Jargon File) and
an eloquent proponent of hacker culture, ESR's home page has
lots of good stuff on it, including the oft-cited paper about
open-source developmentCathedral
and the Bazaar and the "How
To Become A Hacker" FAQ.
- http://www.amazon.com/
- To hack is to learn. To learn is to study. To study is to
read. Get all the books you need at Amazon. Beware, however,
one click shopping is addictive.
-
http://www.cwi.nl/~jansteen/go/rules/index.html
- The rules of Go. Part of what looks to be a pretty good set
of pages about Go,
Go, an Addictive Game.
-
http://mindprod.com/unmain.html
- A bunch of anti-guidlines. If you've been programming for a
while you'll recognize programmers you know in these guidelines. Hope
it's not you.
Back to index
Peter Seibel <peter@javamonkey.com>
Last modified: Thu Feb 10 20:18:35 Pacific Standard Time 2000