THE CYBERIX NETWORK

The sophisticated man's creative playground

Cybrix is turning into a dictatorship

why does everyone hate OOP? I'm a codelet, only been studying Python for 2 mont…

LOUNGE · Back to threads · Report thread

Anonymous · original post · 2026-07-21 01:49:15

why does everyone hate OOP?

I'm a codelet, only been studying Python for 2 months now, and so far it's been very comfy. For a group project we even made a simple drone show with Python commands.
But everyone always taks about OOP like it's the worst thing in the world.
We're finally learning Classes and it's... not bad?
I don't get the hate. you're just defining an "object", assigning traits and creating it's own unique internal functions.

Report · Quote

Anonymous · reply · 2026-07-21 02:22:07

Just try something else and you'll see it's failings, it's as simple as that. The issue with OOP is that not everything is a nail, but everyone keeps pretending a hammer is all you ever need

Report · Quote

Verification not required. · reply · 2026-07-21 02:23:21

>>25886
use case for hating OOP?

Report · Quote

Anonymous · reply · 2026-07-21 02:24:35

>>25888
contributing to the linux kernel for starters

Report · Quote

Anonymous · reply · 2026-07-21 02:27:43

it's unnecessary abstraction and boilerplate. extra work for no gain. it doesn't improve readability/comprehension either.
you could be doing something actually productive with your time instead of overengineering a problem and writing class, __init__, and self everywhere.
functions are all you need. data should be separate from functions, not bundled.
ask an LLM for the difference between procedural and object-oriented code.

Report · Quote

Anonymous · reply · 2026-07-21 02:28:51

>>25886
>why does everyone hate OOP?
they worked at retarded companies where everyone is a schizophrenic so every Car must be a final Vehicle or else Bobby the staff engineer gets weirder and takes showers less often
OOP is great when it's syntactic sugar over structs, with an occasional convenience of virtual dispatch

Report · Quote

Anonymous · reply · 2026-07-21 02:34:52

>>25889
I don't think you know what you're talking about for one thing and for another I don't think you've ever written a line of kernel source code in your entire worthless fucking existence

Report · Quote

Anonymous · reply · 2026-07-21 02:45:53

>>25890
This is all true especially for python, and also for a lot of java devs who never learned anything else.
But it's worth noting that in older, lower-level languages like C, you didn't have all the convenient built-in rich types like lists and dictionaries and and you couldn't just write like you had infinite CPU and memory all the time as often happens in python. The evolution of Object Oriented Programming makes much more sense if you learn about it from that perspective. Learn how to implement classes and objects in raw C and you should get a better appreciation for what the style is actually good for (this guy gets it: >>25891).

Report · Quote

Anonymous · reply · 2026-07-21 02:51:48

>>25886
you can completely ignore anyone who blindly hates on OOP.
if someone can't offer nuanced view on one of the most widely used programming paradigms you know you're dealing with an edgy neckbeard.

Report · Quote

Anonymous · reply · 2026-07-21 02:54:43

>>25886
Using classes everywhere, which C# and Java actually require, adds a lot of "boilerplate" to the code.

Python is flexible, you can write in an OOP style or functional style or however you want.

Classes are never really necessary, it's more of a design choice. People who think classes should always be used because they believe in OOP dogma end up writing unnecessarily complex code. Classes and class inheritance can actually "box you in" if not used properly (meaning you hve to do a lot of refactoring to make certain changes). But classes have uses and there's nothing wrong with using them judiciously. If you find yourself passing the same group of parameters to different functions, your code would probably be better if you created a class, made the repeated parameters into class members and made the functions receiving the repeated parameters into methods of the class. Also, textbooks explain classes in retarded ways, like making the "circle" class a derived class of the "shape" class and so on, which sets people up for using inheritance wrong. You should actually avoid inheritance most of the time and use composition instead.

Report · Quote

Anonymous · reply · 2026-07-21 03:15:34

>>25892
look
emulating methods with function pointers doesnt count

Report · Quote

Anonymous · reply · 2026-07-21 03:20:20

>>25894
It's widely used because of marketing.

Report · Quote

Anonymous · reply · 2026-07-21 03:21:22

