Tal Cohen's Bookshelf: A Collection of Personal Opinions about Books
The Tao of Programming / Geoffrey James
Reviewed by Tal Cohen Friday, 27 August 1999
Assigning more people to a programming project does not make it end earlier. There are a many explanations for this; in fact, it is the subject of one of the most important software engineering books, Fredrick Brooks's The Mythical Man Month (reviewed here). But experienced programmers don't need research results to tell them about this. For them, it is a fact of life -- knowledge earned by working on software projects for years. So many programmers appreciate Geoffrey James's simple way of presenting this fact in a very short story:

(From the book) A manager went to the master programmer and showed him the requirements document for a new application. The manager asked the master: “How long will it take to design this system if I assign five programmers to it?”

“It will take one year,” said the master promptly.

“But we need this system immediately or even sooner! How long will it take if I assign ten programmers to it?”

The master programmer frowned. “In that case, it will take two years.”

“And what if I assign a hundred programmers to it?”

The master programmer shrugged. “Then the design will never be completed,” he said.

The simple, humoristic representation of experienced software developers as “masters” and inexperienced ones as “apprentices”, the characterization of managers as unintelligent, sometimes plain stupid people, combined with the simple wisdom of the text is just part of what makes The Tao of Programming such am amusing booklet for programmers. I think many readers will find that they are reminded of the Dilbert comic strips.

(From the book) Thus spake the master programmer:

“You can demonstrate a program for an executive, but you can't make him computer literate.”

The stories are presented with an aura of oriental wisdom; some of them are paraphrases of famous oriental stories. For example, the point of the story in which Grand Master Turing dreams that he is a machine (and wakes up wondering if he is really Turing, or a machine dreaming that it is Turing) will probably be missed by those not familiar with the story about Confucius and the butterfly.

The Tao of Programming consists of nine “books” -- each with wisdom about a different area, such as design, coding, maintenance, and so on. All in all, there are about fifty short stories like the two quoted above, and it will probably make a great gift to any programmer. If you haven't read it yet, you should probably buy yourself this gift. In the computer programmers' Humor Hall of Fame, this book resides up there with canons such as the Jargon file (“The Hacker's Dictionary”).




The Zen of Programming was published by James a year after The Tao, and it contains numerous short Koan-like stories of the same spirit -- the kind of stories only computer nerds could possibly enjoy. However, much like the stories in the third book, Computer Parables: Enlightenment in the Information Age, the stories in The Zen of Programming lack the special, naive magic that made the first book so enjoyable. The stories in these two books don't try just to entertain -- they try to teach a lesson, and often fail miserably. And yet some stories (especially in Computer Parables) do hit the nail on the head. Consider, for example, the following story:

(From the book) A programmer once built a vast database containing all the literature, facts, figures, and data in the world. Then he built an advanced querying system that linked that knowledge together, allowing him to wander through the database at will. Satisfied and pleased, he sat down before his computer to enjoy the fruits of his labor.

After three minutes, the programmer had a headache. After three hours, the programmer felt ill. After three days, the programmer destroyed his database. When asked why, he replied: “That system put the world at my fingertips. I could go anywhere, see anything. Because I was no longer limited by external conditions, I had no excuse for not knowing everything there is to know. I could neither sleep nor eat. All I could do was wander through the database. Now I can rest.”

The amazing thing is that this piece was published years before the World Wide Web came to be; it is even more amazing if you consider the fact that it is titled “The Navigator”.

Other stories from Computer Parables that had a similar surprising (or should I say sobering?) effect, at least for me, include “The Computer Pornographer” and “The Museum”. But apart from these rare gems, the two sequels generally do not stand up to the quality of the first.

The Tao of ProgrammingThe Zen of ProgrammingComputer Parables
Find this book using WikipediaFind this book using WikipediaFind this book using Wikipedia

New Reviews Notification
To receive notifications as new reviews are published, consider following the RSS feed.
[Post a comment on this review]
  [Permalink to this review]
©1997-2012 by Tal Cohen, all rights reserved. [About]