# The Psychology of Computer Programming — Chapter 02: What Makes a Good Program? - **Date Created**: 2026-10-23 - **Status**: In Progress - **Reading Span**: PDF pages 43-56 --- ## 1. Pre-Reading Briefing - **Core Question**: Can a program be judged "good" apart from its situation, or must quality be evaluated through competing requirements and stakeholder priorities? - **Key Points to Watch For**: - How Weinberg defines or complicates the idea that a program "works." - Why delivery time and schedule predictability may matter independently of technical elegance. - The tension between adaptability and optimizing for one particular environment. - How an efficiency measure can move costs between the computer, programmer, operator, and user. - Whose requirements or value judgments ultimately determine whether a program is good. - **Context & Thread from Prior Chapters**: Chapter 1 treated code as evidence of machine, language, programmer, historical, and specification forces. Chapter 2 carries that contextual lens from explaining a program's form to judging its quality. The reader will continue resisting premature judgments—especially programmer-blame—until the relevant constraints and history are understood. --- ## 2. Reading Review & Reflections - **Prompt Questions**: Pending - **User Key Takeaways**: Pending - **Scaffolding & Feedback**: Pending --- ## 3. Chapter Synthesis - **Core Thesis**: Pending - **Key Concepts / Mental Models**: Pending - **Notable Arguments & Evidence**: Pending - **Updates to Prior Understanding**: Pending - **Weekly Action Item**: Pending