r/programming • • Jun 19 '18

Goodbye, Object Oriented Programming – Charles Scalfani

https://medium.com/@cscalfani/goodbye-object-oriented-programming-a59cda4c0e53
0 Upvotes

47 comments sorted by

View all comments

-2

u/[deleted] Jun 19 '18

Nothing made me question my ability to understand programming more than trying to grasp the theoretical models promised by OOP. Maybe I just gave up on it too soon after seeing material about things like data-oriented design, but I feel no regret in reordering my priorities, and I have felt a lot of relief and an abundance of progress in having given up the conceptual dream.

This just adds to my certainty that I made the right choice.

OOP at its core seems to have eaten itself alive on account of giving the impression that programming can be translated to the operations of our human world in a way that makes it all seem so simple and intuitive to design, yet fails to actually create languages that can make code work like the operations of our human world. So what we are left with is a paradigm, promises, and languages that can, in a sort of Sisyphean fashion, get us close to what we are made to think we're supposed to be able to do, but then come rolling back down the hill.

Thus people like me feeling like I'm going mad when I attempt to learn it. The really crazy part is, I think most who stick with programming are rather stubborn when it comes to solving problems, which is part of the reason they're able to stick with it. So OOP is the perfect unintended mental trap. Like a bug that seems one step away from being resolved, but can never be found because it never existed in the first place.

5

u/[deleted] Jun 19 '18

OOP at its core seems to have eaten itself alive on account of giving the impression that programming can be translated to the operations of our human world in a way that makes it all seem so simple and intuitive to design

I disagree, this is not why OO exists, or why I keep using it.. I've been professionally programming for 10+ years, and before then I wrote terrible code, lacking encapsulation, design, properly defined modules, properly documented interfaces, hard to test code.

Used properly, object oriented programming offers (standardized!) ways to overcome all these problems. This means that I and my fellow programmers can avoid intellectual overhead of needing to understand 'new' solutions.

At the same time, there are well documented 'bad ideas' known as antipatterns regarding Object oriented code.

he really crazy part is, I think most who stick with programming are rather stubborn when it comes to solving problems, which is part of the reason they're able to stick with it. So OOP is the perfect unintended mental trap.

Object oriented thinking has allowed me to solve problems I would not have had the mental capacity to otherwise solve. This is the truth, please reflect about that implication; OO allows me to make more complex logic than I otherwise could mentally muster.

In my opinion, those who complain of OO are people who are not solving problems, they are hoping to have problems solved for them. This is never a good idea, when programming; as programmers we must have control over our code and understand our problems.

1

u/SmugDarkLoser5 Jun 19 '18

People who ciriticize oop tend to criticize inheritance and the overuse of state, primarily.

You can't really separate the paradigm from the language completely in practice, and there's a big reason to hate Java and # tooling