No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.

2.9KB

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.

Powered by TurnKey Linux.