The cost of software is comprehension.
Code that compiles is easy; understanding it is the hard part. Every line you write is a permanent tax on everyone who reads it. The measure of good code is not elegance or brevity. It's how quickly a new person can build a mental model of what it does and why.
Reading path
Post 1 of 9
Comprehension Can't Be Reduced to the Artifact
Peter Naur argued in 1985 that programming isn't about producing code. It's about building a theory of how problems map to solutions.
Post 2 of 9
Constantine's Equation
Understanding the fundamental equation that shows why software costs are dominated by maintenance, not initial development
Post 3 of 9
Expressive Code
Why code should communicate its intent clearly to humans, not just execute correctly for computers
Post 4 of 9
Locality of Behavior
Design for understanding: code behavior should be comprehensible by reading only that code, not multiple files or abstraction layers
Post 5 of 9
Never Nester
How avoiding deeply nested code structures reduces cognitive load and improves code readability
Post 6 of 9
Control Flow Complexity
Why decisions buried deep in functions create complexity, and how pushing them to system boundaries creates simplicity
Post 7 of 9
Lines of Code is a Bad Measurement
Why measuring productivity by lines of code is counterproductive and actively rewards what good engineering tries to eliminate
Post 8 of 9
The Hidden Cost of Agentic Development
Why AI code generation optimizes for the wrong variable and violates Constantine's equation about software economics
Post 9 of 9
AI and Software Engineering: Iteration Compression, Not Revolution
AI has compressed the iteration cycle, not transformed the discipline. The constraint was never writing code. It was always understanding.