Six Books, Seven Paragraphs

Dr. Dobb's Journal December, 2005

By Gregory V. Wilson

Greg is a DDJ contributing editor, and can be reached at gvwilson@ddj.com. His most recent book is Data Crunching: Solve Everyday Problems Using Java, Python, and More.

Defensive Design for the Web
37signals, Matthew Linderman, and Jason Fried
New Riders, 2004
246 pp., $24.95
ISBN 073571410X

Head First Servlets & JSP
Bryan Basham, Kathy Sierra, and Bert Bates
O'Reilly & Associates, 2004
886 pp., $44.95
ISBN 0596005407

DHTML Utopia: Modern Web Design Using JavaScript & Dom
Stuart Langridge
SitePoint, 2005
318 pp., $39.95
ISBN 0957921896

Perl Testing: A Developer's Notebook
Ian Langworth and chromatic
O'Reilly & Associates, 2005
180 pp., $29.95
ISBN 0596100922

Ship It! A Practical Guide to Successful Software Projects
Jared Richardson and William Gwaltney Jr.
The Pragmatic Bookshelf, 2005
198 pp., $29.95
ISBN 0974514047

Spring Into Technical Writing for Engineers and Scientists
Barry J. Rosenberg
Addison-Wesley, 2005
352 pp., $29.99
ISBN 0131498630

I am clearly obsolete. Not only do I prefer e-mail to instant messaging, I have a first and a last name, both spelled conventionally, and neither containing any nonalphabetic characters. Recycle me now.

But while you're waiting for the big green truck to arrive, have a look at 37signals' Defensive Design for the Web. It (They? Pronouns have become so tricky) is/are a Chicago-based design firm, and this book is what they know about designing web sites that gracefully handle missing pages, out-of-stock items, and glitches in multistep registration processes. Its/their lean writing, clean layout, and carefully explained examples earned a double handful of yellow sticky notes, and a "must read" recommendation.

Ian Langworth and chromatic-with-a-small-c's Perl Testing is just as well written, but aimed at a much smaller audience. As the title suggests, its focus is how to test, and test with, Perl. There's lots of good stuff here, and I particularly liked the organization: Each topic includes "How Do I Do That?", "What Just Happened?", and "What About...?" sections. However, you have to be a fairly strong Perl programmer to make sense of it all—I used to teach the language, but still found myself lost in the forest at least once a chapter.

Next up is Jared Richardson and William Gwaltney's Ship It!, which is a "lite" version of Hunt and Thomas's instant classic The Pragmatic Programmer, with bits and pieces of other Pragmatic books stirred in. (Fair notice: The Pragmatic Bookshelf published my last book, too.) Everything you'd expect is here, from the importance of version control and an automated build-and-test cycle, to "tracer bullet" development and advice on how to handle common problems. None of it is new, but it's all good stuff that the world needs more of.

The fourth book this month is Stuart Langridge's DHTML Utopia. I picked it up primarily because of the "Covers Remote Scripting/AJAX" splodge on the front cover. While there's actually less than a dozen pages on that particular topic, the rest of the book was well worth reading. After a quick introduction to how dynamic HTML works, Langridge shows how to make pages come alive with JavaScript. Animation, form validation, and yes, the asynchronous client/server communication promised in the splodge are all here, carefully dissected and clearly explained. I particularly liked the way this book shows the whole of each code sample first, then repeats snippets while explaining how they work, instead of the other way around.

Bryan Basham et al.'s Head First Servlets & JSP is as thick as the previous four books are thin, but don't let that stop you from buying it. At first (or even second) glance, the kung fu movie stills and art school layout make it look like a "for morons" title, but there's a lot of hard-core technology in its almost 900 pages. The book covers all the topics in Sun's Certified Web Component Developer exam: servlet configuration and lifecycle, custom tag development, a handful of design patterns (including Model-View-Controller), and a brief taste of the Struts framework. The book's frenetic energy wore me out after a while, but I learned a lot from it, and my students (who are 20 years younger than me) have nothing but good things to say about it.

Finally this month is Barry Rosenberg's Spring Into Technical Writing for Engineers and Scientists. Rosenberg teaches the subject at MIT, and once you're past the probably-worked-better-in-person jokes in the first couple of pages, it's clear that this material is based on first-hand experience. The first major part of the book covers general principles of grammar, organization, and so on; the second analyzes particular kinds of documents—manuals, web sites, proposals, PowerPoint presentations, and so on—while the third describes the editing and production process. There's a lot of crunch in this granola, and I'd recommend it to anyone with a thesis or a business plan to write.

DDJ