OOP was fine
>>110212730OOP is shit
>>110212730OOP is mid
>>110212730OOP is still the best paradigm, but it was misunderstood and taught wrong for decades. Most professors today are second generation wrong.
>>110212860OOP is still the worst paradigm, but it was understood and taught correctly for decades. Most professors today are second generation right.
>>110212860You simply can't "teach" that. You need to have written large programs to understand the value of it
>>110212872You simply can't "teach" that.You need to have written large programs to understand how bad it is.
>>110212730OOP, when done properly, is good. OOP, when done improperly, or when forced as the solution to every problem, is bad.
>>110212730OOP, when done properly, is bad. OOP, when done improperly, or when forced as the solution to every problem, is also bad.
>>110212730OOP is great in moderate doses and makes programming easier to intuit by humans. But going full retard with any paradigm becomes awful. Having to make sense of a 10-deep functional programming monstrosity is no fun either and involves the same sort of jumping around as an OOP mess.
>>110212976OOP is terrible in moderate doses and makes programming harder to intuit by humans. But going with any amount of the OOP paradigm becomes awful. Having to make sense of a 10-deep functional programming monstrosity is fun and involves a better sort of jumping around than an OOP mess.
>>110212730Objects are fine and like 20-40% of OOP is fine,the rest is dogshit
>>110212730Object are trash, 100% of OOP is bad, but the rest is good.
>>110213056Objects are bad and like 90-100% of OOP is abysmal,the rest is not good
>>110212730The only people who are intimidated by OOP are JavaShits who are upset they have to stop installing NPM malware, and learn design patterns like a white man.
Is there any popular software written in OOP at all?
>>110213116The only people who are intimidated by FP are JavaShits who are upset they have to stop installing Sun malware, and design functional abstractions like a white man.
I love it, but a lot of people push inheritence in places where other solutions are a better fit. The ur example was Head First Design Patterns, an othetwise stellar text, using the Decorator pattern for drink modifcations, when simple data compostion was a much better fit, both logically and for mapping to a database.Also, a lot of it is cope around static typing, and if you're not in that arena, sometimes just modifying your instances at run time is fine.>>110212860At a high level, even superficial level, can you elaborate on what you mean here? Genuinely curious.
>>110213116>I prefer red>"You are intimidated by blue"OK
>>110213139Not a lot, just every single GUI you use and every single website you visit
>>110213352Red is the colour of your pussy after I fuck the shit out of it, and it becomes blue after you refuse to wash my crusty cum from it.
Notice how the only argument anti-OOPers bring is>no u
>>110212730OOP has its uses and models some problems well. Binding context and functions is often useful. The biggest issue with OOP has always been design patterns—best termed as "patches against the language": languages should offer first class support for the sorts of things design patterns claim to solve.
>>110213396Notice how the only arguments pro-OOPers bring are such that you can mechanistically replace "good" with "bad" and get an equally plausible claim. Notice how this keeps going over their heads and they don't understand why they're being mocked in that particular way.
>>110213396no u
>>110212730OOP is a tool builder, not a program builder.You make a nice neat C structured program, but you build several OOP tools to make it clean and neat and readable.
>>110213429OOP is a shit builder, not a program builder.You make a nice neat C structured program, but you build several OOP tools to make it shit and messy and unreadable.
>>110213437You CAN do that, but only if you're operating under izzat rules
>>110213382Also most programming language libraries. Implementations of functional programming paradigms are often underpinned by OOP too>object.map()>object.filter()>object.reduce()>object.get()>object.toString()
>the ungodly horrors i've seen when entity framework meets OOP
>>110213437>CWhat the fuck did you build in that? Some hello world gay shit after watching one 2009 thenewboston C tutorial? All my homies use Rust. Rust makes everything better. Don't believe me? Write a bubble sort implementation in Rust. Now write a Quick Sort implementation in C. Notice how bubble sort wins literally every single fuckin' benchmark? That's because Rust. Algorithms? System design? That's all for niggers and women. Ever watch Hidden Figures (2016)? Exactly my point. Hollywood is going to make a fucking movie out of me once I ask Claude to rewrite whatever piece of shit those black chicks wrote in Rust. I already got Steven Spielberg on the line rn, and we're going golfing next week. Topic of conversation? What a great fucking guy I am.
>>110212730Sure, it's fine if used properly. Unfortunately there are a lot of dogmatic retards out there who have no capacity for independent or critical thought and these knuckle-dragging idiots will shit out the most horrendous, appalling, overengineered and overly-complex code base abominations you've ever seen all the while attempting to follow """best practices""" without having any understanding of what they're actually doing.I'm saying this after nearly 15 years of employed, professional experience with code bases in the "wild."
>>110213491Oops. Forgot to add Rust to the filter on this machine.
>>110213382Also no programming language libraries. Implementations of OOP programming paradigms are often underpinned by procedural too>Do this>Then this>So this
10 screen 520 open "grp:" as #130 for a=1 to 1540 circle(128,96),a+20,a50 next55 pset(119,92)60 print #1,"Moo"70 if INKEY$="" goto 70
>>110213387
>>110212730OP is a faggot thougheverbeit, which is fine too
>>110212860You faggots always say that>real OOP has never been tried before!
>>110213711No, they say real OOP was Smalltalk.
>>110213717Real OOP has never been tried.
>>110212730I'm sucking dick rn
I'm drinking cum rn
>>110213139Every single web browser, almost every video game
>>110213785it has been tried, and it works, but people filtered by OOP insist on doing OOP exaggeratedly wrong not to make it obvious it's their fault and not the paradigm's for their attempt at "OOP" not working
>>110215750>people filtered by OOPNo such people exist. OOP specifically exists to make programming more accessible to people who are too dumb to program properly. That's always been its main selling point.
>>110213437>C structured program>nice>neatYeah this guy's a fizzbuzzing nocoder
>>110215838>OOP structured program>nice>neatYeah this guy's a fizzbuzzing nocoder
> explore procedural languages> discover its just structs + procedures> pattern emerges:> - MyStruct> - MyStructDoSomething(self: *MyStruct, ...)> - MyStructDoSomethingElse(self: *MyStruct, ...)> ownership is not enforced / no encapsulation, side effects everywhere because any proc receiving any pointer can be doing anything> hard to follow where things are being mutated> forcing myself to mutate MyStruct only in MyStruct procs in order to keep mutations local to one spot to grok it> so MyOtherStruct procs, which receive MyStruct proc, do not mutate MyStruct directly, but delegate to MyStruct procs> start to realize that im slowly recreating OOP conceptsyeah, no, OOP is here to stay. anyone who says otherwise is basically suffering from burnout, imo.there is only one thing problematic with OOP and that is: inheritance.inheritance should be used sparingly or not at all, use composition instead.and this is not an either/or question, its not OOP vs procedural. you gotto use both.use OOP for the main structure of the software and use procedural patterns (cache locality, using soa instead of aos, etc) for performance critical bits.PS: dont get me started on implementing interfaces in procedural languages, its such a joke, really...
>>110212730define oop
>>110215781>the "i don't use OOP because i am smart" mental gymnasticscope
>>110215934>the "i am so mad i'm having a mental episode and arguing with the voices" mandatory POO tard replymeds
>>110215877TSMTPeople use very similar patterns but in a half-assed way and think they're part of the cool gang for not using OOP.
>>110215877> pattern emerges:> - MyStruct> - MyStructDoSomething(self: *MyStruct, ...)> - MyStructDoSomethingElse(self: *MyStruct, ...)Great. Now explain how that justifies using the inferior subtyping and abstraction mechanisms that arise out of POO.
>>110215973>the inferior subtyping and abstraction mechanisms that arise out of POO.As well as an inferior dynamic dispatch mechanism, I should add.
>>110215941cope 2: cope harder
>>110215877You literally made a case for hating oop. You can roll your own object style abstractions as you need in procedural style, absolutely no need to go to the abstractprinterclassfactory insanity the oop land is preaching. Structs with awareness of self in functions is really all you need (and that is just to reduce some typing even in this clanker era)
>>110212730OOP is a passing solution to 99% of problems unless you want to go hardware level. First person to discover Objects was rightly considered a genius.
>>110216824Fr people are so traumatized by it they think OOP always means an interface with thousands of poorly named functions that connect to all parts of the project and other bloated interfaces. Thats not OOP problem thats a skill issue.
(((OO"P"))) is the reason all (ALL, NO EXCEPTIONS, ALL!) software is garbage (ALL SOFTWARE, NO EXCEPTIONS)
OOP is still the GOATpeople who don't like OOP were just doing it wrong
>>110213401>>110213499Came here to say this
>>110216824>absolutely no need to go to the abstractprinterclassfactory insanity the oop land is preachingBut we OOP users don't preach that and don't do that. I don't think I've ever even used the factory pattern once.