HackerTube
HomeLongsLikedHistoryWatch laterCategoriesPlaylistsSettings
Playlists

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. 1
    RailsConf 2014 - All the Little Things by Sandi Metz38:47

    RailsConf 2014 - All the Little Things by Sandi Metz

    190K views • 12 years ago
    Confreaks
    Sandi 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. 2
    "The Clean Code Talks  -- Inheritance, Polymorphism, & Testing"38:25

    "The Clean Code Talks -- Inheritance, Polymorphism, & Testing"

    438K views • 17 years ago
    Google TechTalks
    Misko 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. 3
    Clean Code - Uncle Bob / Lesson 11:48:42

    Clean Code - Uncle Bob / Lesson 1

    2.2M views • 7 years ago
    UnityCoin
    The 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. 4
    Stop Writing Classes27:29

    Stop Writing Classes

    962K views • 14 years ago
    Next Day Video
    Jack 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. 5
    Object-Oriented Programming is Bad44:35

    Object-Oriented Programming is Bad

    2.6M views • 10 years ago
    Brian Will
    Brian 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. 6
    Object-Oriented Programming is Embarrassing: 4 Short Examples28:03

    Object-Oriented Programming is Embarrassing: 4 Short Examples

    2.2M views • 10 years ago
    Brian Will
    Brian 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. 7
    "Clean" Code, Horrible Performance22:41

    "Clean" Code, Horrible Performance

    1.2M views • 3 years ago
    Molly Rocket
    Casey 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. 8
    Functional architecture - The pits of success - Mark Seemann1:00:10

    Functional architecture - The pits of success - Mark Seemann

    152K views • 10 years ago
    NDC Conferences
    Mark 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. 9
    Alan Kay - Programming and Scaling56:39

    Alan Kay - Programming and Scaling

    36K views • 11 years ago
    Colin McDonnell
    An 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. 10
    Joe Armstrong & Alan Kay - Joe Armstrong interviews Alan Kay1:16:55

    Joe Armstrong & Alan Kay - Joe Armstrong interviews Alan Kay

    76K views • 9 years ago
    Erlang Solutions
    Joe 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. 11
    Casey Muratori – The Big OOPs: Anatomy of a Thirty-five-year Mistake – BSC 20252:27:34

    Casey Muratori – The Big OOPs: Anatomy of a Thirty-five-year Mistake – BSC 2025

    926K views • 1 year ago
    Better Software Conference
    Casey 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.