The Psychology Of Computer Programming
Originally published by Van
Reinhold in 1971. Revised "Silver Anniversary Edition" published by Dorset House in 1998: http://www.dorsethouse.com/books/psy.html
. Library of Congress 72-165813.
The Preface starts:
"This book has only one major purpose - to trigger the beginning of a new field of study: computer programming as a human activity, or in short, the psychology of computer programming."
I have had it on my book shelf for 25 years, while I have been programming, at first in FORTRAN of various sorts and more recently in C and C++ as well. Some of the descriptions of project failures from those days are both amusing and instructive. -- JohnFletcher That will soon be 40 years, I dated my copy December 1972 and it is now 2012!!
I personally have not seen that this field has received as much attention as it deserves since being launched 25 years ago. NoamChomsky
has fascinating ideas about the structure of the mind-modules that make up our capacity for language, and I imagine that some very interesting things could come from determining how best to take the internal structures that we so easily translate into human language, and translate those structures into computer language as well. This is something that language designers have been doing implicitly or explicitly (see LarryWall
) for many years, but I do not know of a large body of theory about its implications. -- DavidSaff
What a fun book! I read this during my graduate studies and I thought it was amazing. It is probably a must-read for all managers, so that they understand how the changes they make to their work environment affect their people. -- JbRainsberger
Having majored in Psychology in college and ending up working as a computer programmer since college, it was very interesting to read this book when it first came out (1971). Way back then the real challenge was trying to apply the concepts in the book. One of the most important concepts is that of "EgolessProgramming
". -- RoyWagner
I also majored in Psychology in college, followed by a Master's degree in Family Therapy. After my big switch to programming, it was exhilerating to see how GeraldWeinberg tied my two careers together. -- DaveHoover
A related topic is TheHumbleProgrammer
, which among other thing mentions The competent programmer is fully aware of the strictly limited size of his own skull; therefore he approaches the programming task in full humility
On the other hand, having enough balls to approach an unsolved, untreated and unexplored problem with the intent to not only solve it, but render it trivial for the future borders on cockiness (at least). This capacity to assume "Yeah, I can do that. I don't know what
that is just yet, but whatever it is I can do it." is absolutely essential in the composition of a great developer (or scientist or mathematician or NCO or a million other jobs that are creative, people-oriented or both).