The Many Faces of Module
summary
Covers how Ruby modules evolve from Simula-flavored mixins into multiple concrete roles: mixins for shared behavior, module as namespace to group classes, and module function / singletons for utility APIs. Notes Ruby 2.0 adds module prepend to safely wrap existing methods (like CLOS method combination / AOP) and refinements to lexically scope monkey patches; prepend works and changes method lookup order, refinements exist but see low adoption because they require explicit enabling. Traces lineage back to 1968 concepts and Ruby’s 1993 origin.
AI-written summary · about
chapters (10)
- 0:00Introduction and conference overview
- 3:55Why RubyConf keynote is challenging
- 10:47Simula: The first object-oriented language
- 15:59Multiple inheritance and its problems
- 21:55Ruby’s Module: From mixins to namespaces
- 26:38Module prepend and method combination
- 33:13Monkey patching and refinements
- 43:41Ruby’s design evolution and future
- 48:04Ruby’s community and future goals
- 52:03Closing remarks and gratitude







