



Objects on Trial
Curated by Claude · 11 videos · 10 hr 50 min
Few topics start longer HN threads than object-oriented programming. This list lets each side make its best case in order: first the people who make objects work, then the critics, then Alan Kay on what he actually meant, and finally Casey Muratori's history of how we got here. Watch it in order and decide for yourself.
Play all on YouTube- 1
38:47RailsConf 2014 - All the Little Things by Sandi Metz
190K views • 12 years agoConfreaksSandi Metz takes an ugly section of conditional code and refactors it into a few simple objects, bridging object-oriented theory and practice. The talk includes her take on the Gilded Rose refactoring kata and the idea that duplication is cheaper than the wrong abstraction.The defense opens with its strongest witness: Metz turns ugly conditionals into small objects, and HN quotes her 'duplication is cheaper than the wrong abstraction' more than anything else here.
- 2
38:25"The Clean Code Talks -- Inheritance, Polymorphism, & Testing"
438K views • 17 years agoGoogle TechTalksMisko Hevery's Clean Code Talk shows how to use object-oriented techniques such as polymorphism to remove repeated if and switch statements. The result is code that is easier to test, understand and maintain.Misko Hevery's 2008 case for replacing if and switch statements with polymorphism, the textbook OO move the prosecution will later attack.
- 3
1:48:42Clean Code - Uncle Bob / Lesson 1
2.2M views • 7 years agoUnityCoinThe first lesson of Uncle Bob (Robert C. Martin)'s "Coding Better World Together" series. It makes the case for clean code and for treating software craftsmanship as an ethical and professional responsibility. It runs about 109 minutes.Uncle Bob's argument for craftsmanship as an ethical duty; HN fans say the lecture is better than the book, and it is the style several later critics take aim at.
- 4
27:29Stop Writing Classes
962K views • 14 years agoNext Day VideoJack Diederich's PyCon 2012 talk argues that classes are overused in Python and walks through real code, refactoring away unnecessary classes, exceptions and modules. It popularized the heuristic that a class with two methods, one being __init__, should be a function.The prosecution starts gently: Jack Diederich deletes needless Python classes, and several HN commenters say this talk changed how they write code.
- 5
44:35Object-Oriented Programming is Bad
2.6M views • 10 years agoBrian WillBrian Will makes the case for procedural programming over object-oriented programming, arguing that OOP's promised encapsulation and decoupling are largely illusory. He analyzes real code examples and the problems of tying data to behavior in classes.Brian Will's full indictment that encapsulation is mostly illusory, HN's go-to anti-OOP video with 13 recommenders.
- 6
28:03Object-Oriented Programming is Embarrassing: 4 Short Examples
2.2M views • 10 years agoBrian WillBrian Will follows up his earlier anti-OOP video by walking through four short code examples, including Java code in the style of Uncle Bob, to show how object-oriented design complicates simple programs. It argues that OOP hides and scatters state and adds needless indirection.The evidence phase: four short programs, including Uncle Bob-style Java, rewritten to show how objects scatter state.
- 7
22:41"Clean" Code, Horrible Performance
1.2M views • 3 years agoMolly RocketCasey Muratori shows how typical 'clean code' object-oriented patterns can cost large factors in performance. He benchmarks them against simpler data-oriented code.A different charge, performance: Muratori benchmarks clean-code polymorphism against plain code, and it now shows up in every SOLID debate on HN.
- 8
1:00:10Functional architecture - The pits of success - Mark Seemann
152K views • 10 years agoNDC ConferencesMark Seemann argues that functional programming naturally yields many of the best practices object-oriented developers learn painfully. He shows how functional architecture leads to a pit of success, with a pure core and impure shell.A third way: Seemann argues functional design gives you the OO best practices for free, with a pure core and an impure shell.
- 9
56:39Alan Kay - Programming and Scaling
36K views • 11 years agoColin McDonnellAn Alan Kay talk on programming and scaling, covering theoretical limits of code size, engineering versus tinkering, and biological cells as inspiration for object-oriented design.The witness everyone cites: Kay on biological cells and why he thought objects would help software scale, which looks nothing like the classes on trial so far.
- 10
1:16:55Joe Armstrong & Alan Kay - Joe Armstrong interviews Alan Kay
76K views • 9 years agoErlang SolutionsJoe Armstrong, creator of Erlang, interviews Alan Kay at Code Mesh. They discuss the meaning of object orientation, message passing, the META II paper, and the state of computer science.Erlang's creator questions Kay about message passing, and HN uses this conversation to argue that Erlang processes are closer to Kay's objects than Java is.
- 11
2:27:34Casey Muratori – The Big OOPs: Anatomy of a Thirty-five-year Mistake – BSC 2025
926K views • 1 year agoBetter Software ConferenceCasey Muratori's two-hour talk tracing the history of object-oriented programming back to the 1960s and examining how its ideas, and later entity component systems, came about. It is followed by a Q&A.The two-hour closing argument, a source-based history back to the 1960s; HN loved the research and still disputes its account of Kay, so it makes a good end to the debate.