[a / b / c / d / e / f / g / gif / h / hr / k / m / o / p / s / t / u / v / vg / vm / vmg / vr / vrpg / vst / w / wg] [i / ic] [r9k / s4s / vip] [cm / hm / lgbt / y] [3 / aco / adv / an / bant / biz / cgl / ck / co / diy / fa / fit / gd / hc / his / int / jp / lit / mlp / mu / n / news / out / po / pol / pw / qst / sci / soc / sp / tg / toy / trv / tv / vp / vt / wsg / wsr / x / xs] [Settings] [Search] [Mobile] [Home]
Board
▼ Settings Mobile Home
4chan
/g/ - Technology

Name
Options
Comment
Options


Gimmicks


PEE text
My Bans
Verification
File

    08/21/20New boards added: /vrpg/, /vmg/, /vst/ and /vm/
    05/04/17New trial board added: /bant/ - International/Random
    10/04/16New board for 4chan Pass users: /vip/ - Very Important Posts
    [Hide] [Show All]




    >>
    >>110212730
    OOP is shit
    >>
    >>110212730
    OOP is mid
    >>
    >>110212730
    OOP is still the best paradigm, but it was misunderstood and taught wrong for decades. Most professors today are second generation wrong.
    >>
    >>110212860
    OOP is still the worst paradigm, but it was understood and taught correctly for decades. Most professors today are second generation right.
    >>
    >>110212860
    You simply can't "teach" that.
    You need to have written large programs to understand the value of it
    >>
    >>110212872
    You simply can't "teach" that.
    You need to have written large programs to understand how bad it is.
    >>
    >>110212730
    OOP, when done properly, is good. OOP, when done improperly, or when forced as the solution to every problem, is bad.
    >>
    >>110212730
    OOP, when done properly, is bad. OOP, when done improperly, or when forced as the solution to every problem, is also bad.
    >>
    File: 1767950240698.jpg (223 KB, 778x1466)
    223 KB JPG
    >>110212730
    OOP 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.
    >>
    >>110212976
    OOP 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.
    >>
    >>110212730
    Objects are fine and like 20-40% of OOP is fine,the rest is dogshit
    >>
    >>110212730
    Object are trash, 100% of OOP is bad, but the rest is good.
    >>
    >>110213056
    Objects are bad and like 90-100% of OOP is abysmal,the rest is not good
    >>
    >>110212730
    The 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?
    >>
    >>110213116
    The 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.

    >>110212860
    At 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
    >>
    >>110213139
    Not a lot, just every single GUI you use and every single website you visit
    >>
    >>110213352
    Red 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
    >>
    >>110212730
    OOP 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.
    >>
    >>110213396
    Notice 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.
    >>
    >>110213396
    no u
    >>
    >>110212730
    OOP 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.
    >>
    >>110213429
    OOP 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.
    >>
    >>110213437
    You CAN do that, but only if you're operating under izzat rules
    >>
    File: 1768858085409.gif (530 KB, 498x372)
    530 KB GIF
    >>110213382
    Also 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
    >C
    What 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.
    >>
    >>110212730
    Sure, 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."
    >>
    >>110213491
    Oops. Forgot to add Rust to the filter on this machine.
    >>
    >>110213382
    Also no programming language libraries. Implementations of OOP programming paradigms are often underpinned by procedural too
    >Do this
    >Then this
    >So this
    >>
    10 screen 5
    20 open "grp:" as #1
    30 for a=1 to 15
    40 circle(128,96),a+20,a
    50 next
    55 pset(119,92)
    60 print #1,"Moo"
    70 if INKEY$="" goto 70
    >>
    File: 1627818693400.gif (107 KB, 498x498)
    107 KB GIF
    >>110213387
    >>
    >>110212730
    OP is a faggot thougheverbeit, which is fine too
    >>
    >>110212860
    You faggots always say that
    >real OOP has never been tried before!
    >>
    >>110213711
    No, they say real OOP was Smalltalk.
    >>
    >>110213717
    Real OOP has never been tried.
    >>
    >>110212730
    I'm sucking dick rn
    >>
    I'm drinking cum rn
    >>
    >>110213139
    Every single web browser, almost every video game
    >>
    >>110213785
    it 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 OOP
    No 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
    >neat
    Yeah this guy's a fizzbuzzing nocoder
    >>
    >>110215838
    >OOP structured program
    >nice
    >neat
    Yeah 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 concepts

    yeah, 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...
    >>
    >>110212730
    define oop
    >>
    >>110215781
    >the "i don't use OOP because i am smart" mental gymnastics
    cope
    >>
    >>110215934
    >the "i am so mad i'm having a mental episode and arguing with the voices" mandatory POO tard reply
    meds
    >>
    >>110215877
    TSMT
    People 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.
    >>
    >>110215941
    cope 2: cope harder
    >>
    >>110215877
    You 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)
    >>
    >>110212730
    OOP 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.
    >>
    >>110216824
    Fr 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 GOAT
    people who don't like OOP were just doing it wrong
    >>
    >>110213401
    >>110213499
    Came here to say this
    >>
    >>110216824
    >absolutely no need to go to the abstractprinterclassfactory insanity the oop land is preaching
    But 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.
    BTC
    bc1qtm4rep7kyp2p28hlkfktpnd0j7uew47vnt2mev
    LTC
    ltc1q9xlaysse0mpfwf025esd69kt9zu3md22gh23du
    ETH
    0x6abA18D203520c8F90ca63eE7426a7bC345D98e6
    SOL
    E5ekoiauCR8yiNp451dmuPzhUxo84P5x3m9WJBK5kxZe
    XRP
    r3jYXNdMk2Vz5hXhKCKE9re8uz93JQFG1r
    DOGE
    DSBq5jRWkiwmEh1G7zBwmQDgRkvRr61fmb
    XMR
    85CTwq5wGjWZw5GgzgwZPrHyZxpLXMK5oZSSSk5j4x9w1bpqzisaWAUZYaAPfh6rP2MZJcaFqF1XmEzkw6YCqJSS2Txu6Z8




    Delete Post: [File Only] Style:
    [Disable Mobile View / Use Desktop Site]

    [Enable Mobile View / Use Mobile Site]

    All trademarks and copyrights on this page are owned by their respective parties. Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.