Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
News Books Media Book Reviews

Review:The Tao, Zen of Programming 20

Tal Cohen sent in a 3 part review: The Tao of Programming, The Zen of Programming, and Computer Parables: Enlightenment in the Information Age. All of these were written by Geoffrey James, and while the first book Tao is one that has been around, the other two are interesting reading as well. Click below to find out more.

REVIEW: The Tao of Programming, The Zen of Programming and Computer Parables: Enlightenment in the Information Age

by Geoffrey James

(Tao: InfoBooks, ISBN 0-931-13707-1)
(Zen: InfoBooks, ISBN 0-931-13709-8)
(Parables: InfoBooks, ISBN 0-931-13713-6)
Nutshell
Review:
You've probably already read The Tao of Programming -- as an e-text. It's a great book, and fun to re-read every so often; but don't buy the print version just for the illustrations. Do buy it as a gift to a friend, though.

The two sequels, The Zen of Programming and Computer Parables, are less well-known (probably because they were never transcribed and spread over usenet). They're also generally less entertaining, though you'll probably still find them enjoyable.

Rating: Outstanding (8/10), Average (4/10) and Average (4/10)
Review by: Tal Cohen

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. 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:

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.

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 contains 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:

A programmer once built a vast database containing all the literature, facts, figures, and data in the world. The 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.

To purchase The Tao of Programming, click here to buy it from Amazon. Otherwise, get The Zen of Programming from here, or Computer Parables: Enlightenment in the Information Age from here.

For more information about these books, please visit http://www.forum2.org/tal/books/tao.html.

For additional book reviews, please visit http://www.forum2.org/tal/books.

This discussion has been archived. No new comments can be posted.

Review:The Tao, Zen of Programming

Comments Filter:
  • by Anonymous Coward
    You can get the e-text here [big.du.se].
  • Lao Tzu's Tao Te Ching.

    My favorite book... Soul of the New Machine by Tracy Kidder. All about the development of a Data General machine (Eclipse I think) without management knowledge or approval and how it saved the company. All those that were a part of this TAO operation are long gone from the company...
  • Ah for the happy days of commodore. =)

    I think you mean commodore C= don't you?
    Anyway, the ST was (and is) better.

  • IIRC, "Guru Meditation Number", followed by the appropriate number. Also recall a cute story about how the line came to be, but don't recall it. Might be in the Jargon File?
  • I'm showing my age, aren't I?

    To the best of my knowlege, the MAiga was the only computer to meditate at meltdown.
  • You have to feel the source. You have to be the source.

    A hard coded string is the strong oak, mighty and unyielding - but a variable parameter is the reed that bends in the wind of maintenence and upgrade.

    What I would like to find, as a complement to these books, is a western philosophy counterpart. Perhaps something a'la Nietsche?? Is there anything out there like THAT?

    -- When you can mask the NMI, it will be time for you to leave.
  • personally, i think a more pure approach to zen is more appropriate and can be applied to anything, not just code. people who are interested should check out 'zen mind, beginner's mind' by shunryu suzuki (isbn 0-8348-0052-7) of the soto school. he is the founder of zen temple san francisco. very good, and for me, invaluable.
  • I bought both books about ten years ago at the start of my career. I distinctly remember my first reading of "Zen". A friend and I were handing the book back and forth reading snippets aloud and practically falling down laughing.

    The two books sit in a place of honor on my shelf, when they are not on loan.
  • Given the Master/Apprentice flavor of "The Tao of Programming", may direct those interested in David Boundy's "A Taxonomy pf Programmers", ACM SIGSOFT
    Software Engineering Notes vol 16 no 4 Oct 1991 pgs 23-30. For example (lifted from the original):

    "The Good Programmer knows that a convenient bad design decision today will force a string of painful decisions between bad alternatives tomorrow."

    "The Truly Great, World-Class Programmer doesn't write programs. He writes tools that write his programs for him."
  • Alright, so will this book help me if I'm angry at g++ and gcc. Whats it gonna do, tell me to meditate when stuff wornt compile

Understanding is always the understanding of a smaller problem in relation to a bigger problem. -- P.D. Ouspensky

Working...