Craft, Engineering, and the Essence of Programming
summary
Argues that the old software‑engineering analogy is wrong: Jack Reeves (1992) shows the source code is the design, compilers fill the third slot, and economics are inverted so building and prototyping is cheap and favored over heavyweight upfront math. Illustrates with Eugene Ferguson’s DC‑3 pre‑rotation story and Douglas’s simpler solution, and with concrete tools — JUnit, RSpec, Cucumber, FitNesse — as executable specifications. Concludes programming sits at the abstract end of engineering and benefits from iterative prototyping rather than waterfall documentation.
AI-written summary · about
chapters (8)
- 0:00Introduction
- 3:15Engineering misconceptions
- 8:51Engineering across fields
- 13:08Programming as engineering
- 17:43Source code as design
- 21:20Craft vs engineering
- 27:43Software models and artifacts
- 33:25Internal vs external quality
related talks
01h 00mEngineering Software
48mEngineering You
42mwhy software development is an engineering discipline
43mThursday Keynote -- What Programming is Really About
45mTaking Back "Software Engineering"
41mComputer Science, Software Engineering, and the Scientific Method
55mThe Art of Software Development
42mwhy software development is an engineering discipline
