The Psychology of Computer Programming: Silver Anniversary Edition | Gerald M. Weinberg Dorset House Publishing Company, Paperback, Published September 1998, 292 pages, ISBN 0932633420 | List Price: $44.95 Our Price: $37.95 You Save: $7.00 (16% Off)
| | | Availability: Out-Of-Stock |
Be the First to Write a Review and tell the world about this title!People who purchase this book frequently purchase: Books on similar topics, in best-seller order:Books from the same publisher, in best-seller order:
This landmark 1971 classic is reprinted with a new preface, chapter-by-chapter
commentary, and straight-from-the-heart observations on topics that affect the
professional life of programmers.
Long regarded as one of the first books to pioneer a people-oriented approach
to computing, The Psychology of Computer Programming endures as a penetrating
analysis of the intelligence, skill, teamwork, and problem-solving power of
the computer programmer.
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.
Dorset House Publishing is proud to make this important text available to new
generations of Weinberg fans—and to encourage readers of the first edition
to return to its valuable lessons.
Table of Contents
PART 1. PROGRAMMING AS HUMAN PERFORMANCE 2
Comments on Part 1 P1.i
1 Reading Programs 5
An example 6
Machine limitations 7
Language limitations 9
Programmer limitations 10
Historical traces 11
Specifications 12
Summary 13
Bibliography 14
Comments on Chapter 1 1.i
2 What Makes a Good Program? 15
Specifications 17
Schedule 19
Adaptability 20
Efficiency 22
Summary 25
Questions 25
Bibliography 26
Comments on Chapter 2 2.i
3 How Can We Study Programming? 27
Introspection 28
Observation 30
Experiment 32
Psychological measurement 35
Using behavioral science data 38
Summary 39
Questions 40
Bibliography 41
Comments on Chapter 3 3.i
PART 2. PROGRAMMING AS A SOCIAL ACTIVITY 44
Comments on Part 2
4 The Programming Group 47
Formal and informal organization 47
Physical environment and social organization 50
Error and ego 52
Egoless programming 56
Creating and maintaining the programming environment 60
Summary 64
Questions 64
Bibliography 65
Comments on Chapter 4 4.i
5 The Programming Team 67
How a team forms 68
Establishing and accepting goals 72
Team leadership and team leaders 78
The team in crisis 85
Summary 91
Questions 92
Bibliography 93
Comments on Chapter 5 5.i
6 The Programming Project 95
Stability through change 96
Measuring performance 100
Project structure 106
Common social problems of large projects 109
Summary 112
Questions 113
Bibliography 115
Comments on Chapter 6 6.i
PART 3. PROGRAMMING AS AN INDIVIDUAL ACTIVITY 118
Comments on Part 3 P3.i
7 Variations in the Programming Task 121
Professional versus amateur programming 122
What the programmer is trying to do 126
Stages of programming work 132
Summary 137
Questions 138
Bibliography 139
Comments on Chapter 7 7.i
8 Personality Factors 141
Personality changes 143
Personality invariants 145
Critical personality traits 148
Personality testing 153
Personality testing of programmers 156
Summary 158
Questions 158
Bibliography 159
Comments on Chapter 8 8.i
9 Intelligence, or Problem-Solving Ability 161
Psychological set 162
Some dimensions of problem solving 164
Facets of programming intelligence 166
Aptitude tests 170
Aptitude tests for programming 171
Summary 176
Questions 177
Bibliography 177
Comments on Chapter 9 9.i
10 Motivation, Training, and Experience 180
Motivation 181
Training, schooling, and education 184
Forces against learning 188
How to learn programming 193
Summary 198
Questions 198
Bibliography 199
Comments on Chapter 10 10.i
PART 4. PROGRAMMING TOOLS 202
Comments on Part 4 P4.i
11 Programming Languages 205
Programming language and natural language 206
Programming language design 211
Summary 214
Questions 214
Bibliography 215
Comments on Chapter 11 11.i
12 Some Principles for Programming
Language Design 217
Uniformity 218
Compactness 224
Locality and linearity 229
Tradition and innovation 232
Special-purpose, multipurpose, and toy languages 237
Summary 241
Questions 242
Bibliography 243
Comments on Chapter 12 12.i
13 Other Programming Tools 246
Program testing tools 247
Operating systems 251
Time sharing versus batch 259
Documentation 262
Summary 270
Questions 270
Bibliography 272
Comments on Chapter 13 13.i
PART 5. EPILOGUE 275
Comments on Part 5 P5.i
Index 281
|