Object oriented programming

>object oriented programming

Attached: 46a.png (645x729, 90K)

>OP's too retarded to understand something as simple as OOP

>pointers

Attached: 1506976579634.png (645x729, 40K)

>memory management

Attached: 519874717162.jpg (1129x1200, 118K)

OOP may be simple but designing good OOP software is anything but

>t. freshman about to dropout
saged

Good software and OOP are mutually exclusive.

cool story bro

It is simple, user. You just haven't tried building anything big enough to warrant using OOP procedurally, if you think building "good OOP software" is hard.

You need to understand the,

Principles of
Object
Oriented
Programming

it's more like you haven't built anything large enough to understand its complexity

> Protocol Oriented Programming

Attached: 1480373004719.jpg (577x1024, 75K)

>Domain Driven Design

Attached: 1506005442980.jpg (453x410, 88K)

10010 C IMPERATIVE PROGRAMMING
10020 C IS THE BEST KIND OF
10030 C PROGRAMMING

Attached: 1491126227513.gif (60x95, 24K)

POOP

>I have no idea what I'm talking about
No shit, user. You're a student at best, a NEET at worst. Of course, you have no fucking idea how the things work.
So listen to what actually employed devs tell you so you might stop being such a silly willy.

I feel like OOP can only be tolerable if you have no desire to really understand what's happening
I tried hard to learn OOP first java then smalltalk. There's just too much frustrating obfuscation

Ehh. You're half-right there.
However, the main problem with procedural programming as a whole - it'll take a shitload of time before you'll start producing actual useful results, user.
Writing fizzbuzz might be interesting for you at the moment, but that's ultimately a useless waste of time.
OOP simplifies things enough for you to start thinking purely about algorithms when you're writing your solution. It trains "programmer's way of thinking" like nothing else. As you become more proficient, you'll start to delve more and more into the lower level behaviors because rather than just blindly memorizing a shitload of new concepts you'll have practical applications laid out right there for you.

To be honest, if you have problems comprehending OOP - trust me, you won't be able to design "good procedural software". The fact it doesn't throw a bunch of weird concepts at you right off the bat doesn't mean you "understand" it. It just means you've only barely grazed the surface and essentially have no idea how it works in practice and what you're in for.
The main purpose of OOP to be humanly comprehensible. All the memes about "lel enterprise code" are nothing more than shitty memes based on the anecdotal cases of shitty programmers being shit. Proper OOP code is extremely easy to read and understand.

OOP is literally a meme

Is there really any alternative for managing complexity, though?
Closest thing I can think of is using stuff like monads in FP to abstract away code, but even languages like Scala have OO built in.

sadly have to agree with this

>high school kiddo who just learned pascal
get a load of this guy

OOP can be the right abstraction at time, just like FP can be. In my experience though it often just turns something simple that would take maybe 50 lines of code, into something that would take 500 lines of code with complex inheritance and interfaces.

The people on this board who don't understand OOP have never tried building anything more complex than toy projects or university assignments.

>50 lines of FP = 500 lines of OOP
you're doing it wrong.

You ... you have no idea what you're talking about, have you?

I disagree with you and I think your post makes a lot of assumptions about me in order to try to undermine me. OOP is not good.

truuu clap

if they did, theyd hate oop