>>25886
>everyone hates OOP
>99% of software is built using OOP
doesn't add up. you got psyopped

Report · Quote

Anonymous · reply · 2026-07-21 03:22:39

>>25896
use case for methods?

Report · Quote

Anonymous · reply · 2026-07-21 03:29:58

>>25886
OOP isn't just classes, and Python doesn't have/need what people hate about "OOP"

Report · Quote

Anonymous · reply · 2026-07-21 03:34:17

>>25886
it can get needlessly complex in the hands of first timers. Its obviously very useful if you write a program with a deck of cards; we all understand the hierarchy of deck, card, suite, color, etc. However, it can become a mess when you don't understand how to best abstract your classes.
Using vidya, many students probably wouldn't understand how a fire spell would fall under magic or an uppercut under physical damage. Or if they do, it would devolve into an autismo storm over "hurr what if you cause a fire DOT on top of the physical..." whatever.
tl;dr most people suck at using classes unless its applied on something that's already easily understood.

Report · Quote

Anonymous · reply · 2026-07-21 05:10:53

>>25890
>clases, __init__, and self
>python oop
maybe try using an actual programming language? and no javascript is not a good option either

Report · Quote

Anonymous · reply · 2026-07-21 05:18:33

>>25895
>You should actually avoid inheritance most of the time and use composition instead.
Why? I actually like Inheritance more and most of the time it makes more sense to me and works better, this is one of those things I've never been able to understand. Apparently in Java this is strongly encouraged with interfaces and everyone uses them to the point of having an Abstract Class becomes an "antipattern", but everytime I ask why that's better than building things around inheritance they always say "the architecture is like that" or "it's built better like that", so why anon? I don't get it

Report · Quote

Anonymous · reply · 2026-07-21 05:26:59

>>25886
it owns them

Report · Quote

Anonymous · reply · 2026-07-21 05:35:44

>>OOP is good because java has libraries
kek

Report · Quote

Anonymous · reply · 2026-07-21 05:47:36

>>25886
There are places for OOP. Look at things like composition vs inheritance. Casey Muratori has a great talk on the shortcomings of OOP.

The easiest way to explain it is that sometimes all you really need are functions. Everything does not need to be a class nor does everything need to be an object.

Keep programming and learn the fundamentals with Python. Get a hang of the basics then try to master things like context managers, list comprehensions, lambdas, and decorators. From there broaden your horizons a bit. See how things are done in common lisp, haskell, or Scala.

Programming can be intellectually rewarding. Scala, in particular, is very powerful. You can learn a great deal about type theory just from that one language. Scala runs natively, transpiled to JS (Scala to JS), and on the JVM. I highly recommend it AFTER you see what Python has to offer.

Report · Quote

Anonymous · reply · 2026-07-21 05:50:04

>>25896
>emulating methods with function pointers doesnt count
But that's how methods are implemented under the hood?

Report · Quote

Anonymous · reply · 2026-07-21 06:33:30

>>25886
The problem will come when you start making changes to existing classes, Pranjesh.

Report · Quote

Anonymous · reply · 2026-07-21 06:40:31

>>25886
I used to be dogmatic in my hate for OOP, because I projected my personal dislike of a person onto the software programming paradigm itself. It was very immature of me. That being said, I see a lot of OOP, and I can see why a lot of people would like the paradigm. It's like a tree, and there are branches that descend from the tree.

Eventually, if you had defined enough methods, you would basically no longer be writing in the programming language anymore. Most of what you are doing would be working with a fuzzy selector in an IDE or vim/nano/emacs, you'd be basically speaking your own "language", which each developer generally ends up inventing as they go along. Some people really hate how other people write code. Like it makes them violently angry and it's weird.

Report · Quote

Anonymous · reply · 2026-07-21 06:44:05

post ai era code don't be matter anymore, it's like caring about taste of how compiled binary looks.

Report · Quote

Anonymous · reply · 2026-07-21 06:55:03

if caveman crug want make one operation on data, crug make function that unga one bunga

if caveman crug want make many operation on data and persist it like thing, crug make class that have many function that unga different bunga

