Well, is he right? Is OOP a meme?

youtu.be/QM1iUe6IofM

Well, is he right? Is OOP a meme?

Attached: 3C0EBC96-6A2F-4824-8D7A-829D29A5A903.png (1792x828, 808K)

OOP? More like POOP lololololol!

This message was brought to you by everyone who knows C.

Any paradigm is shit when written poorly.

That doesn't mean a paradigm can't still be shit when written correctly

No. But Java's inheritance model is bad.

bump

Attached: photo_2018-11-19_19-30-40.jpg (750x1199, 73K)

OOP isn't bad. Just because everyone named Rajesh uses it in a retarded way isn't the fault of paradigm.

That's shit code, not shit paradigm.

The argument against encapsulation makes no sense. Speaker made up some rule about no references, then claimed multiple objects using public API destroys encapsulation without explaining how or why. I feel bad about wasting 26 minutes on this.

Single dispatch object systems are complete trash. Multiple dispatch object systems are actually very nice.

Basically all "OOP design patterns" were created to work around limitations of single dispatch.

Honestly if you're not using exclusively machine code and Minecraft Redstone circuits then you're beyond saving

this guy's idea of good code is to inline everything and use switch statements

Programming is the meme

Switch statements are not that bad and until you are in a situation where you actually _need_ polymorphism to handle different cases, you should be using switches.

cringe and bluepilled

Ironically that's what single dispatch OO often devolves into.

My point is, switch is a lot more explicit in what it does, it's easy to read and understand. The same functionality done with polymorphism requires you to go through multiple files to finally have a full grasp of what can happen with the code.

>The same functionality done with polymorphism requires you to go through multiple files to finally have a full grasp of what can happen with the code.
I can't imagine why you believe that. What file you put things in has very little to do with OOP. Unless you're using some gay language that dictates single dispatch and one file per class or something equally retarded.

Use multiple dispatch and you can group functions in whichever way is most logical.

Think CLOS, not Java.

I'm not thinking CLOS because no one uses that shit. I'm thinking C++, Java, C#.

>C++, Java, C#.
Those are all single dispatch, and therefore complete shit.

You're the only one who keeps bringing up multiple dispatch here, no one wants to talk about it with you.

OP brought up the discussion of OOP. There are two kinds, single dispatch and multiple dispatch. Single dispatch has no redeeming qualities, but multiple dispatch is quite good.

I'm not the one who brought up the topic, OP did. I'm just answering OP's questions.

What are multiple dispatch langages , brainlet here needs help

Common Lisp (with CLOS) and Julia are probably the best known examples.

>trying to talk shit about OOP in 2019
Programming means trying new solutions to old problems.

I wonder how many boomers will still write their backend in php instead of C# with .NET Core

>Minecraft Redstone circuits
ok i laughed

Is composition over inheritance still OOP territory?

>Programming means reinventing the wheel every change you get
nah

>mfw made 8 bit cpu with its own instruction set with redstone and tried making another abstraction layer with it but too brainlet and ran out of ram

Attached: 1445972464054.jpg (482x427, 36K)

no
his critcisms are either strawmen or downright fallicious
like nobody said OOP meant you need an incredibly strict hierarchy

Ironically, there's an entire design pattern in OOP to implement double dispatch hackily (the Actor pattern).

>switch is a lot more explicit in what it does, it's easy to read and understand
that makes sense if your cases are small and related
when they're large or unrelated, it's better to have them in a different place

Dumb gay hacks like that exist because single dispatch sucks, and double dispatch isn't much better. Multiple dispatch supports dispatching on an arbitrary number of arguments.

The existence of design patterns like that is proof that single dispatch OOP is a steaming pile of shit.

>I failed to understand oop hence it is bad.
We had these threads before.

>failed to understand oop

Attached: 20190114110538.png (460x333, 141K)

He's right about how OOP putports to solve the problems of procedural code, but instead solves no problems and ontroduces problems of its own. There are functions that are not a property, extension, or behavior of one specific kind of object. In langs like Java, where everything must be inaide a class for some reason, these functions (which are often the "glue" between classes) have to be hacked into some other object somewhere, creating a large amount of unnecessary complexity and boilerplate.
Languages like Java and C# also have no way of encoding effects into types, nor do they provide sufficient limitations to the use of mutable state. Both of these capabilities are demonstrated to some degree in other imperative languages, and both allow for valuable sanity checks at compile time.