[log in]

« all threads

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

[lounge] Anonymous @ 2026-07-21 01:49:15 [#10519] [294 replies]

[report]

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.
Anonymous · 2026-07-21 02:22 [#10525] [report]
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
Verification not required. · 2026-07-21 02:23 [#10526] [report]
>>25886
use case for hating OOP?
Anonymous · 2026-07-21 02:24 [#10527] [report]
>>25888
contributing to the linux kernel for starters
Anonymous · 2026-07-21 02:27 [#10529] [report]
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.
Anonymous · 2026-07-21 02:28 [#10530] [report]
>>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
Anonymous · 2026-07-21 02:34 [#10531] [report]
>>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
Anonymous · 2026-07-21 02:45 [#10533] [report]
>>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).
Anonymous · 2026-07-21 02:51 [#10534] [report]
>>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.
Anonymous · 2026-07-21 02:54 [#10535] [report]
>>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.
Anonymous · 2026-07-21 03:15 [#10536] [report]
>>25892
look
emulating methods with function pointers doesnt count
Anonymous · 2026-07-21 03:20 [#10537] [report]
>>25894
It's widely used because of marketing.
Anonymous · 2026-07-21 03:21 [#10538] [report]
>>25886
>everyone hates OOP
>99% of software is built using OOP
doesn't add up. you got psyopped
Anonymous · 2026-07-21 03:22 [#10539] [report]
>>25896
use case for methods?
Anonymous · 2026-07-21 03:29 [#10540] [report]
>>25886
OOP isn't just classes, and Python doesn't have/need what people hate about "OOP"
Anonymous · 2026-07-21 03:34 [#10541] [report]
>>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.
Anonymous · 2026-07-21 05:10 [#10545] [report]
>>25890
>clases, __init__, and self
>python oop
maybe try using an actual programming language? and no javascript is not a good option either
Anonymous · 2026-07-21 05:18 [#10546] [report]
>>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
Anonymous · 2026-07-21 05:26 [#10548] [report]
>>25886
it owns them
Anonymous · 2026-07-21 05:35 [#10549] [report]
>>OOP is good because java has libraries
kek
Anonymous · 2026-07-21 05:47 [#10551] [report]
>>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.
Anonymous · 2026-07-21 05:50 [#10552] [report]
>>25896
>emulating methods with function pointers doesnt count
But that's how methods are implemented under the hood?
Anonymous · 2026-07-21 06:33 [#10556] [report]
>>25886
The problem will come when you start making changes to existing classes, Pranjesh.
Anonymous · 2026-07-21 06:40 [#10558] [report]
>>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.
Anonymous · 2026-07-21 06:44 [#10559] [report]
post ai era code don't be matter anymore, it's like caring about taste of how compiled binary looks.
Anonymous · 2026-07-21 06:55 [#10561] [report]
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.
Anonymous · 2026-07-21 10:04 [#10632] [report]
>>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
Anonymous · 2026-07-21 12:50 [#10670] [report]
>>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.
Anonymous · 2026-07-21 12:54 [#10672] [report]
>>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.
Anonymous · 2026-07-21 13:04 [#10683] [report]
>>25898
That often means you are missing critical details. Both can be true. Happens all the time and tedious midwit shitposters never learn.
Anonymous · 2026-07-21 13:38 [#10692] [report]
>>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.
Anonymous · 2026-07-21 13:41 [#10693] [report]
>>25886
OOP is when you make a bunch of files that do nothing instead of adding a comment line
Anonymous · 2026-07-21 13:44 [#10694] [report]
>>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
Anonymous · 2026-07-21 14:13 [#10708] [report]
>>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
Anonymous · 2026-07-21 14:48 [#10717] [report]
something something getting banana requires spawning a gorilla complete with a jungle
Anonymous · 2026-07-21 15:23 [#10723] [report]
>>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.
Anonymous · 2026-07-21 16:00 [#10727] [report]
>>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
Anonymous · 2026-07-21 16:02 [#10728] [report]
>>25886
>why does everyone hate OOP?

oop literally took over everything, lel. what a statement. only a neet would say that.
Anonymous · 2026-07-21 16:20 [#10731] [report]
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.
Anonymous · 2026-07-21 16:34 [#10735] [report]
>>25886
https://steve-yegge.blogspot.com/2006/03/execution-in-kingdom-of-nouns.html
Anonymous · 2026-07-21 16:38 [#10736] [report]
>>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.
Anonymous · 2026-07-21 16:42 [#10737] [report]
>>25926
maybe it's Maybelline
maybe it's methamphetamine
Anonymous · 2026-07-21 16:42 [#10738] [report]
>>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.
Anonymous · 2026-07-21 16:44 [#10739] [report]
>>25921
you sound like a retard
Anonymous · 2026-07-21 16:53 [#10742] [report]
>>25896
"emulating"? that's what methods ARE
Anonymous · 2026-07-21 16:56 [#10745] [report]
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)
Anonymous · 2026-07-21 16:58 [#10746] [report]
>>25929
he is
Anonymous · 2026-07-21 17:05 [#10747] [report]
>>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
the-runtime-guy · 2026-07-21 17:14 [#10750] [report]
OOP being bad - is a haptic thought, meaning its not a thorough thought that basically comes from low-level programming (compiled code)
Anonymous · 2026-07-21 17:15 [#10751] [report]
>>25886
It pays the bills unlike most hobbyist crap. Have you never seen a lot of salt directed .NET developers for example?
Anonymous · 2026-07-21 17:21 [#10756] [report]
>>25907
maybe anon meant explicit inheritance and polymorphism and all that OOP jazz? hell if I know
Anonymous · 2026-07-21 17:23 [#10758] [report]
>>25886
Only brainlets hate it. The only "issue" are people who try to force it on everything, where other paradigms would be better.
Every good programmer is multi paradigm.
Anonymous · 2026-07-21 17:33 [#10763] [report]
>>25935
No real code base uses OOP.
Everyone does procedural (now with a bit of functional) programming, except hastily and loosely wrapped in "objects", because most popular languages were created during the peak of OOP hype.
It's a historical artifact, nothing else, as computing is not immune to marketing, religion and ideology.
Anonymous · 2026-07-21 17:37 [#10764] [report]
>>25886
I'm wouldn't call myself a good coder but I started to hate Java the more I work with it. Might be the projects I worked with but every single codebase was so utterly overdesigned with patterns and everything that following simply a method call would go through multiple classes with the function name and parameters always being the same just for two or three statements to be found at the end of the rabbit hole. It gets even worse if you want to debug and suddenly have wrappers and shit everywhere.
Anonymous · 2026-07-21 17:37 [#10765] [report]
>>25938
you're definitely unemployed
Anonymous · 2026-07-21 17:44 [#10767] [report]
>>25924
>OOP does not solve the problems data-oriented design solves.
OOP can perfectly emulate data-oriented design by separating traits objects from instance representation objects. Actually a ho lot class based OOP warts are workaround for strong coupling of those two and static typing
Anonymous · 2026-07-21 17:46 [#10768] [report]
>>25924
>It's a whole paradigm using them in specific ways.
No, it's not.
All those rules are what no-coder consultants came up with long after the fact to sell books.

When you look into what Alan Key - who coined the term - said, by objects he pretty much meant separate processes communicating with each other through messages.
Not saying he was right - it's a useful concept, but I wouldn't say it fits all applications, neither it really needs a name for it (and better one would be "Worker Oriented Programming").
But it definitely has nothing in common with the actual "OOP" languages and he said so himself.
Anonymous · 2026-07-21 17:47 [#10769] [report]
>>25940
Just because you write "class" a lot doesn't mean you use OOP.
Anonymous · 2026-07-21 17:48 [#10771] [report]
>>25942
*Kay
the-runtime-guy · 2026-07-21 17:53 [#10773] [report]
i would actaully want to evolve this thought >>25934 into something rigid, but information ive seen so far is either false, like here >>25924
>problem only: segregating your program state

nope, first OOP is about INTEGRATING data/state with code (function=>method), isolation comes as a bonus.

OR unrelated, like

>>25890
>overengineering
>>25890
>unnecessary abstraction

and other casy muratory red T-shirt babble

>>25893
>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).

that guy is a retard. if you implement something it is not sugar, sugar is a macrolang or an abstraction that utilizes known mechanics (aiming to improve its look, make it "sweet", thus "sugar") without introducing new, but OOP/object is a unique tech.

>>25895
>Classes and class inheritance

a peanut rustle - a little difference from prototype object model pioneered in JS. runtime must infer scheme from objects it encounters building these "classes" under the hat. there is also a "hidden class" term in JS, so classes or typedefs or structs are fine, other babble is unrelated.

--
im hodling to a bit more advanced thought - OOP is unnecessary and fragile at low-level, so it should be used only at higher levels by runtime brahmin
Anonymous · 2026-07-21 17:56 [#10774] [report]
>>25943
if you do serious dev work for businesses but don't use encapsulation and abstract types you'll be out of a job once someone else has to take over whatever you're working on
go get a job and find out
Anonymous · 2026-07-21 17:58 [#10775] [report]
>>25946
>encapsulation and abstract types
Not OOP, it's just structured programming.
Anonymous · 2026-07-21 17:59 [#10776] [report]
>>25947
>jobless AND retarded
nice
Anonymous · 2026-07-21 18:00 [#10777] [report]
>>25948
Not an argument, jeet.
Anonymous · 2026-07-21 18:00 [#10778] [report]
>>25886
watch this OP
https://www.youtube.com/watch?v=wo84LFzx5nI
Anonymous · 2026-07-21 18:02 [#10779] [report]
>>25945
>little difference from prototype object model pioneered in JS.
That's completely false. Self pioneered pure prototype based OOP, js was inspired by Self

Especially on the vm technology, it introduced a fuckton of techniques that made its runtime performance comparable to optimized C++

Self virtual machine technology is one of the foundations of modern high-performance dynamic language runtimes (java, V8,...)

But aside from that, the more I read about prototype based OOP, the more I'm convinced it's superior to class based and that should have been the standard OOP implementation
Anonymous · 2026-07-21 18:04 [#10781] [report]
>want to do thing
>declare data needed to do thing
>do thing
you need to stop here
>oop
Anonymous · 2026-07-21 18:11 [#10782] [report]
>>25949
at least curry niggers gain employment
now go fill out a job application
Anonymous · 2026-07-21 18:14 [#10783] [report]
>>25886
When you take a course on OOP the first thing you'll be introduced with will be some variation of interface Animal implemented by Dog that does print("woof") and Cat that does print("meow") and this one simple trick glitches 99% of people. It seems nobody can let go of this idea that they have to categorize every real world concept into some neat taxonomy tree and their code then will be bug free and optimal. Turns out this is retarded for real work. For example in games you might be temped to have common root for a player, box, light, because after all they're all "objects" and have positions in space. Except now when you try to apply what you were taught shit breaks down. Things cannot move on their own, they have to be updated externally by physics, they cannot draw themselves because graphics APIs have moved on from that in the past 30 years. Of course, computers are sufficiently fast that you can just force things. What nobody told you is that class instance object is categorically different from physical objects. An example of useful abstraction would be CharacterMover interface which is implemented by MainPlayer, NPC, NetworkPlayer classes.
Anonymous · 2026-07-21 18:22 [#10785] [report]
>>25886
>You're just defining an "object", assigning traits and creating it's own unique internal functions.


Are you actually just defining an "object"? Or are you defining 2 objects, in which case you also need 2 more definitions: how one maps / interacts with the other, and vice versa. Or are you defining 3 objects, in which case you need 6 more definitions: how one interacts with two others, x3. Or are you defining 4 objects, in which case you need 12 more definitions...


You see how retarded it gets as you start to encapsulate everything in custom objects. As opposed to functional programming where, if you're doing it correctly, you only ever have 1 state object.
Anonymous · 2026-07-21 18:32 [#10787] [report]
>>25955
You are defining 2 objects where the one delegates to the other in cases when it can't answer to a message. Just like you pass a function in another function

Arguinig like OOP is in contraposition of functional paradigm is a braindead retarded statement
Anonymous · 2026-07-21 18:34 [#10788] [report]
>>25886
low entery barrier and you can do stupid retarded shit with it. and there are a plenty of jeets and illiterates out there.
Anonymous · 2026-07-21 18:35 [#10789] [report]
>>25886
I wouldn't make a minecraft mod in a single giant Main class lol
Anonymous · 2026-07-21 18:40 [#10790] [report]
>>25945
>if you implement something it is not sugar, sugar is a macrolang or an abstraction that utilizes known mechanics (aiming to improve its look, make it "sweet", thus "sugar") without introducing new, but OOP/object is a unique tech
it's a sugar over tagged void*, hand-written vtables and storing function pointers
the only "new" tech is that compiler is aware of these idioms and can optimize them out
Anonymous · 2026-07-21 18:41 [#10791] [report]
>>25888
I'm an American, I don't need a use case to carry a gun.
Anonymous · 2026-07-21 18:44 [#10792] [report]
>>25954
Not their fault.
Classes as understood by C++ and derived "OOP" languages are wrong.

What they call "interface" is what actually* a class is - a class of different types sharing an interface, instead of just a single type that C++ (and derived) classes are.
Of course he quickly realized (but not understood, since Bjarne is just a dumb engineer, not a proper computer scientist) his mistake and tried to implement the correct behavior through inheritance and method overloading which obviously made things much much worse...

Proper classes are an open schema - where you model more and more things as you want/need them and add them to existing code without any issue.
Wrong C++ classes are a closed model - which encourages modeling everything in advance, because if you forget something you will be in a world of pain when you'll have to add it in the future.

*more closely
Anonymous · 2026-07-21 18:44 [#10793] [report]
PDS: invoking "you must not have a job" in place of an argument is an automatic L on /g/.
Anonymous · 2026-07-21 18:47 [#10794] [report]
>>25956
>You are defining 2 objects where the one delegates to the other in cases when it can't answer to a message
I covered that situation are you retarded? Every new object defined is a new node on a graph. For the new node definition to be relevant to the program state, there needs to be at least one delegate written to create a connection to another node.

*IF* you're only defining one or two objects, that's fine. But in practice, "enterprise" OOP code ends up looking like 50+ different nodes, connected by a clusterfuck of delegates that connect in every which direction. And then you need to add a new feature, so you add a new object definition. But then you're writing 15 other delegate functions to connect it to all the other objects that it's relevant to. And then you need to modify an existing object definition, so you're also reworking 12 other delegates for that object, and another 30 downstream from them.
Anonymous · 2026-07-21 18:50 [#10796] [report]
>>25886
from the surface it seems like a neat idea but once you delve deeper you will notice that it's such a flawed way to model a program.
Anonymous · 2026-07-21 18:51 [#10797] [report]
>>25962
>No real code base uses OOP.
>Everyone does procedural (now with a bit of functional) programming
sounds like an unemployed to me
Anonymous · 2026-07-21 18:51 [#10798] [report]
>>25964
oh and btw associating methods to data is not OOP
Anonymous · 2026-07-21 18:53 [#10800] [report]
>>25961
>C++ classes are a closed model
what
Anonymous · 2026-07-21 18:54 [#10801] [report]
>>25886
Because once you work with Rust, Go and similar modern languages, you realize that you need is Structs and Traits (Interfaces). Inheritance and similar things that are in OOP but not in Rust are a fucking meme.
Anonymous · 2026-07-21 18:55 [#10802] [report]
>>25886
OOP is great if used properly. The problem is that some retards overuse it and that adds unnecessary abstractions and obfuscations that make the code hard to interpret, edit, and debug.
Anonymous · 2026-07-21 18:55 [#10803] [report]
>>25968
pretty much
Anonymous · 2026-07-21 18:56 [#10804] [report]
>>25969
>real OOP has never been tried
Anonymous · 2026-07-21 18:57 [#10807] [report]
>>25967
Interfaces are additive.
Classes are not (unless you count extremely flawed multiple inheritance in C++, which derived languages - rightfully - not implemented).
Anonymous · 2026-07-21 18:59 [#10808] [report]
>>25938
>computing is not immune to marketing, religion and ideology
Exhibit A: Rust
Anonymous · 2026-07-21 19:00 [#10810] [report]
>>25966
Yeah it is, no true ooper
Anonymous · 2026-07-21 19:03 [#10811] [report]
>>25973
Trannies live in your head rent free.
Anonymous · 2026-07-21 19:08 [#10812] [report]
>>25972
there is nothing flawed about multiple inheritance in C++ when it comes to inheriting interfaces without member variables
there are also C++20 concepts if you like traits
the-runtime-guy · 2026-07-21 19:09 [#10813] [report]
>>25951
okay maybe maybe, but people know nothing about Self (if it was so great, wheres its runtime?)

>it's superior to class
superior is when 50% or more, overhelmengly, these are peanut rustle (nobody hears the tragedy) 1% or less - is my point. prototype is better, but not much better.

>>25959
>sugar over tagged void*, hand-written vtables and storing function pointers

its not sugar because nobody does OOP in a language that doesnt have objects, your vtable-mumble-jumble is retarded and alien - no thanks. i did trampolines in C btw, to bind function to data.

https://share.gemini.google/6bsHhhuk7d42

everything is sugar because everything decomposes to 1 and 0.
Anonymous · 2026-07-21 19:10 [#10814] [report]
>>25888
usecase for not hating OOP
Anonymous · 2026-07-21 19:11 [#10815] [report]
>>25891
This
Anonymous · 2026-07-21 19:12 [#10816] [report]
>>25974
I guess all languages are OO then
Anonymous · 2026-07-21 19:16 [#10817] [report]
>>25975
Whatever the merits of Rust, you can't reasonably deny there was also a cultish mania surrounding its proliferation. Internet discussions everywhere were flooded by non-thinking shills chanting buzzwords like "memory safety" and spamming bug statistics from 10 years ago. They'd come armed with with an assload of fallacious retorts to deploy against even the mildest and most reasonable skeptics.

Rust was easily the most intensely shilled programming language since "write once run anywhere" Java.
Anonymous · 2026-07-21 19:17 [#10818] [report]
>>25980
Not true at all. Though if you want to play semantic word games by vaguifying the term "associated" you ought to question your life choices.
Anonymous · 2026-07-21 19:20 [#10819] [report]
>>25982
vec_add(v1, v2)
is the same as
v1.add(v2)
it's just syntactic difference
Anonymous · 2026-07-21 19:21 [#10820] [report]
>>25976
>inheriting interfaces
Yes, because they're interfaces* - actual classes of types.
Instead of this shitty very-specific concept of struct+vtable C++ introduced and called "class" (and languages like Java and C# adopted) and "OOP" proponents encouraged people to use for everything.
In the beginning at least, thankfully they came to their senses in the (relatively) recent times and stopped spouting this bs.

*and "inheriting" actually means "implementing" here, you're not inheriting anything
Anonymous · 2026-07-21 19:22 [#10821] [report]
>>25977
>if it was so great, wheres its runtime?)
Inside every "fast" modern VM that uses technologies created/modernized on VM by Selfie

> Adaptive optimization
> Inline caching
> Polymorphic inline caches (PICs)
> Type feedback
> Speculative optimization
> Dynamic deoptimization
> Object maps / hidden classes / shapes
> Fast property access
> Generational garbage collection techniques
> Escape analysis
> Runtime profiling for optimization
> On-stack replacement (OSR) for optimized code execution
> Adaptive recompilation


>is my point. prototype is better, but not much better.

Your point is not really intelligible. Maybe try to rephrase it
Anonymous · 2026-07-21 19:23 [#10822] [report]
>>25981
>"memory safety" and spamming bug statistics from 10 years ago.
It's more relevant than ever now that AI is finding vulnerabilities en masse.
Anonymous · 2026-07-21 19:28 [#10823] [report]
>>25986
it's less relevant than ever now that AI is finding (and fixing) all the vulnerabilities
Anonymous · 2026-07-21 19:34 [#10825] [report]
>>25987
>AI
>fixing
>it was real in my head
Maybe in the future.
Of course assuming AI models will stay open and they'll keep disclosing their findings.
Anonymous · 2026-07-21 19:38 [#10826] [report]
>>25988
the-runtime-guy · 2026-07-21 20:03 [#10831] [report]
>>25985
>try to rephrase it

okay - a nothingburger, hehe. doesnt matter, objects are objects, i have no time for bikeshedding babble

>Inside every "fast" modern VM that uses technologies created/modernized on VM by Selfie

those arent technologies, those are some marketing word salad. "hidden classes" are only JS related and were described by runtime developer AFAIK.

real technology sounds like:

> string interning
> constant folding
Anonymous · 2026-07-21 20:26 [#10840] [report]
>>25888
You are a heckin' valid rustdev
Anonymous · 2026-07-21 20:35 [#10842] [report]
>>25942
>separate processes communicating with each other through messages
Yes, that's OOP, and that's much more than "using classes."
Anonymous · 2026-07-21 20:43 [#10846] [report]
>>25886
OOP is ok when it’s within a super on-rails language/framework. where basically you’re filling in prebuilt/builtins with your app logic. randomly using OOP/classes in eg: a Node api is psychopath behavior
Anonymous · 2026-07-21 20:43 [#10847] [report]
scala is fun because it removes most of the boiler plating of oop and has some functional stuff like currying and tail recursion. most of the time you are using the `case class` which creates something that behaves like a haskell adt.
Anonymous · 2026-07-21 20:43 [#10849] [report]
>>25983
Until you realize that the "v1" object class doesn't just encapsulate the data { x, y, z }, it also represents a local displacement on a scenegraph represented as {parentNode, x, y, z }, which is being matrix transformed by parent rotation / scale nodes, and you didn't realize the ".add" method represents addition in local space not world space, so now your .add {0, 0, 10} just caused your character to explode off the map instead of making him jump up 10 units and you have no idea why.

Meanwhile your vec_add function you look at the code and see it's one line: return {v1.x + v2.x,... and you know it's a local transform so you look for a vec_displace or whatever the correct world-transform function is.

That's the problem with OOP turning all state into black boxes. Sometimes shit doesn't work as expected and you have no idea why because you thought it was better to hide the internals. But then you end up needing to look at the internals anyway, defeating the purpose.
Anonymous · 2026-07-21 20:47 [#10852] [report]
>>25995
what are you on about
Anonymous · 2026-07-21 20:48 [#10853] [report]
>>25891
/thread
Anonymous · 2026-07-21 20:53 [#10856] [report]
I don't even know what OOP is. I know it means object oriented programming, but have no idea what that entails.
Verification not required. · 2026-07-21 20:55 [#10858] [report]
>>25991
I've never written a line of rust in my entire life
I use GNOME btw
Anonymous · 2026-07-21 21:00 [#10859] [report]
>>25996
That

vec_add(v1, v2)

is not always just syntactic difference to

v1.add(v2)

because a member function might trigger a whole cascade of second-order effects (tree dirtying, event triggering, intermediate variable recalculations, ...) that you need to look into the black boxes to be sure of.

Meanwhile when your codebase only has pure functions, you are guaranteed to know that the effects of function calls are only those explicitly defined in the function.
Anonymous · 2026-07-21 21:04 [#10860] [report]
>>26000
the function could still do all of that
Anonymous · 2026-07-21 21:04 [#10861] [report]
>>25990
>okay - a nothingburger, hehe. doesnt matter, objects are objects, i have no time for bikeshedding babble
Still waiting for you to make a point

> those arent technologies, those are some marketing word salad
They indeed are "technologies". Self proved at that time that vms runtime were not intrinsically *that* slow and they could achieve comparable performances of optimized C (or at least in the same order of magnitude)

https://en.wikipedia.org/wiki/Self_(programming_language)

They are the technologies on top of which modern vm achieved fast runtime performance
Anonymous · 2026-07-21 21:07 [#10862] [report]
>>26000
What a disingenuous piece of vomit. There's nothing stopping you from adding a socket in the v struct and doing retarded stuff. It will stay pure since it's passed as an argument.
Anonymous · 2026-07-21 21:19 [#10872] [report]
>>26001
Not if it's pure

>>26003
>adding a socket in the v struct and doing retarded stuff. It will stay pure since it's passed as an argument.
If you're passing a socket and then "doing retarded stuff", then that was on you. The pure function just returned a value. Any "retarded stuff" that happened was because you used the return value to change the socket object itself.

Meanwhile, with OOP the member could be "doing retarded stuff" to the socket, and if the object's state is hidden as private variables (which is generally best practice), you have no way to stop it without refactoring the class.

Or, as is often the case, you're working with someone else's scene library and have no way to refactor it yourself to stop it from doing retarded stuff, so instead you're begging on GitHub to have them change it.
Anonymous · 2026-07-21 21:25 [#10875] [report]
>>26000
>you need to look into the black boxes
you don't need to do that
Anonymous · 2026-07-21 21:26 [#10877] [report]
>>25886
OOP will most likely trick you into making really bad architectural desitions. Having a simpler but flexible language will help you make faster software, and focus on the logic, instead of spending so much time fighting bad organisation. Having all these scopes is bad, and a beginner would benefit a lot by making most classes static. Looking back at my C# code, it is a hot mess, where avery file contains a class, and every class has a bunch of event bullshit to listen to other classes. It was a spiderweb where I was in little controll of how things worked together, and controlling the flow of the entire program, makes stuff a lot easier, for a solo dev
Anonymous · 2026-07-21 21:33 [#10880] [report]
>>25886
>why does everyone hate OOP?
I don't. it's mostly hated by pseuds trying to bring attention to themselves.
the-runtime-guy · 2026-07-21 21:34 [#10882] [report]
>>26002
>They indeed are "technologies". Self proved at that time

okay okay, Self proved and Self was first, i asked the duck. i also recall there was a blog article of a dev who moved to Dart (or something) about hidden classes in JS, the text is copied to V8 site. also this one https://www.youtube.com/watch?v=hWhMKalEicY

...now i even recall he was a retard who was afraid of type assumptions.. but it is not related.

>make a point
okay, i start doubting hidden classes because they are hidden, read implicit, but explicit is better than implicit by the Zen. though my initial nothingburger stands strong.

>modern vm
bloated clusterfucks, ye, name any. they all cannot prove NOW (not at the time back back then when dinosaurs stompted the Earth) they are capable of doing programs, so programs are still compiled.
Anonymous · 2026-07-21 21:36 [#10884] [report]
>>25963
>Every new object defined is a new node on a graph
So what? You can't eliminate complexity to the extent you seem to think but move it on another space

The function execution in functional languages create a dynamical graph that can explode to be very wide and deep

> there needs to be at least one delegate written to create a connection to another node.
not really, unless you also include a primitive Object type

Btw you should really make a distinction between OOP in theory and practical implementation, because they differs significantly. OOP in "entities that can receive/send messages and forward them" like smalltalk/pharo and self, and between statically and dynamically typed class based OOP

In the formers, the language is not meant to be just the language isolated, but it's the sum of language+environment: Objects are "living" entities that can be inspected and modified at runtime. Development is meant to be like the LISP's REPL interactive development but arguably in a more powerful and flexible fashion. Complexity is tamed by the fact that you basically live in a debugger while developing https://www.youtube.com/watch?v=xhPlUaXpCU4

In statically typed class based OOP languages, I argue that a significant amount of cruft comes the strong coupling of traits and instance-representation and from the class-instance implementation of OO: almost all creational pattern arise as a workaround to deal with the strictness/limitation imposed by classes (when the receiver doens't know in advance the type or family type of the object received. The structural and (especially) behavioral ones actually emerges from common sense

for dynamically typed languages like python I don't even know why they didn't go with prototype based OO implementation and left out the concept of class directly instead of making the extra-step of implementing class as an object for instance factory
Anonymous · 2026-07-21 21:37 [#10885] [report]
>>26004
>Not if it's pure
tf does that even mean?
Anonymous · 2026-07-21 21:39 [#10886] [report]
>>25912
yk you can encapsulate without classes right?
>Imagine writing a GUI App without classes
I've done this. It's actually much nicer.
Anonymous · 2026-07-21 22:08 [#10890] [report]
>>25886
There's nothing wrong with OOP in principle, if you use it properly and aren't retarded with it, but it also makes it very easy to shoot yourself in the foot. You can however make nicely organized and easily extendable programs if you use it properly.

Professionally speaking you are very likely to encounter code that has been - unfortunately - written by retards and midwits and as such you will run across enormous OOP abominations almost certainly. Retards and midwits also tend to follow advice, so-called "best practices" and "design patterns" completely blindly, effectively based on dogma with no critical thinking involved and no consideration of advantages / disadvantages in the actual program being written. While these often-quoted best practices and design patterns do have legitimate uses and applications, when a dev turns his brain off and merely follows such things blindly the end-result is almost certainly going to be extreme complexity of the codebase for no actual benefit. This seems to happen VERY frequently and the result is always a clusterfuck.
Anonymous · 2026-07-21 22:11 [#10893] [report]
>>26005
That's what every tard thinks and is always wrong.
Anonymous · 2026-07-21 22:14 [#10896] [report]
>>26008
>okay, i start doubting hidden classes because they are hidden,
I don't understand what you mean by this. Hidden classes (which can be thought of "hidden objects") are just implementation details for runtime performance tuning on a different plane wrt the language semantics
It's just like doubting the endianess or the stack/register vm when talking about the python language or lua

prototype based OOP actually makes more sense than class based. If you want an object just create a object that can answer to some kind of messages. Classes gives you some more compile time guarantee as a compiler contracts and a little bit of free documentation in dynamically typed languages (which seems to treat classes more or less as a blueprint for an object). On the other hand they comes with a lot of downsides and the need of extra-language constructs (like "abstract", "interface", "package/namespace", etc...)

The paper "Organizing programs without classes" makes some good point on the benefits of classless OO implementation

https://bibliography.selflanguage.org/_static/organizing-programs.pdf
Anonymous · 2026-07-21 22:15 [#10897] [report]
>>25971
No, he said OOP when properly tried is great.
Anonymous · 2026-07-21 22:20 [#10899] [report]
OOP is alright. the problem is orthodox OOP which started running rampant in the 90s due to certain cancerous books. people started treating it as a religion, completely disregarding alternative paradigms.
the-runtime-guy · 2026-07-21 22:42 [#10906] [report]
>>26014
>prototype based OOP actually makes more sense than class based.

nope, a class is the base of an object. hiding it makes no good according to the Zen. classes are only bad in JS, because JS is prototype based, so classes are sugar over prototypes being sugar over hidden classes being sugar over C++ classes (for those V8/Chuckcha engines, excluding quickjs-like) - 's the definition of a clusterfuck.
Anonymous · 2026-07-21 22:47 [#10908] [report]
>>26017
> nope, a class is the base of an object.
No, it's not. It's an object devote to a specific creational pattern of other objects

> hiding it makes no good according to the Zen.
You are not hiding anything. On the opposite, adding classes you are adding a layer on top of objects
> lasses are only bad in JS, because JS is prototype based,
Again, classes are not necessary for objects to exists
> so classes are sugar over prototypes being sugar over hidden classes being
incorrect, again.
https://en.wikipedia.org/wiki/Prototype-based_programming
the-runtime-guy · 2026-07-21 23:02 [#10915] [report]
>>26018
>devote to a specific creational pattern of other objects

nobody gets this mumble-jumble. class is a scheme, a map of an object. every object has it.

>adding classes
is inevitable, it will happen either statically by developer or dynamically by the runtime

>classes are not necessary
necessary. learn the craft, then argue.
Anonymous · 2026-07-21 23:04 [#10916] [report]
>>26016
maybe it started off as a religion but it turned into a cult and now it's basically just cargo cult
Anonymous · 2026-07-21 23:05 [#10917] [report]
>>26006
>OOP will most likely trick you into making really bad architectural desitions.
individual's skill issue blamed on the paradigm

>>25924
>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.
no paradigm will magically resolve design and architecture decisions - those are the programmer's competences

>OOP does not solve the problem of making your code easier to debug.
it literally does
state being in a small and closed scope means you need to instantiate only a very small part of the program at a time to test and debug. in most cases you don't even need to spin up the whole application and can run only that small piece of code
unless someone is very deliberately breaking encapsulation, the state is guaranteed to be free from modification from outside its declared scope
of course if you write crap code with state leaking everywhere you won't get this advantage

> OOP does not solve the problem of which bits of program state should be statically allocated, thread-allocated or dynamically allocated.
no paradigm does
it's an implementation detail not within the scope of the paradigm
Anonymous · 2026-07-21 23:24 [#10923] [report]
>>26019
I accept your concession
Anonymous · 2026-07-21 23:31 [#10925] [report]
>>26019
> nobody gets this mumble-jumble
It's actually pretty simple. A class is not necessary for the existence of an object

Class in language like python are actually objects used to implement the creational pattern of class-instance. In class based OOP you can implement prototype creational pattern and in prototype based language you can emulate the class-instance one

> is inevitable, it will happen either statically by developer or dynamically by the runtime
Again, classes are not fundamental to OOP, they are a language design choice. Objects can exist without the concept of class, in a theoretical formulation (most of formal objects specification are classeless like lambda calculus with records, Cardelli's Object calculus, Prototype calculi (the one implemented by self,io and js)), just as in informal definition as in
> an object is a semantic entity that has state, behavior, and identity.
> https://en.wikipedia.org/wiki/Object_(computer_science)


> it will happen either statically by developer
No it wont

> or dynamically by the runtime
Can be avoided. Again, the hidden class concept is introduces just because performance tuning, it's not necessary
the-runtime-guy · 2026-07-22 00:06 [#10929] [report]
>>26023
>class is not necessary

necessary

>in language like python

classes

>classes are not fundamental to OOP

fundamental to the implementation of objects that are fundamental to OOP.

>Objects can exist without the concept of class

only imaginary objects. real objects exist with a blueprint that is called a class.

>in a theoretical formulation

we are not in the school mr.Teacher, no monoidal calculilusator allowed. only craft and pragmatismus.

>Can be avoided. Again, the hidden class concept is introduces just because performance tuning, it's not necessary

ye, im waiting when your supreme runtime will prove your supreme theory, until then, its all academic
Anonymous · 2026-07-22 00:08 [#10930] [report]
>>25886
everyone that programs long enough contracts (p)OOP sickness at some point
not everyone recovers
Anonymous · 2026-07-22 00:11 [#10934] [report]
>>26024
You could've said right away that you were retarded
the-runtime-guy · 2026-07-22 01:01 [#10950] [report]
>>26024
https://bibliography.selflanguage.org/implementation.html
selflanguage.org

Quote (verbatim from the page’s abstract):
“To compensate for the absence of classes, our system uses implementation-level maps to transparently group objects cloned from the same prototype, providing data type information …”

---

To compensate for the absence of maps, our system uses implementation-level hyperontological schematics to transparently group objects cloned from the same prototype, providing data-type information in a way that’s visible to the machine but opaque to the programmer …
the-runtime-guy · 2026-07-22 01:05 [#10953] [report]
>>26027
To compensate for the absence of hyperontological schematics, our system uses implementation-level zygogastric memo-fog prismatograms—a kind of hyperphlogiston nebulo-architecture to transparently group objects cloned from the same prototype, providing data-type information in a way that’s visible to the machine but opaque to the programmer …
Anonymous · 2026-07-22 01:28 [#10958] [report]
>>25890
do you think classes and oop are the same thing?
Anonymous · 2026-07-22 01:34 [#10960] [report]
>>26016
if you actually read the book, it clearly says "we studied a bunch of IRL codebases and observed these commonalities" not "hurr durr write your code like this and buzz the newbs when they do an "anti pattern"".
that was (((consultants))).
Anonymous · 2026-07-22 01:37 [#10962] [report]
>>26012
you are conflating java with oop.
java's retardation that everything must be an object is a huge reason why oop in practice is as bad as it is. java programmers, aka rajesh patel and his 300 million cousins, worship java because sun has a jeet founder, and bring that retardation everwhere they go, namely c++
Anonymous · 2026-07-22 01:41 [#10963] [report]
>>26027
> To compensate for the absence of classes, our system uses implementation-level maps to transparently group objects cloned from the same prototype, providing data type information
types are not the same as classes nigger, they are different concepts

Storing information about a function ('a -> 'a) **type** does not define nor it is a class and doesn't involves classes in any place you cretin

You seems rather confused to the point you are trying to bend commonly consolidated terminology in order to be right
Anonymous · 2026-07-22 02:27 [#10968] [report]
>>26027
I'm fairly sure it was already been established that Self implemented hidden classes under the hood for performance reasons (as stated in the link you posted) in this comment here >>25985 and you can infer it was not out of necessity by keep reading
> To compensate for the absence of classes, our system uses implementation-level maps to transparently group objects cloned from the same prototype, providing data type information and **eliminating the apparent space overhead for prototype-based systems**

, so I don't understand how you could have thought that your comment was some kind of gotcha

Unlucky for you, you're a pathetic namefag so you can't play dumb and pretend you didn't know it already and we can see you keep collecting so many L in this thread
Anonymous · 2026-07-22 03:10 [#10973] [report]
>>26026
>namefag is retarded
Say it ain't so
the-runtime-guy · 2026-07-22 10:53 [#11194] [report]
>>26032
who cares, my view dominates - reflects the reality, and your view is a loser's, wannabe a better view.

>>26033
>a pathetic namefag

nothing is as pathetic as hiding crappy theory by renaming "class" to "plass" or alike.

--
ive figured out classes are better though, opinion is forged.
the-runtime-guy · 2026-07-22 10:55 [#11195] [report]
>>26029
OOP is an application of objects that are based on classes, so basically yes, retard, classes are OOP
Anonymous · 2026-07-22 10:56 [#11196] [report]
Why do people still care about concepts like OOP?
AI has solved programming
Anonymous · 2026-07-22 11:54 [#11235] [report]
>>26031
>java's retardation that everything must be an object is a huge reason why oop in practice is as bad as it is.
wrong
it's actually halfassing or outright avoiding object orientation is what creates the typical unmaintainable mess in Java codebases. overengineering is only a small part of it and usually not that hard to refactor into reasonable code. bad code and architecture are skill issues and will be bad regardless of the language or paradigm
"is it possible to implement without an object?" is the most common wrong question to ask yourself when working in an OOP language. most things you indeed can implement without an object, but by doing so you forfeit advantages object orientation provides, while leaving the overhead of the language's optimization for being object oriented (for example, having to repeat the 'static' keyword everywhere because none of your code is instantiated)

as for pajeets, they'll write abhorrent code no matter the paradigm
Anonymous · 2026-07-22 12:04 [#11242] [report]
>>26037
Programming is not just a problem to solve.
Anonymous · 2026-07-22 12:06 [#11245] [report]
>>26038
> "is it possible to implement without an object?" is the most common wrong question to ask yourself when working in an OOP language
Otherwise you will end up with thousands of classes.
Anonymous · 2026-07-22 12:19 [#11249] [report]
>>26040
number of classes is as useful of a metric as number of lines of code
ie. it's completely useless
Anonymous · 2026-07-22 12:26 [#11251] [report]
>>26041
It's not a metric: you have to search through them to find one appropriate to use, create adapters to get real data, more than half of them would be just containers/records.
Anonymous · 2026-07-22 12:31 [#11258] [report]
>>26035
>nothing is as pathetic as hiding crappy theory by renaming "class" to "plass" or alike
That wasn't even the point of my comment. You clearly can't follow a simple linear discussion since you repeated something that was told you in the beginning like you discovered it let alone the simple distinction between class, type and object
>opinion is forged.
You're clearly a low IQ retard, your opinion is worthless at most
Anonymous · 2026-07-22 13:22 [#11275] [report]
>>26035
>who cares, my view dominates
That's arguable. I think the best way to describe the current shared view is more like "we found a way to bear with class-based OOP after we realized that the principle actually gets in the way". Because after decades of teaching and internalizing the dogma "class = object" it creates a kind of inertia that would require too much effort to get fixed and we rather find a way to live with it. At the end of the day what's actually matter in the industry is to ship a correct and fast executable artifact

indeed classes and polymorphism by inheritance lost a lot of its centrality in modern OOP. What's left about class, is a just a way to define a type and instantiate objects. In python people moved from inheritance as a standard mechanism of object modelling to DI, delegation and composition: ie moving more toward the prototype OOP; and on top of that the introduction of dataclasses can interpreted as a way to move from traditional class-based OOP principles

To me new OOP development directions scream: classes were not a really the good concept it seemed in theory, but now it's too late and changing completely the OOP model is not worth the effort
Anonymous · 2026-07-22 13:28 [#11278] [report]
>>26042
>you have to search through them to find one appropriate to use
finding the right class is a literal non-issue, even in a large enterprise codebase

>create adapters to get real data, more than half of them would be just containers/records
what is "real data" and why do you need "adapters" to get it?
Anonymous · 2026-07-22 13:31 [#11280] [report]
>>25891
My Animal quacks, so it's a final Duck!
Anonymous · 2026-07-22 13:44 [#11284] [report]
>>26027
Not really sure but the Io programming language doesn't seems to implement hidden classes btw, you may want to look into that
https://iolanguage.org/
the-runtime-guy · 2026-07-22 14:01 [#11288] [report]
>>26043
seethe and dilate tranny, hehehe

>>26044
>decades of teaching

sorry am not a demagogue as yourself, i kinda need pragmatismus: yes - yes, no - no. you should follow the whole thought instead of babbling around, then you know what was concluded. and make yerself a name nobodyfag

>>26047
again, follow the whole thread new nonamefag, the "class" or whatever you name it is an inevitable companion of an object. reasons are obvious.. lets see..
Anonymous · 2026-07-22 14:05 [#11289] [report]
>>25886
>why does everyone hate OOP?
Faggots like Linus Torvalds do it to sound cool and the sheep follow. The way you know that OOP isn't bad is how pretty much every major application has been written in an object-oriented language.
the-runtime-guy · 2026-07-22 14:07 [#11291] [report]
>>26047
>https://iolanguage.org/

the project is structured poorly, i cannot find anything in that slop, i bail out, look it up yerself
the-runtime-guy · 2026-07-22 14:08 [#11292] [report]
>>26050
year 2026, retards still spur an incomprehensible file garbage into repos and call it projects..
the-runtime-guy · 2026-07-22 14:10 [#11293] [report]
>>26051
code diarrhea toilet
Anonymous · 2026-07-22 14:10 [#11294] [report]
>>26048
>seethe and dilate tranny, hehehe
lol, being exposed as the retard you are really got you
the-runtime-guy · 2026-07-22 14:13 [#11295] [report]
>>26052
feeling when you kinda enter the place in hopes to check something and it is suddenly a..

> code diarrhea toilet
the-runtime-guy · 2026-07-22 14:13 [#11296] [report]
>>26052
>>26051
I'm sorry, I need to learn how to navigate a website, my HRT made me emotional
Anonymous · 2026-07-22 14:14 [#11298] [report]
>>26049
lol
lmao even
wipe the shit off your hands before posting here SAAAAR
Anonymous · 2026-07-22 14:18 [#11299] [report]
>>26048
> sorry am not a demagogue as yourself, i kinda need pragmatismus: yes - yes, no - no
You basically are confessing you are incapable of dealing with complex arguments. It's not like we hadn't already realized that

> then you know what was concluded
The conclusion was that you were a smooth brain namefaggot
Anonymous · 2026-07-22 14:20 [#11302] [report]
>>26056
Nice retort.
the-runtime-guy · 2026-07-22 14:21 [#11303] [report]
desu I just got into this thread to confess that I'm a namefag who likes sucking cocks
Anonymous · 2026-07-22 14:24 [#11305] [report]
>>26059
we know
Anonymous · 2026-07-22 14:29 [#11307] [report]
>>26004
>Not if it's pure
are you really going to move the goalposts for the fact that methods are syntactic sugar for functions?
the-runtime-guy · 2026-07-22 14:34 [#11310] [report]
>>26055
>>26059
so what did you prove here? you think copying my name is a rigid impersonation? hehehe, nope tranny, you just proved the lack of your own identity. troons have this identity problem btw.

>>26057
>complex arguments

retarded statements, wespeaking nobody, they are retarded non-arguments.

--
IO started in 2002, yet unable to form a project structure to these days, 24 hecking years of nothingburger, finally slopified with AGENTS plis welp organize this mess.. pathetic. delete that diarrhea, press delete button - that will be the ultimate and final contribution
Anonymous · 2026-07-22 15:03 [#11323] [report]
>>26048
>sorry am not a demagogue as yourself, i kinda need pragmatismus: yes - yes, no - no
Let me make it simple for you
- classes, types and objects are related but different concepts. you can have one of them without the other two

- you don't need to implement any kind of class concept in order to have objects, which was your thesis

- Types describe behavioral characteristics of a entity

- objects are entities with internal state and methods associated with it. They respond to messages


Class in common OOP language are use

-- class that defines a type
class Pizza {
int price;
void method() {};
}

-- object generation from a type defined by the class
p1 = new Pizza();
p2 = new Pizza()

(p1 is-a? Pizza && p2 is-a? Pizza) -- returns true

-- Class definition without a type (ignoring implicit inher and such)
class Pizza {};
p1 = new Pizza();
p2 = new Pizza();
(p1 is-a? Pizza && p2 is-a? Pizza) -- returns true because p1 and p2 are in a relation is-a with Pizza

-- Types without Classes (as in Haskell)
data Pizza = Raw PIzzaInfo | Cooked PizzaInfo;;

-- object without class and types. It's doesn't have any is-a? relationship
RawPizza = {
sauce := "red";
cook := method(
)
}

-- send a message to object pizza
RawPizza cook


The difference is pretty clear to me
the-runtime-guy · 2026-07-22 15:05 [#11324] [report]
>>26062
Stop pretending to be me

I am faggot and I loves cocks
Anonymous · 2026-07-22 16:31 [#11348] [report]
i have some data, i want to transform that data, maybe send it over the network, dunno. where in that problem description does "let's colocate pieces of the transformation logic with pieces of the data so they can't see the whole picture, turning the whole thing into a tetris game of where-should-my-logic-live" enter the solution space? make subsystems, not objects, you retards
Anonymous · 2026-07-22 16:52 [#11349] [report]
>>26063
Ignoring the crazy guy you're arguing with, and going back to the comment: >>26044
>classes were not a really the good concept it seemed in theory
It seems to me that "just an object, no class" is what most other people would call an "Anonymous Class." Thus, it's still a class in the sense of being explicitly hard-coupled data with methods, you just didn't have to name the class. It's almost as a closure in functional programming, where lambdas are commonly used but primarily for simple expressions and throwaway transformations.

As far as I can tell, the idea of an anonymous class is largely irrelevant to the big picture debates over the pros and cons of OOP. Indeed I would wager that most critics AND proponents of OOP would agree that if you're going to create method+property couplings, it's best to give these couplings explicit names most of the time. And when you don't name them, the language you're using is almost certainly just going to automatically generate a random class name for it under the hood anyway.

The debate about OOP is more about whether always (or by default) thinking in terms of tightly-coupled properties and methods is a good idea, along with frequent digressions on dynamic dispatch and the pros and cons of using vtables to implement object methods).
Anonymous · 2026-07-22 17:00 [#11352] [report]
>>26063
by the way

RawPizza cook


Are you modifying the state of RawPizza to become a Cooked RawPizza?

RawPizza isCooked?
<returns true>


kek
the-runtime-guy · 2026-07-22 17:05 [#11356] [report]
>>26063
>>26064
>>26066

24 years.. still a nothingburger. how retarded one could be to fail to connect whatever "class" name to an object? PhD of retardation.

what is your containment chamber btw? LISP/dpt?
the-runtime-guy · 2026-07-22 17:32 [#11368] [report]
>>26066
>It seems to me that "just an object, no class" is what most other people would call an "Anonymous Class.
It seems like you are forcing the concept of class instead of just eliminate it in the equation. Just call the objects, which is what they really are

In real world classification can be a process to group/partition a population of already existing entities in order to then reason/make decision using the classification with the principle of substitution. In CS you start with an empty world and you do the opposite: generate population starting from a class so they belong to that class. The point is that the entities can exist without being classified

If every entity (objects in our case) has its own class it become a degenerate classification system and useless because every entity has a unique type. It would be like classifying humans by their complete genome sequence which would be useless so you don't do it

So, commonly, in programming language a class is a factory/generator of a type (and then object)

> Thus, it's still a class in the sense of being explicitly hard-coupled data with methods
That would be more akin to the definition of a type. But in alternative OOP implementation objects are entities that receive messages and either asnwer back or forward the message to other objects that are already instantiated in memory (ie: alive)
Semantically they are not hard-coupled with anything, they can receive a message that they don't know how to respond to (eg: missing method or attribute)

They are just objects, and every one has a unique identity
Anonymous · 2026-07-22 17:42 [#11371] [report]
>>26069
>It seems like you are forcing the concept of class
No, I'm trying to eliminate semantic nitpicking as a source of argumentative digression.
the-runtime-guy · 2026-07-22 17:58 [#11372] [report]
>>26070
no,you are forcing the existence of a concept that doesn't make sense

Objects are objects, and they are not forced to "belong" to a class. Calling objects "anonimous class" is like saying every object (the entity that actually exist) is of the unique type defined by themselves that doesn't share its schema with no other object which is extremely dumb

is the "object" that has methods and attributes and blablabla. A class in common OOP implementation is a generator of objects that have the same schema

Also because objects can be dynamic


// What class does this object belongs to?
foo = {
height := 3
do-something =: method([...])
}

-- what about adding one attribute
foo width := 10
write(foo width) -- returns 10

-- What about method deletion?
foo delete(do-something)



Just say they are classless object and you'll be correct
Anonymous · 2026-07-22 18:33 [#11376] [report]
>>26066
>As far as I can tell, the idea of an anonymous class is largely irrelevant to the big picture debates over the pros and cons of OOP.
As stated before they are objects and not anonymous classes
Then, from a theoretical standpoint, objects are an abstraction just as functions are, they have same the power description. So I do think the point of the discussion of OOP is actually a discussion about OOP implementations

> AND proponents of OOP would agree that if you're going to create method+property couplings
There are various way of thinking about this. For example, prototype OOP proponents (read Self guys and their moms) argue that a strong limitation of class based OOP implementation was the implicit coupling of traits (behaviour that act on instance representation) and its prototype representation. Respectively, the idea of mitigated by "abstract classes" and "<<class>> interfaces" and dataclasses. Then they continue arguing that you don't need extra-linguistic attributes (on top of not having classes) and you can directly use object + delegation and all the taxonomy emerges from the relation between objects and the separation or not of behaviour+representation inside an object
Another big problem is that in statically typed class-based OOP a receiver needs to know in advance at compile time the class it will receive and this lead to all the creational design pattern to work around this "limitation" and all the taxonomy of eg abstract factory for creation of family of objects that are unneeded in classless object systems

Prototype + dynamical objects also solves the "problem" of telescoping of constructors so no need an object builder for this specific problem. And they makes you able to write programs where objects have dynamical inheritance

These are just some examples of the consequences of different object model. There obviously downsides too but sitll is worth discussing if class based OO was the actually the best implementation
Anonymous · 2026-07-22 20:02 [#11412] [report]
They're just collectively butthurt because someone who sucks aids at OOP spammed a meme into their brains.
Anonymous · 2026-07-22 20:15 [#11414] [report]
>>26063
non-programming examples like this always lack any real program logic and just obfuscate the non-applicability of whatever the example is supposed to demonstrate

write code a real program could realistically contain
Anonymous · 2026-07-22 20:25 [#11416] [report]
>>26065
once again, OOP doesn't couple data and logic as cniles continue to repeat like unresponsive retards
OOP couples state and logic. data is what the program processes at runtime

>where-should-my-logic-live
it's self-evident if you build your architecture around the logic
where/how is the data read? the data reader class
where/how is the data transformed? the data transformer class
where/how is the data sent over the network? the data sender class
and so on

>make subsystems, not objects
objects ARE subsystems
Anonymous · 2026-07-22 20:28 [#11417] [report]
>>26074
I guess you didn't actually read what the comment was about

The comment was an attempt to show the difference between class, type and object. Since they are the primitive abstraction on top of which different programming language are build the snippets doesn't need to contain any programming logic, you just have to "instantiate" the abstraction

If you want to read about the difference you either read some document of theoretical difference or the first chapter of the corresponding languages
> strongly typed class-based OOP: Java
> duck typed class-based OOP: Python
> type-based language: Haskell
> (classless) prototype based OOP: Self, Io, XO

If instead you meant you wanted to see how to organize computation in prototype based language just look at the Morphic Self's UI toolkit or if you are lucky some piece of complex software written in classless era Javascript that's actually good
Anonymous · 2026-07-22 20:31 [#11419] [report]
>>26074
>>26076
> If instead you meant you wanted to see how to organize computation in prototype based language just look at the Morphic Self's UI toolkit or if you are lucky some piece of complex software written in classless era Javascript that's actually good
Or, if your brain is able to generalize from ideas and notions, read the Self paper
https://bibliography.selflanguage.org/_static/organizing-programs.pdf
Anonymous · 2026-07-22 20:40 [#11422] [report]
>>25886
Try to make a snake game in C++ with and without using OOP.

>Without OOP
Declare two structs in Main, food and snake, read input, move snake, draw cells, check if on tile with food. One file, 50 loc with Raylib.

>With OOP
Declare Main to manage the classes below.
Declare InputManager class with its own 'Update' function
Declare Food class with its own 'Update', 'Spawn' and 'Draw' functions.
Declare Snake class with its own 'Update', 'Draw', 'Move', 'ReadInput' functions, additionally, Snake needs access to InputManager.

Bonus points for creating an abstract 'GameObject' to unify Food and Snake's shared function names into a virtual function to make it clear what can be updated and what can't be updated.
Anonymous · 2026-07-22 20:46 [#11426] [report]
>>25946
> encapsulation and abstract data types are OOP
This is the type of retard that promotes OOP. Just absolutely braindead.
Anonymous · 2026-07-22 20:49 [#11429] [report]
>>26079
cry about it
Anonymous · 2026-07-22 20:51 [#11431] [report]
I think they hate OOP because Java is verbose and C++ is ugly.
Anonymous · 2026-07-22 20:51 [#11432] [report]
>>26076
comments that use animals or foods as "programming" examples should be immediately ignored

>The comment was an attempt to show the difference between class, type and object.
then show it on a real program and not some abstract non-programming example
Anonymous · 2026-07-22 20:55 [#11435] [report]
>>25886
Maybe the whole is greater than the sum of its parts. Especially when the parts are so boring.
Anonymous · 2026-07-22 21:00 [#11436] [report]
>>25924
>OOP does not solve the problem of making code more legible.
It lets you put a custom conceptual unit into places in your code where it helps with the data organization, and that LITERALLY makes the code more readable.
Using more abstractions fixes many problems, except for the problems that using more abstractions causes. Use carefully.
Anonymous · 2026-07-22 21:01 [#11437] [report]
>>26082
> comments that use animals or foods as "programming" examples should be immediately ignored
That applies to 99% of the code you see, but this is not the case and I knew why you made that comment but I let you tell me

> then show it on a real program and not some abstract non-programming example
How the fuck could I show the grammar and semantics of a primitive of a language you retard?
Again, if you are interested in them profound and theoretical formalization of those concept you read a book about type systems or you read the chapter of the languages I listed you about their abstraction model

> then show it on a real program
I'm not taking an interview with you nigger, I wont write a "real program" on a cantonese imageboard. I already told you what you should look for finding **real programs**. Are you able to fucking read ?

> some abstract non-programming example
But the point is actually about the abstract differences of models
Anonymous · 2026-07-22 21:07 [#11438] [report]
>>26085
>I wont write a "real program"
just this was enough to submit your concession
Anonymous · 2026-07-22 21:07 [#11439] [report]
>>26079
>Just absolutely braindead.
Just because you're committed to overusing OOP ideas doesn't mean you're right to dismiss the very simple end of things like that.
Anonymous · 2026-07-22 21:12 [#11440] [report]
>>26086
your comment was enough to let us your brain can't generalize from information

The sadder part is that you can't read because I pointed you what to look for

Go in the retard jail with the runtime-onions-faggot, you two look very similar
Anonymous · 2026-07-22 21:15 [#11442] [report]
>>25903
Interfaces are strongly encouraged because they are soft traits
>no data
>no ctors
>allows for multiple inheritance
>only default or static methods with a body in definition
Anonymous · 2026-07-22 21:25 [#11443] [report]
>>26075
>OOP doesn't couple data and logic
>Object-oriented programming (OOP) is a programming paradigm based on objects – software entities that encapsulate data and function(s).
https://en.wikipedia.org/wiki/Object-oriented_programming

>objects ARE subsystems
then what's with all the retarded pizzas that bake themselves examples on here? a subsystem is just a collection of related functionality in whatever way your language allows. most have modules, that's a good subsystem boundary. if your language is shit you can wrap the entire thing into an object, you will get laughed at however
Anonymous · 2026-07-22 21:26 [#11444] [report]
>>26088
>no argument
>ad hominem
lol
Anonymous · 2026-07-22 21:29 [#11445] [report]
I love making people so mad they write typos.
Anonymous · 2026-07-22 21:32 [#11446] [report]
>>26091
> show me how to create a type without a class in a type-based language and an object without classes in prototype OOP
> data A = B | C
> A := (....)
> NoOoOO, you should write a kernel otherwise it doesn't count
you're so dense is not even funny
Anonymous · 2026-07-22 21:38 [#11447] [report]
>>26092
No one is really mad at you on 4chan. You're just a deluded kid
Anonymous · 2026-07-22 21:40 [#11448] [report]
>>26094
No, even you're mad.
Anonymous · 2026-07-22 21:40 [#11449] [report]
>>25950
This is such a good presentation. There's absolutely no intellectual rigor behind any of this OOP garbage. It was all retarded students/interns doing retarded student/intern things completely by themselves. Djikstra was right about everything.
Anonymous · 2026-07-22 21:41 [#11450] [report]
>>26090
>>Object-oriented programming (OOP) is a programming paradigm based on objects – software entities that encapsulate data and function(s).
>https://en.wikipedia.org/wiki/Object-oriented_programming
you skipped the [clarification needed] part

meanwhile,
>In software development, an object is a semantic entity that has state, behavior, and identity.[1][2][3][4]
https://en.wikipedia.org/wiki/Object_(computer_science)
data not mentioned

>then what's with all the retarded pizzas that bake themselves examples on here?
might be bad-faith actors, or just midwits
never trust any post that uses non-program entities as example code

>a subsystem is just a collection of related functionality
that's basically what objects are, plus they hold state used between the related functionality while hiding it from unrelated functionality
Anonymous · 2026-07-22 21:43 [#11451] [report]
>>26093
>more meaningless, contextless [A/B/C] babble instead of real code
lol
Anonymous · 2026-07-22 21:48 [#11452] [report]
>>26097
>plus they hold state used between the related functionality
99% of the methods only use a tiny subset of the state and if you actually try to separate everything properly you quickly get to the point where finding actual functionality is difficult.

A simple module system and structs with referentially transparent functions is better almost all the time and typeclasses usually cover the cases where you need more.
RMS · 2026-07-22 21:52 [#11453] [report]
Why Functional Programming Is Superior
by Richard Stallman

Friends,

Software should serve the user’s freedom. To have that freedom, you must be able to read, understand, and change the program. Functional programming helps. Object-Oriented programming, as it is commonly taught, hinders.

1. No hidden state
In OOP, an object can change itself internally. Call drone.move() and who knows what 8 fields were mutated, or what other objects were touched. That is not transparent.

In FP, a function takes input and returns output. move(state, cmd) returns a new state. No secrets. You can reason about it. If you can reason about it, you can study it. If you can study it, you are free.

2. Simplicity over bureaucracy
OOP encourages deep inheritance: Vehicle to FlyingVehicle to Drone to QuadDrone. Change the base class and everything breaks. That is coupling, not reuse.

FP encourages small functions composed together. map, filter, fold. Data as plain lists and dicts. In GNU Emacs Lisp we built an entire editor this way. No classes needed. Simple code is code that can be maintained by more than one person.

3. Data should not be imprisoned
OOP says data belongs to the object. That is enclosure. FP says data is data. You can inspect it, save it, transform it with any function. The user, not the class, controls the data.

4. Mathematical clarity
A pure function with the same inputs always gives the same output. That means you can test it, prove things about it, and share it safely. Side effects are explicit, not hidden in a method.

Conclusion
I am not saying never use a struct. I am saying do not wrap everything in classes just because a textbook told you to. Use functions. Compose them. Keep state minimal and visible.

If your goal is code that remains free for the next 20 years, choose the paradigm that is clearest. That is functional programming.

Use GNU. Write free software.

RMS
Anonymous · 2026-07-22 22:00 [#11454] [report]
>>26097
state is data, therefore oop couples data and logic
>a computer program stores data in variables, which represent storage locations in the computer's memory. The contents of these memory locations, at any given point in the program's execution, are called the program's state.
https://en.wikipedia.org/wiki/State_(computer_science)#Program_state
Anonymous · 2026-07-22 22:02 [#11455] [report]
>>26101
Yes, but I suck at OOP therefore I don't like it.
Anonymous · 2026-07-22 22:04 [#11457] [report]
>>26102
Everyone sucks at OOP. There are no good OOP codebases and nobody can name one. Not a single one.
Anonymous · 2026-07-22 22:09 [#11459] [report]
>>26096
>. There's absolutely no intellectual rigor behind any of this OOP garbage
Ever heard of object calculus?
Anonymous · 2026-07-22 22:10 [#11460] [report]
>>26101
>state is data
it isn't
also you continue to use wikipedia as a source when it's already been shown it's self-contradictory
Anonymous · 2026-07-22 22:10 [#11461] [report]
>>26103
Skill issue
Anonymous · 2026-07-22 22:14 [#11462] [report]
>>26104
Yes it's a bunch of after the fact nonsense that is highly contested by actual mathematicians.
Anonymous · 2026-07-22 22:14 [#11463] [report]
>>26103
if you're filtered by OOP then all OOP codebases will look bad
Anonymous · 2026-07-22 22:17 [#11464] [report]
>>26108
Name some great OOP codebases then. Finding beautiful C or Haskell codebases is trivial.
Anonymous · 2026-07-22 22:17 [#11465] [report]
>>26099
>99% of the methods only use a tiny subset of the state and if you actually try to separate everything properly you quickly get to the point where finding actual functionality is difficult.
actual skill issue
Anonymous · 2026-07-22 22:18 [#11466] [report]
>>26105
you use your ass as a source, that's worse
Anonymous · 2026-07-22 22:22 [#11467] [report]
Everytime I hear someone hating on OOP, it's always the for the most asinine reasons. Like they hate conformity and dont see it as more of a tool than anything. Faggots.
Anonymous · 2026-07-22 22:23 [#11468] [report]
>>25928
/thread
Anonymous · 2026-07-22 22:28 [#11469] [report]
>>26078
OOP is the preferred way in every business application that is worth a damn. It may seem like "more content and work" but in actuality, you're simply making it easier to build upon and enhance later.

Ive worked in both functional and OOP style, and OOP style is superior.

What people can call out is that jeets with their web development knowledge are running away with DI philosphy, making everything an interface or a service or a service under another service, which makes debugging hell on earth.

But that has nothing to do with OOP and everything to do with web development and jeets.
Anonymous · 2026-07-22 22:28 [#11470] [report]
>>26112
Anytime I hear a proponent of OOP they are always a programming language/math brainlet. Usually using some dynamically typed garbage like Python, JavaScript or Ruby.
Anonymous · 2026-07-22 22:30 [#11471] [report]
>>26115

>>26114
Anonymous · 2026-07-22 22:31 [#11472] [report]
>>26116
> muh business slop
Fuck off jeet.
Anonymous · 2026-07-22 22:32 [#11473] [report]
>>26111
at least my ass isn't self-contradictory
Anonymous · 2026-07-22 22:33 [#11474] [report]
>>26117
Hey, faggot. Even large open source project employs OOP, so it's not just a business decision, you retard.
Anonymous · 2026-07-22 22:34 [#11475] [report]
>>26117
>crying about real use cases
typical nocoder reaction
Anonymous · 2026-07-22 22:38 [#11476] [report]
>>26119
Probably a big reason why basically everything is poorly coded garbage that can be replaced by a jeet/ai. The only application I use that is coded in one of these subhuman languages is Chrome.
Anonymous · 2026-07-22 22:50 [#11478] [report]
>arguments demasked as asspulls
>but muh business
lol
Anonymous · 2026-07-22 22:56 [#11479] [report]
>>25891
FPBP
OOP is only """popular"'' because your favorite retarded tech companies mandate using it to satisfy their autism
Nobody actually gives a FUCK about inheritance and encapsulation
It is known
Anonymous · 2026-07-22 23:15 [#11483] [report]
>>26107
This sentence doesn't mean anything lol. object calculus is just a formal system like lambda calculus
Who are these "real mathematicians" and what they contest? The coherence of an arbitrary formal system?
Anonymous · 2026-07-22 23:15 [#11484] [report]
I love OOP.
Anonymous · 2026-07-22 23:19 [#11485] [report]
>>25886
>why does everyone hate OOP?
It's mostly a combination of older people who were around when OOP was a fad, and are terminally contrarian over it, and younger people who are cargo culting the older people.

Most people who hate OOP have never been involved in a large code base. Once you actually have to deal with a large code base where you can't keep everything in your head at once, OOP (or at least the encapsulation aspect of OOP) becomes basically mandatory.
Anonymous · 2026-07-22 23:30 [#11486] [report]
>>26126
Truth. OOP makes so much sense for professional software.

the project in my post would have been an organizing annoyance if I went with functional old C style programming. >>26125
Anonymous · 2026-07-22 23:48 [#11489] [report]
>>26125
> C tranny loves OOP
Imagine my surprise. Now, go back to wageslaving in game dev and getting laid off for the 4th time in 2 months
Anonymous · 2026-07-22 23:49 [#11490] [report]
>>26128
I did that in my off time. We use C#, js, and sql at my current job. Fag. But yes, I grew up on C/ C++ and still love using it.
Anonymous · 2026-07-22 23:51 [#11492] [report]
I don't get it. Isn't OOP just a way to organize shit?
Anonymous · 2026-07-22 23:52 [#11493] [report]
>>26130
Yes. It's nothing more complicated than that. Just a lot of autists in the programming community hate being conformist, so they fight it just for the sake of it. Much like linux fags who fight macos and windows.
Anonymous · 2026-07-23 00:29 [#11500] [report]
OOP is most popular amongst people who've only used OOP, interestingly enough
Anonymous · 2026-07-23 00:30 [#11501] [report]
>>26130
yes, oop is for making boundaries. using inheritance, coupling data to logic, basically everything else about it is garbage. even languages like java realized this long ago and added features for representing and dealing with data directly without the associated historical brainrot
Anonymous · 2026-07-23 02:29 [#11509] [report]
>>26129
no you didnt.
german 3. already posted.
Anonymous · 2026-07-23 02:44 [#11511] [report]
>>26134
no I didnt what
Anonymous · 2026-07-23 02:55 [#11514] [report]
OOP feels very powerful because it allows you to write a shitload of very simple methods and chain together a billion class and interface inheritance hierarchies to achieve something that feels like it's more complex than the code you actually wrote. It's like "emergent" behavior.
>oh shit, I didn't realize that would actually work
>damn how is that even working correctly
>waow OOP is so awesome because I don't understand how my own code works
This comes at the expense of performance. And when some bug finally does show up you sometimes can't figure out why because you have to step through 10 gorillion tiny little methods and getters and setters to trace code execution.
Anonymous · 2026-07-23 02:58 [#11515] [report]
I think people just hate the overly complicated design patterns than the actual OOP paradigm.
Anonymous · 2026-07-23 03:00 [#11516] [report]
>>26137
Didn't Pajeet introduce those design patterns everyone hates?
Anonymous · 2026-07-23 03:34 [#11526] [report]
>>26136
>This comes at the expense of performance.
What performance? This has never been a consequence of programming ever except on low level embedded programming using C, and even then I know people who use OOP style programming for it. Stop saying shit you dont understand.
Anonymous · 2026-07-23 03:39 [#11527] [report]
>>26063
>RawPizza
Jfc, just make it bool isCooked
Anonymous · 2026-07-23 03:51 [#11529] [report]
>>26139
>i'm always driving with the handbrake engaged and it's never been a problem for me, only race cars care about that
he said while everyone behind him in traffic is fucking livid

you are the reason why the file manager in windows has lag now
Anonymous · 2026-07-23 06:37 [#11544] [report]
>>25916
Fully clojurepilled
Anonymous · 2026-07-23 07:11 [#11546] [report]
>>25886
it's a concept like many others, it has it's use cases and like many others it's used where it's not meant to be used far too often.
Anonymous · 2026-07-23 07:14 [#11547] [report]
oh god i'm ooping it I'm gonna oop
Anonymous · 2026-07-23 11:26 [#11563] [report]
>>26075
Yet another irrelevant semantic fallacy argument. State is data. The distinction isn't relevant as far as the defense and criticism of OOP cult practices are concerned.
Anonymous · 2026-07-23 11:46 [#11564] [report]
>>25886
>For a group project we even made a simple drone show with Python commands.
You have the collective value of an average middle class 15 year old in a civilised nation.
the-runtime-guy · 2026-07-23 11:57 [#11568] [report]
okay, babblers and demagogues, thats it, topic's closed.

the next one &gt;&gt;109348778
Anonymous · 2026-07-23 11:59 [#11570] [report]
>>26147
needy faggot
Anonymous · 2026-07-23 13:24 [#11575] [report]
>>26145
There is no semantic fallacy. It's just you being either dumb or ignorant, and insisting on repeating the fundamental lack of understanding of the difference between state and data.
Furthermore, calling it OOP "cult practices" is clearly a projection of treating programming terms as an object of cult and worship. That's a fallacy.
Anonymous · 2026-07-23 13:31 [#11576] [report]
>>26149
>lack of understanding of the difference between state and data.
State is a kind of data, retard.
Anonymous · 2026-07-23 13:39 [#11577] [report]
>>26149
>understanding of the difference between state and data.
There's no distinction here.
In a program working on file(s), you have new file("./img.jpg), the buffer of the files content is stored inside the class. Is the image buffer now data OR state?

>OOP "cult practices"
He's spot on, there's many programming style religions. They are religions because they discard all practical concerns like ease of writing, objective measures of ease of reading, and performance. See >>26139
Anonymous · 2026-07-23 13:51 [#11579] [report]
>>26150
now that's a semantic fallacy
Anonymous · 2026-07-23 14:00 [#11581] [report]
>>26152
interesting how you dodged
>In a program working on file(s), you have new file("./img.jpg), the buffer of the files content is stored inside the class. Is the image buffer now data OR state?
Anonymous · 2026-07-23 14:04 [#11583] [report]
>please reply to my time-wasting, intentionally ambiguous example
no
Anonymous · 2026-07-23 14:10 [#11585] [report]
The real question is why oopers get so defensive of the term and the ideological territory? Instead of acknowledging the undeniable truth that the OOP ideology and its memes have been inexcusably responsible for a lot of bad habits and shitty code, and merely defending locally valid use cases for specific techniques, they always get extremely defensive. As if they can't just take the good and leave the bad, the NEED the term OOP to be viewed positively because they have invested their whole identity on it.
Anonymous · 2026-07-23 14:18 [#11588] [report]
>>26067
> Are you modifying the state of RawPizza to become a Cooked RawPizza?
Not necessarly. It was just a mindless example but you can leverage dynamical inheritance in prototype based OOP

RAwpizza can be a trait object that change the prototype of a cloned object

Something like this

RawPIzza := Object clone do(
cook := method(
self setProto(CookedPizza)) -- change the prototype of the receiver to Cooked pizza
eat := method( write("you can't eat a raw pizza"))
)

CookedPizza := Object clone do(
eat := method()
cook := method(write("already cooked"))
cut := method(...)
)


Margherita := Rawpizza clone

Margherita eat -- returns "you can't eat..."

Margherita cut -- cannot answer this message

Margerita cook -- now margherita delegates to CookedPizza object and not RawPIzza one (dynamic inheritance)

Magherita cut -- now you can cut it



In a way you are still thinking about it in terms of class based OOP: RawPizza is an object, not a class or a type

It was again a mindless example but you can model it to make actually sense
Anonymous · 2026-07-23 14:21 [#11589] [report]
>>26155
>The real question is why oopers get so defensive of the term and the ideological territory?

No one is defensive of something that is simply a tool in the toolbox, not unlike functional programming. You're making a mountain out of a molehill autistically.

>the OOP ideology and its memes have been inexcusably responsible for a lot of bad habits and shitty code,

No, shitty code has been caused by outsourcing to india, the phillipines, and mexico because I was on the teams having to deal with them. Across reddit and linkedin, there's constant criticism that outsourcing has created very bad codebases, and was likely responsible for the increase in Boeing airplane failures across the world, something that was hardly a thing before the era of outsourcing.

If anything, I've been brought in on more accounts than one to clean up shitty jeet code using OOP principles. What they did had nothing to do with it at all.

> As if they can't just take the good and leave the bad, the NEED the term OOP to be viewed positively because they have invested their whole identity on it.

The only people I know who take it as their philiosophy is unironically indians. They're the only ones who use OOP as a bible instead of a tool, and why all their code ends up a overengineered java mess, even in non Java languages.

In summary, you have no idea what you're talking about and have no real world experience, much like half of /g/.
Anonymous · 2026-07-23 14:24 [#11590] [report]
The problem is purity. Like people come up with cool ideas or paradigms and that's pretty neat, but then some retard comes along and is all like "absolutely everything, every single aspect of this language must adhere strictly to paradigm!" and just, fucking why? Right tool for the right job you know, no point forcing awkward nonsense where it doesn't belong.
Anonymous · 2026-07-23 14:27 [#11591] [report]
>>26154
You won't say because it reveals that you are wrong.
>If you say the file buffer is data, then you must admit objects hold data.
>If you say it's state, then you must admit that everything in memory is state.
>If you say both, you must admit that state is a kind of data.
This is a example to demonstrate that your distinction was not meaningful.
Anonymous · 2026-07-23 14:37 [#11593] [report]
>>26010
it means that he ignores the side effects and says they don't exist
Anonymous · 2026-07-23 14:37 [#11594] [report]
>>26159
thank you for revealing it was indeed an intentionally ambiguous, time-wasting question
all it demonstrated is your bad faith argumentation, though
Anonymous · 2026-07-23 14:48 [#11596] [report]
You'll like OOP when your client wants your program to do anything with anything and swap its component with anything
Anonymous · 2026-07-23 14:51 [#11597] [report]
>>26157
>No one is defensive
>>25919
>>25933
>>25940
>>25946
>>25969
>>26021

>>26157
>No, shitty code has been caused by outsourcing to india, the phillipines, and mexico because I was on the teams having to deal with them.
Both can be true.
Most of the OOP-brained people writing bad object models for simple problems instead of straightforward bottom-up solutions were white (one was trans).
Anonymous · 2026-07-23 14:52 [#11598] [report]
>>26162
Even old C was OOP with how header files worked. In fact, you could organize it so that you had relevant classes based on different header/ c file organization, and it does effectively the same thing. Files just act as classes.
Anonymous · 2026-07-23 14:52 [#11599] [report]
>>26161
What is YOUR point? You're the one pushing the irrelevant distinction between state and data as if it is somehow important to the discussion. Explain why it matters or fuck off.
Anonymous · 2026-07-23 14:55 [#11600] [report]
>>26163
>No one is defensive
You sound like a brainrot libtard. Having an opposite opinion and arguing is not "being defensive" you mongoloid
Anonymous · 2026-07-23 14:56 [#11601] [report]
>>26155
>real question is why oopers get so defensive of the term and the ideological territory?
Because they are dogmatic. That's why we call them things like religious and cult.
>undeniable truth that the OOP ideology and its memes have been inexcusably responsible for a lot of bad habits and shitty code, and merely defending locally valid use cases for specific techniques
The closest I have seen is them admitting that education on the topic being bad (like uncle bobs book).

>>26157
>No one is defensive of something that is simply a tool in the toolbox
lel, its a little defensive, while claiming no one is, which is obviously false.
>caused by outsourcing
Of course it has hurt code quality over all and always will. But it's not the only cause.
In fact the indians being OOP evangelists is a result of the western fixation with it, from it being forced in java to it being a default in education with no mention of it's drawbacks.

There's many, even otherwise good white western programmers that overuse OOP. And many mediocre ones like uncle bob that preach for the worst uses of it.
Anonymous · 2026-07-23 14:57 [#11602] [report]
>>26163
And there's a lot of trannies who support C style coding.

What you're failing to realize is that this has nothing to do with OOP being bad. Has everything to do with just incompetent programmers. Cause ever since the retarded STEM initiative that got pushed back in the early 2000s, everyone thinks they can do it. In reality, programming is not a common skill anyone can pick up. And more people need to highlight that not everyone is going to have the ability to code. Or be smart enough for it. And autists hate on OOP instead of the root of the problem are part of that group of incompentent people cause they fail to understand what engineering is.

That's why the successful ones know all ranges of the industry instead of sitting at home focusing on one little measly paradigm that has nothing to do with productivity or any form of long term professionalism. You are an neet coder/ nocoder and always will be.
Anonymous · 2026-07-23 15:04 [#11607] [report]
>>26162
What component? Give an example.
I mean I can also give examples of where OOP is useful, one would be when actually simulating tangible things, like a game, with many possible configurations that also execute differently. Like moves in pokemon.

>>26166
I don't think he has a point anymore. His original "argument" was
>OOP doesn't couple data and logic as cniles continue to repeat like unresponsive retards
essentially "critics are incompetent because they don't know the difference between state and data"
And when btfo he will call others time-wasting, hahaha.
Anonymous · 2026-07-23 15:49 [#11618] [report]
OOP is how your boss wants you to program so that you can get replaced by an Indian next year. OOP is restrictive and predictable. It turns you into an interchangeable human compiler so when you ask for a raise he can replace you with an immigrant.

OOP is also bad for the same reason global mutable variables are bad. The only difference is that the mess is more localized, but eventually you will run into the same problems.

Your best bet it to pickup a functional programming language before its too late
Anonymous · 2026-07-23 15:51 [#11620] [report]
>>26170
Dude shut up. You have no idea what the fuck youre talking about. No boss of mines has ever said anything OOP related, you lying faggot.
Anonymous · 2026-07-23 15:55 [#11622] [report]
>>26170
>Your best bet it to pickup a functional programming language before its too late
of course it's a functard post
no other kind of poster would dream such unemployed-core stuff up, like a boss caring how the code is written. or the constant fear of being replaced by indians (clearly due to such lack of competences that an indian is a viable, realistic replacement)
Anonymous · 2026-07-23 15:59 [#11625] [report]
>>26172
kek was thinking the same thing.
Anonymous · 2026-07-23 16:35 [#11645] [report]
>>26172
Use your head faggot, if your boss doesn't care about how the code is written the your job is inevitably going to be overrun by the lowest common denominator.

A verbose, mouth-breather friendly language will only accelerate this

Sorry that I want to program with people who know how to use a toilet
Anonymous · 2026-07-23 16:37 [#11647] [report]
>>26174
Usually, youre suppose to have a senior who nips this in the bud. And the industry standard is OOP, and thats because it ended up winning.
Anonymous · 2026-07-23 16:45 [#11649] [report]
>>26174
shit and piss yourself over it all you want, it won't change the fact that actually competent people have no reason to fear being replaced by indians
not like your worries about being replaced have any merit, though, when you're not even employed in the first place
Anonymous · 2026-07-23 17:35 [#11663] [report]
>>26170
This is stupid to the point that it seems like a false flag.

If you want to make a codebase hard to read and hard to change, so that you cannot be replaced, OOP is perfect for you. Especially with clean code (polymorphism everywhere, methods at most 1 line long, nonsensically split)... Add inheritance and you have a really nicely incomprehensible rats nest, and you have institutional support for it.

Hell, actually maybe that's why it's so popular kek
Anonymous · 2026-07-23 18:02 [#11671] [report]
Declarative programming is unnatural.
Anonymous · 2026-07-23 18:03 [#11672] [report]
>Distant past is futuristic dystopia at war
HOLY KINO
sage · 2026-07-23 22:00 [#11718] [report]
>>25886
>why does everyone hate math?
>everyone

Reply


formatting guide

max 5 MB; images get thumbnails.