sometimes caveman crug must bash rock, just need to unga bunga. sometimes caveman crug need to make fire and unga many different bunga.

caveman oog look at too many wall scratching by other caveman who sometime do not unga bunga. oog get confused, slam arms on ground and yell about paradigm. caveman crug just unga bunga.

Report · Quote

Anonymous · reply · 2026-07-21 10:04:50

>>25890
Classes are for encapsulating related logic and data though.

Imagine writing a GUI App without classes.... I guess you can but you'd had related data accessable in the global scope

Report · Quote

Anonymous · reply · 2026-07-21 12:50:24

>>25903
>I actually like Inheritance
Ask an ai chatbot for the top five problems with OOP inheritance, it will be enlightening to you.

But, obviously, if you add something to a base class now every derived class has that. It might seem easy to work with in the beginning but it can easily create a disaster.

Report · Quote

Anonymous · reply · 2026-07-21 12:54:06

>>25912
>Imagine writing a GUI App without classes
Take a look at Tcl/Tk.

>you'd had related data accessable in the global scope
You don't need classes for encapsulation. Everything classes do, you can do without classes. They are more about how you structure the code.

Report · Quote

Anonymous · reply · 2026-07-21 13:04:58

>>25898
That often means you are missing critical details. Both can be true. Happens all the time and tedious midwit shitposters never learn.

Report · Quote

Anonymous · reply · 2026-07-21 13:38:43

>>25900
>Python doesn't have/need what people hate about "OOP"
Sort of true, but fact is that OOP-minded programmers, especially novice ones, often implement bad designs in Python because they come from a Java background and instinctively reach for class definitions as the default code organization. So instead of, for example, reading input data into a generic dictionary and using generic functions to process the data, they wrap everything in a class first and bolt on the methods (whether or not there are important security reasons for using such an approach).

I've seen numerous variants of this pattern from python devs.

Report · Quote

Anonymous · reply · 2026-07-21 13:41:42

>>25886
OOP is when you make a bunch of files that do nothing instead of adding a comment line

Report · Quote

Anonymous · reply · 2026-07-21 13:44:59

>>25906
this only really clicked for me once I wanted to refactor a piece of code I haven't looked at in a while and first had to hunt down all the code that might run during a call and check whether it mutates the object.
It might be that pain is necessary to learn this lesson, but I think the elegance of composition should be self-evident if you give it a fair shot

Report · Quote

Anonymous · reply · 2026-07-21 14:13:21

>>25886
>why does everyone hate OOP?
because in most cases it's taught wrong, and because people don't want to accept the possibility of being taught something wrong, they instead draw conclusions that the whole paradigm is just bad, for reasons more convoluted than the problems they have with OOP

Report · Quote

Anonymous · reply · 2026-07-21 14:48:03

something something getting banana requires spawning a gorilla complete with a jungle

Report · Quote

Anonymous · reply · 2026-07-21 15:23:58

>>25919
It is "taught wrong" because there is no OOP.
The most common interpretation of OOP is that you should wrap everything in a class, as C++ (wrongly) understands it - a combo of a struct and a vtable for its associated methods.

But even the very first users of C++ didn't do that. What attracted them to C++ over C were better facilities for generic programming and operator overloading - which enables better, easier to use abstractions and code reuse.

OOP is a red herring - no one really ever gave a shit about it, except for academics and consultants - as their job is about speaking and not doing actual work and OOP gives them this nice sounding framework to talk about programming.
And since they're the vocal ones of the programming community - they shaped the discourse.

Report · Quote

Anonymous · reply · 2026-07-21 16:00:09

>>25886
i'm a c# dev and the truth is nobody even writes proper OOP applications anymore (except for DDD cultists I guess). the dream of modeling your domain using objects and having a rich network of black boxes communicating with each other is not a thing anymore, if it even really ever was. modern web applications are highly procedural in their overall design and tend to explicitly separate data and behavior within the domain model (much to the chagrin of martin fowler).

the end result is it feels like you're largely dealing with OOP as a side effect of the language's design rather than as a meaningful design paradigm within your own application, and the whole thing just ends up feeling grossly overengineered/overabstracted and harder to reason about as a result

