Du kannst nicht mehr als 25 Themen auswählen
Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
The Psychology of Computer Programming — Chapter 01 Memory: Reading Programs
- Stage: Complete
- Next Step: Prepare the Chapter 2 pre-reading briefing for “What Makes a Good Program?”
- Reading Span: PDF pages 31-42
- Source Text: /library/The Psychology of Computer Programming/Chapter-01-Reading-Programs/Chapter-01-source-text.md (the chapter's own words; read instead of the PDF)
- Full Record: /library/The Psychology of Computer Programming/Chapter-01-Reading-Programs/Chapter-01-chapter-notes.md (read only if needed)
- Last Updated: 2026-10-23
Carried-in Context (from earlier chapters)
- First chapter — nothing carried in.
This Chapter
- Core Question: What can reading a program reveal about programming as a human activity that running or evaluating its output cannot?
- Watch-For Themes: Programs as texts for people; asking why each piece of code exists; machine, language, programmer, historical, and specification influences; code as evidence of its development context; the role of review in learning programming.
- Core Thesis: Reading code as a human artifact reveals that its form comes from intertwined machine, language, programmer, historical, and specification forces—not simply from the problem it appears to solve.
- Key Concepts: Program reading; “Why is this piece here?” causal analysis; machine/language/programmer limitations; historical traces; evolving specifications; review as learning.
- Notable Arguments / Evidence Limits: A PL/I example is progressively simplified as constraints are removed; a Social Security patch shows obsolete workarounds surviving after their cause disappears; evidence is illustrative and anecdotal, drawn largely from older systems rather than controlled studies.
- Action Item: Select one old or unfamiliar function and label each puzzling fragment by its likely origin, corroborating comments with history, tests, requirements, and platform documentation before changing it.
Reader State
- Pending Questions: None
- Reader's Answers (paraphrase): Reading explains why code was written a certain way; investigation requires issue, machine, comments, and behavioral context; programmer limitations most often mislead modern maintainers.
- Misconceptions / Feedback Given: Core idea is correct. Context also includes language/version, specification, change history, and people. Comments are useful but may be stale, so corroborate them with version history, requirements, tests, platform documentation, and original contributors when possible.
- Personal Threads: Reader suspects programmer limitations are the dominant source of misleading modern code.
Open Threads
- While reading, test whether Weinberg's categories still explain artifacts in modern codebases.
- Distinguish genuine programmer limitations from historically rational decisions whose context has disappeared.