Product Details
Java Puzzlers: Traps, Pitfalls, and Corner Cases

Java Puzzlers: Traps, Pitfalls, and Corner Cases
By Joshua Bloch, Neal Gafter

List Price: £28.99
Price: £14.48 & eligible for FREE Super Saver Delivery. Details

Availability: Usually dispatched within 24 hours
Dispatched from and sold by Amazon.co.uk

40 new or used available from £10.99

Average customer review:

Product Description

"Every programming language has its quirks. This lively book reveals oddities of the Java programming language through entertaining and thought-provoking programming puzzles."

--Guy Steele, Sun Fellow and coauthor of The Java™ Language Specification

"I laughed, I cried, I threw up (my hands in admiration)."

--Tim Peierls, president, Prior Artisans LLC, and member of the JSR 166 Expert Group

How well do you really know Java? Are you a code sleuth? Have you ever spent days chasing a bug caused by a trap or pitfall in Java or its libraries? Do you like brainteasers? Then this is the book for you!

In the tradition of Effective Java™, Bloch and Gafter dive deep into the subtleties of the Java programming language and its core libraries. Illustrated with visually stunning optical illusions, Java™ Puzzlers features 95 diabolical puzzles that educate and entertain. Anyone with a working knowledge of Java will understand the puzzles, but even the most seasoned veteran will find them challenging.

Most of the puzzles take the form of a short program whose behavior isn't what it seems. Can you figure out what it does? Puzzles are grouped loosely according to the features they use, and detailed solutions follow each puzzle. The solutions go well beyond a simple explanation of the program's behavior--they show you how to avoid the underlying traps and pitfalls for good. A handy catalog of traps and pitfalls at the back of the book provides a concise taxonomy for future reference.

Solve these puzzles and you'll never again fall prey to the counterintuitive or obscure behaviors that can fool even the most experienced programmers.




Product Details

  • Amazon Sales Rank: #106690 in Books
  • Published on: 2005-07-21
  • Original language: English
  • Number of items: 1
  • Binding: Paperback
  • 312 pages

Editorial Reviews

From the Back Cover

"Every programming language has its quirks. This lively book reveals oddities of the Java programming language through entertaining and thought-provoking programming puzzles."

--Guy Steele, Sun Fellow and coauthor of The Java™ Language Specification

"I laughed, I cried, I threw up (my hands in admiration)."

--Tim Peierls, president, Prior Artisans LLC, and member of the JSR 166 Expert Group

How well do you really know Java? Are you a code sleuth? Have you ever spent days chasing a bug caused by a trap or pitfall in Java or its libraries? Do you like brainteasers? Then this is the book for you!

In the tradition of Effective Java™, Bloch and Gafter dive deep into the subtleties of the Java programming language and its core libraries. Illustrated with visually stunning optical illusions, Java™ Puzzlers features 95 diabolical puzzles that educate and entertain. Anyone with a working knowledge of Java will understand the puzzles, but even the most seasoned veteran will find them challenging.

Most of the puzzles take the form of a short program whose behavior isn't what it seems. Can you figure out what it does? Puzzles are grouped loosely according to the features they use, and detailed solutions follow each puzzle. The solutions go well beyond a simple explanation of the program's behavior--they show you how to avoid the underlying traps and pitfalls for good. A handy catalog of traps and pitfalls at the back of the book provides a concise taxonomy for future reference.

Solve these puzzles and you'll never again fall prey to the counterintuitive or obscure behaviors that can fool even the most experienced programmers.



About the Author

Joshua Bloch is a principal engineer at Google and a Jolt Award-winner. He was previously a distinguished engineer at Sun Microsystems and a senior systems designer at Transarc. Josh led the design and implementation of numerous Java platform features, including JDK 5.0 language enhancements and the award-winning Java Collections Framework. He holds a Ph.D. in computer science from Carnegie Mellon University.

Neal Gafter is a software engineer and Java evangelist at Google. He was previously a senior staff engineer at Sun Microsystems, where he led the development of the Java compiler and implemented the Java language features in releases 1.4 through 5.0. Neal was a member of the C++ Standards Committee and led the development of C and C++ compilers at Sun Microsystems, Microtec Research, and Texas Instruments. He holds a Ph.D. in computer science from the University of Rochester.




Customer Reviews

For Effective Java fans4
Very much in the style of Effective Java, this expands on (and refers to) some of the themes in that book, so you might want to read it before this one.

Java Puzzlers highlights some workings of the Java language that might trip you up, particularly when it comes to instantiating and initialising class members and fields. These are represented as small code snippets, the output of which you are expected to predict.

To be honest, as long as you follow correct Java practices (naming packages, classes, methods etc according to standards) you won't be tripped up by most of these. Personally, I have no cause to be messing about with byte and char primitives types, attempting to cast them to ints, hex, octal, or carrying out obscure bit shifting - this seems rather a low-level C-ish thing to do.

That said, there is also some sage advice, particularly about the vagaries of overloading and overriding, and the advice is collected together into an appendix for easy access. It doesn't feel quite as cohesive as EJ, though.

A special mention should go to the various optical illusions that accompany the puzzles. A lot of these I've not seen before, and several of them may cause your optic nerve to melt.

Not as essential as Effective Java, but still worth reading.

Another gem from Joshua and Neal5
You can think of this book as the Java illusionists cookbook.
Full of examples designed to trip you up. Full of "Now you see it. Now you don't" effects. This analogy transcends from the examples to the images too. Optical overloading if you will! I really enjoy reading Joshua's books. He has a memorable style that conveys the nuances of the Java language in such a way as to be informative yet very entertaining at the same time. I thoroughly recommend this book.

Read for fun, not to be a better programmer5
Josh Bloch/Neal Gafter have a talent for giving concise coding wisdom with rock solid examples, this book is no different to Effective Java in that respect.

However, those expecting to hear coding philosophies and common pitfalls to avoid are not going to find them here. This book is about exactly what is says on the cover: corner cases. You may never encounter any of these issues in your entire Java career.

That said, the puzzles are insanely difficult and I found them very entertaining to read. There are possibly 2 or 3 puzzles in the entire book that are "cheap tricks", but the rest are all to do with subtleties in the language itself. If I had any criticism it would be that the puzzles go straight from puzzle to explanation without explicitly showing the output as an intermediary step... the author suggests that you run the programs and try to reach an explanation yourself. I tend to read books when travelling or when taking a break from the computer screen, so this was not practical for me.

If you haven't read Effective Java, I'd strongly recommend you read it first. I'd recommend this book to those that like a challenge or enjoy reading about Java subtleties.