~/talk

OO Considered Harmful

slides:none on file

Argues C++ is multi‑paradigm not primarily OO and demonstrates concrete alternatives: historical Simula examples, Smalltalk/Objective‑C message passing, and modern C++ techniques like type erasure (dyno, Eduardo Madrid), std::variant/visit, and proposals for pattern matching. Shows a Date example and an immutable string paired with a string builder to scope mutation, and compares virtual dispatch cost versus message passing (Objective‑C optimized near vtable cost). Recommends preferring immutable value types, builders and persistent data structures; the patterns are practical and performance‑viable.

AI-written summary · about

  1. 0:00Introduction and speaker
  2. 1:11Considered harmful meme
  3. 3:00Dijkstra’s go-to essay
  4. 7:58What is object orientation
  5. 10:06Simula’s origins
  6. 12:52Simula’s encapsulation limits
  7. 15:38Smalltalk and Eiffel
  8. 17:43OO features comparison
  9. 20:48Message passing vs virtual dispatch
  10. 27:37Type erasure benefits
  11. 31:50Pattern matching proposals
  12. 33:19Polymorphism beyond OO
  13. 36:05Encapsulation in OO
  14. 38:15Date class example
  15. 41:53Immutability and value types
  16. 44:53Minimizing mutability
  17. 48:45Value-oriented design
  18. 50:11C++ multi-paradigm strengths
  19. 51:13Designing with value types
  20. 54:44Active objects and coroutines
  21. 55:49Q&A and closing
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.