Back
Gerald M. Weinberg, Gerard M. Weinberg: The Psychology of Computer Programming (1988, Van Nostrand Reinhold Company) 4 stars

This landmark 1971 classic is reprinted with a new preface, chapter-by-chapter commentary, and straight-from-the-heart observations …

Still interesting after 50 years

4 stars

As a professional educator in the field of computer science, I find much in this book that resonates even 50 years later. The technologies have changed (almost all of the examples in the book are machine language, assembly, PL/I, or FORTRAN, with a passing mention of BASIC as a hobbyist's language), but many of the struggles and though processes remain very familiar. Unfortunately, many of the questions that Weinberg poses as open for future study seem to be open still today, such as finding ways to give programmers just the right amount of motivation to keep them learning without overwhelming them!

The book is divided into four major parts: I, Programming as Human Performance; II, Programming as a Social Activity; III, Programming as an Individual Activity, and IV, Programming tools; plus a final very brief V, Epilogue. I found parts I--IV increasingly compelling as they progressed, with I being of less interest than II, etc. Part II, Programming as a Social Activity, felt like it had some overlap with Frederick Brooks's The Mythical Man-Month in its team-forming and structure portions, and I believe I prefer Brooks. Part III, Programming as an Individual Activity, was quite interesting to me as an educator, as it discusses motivation, attitude, and ability as they relate to programming.

The style is both informative and entertaining, with some humor sprinkled throughout. Some of the attitudes and specific examples, particularly relating to gender in programming, are a little bit jarring for the reader in 2022, although the overall attitude about such things is reasonably modern and (for the day, certainly) progressive. (For example, the author specifically deplores discounting programming ability or propensity based on gender, but also suggests placing women into social roles due to gender stereotypes.)

This book is definitely worth a read for anyone who teaches programming, although its age and early nature means that some of it should be taken with a grain of salt.