Making software better despite having users
summary
ScalaTest faces concrete tradeoffs: half a million users makes behaviour changes costly; a buggy triple-equals DSL gets fixed for users only if a compiler plug-in gives compile-time errors or the language gains stronger unification. A newly added position macro leaking full path breaks reproducible builds at a large bank, so the release uses an env var workaround in 3.1 and reserves the real fix for 4.0. Versioning promises, 18‑month deprecation cycles, and migration tools drive practical upgrades.
AI-written summary · about
chapters (9)
- 0:00Introduction
- 1:43Why Scala
- 7:30Users
- 18:15Versions
- 24:54Keeping promises
- 25:06Deprecation
- 26:13Silent killers
- 27:47Migration tools
- 30:43Conclusion
related talks
29mAging: Evolving Software, Tools, and Ourselves.
46mState of Scala
49mBuilding Safe, More Testable Scala Production Systems
46mThoughtful Software Engineering
49mDotty is coming
40mWhy your best engineers should look after the worst systems
16mBetterer Incremental improvement
37mLearn to appreciate legacy (Story about Zed)
