| help | account  



Books by Joshua Bloch:
Java Puzzlers: Traps, Pitfalls, and Corner Cases
By Joshua Bloch
$31.50 (21% Off!)


Java 2 Platform, SE Language: Effective Java Program & Java Programming & Special & Platform Package
By Joshua Bloch
$107.50 (23% Off!)



Books Co-Authored by Joshua Bloch:
Java Concurrency in Practice
By Brian Goetz
$34.50 (37% Off!)



Want to see more?
View favorite books from other authors.
We asked some of our (and your!) favorite authors to share with us their favorite 10 computer books from the past 10 years. Here's what we got back.

Joshua Bloch is a Principal Engineer at Google. He was previously a Distinguished Engineer at Sun Microsystems and a Senior Systems Designer at Transarc. He led the design and implementation of numerous Java platform features, including the JDK 5.0 language enhancements and the Java Collections Framework. He is the author of the Jolt Award-winning book Effective Java. He holds a Ph.D. in Computer Science from Carnegie-Mellon University and a B.S. in Computer Science from Columbia.

Joshua's favorite books:
The Art of Computer Programming Volumes 1-3 by Donald Knuth -- The definitive guide to algorithms and data structures. Not an easy read, but a wealth of information on a wide variety of topics.


Hacker's Delight by Henry S. Warren, Jr. -- The first book that promises to tell the deep, dark secrets of computer arithmetic, and it delivers in spades. A godsend for library developers, compiler writers, and lovers of elegant hacks, it deserves a spot on your shelf next to Knuth.


Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides -- The definitive guide to object-oriented design patterns. Provides a catalog of useful patterns and a vocabulary to discuss them.


The Mythical Man-Month by Frederick P. Brooks Jr. -- This software engineering classic was written over a quarter-century ago, but the message still rings true: "Adding manpower to a late software project makes it later." Projects continue to fail because people haven't taken this to heart.


Programming Pearls by Jon Bentley -- This thought-provoking collection of essays on "programming in the small" is great fun to read and will make you a better programmer.


The Java Language Specification by James Gosling, Bill Joy, Guy Steele, and Gilad Bracha -- The place to go for definitive answers to questions about the Java programming language, no matter how obscure.
(The author's original choice was an older edition that is now out of print. This link is to the current edition)


Concurrent Programming in Java by Doug Lea -- Provides a near encyclopedic treatment of concurrent object-oriented programming.


Merriam-Webster's Collegiate Dictionary by Merriam-Webster -- At least half the work of a software professional is writing prose, be it program documentation or other technical communication. You need a good desk dictionary, and this one is by far the best there is. A useful adjunct is The Harper Collins Dictionary of Mathematics by Borowski and Borwein.


Merriam-Webster's Dictionary of English Usage by Merriam-Webster -- An undeservedly obscure guide to English usage. It summarizes advice from all the other major usage guides and contains numerous citations from primary sources.


The Elements of Style, 4th Edition by William Strunk, Jr. and E.B. White -- This slim volume preaches the gospel of simplicity and clarity as it applies to English prose. If you take it to heart, it will improve your coding as well as your prose.