Skip to content
0:00 / 0:00

#oopcritique#proceduralprogramming#cleancode

Object-Oriented Programming is Garbage: 3800 SLOC example

Brian Will

100K subscribers • 4 videos on Hallway

YouTube
  • Recommended by 3 people: 2 on Hacker News and 1 on Lobsters.
  • A classic. People kept recommending it from 2016 to 2022.
  • Presented by Brian Will
  • An opinion. It argues one side of a question engineers disagree on.

Intermediate. Assumes working knowledge.

257K views10 years ago3 recommendations

Software designProgramming languagesObject-oriented designSimplicity and complexityRefactoring and legacy code

Brian Will critiques object-oriented programming by rewriting a 3,800-line OOP program into a simpler procedural style.

The uploader added no description.

Why it's here

3 people recommend this

What people say. Engineers recommend this video as a practical, concrete demonstration of how procedural programming can reduce complexity compared to OOP.

jcson Lobsters • Recommends

Object-Oriented Programming is Garbage: 3800 SLOC example Uses a Go project as an example but not really Go-specific.

codemonkey-zetaon Hacker News • Recommends

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. link to this video

lj3on Hacker News • Recommends

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 Examples0 Object-Oriented Programming is Garbage: 3800 SLOC example1 0: link 1: link to this video

hasenjon Hacker News • Mentions

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…

barkingon Hacker News • Mentions

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. link to this video