Engineering Software
summary
Argues that most so‑called new practices trace back to the 1968 NATO Garmisch work: iterative design, interlaced testing, modular subsystems sized for months of work by four to six people, and even microservice-like decomposition. Demonstrates language ideas from Algol 68 (locals, if-as-expression, pipes) and shows Java streams clarify a buggy loop-heavy spec. Highlights concurrency as a quadrant problem where synchronization causes most pain. Points to learned index structures that claim up to 70% speed gain and an order‑of‑magnitude memory drop versus B‑trees, and insists testing remains the engineering rigor.
AI-written summary · about
chapters (5)
- 0:00Start
- 17:12using your domain name as your package name
- 33:58draw a simple quadrant diagram
- 37:28eliminate concurrency
- 50:52write tests
related talks
35mCraft, Engineering, and the Essence of Programming
48mEngineering You
33mFrom Enterprise Architecture to Software Design - Critical Thinking
35mReviving the art of software design
01h 02mProcedural Programming: It Never Went Away
42mwhy software development is an engineering discipline
45mTaking Back "Software Engineering"
53mSoftware Design: Beyond Boxes & Lines
