The Psychology of Computer Programming
The Psychology of Computer Programming
Silver Anniversary Edition
About the Book
Finding the chapters strikingly relevant to today's issues in programming, Gerald M. Weinberg adds new insights and highlights the similarities and differences between now and then. Using a conversational style that invites the reader to join him, Weinberg reunites with some of his most insightful writings on the human side of software engineering.Topics include egoless programming, intelligence, psychological measurement, personality factors, motivation, training, social problems on large projects, problem-solving ability, programming language design, team formation, the programming environment, and much more.The author says, "On an inspired eight-week vacation in Italy, I wrote the first draft of The Psychology of Computer Programming. . . . the book quickly became a best-seller among technical titles, running through more than twenty printings and staying in print for twenty-five years. . . ."For this Silver Anniversary Edition, I decided to take my own advice and not try to hide my errors, for they would be the source of the most learning for my readers. I decided to leave the original text as it was—antiques and all—for your illumination, and simply to add some 'wisdom of hindsight' remarks whenever the spirit moved me. I hope you find the perspective brought by this time-capsule contrast as useful to you as it has been to me."J.J. Hirschfelder of Computing Reviews wrote: "The Psychology of Computer Programming . . . was the first major book to address programming as an individual and team effort, and became a classic in the field. . . . Despite, or perhaps even because of, the perspective of 1971, this book remains a must-read for all software development managers."Sue Petersen of Visual Developer said: "In this new edition, Jerry looks at where we were 30 years ago, where we are now and where we might be in the future. Instead of changing the original text, he's added new comments to each chapter. This allows the reader to compare and contrast his thinking over the decades, showcasing the errors and omissions as well as the threads that bore fruit.". . . one issue -- communication -- has been at the core of Jerry's work for decades. Unknown to him at the time, Psychology was to form the outline of his life's work. . . . Psychology is valuable as history in a field that is all too ready to repeat the errors of its past. Read Psychology as a picture of where we've been, where we are now, and where we need to go next. Read it as an index to the thinking of one of the most influential figures in our field."
Table of Contents
- The Psychology of Computer Programming
- Preface to the Silver Anniversary Edition
-
Preface
- Comments on the Preface
-
Part 1. Programming as Human Performance
-
- Comments on Part 1
-
Chapter 1. Reading Programs
- AN EXAMPLE
- MACHINE LIMITATIONS
- LANGUAGE LIMITATIONS
- PROGRAMMER LIMITATIONS
- HISTORICAL TRACES
- SPECIFICATIONS
- SUMMARY
- QUESTIONS
- BIBLIOGRAPHY
- Comments on Chapter 1
-
Chapter 2. What Makes a Good Program?
- SPECIFICATIONS
- SCHEDULE
- ADAPTABILITY
- EFFICIENCY
- SUMMARY
- QUESTIONS
- BIBLIOGRAPHY
- Comments on Chapter 2
-
Chapter 3. How Can We Study Programming?
- INTROSPECTION
- OBSERVATION
- EXPERIMENT
- PSYCHOLOGICAL MEASUREMENT
- USING BEHAVIORAL SCIENCE DATA
- SUMMARY
- QUESTIONS
- BIBLIOGRAPHY
- Comments on Chapter 3
-
-
Part 2. Programming as a Social Activity
-
- Comments on Part 2
-
Chapter 4. The Programming Group
- FORMAL AND INFORMAL ORGANIZATION
- PHYSICAL ENVIRONMENT AND SOCIAL ORGANIZATION
- ERROR AND EGO
- EGOLESS PROGRAMMING
- CREATING AND MAINTAINING THE PROGRAMMING ENVIRONMENT
- SUMMARY
- QUESTIONS
- BIBLIOGRAPHY
- Comments on Chapter 4
-
Chapter 5. The Programming Team
- HOW A TEAM FORMS
- ESTABLISHING AND ACCEPTING GOALS
- TEAM LEADERSHIP AND TEAM LEADERS
- THE TEAM IN CRISIS
- SUMMARY
- QUESTIONS
- BIBLIOGRAPHY
- Comments on Chapter 5
-
Chapter 6. The Programming Project
- STABILITY THROUGH CHANGE
- MEASURING PERFORMANCE
- PROJECT STRUCTURE
- COMMON SOCIAL PROBLEMS OF LARGE PROJECTS
- SUMMARY
- QUESTIONS
- BIBLIOGRAPHY
- Comments on Chapter 6
-
-
Part 3. Programming as an Individual Activity
-
- Comments on Part 3
-
Chapter 7. Variations In The Programming Task
- PROFESSIONAL VERSUS AMATEUR PROGRAMMING
- WHAT THE PROGRAMMER IS TRYING TO DO
- STAGES OF PROGRAMMING WORK
- SUMMARY
- QUESTIONS
- BIBLIOGRAPHY
- Comments on Chapter 7
-
Chapter 8. Personality Factors
- THE MAD BOMBER
- PERSONALITY CHANGES
- PERSONALITY INVARIANTS
- CRITICAL PERSONALITY TRAITS
- PERSONALITY TESTING
- PERSONALITY TESTING OF PROGRAMMERS
- SUMMARY
- QUESTIONS
- BIBLIOGRAPHY
- Comments on Chapter 8
-
Chapter 9. Intelligence, or Problem-Solving Ability
- PSYCHOLOGICAL SET
- SOME DIMENSIONS OF PROBLEM SOLVING
- FACETS OF PROGRAMMING INTELLIGENCE
- APTITUDE TESTS
- APTITUDE TESTS FOR PROGRAMMING
- SUMMARY
- QUESTIONS
- BIBLIOGRAPHY
- Comments on Chapter 9
-
Chapter 10. Motivation, Training, and Experience
- MOTIVATION
- TRAINING, SCHOOLING, AND EDUCATION
- FORCES AGAINST LEARNING
- HOW TO LEARN PROGRAMMING
- SUMMARY
- QUESTIONS
- BIBLIOGRAPHY
- Comments on Chapter 10
-
-
Part 4. Programming Tools
-
- Comments on Part 4
-
Chapter 11. Programming Languages
- PROGRAMMING LANGUAGE AND NATURAL LANGUAGE
- PROGRAMMING LANGUAGE DESIGN
- SUMMARY
- QUESTIONS
- BIBLIOGRAPHY
- Comments on Chapter 11
-
Chapter 12. Some Principles For Programming Language Design
- UNIFORMITY
- LOCALITY AND LINEARITY
- TRADITION AND INNOVATION
- SPECIAL-PURPOSE, MULTIPURPOSE, AND TOY LANGUAGES
- SUMMARY
- QUESTIONS
- BIBLIOGRAPHY
- Comments on Chapter 12
-
Chapter 13. Other Programming Tools
- PROGRAM TESTING TOOLS
- OPERATING SYSTEMS
- TIME-SHARING VERSUS BATCH
- DOCUMENTATION
- SUMMARY
- QUESTIONS
- BIBLIOGRAPHY
- Comments on Chapter 13
-
-
Part 5: Epilogue
-
- Comments on Part 5
- Suggestions for Course Use
- FURTHER READING
-
Other books by this author
The Leanpub 45-day 100% Happiness Guarantee
Within 45 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
See full terms
Do Well. Do Good.
Authors have earned$10,636,225writing, publishing and selling on Leanpub, earning 80% royalties while saving up to 25 million pounds of CO2 and up to 46,000 trees.
Learn more about writing on Leanpub
Free Updates. DRM Free.
If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).
Most Leanpub books are available in PDF (for computers), EPUB (for phones and tablets) and MOBI (for Kindle). The formats that a book includes are shown at the top right corner of this page.
Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.
Learn more about Leanpub's ebook formats and where to read them
Top Books
Jetpack Compose internals
Jorge CastilloJetpack Compose is the future of Android UI. Master how it works internally and become a more efficient developer with it. You'll also find it valuable if you are not an Android dev. This book provides all the details to understand how the Compose compiler & runtime work, and how to create a client library using them.
Fifty Quick Ideas to Improve your User Stories
Gojko Adzic and David EvansFunctional Programming Made Easier
Charles ScalfaniA Functional Programming book from beginner to advanced without skipping a single step along the way.
In my 40 years of programming, I've felt that programming books always let me down, especially Functional Programming books. So, I wrote the book I wish I had 5 years ago.
Functional Programming will never be easy, but it can be easier.
Stratospheric
Tom Hombergs, Björn Wilmsmann, and Philip RiecksFrom Zero to Production with Spring Boot and AWS. All you need to know to get a Spring Boot application into production with AWS. No previous AWS knowledge required.
Continuous Delivery Pipelines
Dave FarleyThis practical handbook provides a step-by-step guide for you to get the best continuous delivery pipeline for your software.
Developing A Computer Operating System From Scratch
TINU TOMThe first ever Book trying to introduce Operating System Development to Absolute Beginners where the topic starts from Programming In C , Programming In Assembly to Practical OS Development.
This book only uses Simple Methods so that Only Less Topics in Programming In C and Assembly should be covered.
Technical leadership and the balance with agility
Simon BrownA developer-friendly, practical and pragmatic guide to lightweight software architecture, technical leadership and the balance with agility.
A Practical Guide to Testing in DevOps Japanese Edition
Katrina Clokie, Yuya Kazama, and Masanori KawaradaKatrina Clokieによる2017年8月発行の書籍『A Practical Guide to Testing in DevOps』の日本語翻訳版です。実装前や実装中でのテストだけでなく、本番環境でのテストについて、数多くの事例を用いて語られています。
Agile Testing Condensed Japanese Edition
Yuya Kazama, Janet Gregory, and Lisa CrispinJanet GregoryとLisa Crispinによる2019年9月発行の書籍『Agile Testing Condensed』の日本語翻訳版です。アジャイルにおいてどのような考えでテストを行うべきなのか簡潔に書かれています!
Ansible for DevOps
Jeff GeerlingAnsible is a simple, but powerful, server and configuration management tool. Learn to use Ansible effectively, whether you manage one server—or thousands.
Top Bundles
- #1
CCIE Service Provider Ultimate Study Bundle
2 Books
Piotr Jablonski, Lukasz Bromirski, and Nick Russo have joined forces to deliver the only CCIE Service Provider training resource you'll ever need. This bundle contains a detailed and challenging collection of workbook labs, plus an extensively detailed technical reference guide. All of us have earned the CCIE Service Provider certification... - #2
Software Architecture for Developers: Volumes 1 & 2 - Technical leadership and communication
2 Books
"Software Architecture for Developers" is a practical and pragmatic guide to modern, lightweight software architecture, specifically aimed at developers. You'll learn:The essence of software architecture.Why the software architecture role should include coding, coaching and collaboration.The things that you really need to think about before... - #4
The Python Craftsman
3 Books
The Python Craftsman series comprises The Python Apprentice, The Python Journeyman, and The Python Master. The first book is primarily suitable for for programmers with some experience of programming in another language. If you don't have any experience with programming this book may be a bit daunting. You'll be learning not just a programming... - #5
Retromat eBook Bundle for Agile Retrospectives
2 Books
If you facilitate retrospectives this bundle is for you: "Plans for Retrospectives" helps beginners learn the lay of the land with tried-and-true plans. Once you know your way around, "Run great agile retrospectives" contains all 135+ activities in Retromat for you to mix and match. - #9
9 Books-Bundle: Shut Up and Code!
9 Books
"Shut up and code." Laughter in the audience. The hacker had just plugged in his notebook and started sharing his screen to present his super-smart Python script. "Shut up and code" The letters written in a white literal coding font on black background was the hackers' home screen background mantra. At the time, I was a first-year computer...









