Top Ten Things Every Java Programmer Should Know
These are in no particular order, but these are things that all Java programmers should probably know.
- Who Invented Java, and when?
James Gosling, at Sun Labs, around 1992; the group was building a set-top box and started by "cleaning up" C++ and wound up with a new language and runtime.
- What does Java stand for?
Java is not an acronym (not even Just Another Vague Acronym :-)). The language was first named Oak, after the tree outside James' window. The lawyers found another language called Oak so, legend has it, the gang went out to the local cafe to discuss names and wound up naming it after the beverage Java (which is in turn named after the island of Java). Possible confirmation of this theory.
- What is the JLS?
JLS is The Java Language Specification. Every developer should buy or download (free) this specification and read it, a bit at a time.
- How do changes get into Java?
JCP (Java Community Process).
- Why is there no printf-like function in Java?
Actually there are! This was fixed in Java 5; see Java Cookbook (2nd Edition) Chapter 9. Java 5 (J2SE 1.5) includes printf (and scanf), String.format(), and lots more.
- What is the GOF book?
The Gang Of Four book is entitled Design Patterns, by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides. This is a very good book. You should read it. Not when you're just learning Java, but when you've let it sink in for about six months.
- What other Java book do I need?
- Most of the O'Reilly Java books.
- Effective Java, by Joshua Bloch
- Java Developer's Almanac
- My Java Cookbook (see below)
- What is the Java Cookbook?
That's a book of Java recipes (for the programming language, not the coffee, but some bookstores still wind up listing it under Cooking).
- What other Java sites do I need to know about?
- java.sun.com, Sun's main technology site
- java.net, a collaborative site (run by Sun)
- java.com, an advocacy/news site (run by Sun)
- developer.java.sun.com, Sun's main developer site
- www.javalobby.org, independent advocacy group
- www.javaworld.com, Java news
- www.theserverside.com, Java Review
- http://www.darwinsys.com/java/, my own Java site
- What else do I need to know?
Everything! But nobody can know everything about Java - the subject is now too vast. Imagine somebody saying that they know everything about every single Microsoft product and technology. If someone like that calls me, I'm always out.