Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
The psychology of computer programming (silver anniversary ed.)
Weinberg G. (ed), Dorset House Publ. Co., Inc.,  New York, NY, 1998. Type: Book (9780932633422)
Date Reviewed: Mar 1 1999

The psychology of computer programming, originally published in 1971 [1], was the first major book to address programming as an individual and team effort, and became a classic in the field. The author, who had previously written only technical books, drew upon his experience managing software development projects to address how programmers think about programming, how they interact with one another, and how they interact with management. His goal was to “trigger the beginning of a new field of study: computer programming as a human activity.” The book was organized in four sections: “Programming as Human Performance,” “Programming as a Social Activity,” “Programming as an Individual Activity,” and “Programming Tools.” Among the major themes were how personality traits affect programming style and ability to function in a team; “ego-less programming” and the social environments and personality factors that foster (or prevent) it; the many forms of bad management and their effects; and the reasons for the failure of personality tests as a means of selecting programmer trainees.

The original edition was in print for 25 years, but was taken off the market when the publisher left the computer book field. The author then reacquired the rights. The present edition is a verbatim republication of the original 1971 edition (including the original pagination) plus a new preface and commentaries on each chapter, giving Weinberg’s views on how well the content has survived the test of time.

Part 1, “Programming as Human Performance,” considers characteristics of good programming and goes on to discuss methodology: how programs and programmers can be studied and evaluated. The observations on pitfalls of psychological studies are as valid today as they were in 1971. In his new comments, the author observes that the greatest change since the original publication is that programs are made to be marketed, and a good program is one that generates revenue.

Part 2, “Programming as a Social Activity,” discusses the dynamics of groups, teams, and projects. This section has the best collection of anecdotes and horror stories. Although the stories are set in the batch processing, closed-shop environment of the time, the lessons derived remain valid. Here also are the author’s most extensive commentaries on the original text, the gist of which is that poor management is as widespread now as it was then.

Part 3, “Programming as an Individual Activity,” discusses personality factors, problem-solving abilities, motivation, and the like. Here the author comments that “The concepts in this part of the original book held the most hope…[and] delivered the most disappointment.” He states that 25 years of experiments have failed to increase our understanding of how to improve individual performance.

The last part, “Programming Tools,” is the only portion of the book that is truly dated; today’s visual development tools would have been inconceivable in 1971. Nevertheless, these chapters provide some interesting historical insights for the modern reader. The new commentary notes object-oriented languages and recalls Simula 67, an object-oriented language of the earlier period.

Because the book was intended to be usable as a textbook, each chapter ends with two sets of discussion questions, one for programmers and one for managers. Nearly all of these questions are as pertinent today as they were in 1971. Each chapter has a bibliography; these have not been updated.

Despite, or perhaps even because of, the perspective of 1971, this book remains a must-read for all software development managers.

Reviewer:  J. J. Hirschfelder Review #: CR122212 (9903-0140)
1) Weinberg, G. M. The psychology of computer programming. Van Nostrand Reinhold, New York, 1971. See <CR> 13, 4 (April 1972), Rev. 23,001.
Bookmark and Share
  Featured Reviewer  
 
Programming Teams (D.2.9 ... )
 
 
General (D.2.0 )
 
 
Social Issues (K.4.2 )
 
Would you recommend this review?
yes
no
Other reviews under "Programming Teams": Date
Inside a software design team
Walz D., Elam J., Curtis B. (ed) Communications of the ACM 36(10): 63-77, 1993. Type: Article
Oct 1 1994
All I really need to know about pair programming I learned in kindergarten
Williams L., Kessler R. Communications of the ACM 43(5): 108-114, 2000. Type: Article
Jul 1 2000
An experiment to investigate interacting versus nominal groups in software inspection
Kelly D., Shepard T.  Collaborative research (Proceedings of the 2003 conference of the Centre for Advanced Studies conference, Toronto, Ontario, Canada, Oct 6-9, 2003)122-134, 2003. Type: Proceedings
Feb 9 2004
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy