|Adam Petersen - Software Development Pages, Book Reviews Section|
|The Psychology of Computer Programming:
Silver Anniversary Edition
by Gerald M. Weinberg
It would be safe to expect a programming book from 1971 to be hopelessly dated, wouldn’t it? Well, it would if the book in question focused on technology. Instead “The Psychology of Computer Programming” is mainly about people and people really haven’t changed since back then. “Unfortunately”, I feel to add after reading about all non-technical problems influencing the quality of programs and life in the software industry. Problems that “The Psychology of Computer Programming” described 35 years ago, yet surprisingly little has happened.
For the silver anniversary edition, Weinberg took a different but interesting step: he let the original text stand unedited (including several amusing but nowadays politically incorrect sexist sentences) and added a commentary at the end of each chapter. This approach works well and it was the right choice for such classic material.
“The Psychology of Computer Programming” is one of those texts that get frequently quoted and referred to. The most well-known chapter is definitely Weinberg’s concept of Egoless Programming. It is still a controversial topic and often written of as a communist model of programming, which is definitely isn’t; in contrast to eXtreme Programming’s collective code ownership and pair-programming, egoless programming still maintains personal ownership and thereby also a personal responsibility. The core idea is instead to get rid of the ego, realize that the own programs may not be entirely perfect and bug-free and proactively seek feedback from colleagues. I interpret it as an informal, continuous technical review. In the silver anniversary notes, Weinberg reflects on why Egoless Programming got so misunderstood. The new term he suggests (“less-ego programming”) would probably be a better way of selling the message.
“The Psychology of Computer Programming” is still, at least partly, a good read. Please note my emphasis on partly as many chapters haven’t stood the test of time. That includes particularly the latter ones where Weinberg discusses programming tools and languages from a people-oriented view. The subject is of course still interesting, but Weinberg tries to clarify his points through examples using those days’ hot technologies. Needless to say, if you aren’t familiar with relics like PL/I, ATL and ancient FORTRAN, the examples get more distracting than helpful.
Besides the dated technology the typesetting is the strongest reminder of the 70’s. I mean, seriously, it does look like a photocopy of the original text and not in a cool retro way – it is downright disturbing to read and not very friendly to the eyes. Let’s hope the text gets reset for the gold anniversary edition; the material deserves it.
Reviewed November 2006
|©2005 Adam Petersenfirstname.lastname@example.org|