Software Engineering - A philosophical activity
summary
Compares software design to metaphysics and maps Plato to class-based OO ≈ Plato’s Forms, showing Java’s eternal classes and top-level Object, and maps nominalism to prototype-based JS ≈ cloning without classes, citing Logo’s turtle as a built teaching tool that worked to teach geometry. Advocates hammock-driven design, assumes TDD, and treats passing tests as Wittgensteinian facts so argues for testing product scenarios over line coverage and for learning new languages because language limits design.
AI-written summary · about
chapters (21)
- 0:00Introduction
- 1:15Science and Humanities
- 3:00Education
- 3:57LeftRight Side Myth
- 6:04Binary Thinking
- 6:55The Great Divide
- 9:35Development Process
- 12:52Metaphysics
- 14:13Scope
- 16:07Problem of Universes
- 16:52Problem of Universals
- 17:53The World of Ideas
- 19:26Platos Idea
- 20:23ObjectOriented
- 27:05Recap
- 28:50Quotes
- 31:48Testing
- 36:33The Limits of My Language
- 39:08What Can Be Designed
- 41:24Summary
- 42:46Conclusion
related talks
27m'The Art of Software Development'
45mCan Wittgenstein's Philosophical Ideas Help Build Better Software?
48mA Personal Philosophy of Excellent Engineering
51mThe Art of Software Development
14mThe Art of Programming
01h 01mEngineering for Software - How to Amplify Creativity
42mwhy software development is an engineering discipline
28mSoftware Engineering - Development in 100 Years Time