Report · Quote

Anonymous · reply · 2026-07-21 16:02:04

>>25886
>why does everyone hate OOP?

oop literally took over everything, lel. what a statement. only a neet would say that.

Report · Quote

Anonymous · reply · 2026-07-21 16:20:02

OOP solves one problem and one problem only: segregating your program state into smaller pieces that can be reasoned about in isolation and whose type invariants are easier to combine to form program invariants.

OOP does not solve the problem of when to stop subdividing so you don't end up with shit interfaces that get in the way of refactoring or optimizing. OOP does not solve the problem of giving your objects an easy-to-use interface for your business-logic scripts. OOP does not solve the problem of making code more legible. OOP does not solve the problems data-oriented design solves. OOP does not solve the problem of making your code easier to debug. OOP does not solve the problem of which bits of program state should be statically allocated, thread-allocated or dynamically allocated.

The OOP books, classes and confs I followed usually come with laughably bad ideas to solve the aforementioned problems. And some common features of languages designed around OOP such as garbage collectors make it impossible to correctly solve them without highly unidiomatic constructs or FFIs.

Also, OOP isn't "using classes." It's a whole paradigm using them in specific ways.

Report · Quote

Anonymous · reply · 2026-07-21 16:34:49

>>25886
https://steve-yegge.blogspot.com/2006/03/execution-in-kingdom-of-nouns.html

Report · Quote

Anonymous · reply · 2026-07-21 16:38:12

>>25925
I just checked out his social media and holy shit, he looks like he hasn't slept in weeks and his posts suggest a rather severe case of AI psychosis.

Report · Quote

Anonymous · reply · 2026-07-21 16:42:43

>>25926
maybe it's Maybelline
maybe it's methamphetamine

Report · Quote

Anonymous · reply · 2026-07-21 16:42:59

>>25886
No experienced professional coders hate OOP, it's normally these people who shill C and the C language book. They are the same kind of people who run archlinux on a lenovo.

The reality is they've never had to produce, maintain and add features to an actually useful, commercial application that makes money.

Report · Quote

Anonymous · reply · 2026-07-21 16:44:07

>>25921
you sound like a retard

Report · Quote

Anonymous · reply · 2026-07-21 16:53:26

>>25896
"emulating"? that's what methods ARE

Report · Quote

Anonymous · reply · 2026-07-21 16:56:34

I find there are easier ways to scope the problem that don't require you to put all the data in one object and it prevents things like unintended access / scope pollution between methods.
Regular functions and closures always end up being simpler to write and execute in my experience. I end up not needing to typedef nearly as much since I just pass scope around via parameters instead of methods with a self/this pointer. (so the same thing but static dispatch)

Report · Quote

Anonymous · reply · 2026-07-21 16:58:25

>>25929
he is

Report · Quote

Anonymous · reply · 2026-07-21 17:05:24

>>25887
>. The issue with OOP is that not everything is a nail, but everyone keeps pretending a hammer is all you ever need
This is a shit take honestly. objects are a computation abstraction just like functions
Some language builds computation on top of objects and everything can be an object

>>25890
> it's unnecessary abstraction and boilerplate
> nstead of overengineering a problem and writing class, __init__, and self everywhere.
In python (or in any class-based dynamic OO languages) classes are no more than documentation. Python specifically is pretty flexible to avoid any over-engineering traps you may fall in other class-based languages like C++ and Java

>>25895
>. People who think classes should always be used because they believe in OOP dogma end up writing unnecessarily complex code
Class-instance OO is not the only possible OOP implementation

Report · Quote

the-runtime-guy · reply · 2026-07-21 17:14:28

OOP being bad - is a haptic thought, meaning its not a thorough thought that basically comes from low-level programming (compiled code)

Report · Quote

Anonymous · reply · 2026-07-21 17:15:47

>>25886
It pays the bills unlike most hobbyist crap. Have you never seen a lot of salt directed .NET developers for example?

Report · Quote

Page 1 of 6 Older posts ›

Reply to this thread

Posting requires a durable account or a TripPass. Reading remains available.

Sign in or create or attach a TripPass to post. Browsing is open.