this post was submitted on 10 Feb 2026
309 points (95.8% liked)

Programmer Humor

29741 readers
1814 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] tiramichu@sh.itjust.works 165 points 4 days ago (40 children)

I'll say this now.

Inheritance is the most misused capability of OOP which programmers think makes their code look smart, but most of the time just makes a giant fucking mess.

[–] mesamunefire@piefed.social 42 points 4 days ago (20 children)

Its the best/worst thing about OOP no matter what language.

We had a rule at work that if you are 3 levels or more down an inheritance tree, then you are too far. The cognitive load is just too much, plus everything stops making sense.

One level can be great (MVC all have great conventions, MCP as well). Two can be pushing it (Strategy pattern when you have physical devices and cant be connected all the time, Certain kinds of business logic that repeat hundreds of times, etc...) But even there you are kinda pushing it.

I need code that I can look at a month from now and know WTF is happening. And sometimes its better to have less DRY and more comprehension. Or maybe im just a forever mediocre dev and dont see the "light". I dunno.

[–] tiramichu@sh.itjust.works 19 points 4 days ago (5 children)

This is exactly how I feel too. A little bit of repetition is totally worth it, versus having inappropriate coupling, or code that jumps in and out of parent/child classes everywhere so you can hardly keep it in your head what's going on.

I freely accept that I AM a mediocre dev, but if that lends me to prefer code that is comprehensible and maintainable then I think being mediocre is doing my team a favour, honestly.

[–] grendel84@tiny.tilde.website 10 points 4 days ago (2 children)

@tiramichu
It's this mentality that shows you aren't mediocre. Simplicity requires more skill, not less.
@mesamunefire

[–] jason@discuss.online 3 points 3 days ago (1 children)

Yup. They made it to the other side of the bell curve meme. Most developers have an OOP phase until they learn that it's utter bullshit.

[–] grendel84@tiny.tilde.website 2 points 3 days ago (1 children)

@jason

I do like being able to easily bundle properties and functions together. I think objects are useful if kept in their simplest form.

Though I think some would argue that not using inheritance and interfaces and such precludes it from really counting as OOP

[–] jason@discuss.online 2 points 2 days ago* (last edited 2 days ago)

I can definitely respect a limited approach. I personally don't find any benefit from it. Anecdotally, I've become much more productive since switching from OOP style C++, to just straight C. I think a lot of that comes from the boilerplate and ceremony required to make it do the thing, but in C, you just do the thing.

I also think even using objects tends to encourage poorer design choices by thinking in terms of individual items (and their lifetimes) which is enforced by the constructor/destructor model. As opposed to thinking in terms of groups of items which leads to simpler and safer code.

[–] mesamunefire@piefed.social 4 points 4 days ago

Thats kind of you to say 😀

load more comments (2 replies)
load more comments (16 replies)
load more comments (35 replies)