ACCU Home page ACCU Conference Page
Search Contact us ACCU at Flickr ACCU at GitHib ACCU at Facebook ACCU at Linked-in ACCU at Twitter Skip Navigation

Search in Book Reviews

The ACCU passes on review copies of computer books to its members for them to review. The result is a large, high quality collection of book reviews by programmers, for programmers. Currently there are 1949 reviews in the database and more every month.
Search is a simple string search in either book title or book author. The full text search is a search of the text of the review.
    View all alphabetically
Title:
Implementation Patterns
Author:
Kent Beck
ISBN:
978-0-321-41309-3
Publisher:
Addison Wesley
Pages:
Price:
£
Reviewer:
Seb Rose
Subject:
patterns
Appeared in:

It is difficult to decide who this book is aimed at. Given the title of the book (and the subtitle on the back cover that reads "... a Catalog of Patterns Infinitely Useful for Everyday Programming"), you might expect a reference tome that sits beside the ubiquitous GoF volume. I doubt that that is where it will end up.

For starters the book is unashamedly slanted towards Java, with references to Java visibility, Java collection classes and (in the context of framework design) the Java packaging scheme. This is not necessarily a weakness in itself - the GoF book presented the material in C++ and Smalltalk - but the patterns in this book are much lower level, and in some cases, much more specific to the implementation language. I would have expected some indication of this bias in the title or on the cover somewhere.

I would also question whether the book describes patterns at all. Certainly, they are not presented formally (with context, problem, forces, solution and consequences), but instead are small sections of prose grouped into chapters with titles like Class, State, Behavior, Methods.

Some of these sections describe the Java language itself (e.g. "Behavior: Control Flow") while others are stylistic in content (e.g. "State: Role-Suggesting Name"). I found myself agreeing with almost everything that was written, but very little reached levels of concreteness that I actually thought might be useful. And when I read that "the whole question of equality seemed more important 20 years ago" ("Methods: Equality") I found myself wondering if I'd been transported to a twilight zone somewhere between software engineering and gender politics.

The prose style is clear and easy to read, which lends credibility to the main thrust of the book (outlined in a 2-page chapter Motivation), which is that coding style is about communicating intent to people. However, I think that less experienced programmers will find it all a bit woolly, while those with more experience will wonder if there's anything good on telly.