| Books Co-Authored by Joshua Bloch: |
|
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.
|
|