Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.


Channels ▼
RSS

Books We Missed the First Time Around


Gregory V. Wilson is a contributing editor to Dr. Dobb's Journal. He can be contacted at [email protected].

Another pile of books to catch up on -- except that reading them never feels as onerous as that phrase makes it sound. Reading about new tools and techniques -- even those like these that have been available for a year or so -- is to building software what watching a hockey game is to playing one; the older I get, the more comfortable I am letting the kids on the ice sweat while I cheer.


Software Development: Case Studies in Java
Davide Brugali and Marco Torchiano
Addison Wesley, 2005
630 pp.
ISBM 0321117832


This go around I have several books to cheer about. The first, and best, is Davide Brugali and Marco Torchiano's Software Development: Case Studies in Java. It's a shame I overlooked it when it came out in 2005, because it would have been a great source of examples in the undergraduate software architecture course I recently taught. This book walks you through one design exercise after another. The actual problems range from parking cars to implementing a simple hardware description language, but they're not really what this book is about. Instead, it's about how to analyze a problem, invent a solution, and turn that solution into code.

Each chapter introduces or reinforces one aspect of this process: Domain modeling, the use of state machines to model complex system, automatic generation of documentation, and so on. By Chapter 20, the reader is in the middle of negotiation-based service configuration, without ever having strained a mental ligament. Brugali and Torchiano's English is very good, though a little stiff in places, and they assume their readers are more comfortable with math and abstraction than the typical North American undergraduate, but those are very small nits. 21 worked examples of how to get from a problem statement, through class diagrams and sequence diagrams, to working code, is a great resource; I look forward to taking advantage of it frequently.


The Definitive Guide to SQLite
Mike Owens
Apress, 2006
464 pps., $44.99
ISBN 1590596730

The second winner is Michael Owens' Definitive Guide to SQLite. SQLite is a small relational database, designed to be embedded into systems rather than used in client/server situations. It may not be as famous as PostgreSQL or MySQL, but it's a lot easier to set up, and is now showing up in a lot of applications that you might not think of as having databases.

This book covers everything from the relational model and syntax of SQL to SQLite's C API, the mechanics of writing extensions for it, and its internal structure. The writing is clear, the diagrams helpful (though some are a little bit fuzzy in my copy), and the examples genuinely add value to those you can find on-line. The chapter on SQLite's implementation is worth the price of the book, particularly if (like me) you feel you can't really use something well until you know how it works. Recommended.


Game Writing: Narrative Skills for Videogames
Chris Bateman (ed.)
Charles River Media, 2006
336 pp., $39.95
ISBM 1584504900

Third up is a collection edited by Chris Bateman called Game Writing: Narrative Skills for Videogames. As the blurb on the back says, as games become more like Hollywood productions, good story lines become ever more important. Nonlinear, exploratory games and massive online roleplaying games can borrow a lot from older forms, but their creators are having to invent a lot that's genuinely new. How can you use narrative to keep a player on track, without her feeling like she's being manipulated? How can cut scenes and stock video enhance a game? What do they take away? Can games be funny? Can they be funny the tenth or hundredth time they're played? These are the kinds of topics that the book's dozen contributors address.

Like most collections, Game Writing is uneven, and I often found myself wishing for more concrete examples. However, as someone who once wrote a children's book, I found the comparisons between this new genre and the ones I've dabbled in fascinating. I've tried for years to convince my undergraduate students that being able to write is at least as important as being able to code. Most haven't believed me (or haven't believed me enough to invest time in improving their writing skills); I'll be curious to see if this book can help me change their minds.


Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.