It amazes me how
seldom the death struggles and victories of programmers are ever sung. Behind
every program and script there are intractable problems that had to be
solved, impossible deadlines, kludges
and clever elegant solutions, wild goose chases, tears and triumphs; some of
these worthy of epic poetry or of Agatha Christie. Few of these stories ever
surface into public consciousness.
After a fashion,
Dreaming in Code opens this world to the larger audiences.
Starts fine,
comparing software coding to bridge building and pointing out the ways in which
wholesome projects break down. Somewhere around here the author refers
Britcher's The Limits of Software as " a disjointed, but impassioned
book". Ironically, the same description applies to Dreaming more and more as it progresses: it jumps from here to
there making the reader only catch glimpses of what the author tries to show,
but not in an ordered fashion. This is not an altogether a bad thing: this is
one of those books where you can open it at any page, begin reading and find
something interesting to be delighted with.
There is central
thread though, Mitch Kapor's Chandler project. We get the inside scoop of its
development, decisions and travails. This is where in one way or another the
anecdotes sprout and return to. There are also about half a dozen previous
books on programming projects that the author frequently refers to, being The Mythical Man-Month the most cited. These
mentions in a way feel quite similar to how the characters of the Hitchhiker's
Guide to The Galaxy refer to the Guide as a beacon. With these books Rosenberg
also shows that despite the better tools there is nothing new under the sun.
Tribulations are one
thing. There is also a large component of programming philosophy which waxes
towards the end. Programming, not being an exact science, has several schools
of thought on how it should be done. Dreaming
presents some of these, many relating to the work at hand, others, historical.
Notwithstanding its
externally disordered nature, an overall nice book that warrants a reread here
and there. Recommended if you have any interest in programming.
(If you want more on
team projects try Code Name Ginger for a story on hardware. For a biology one,
try the Billion Dollar Molecule)