Object-Oriented Programming is Garbage: 3800 SLOC example

Brian Will · 257K views · 2016 · 52:48

Open on YouTube

Software architecture & designSoftware practice, open source & careerslecture

Why Hacker News recommends it

HN recommends it as a concrete, worked example of the case against heavy OOP rather than abstract argument.

What it is

Brian Will critiques object-oriented programming and rewrites a roughly 3800-line OO program in a procedural style, cutting code and complexity. It is part of a series of OOP critiques.

Recommended by 2 HN commenters across 2 different months, 2016 to 2022.

What Hacker News said

Strong rec codemonkey-zeta · 2022-06 · on “Goodbye, shitty Car extends Vehicle object-orientation tutorial (2011)”

For anyone unfamiliar, I recommend the whole series, but it also culminates in the presenter rewriting an entire nontrivial OOP program into a procedural one and saving whopping amounts of code/complexity. The big example helps to show this isn't just abstract rambling against OOP. [this video]

Recommends lj3 · 2016-12 · on “Talks that changed the way I think about programming”

There are three talks, actually. Here are the other two. Object-Oriented Programming is Embarrassing: 4 Short Examples[0] Object-Oriented Programming is Garbage: 3800 SLOC example[1] [0]: [LINK] [1]: [this video]

Cites hasenj · 2017-04 · on “The Clean Architecture (2012)”

This kind of thinking bothers me, but I'm not sure how to put my finger on what exactly it is that bothers me, or how to put it into words. The thing with these abstract architecture principles is they are not always practical if you try to be puristic about enforcing them. I get where these ideals come from. I've seen novice programmers take a stab at writing mildly complicated apps, and the code is a nightmare to read because everything is jumbled up together. This is bad and we can all agree on that. But I've also seen projects where everything is split into a tiny little function or object that don't seem to be doing anything meaningful. Presumably these projects are following the princi

Cites barking · 2017-06 · on “How to name things: the hardest problem in programming (2014)”

Brian Will, the guy behind the 'why OOP is bad' youtube video brings this into his argument. In a follow up video to that video he rewrites an OO program in procedural style. In doing so he reduced the number of methods/functions from 321 to 113, 54 of which were contained inside other functions as they were only accessed by the containing function. The total number of lines of code remained about the same. That's over 200 fewer meaningful names to try to come up with in a short program. Plus the fact that functions that do bigger tasks are easier to name in the first place, imo. [this video]