Hey /g/ I've been trying to get further into OOP. I get the basics and fundamentals and everything, but the more complicated design patterns are not coming to me as easy. What books does /g/ recommend to learn good OOP practices?
Also on a side note sometimes it seems like /g/ thinks OOP is a meme? Why is that the case? Is it?
>>62438875
Academics and NEET programmers hate OOP because they are lazy and don't need modularity.
>>62438875
Try writing some code. When your project is at about 1000 lines, you'll see what design patterns are and why they are needed.
>>62438898
I've been writing code... I do see why design patterns are needed. As for what they are I can kind of recognize when needs to be used. Regardless I want to study known design patterns... Do you have any recomendations on a source?
>>62438954
Normally I'd recommend the Gang of Four book, but it was pretty boring and UML'y so I won't.
>>62438875
i did this in mspaint
>>62438875
Bumping. I'd really like to understand OOP. Any good youtube tutorials that break it down? Also what are the alternative theories to OOP?
u gotta decide if you use OOP for
functionality
or
readability
/g/ hates oop because they never collaborate or have more than few k lines of code in a project
so oop is simple. you have objects. learn smalltalk
>>62438875
Oop in ool
>>62438875
OOP is so comfy. It feels wonderful to craft, refactor, and polish a well-designed OOP system, and then admire its beautiful design and architecture. It ends up being so neat, logical, modular, and organised.
>>62442202
lmao dude
>>62442211
lmao dude
>>62442315
What?
>>62438875
Head first design patterns is really good.
Don't let the cartoony and stupid looking face influence you
>>62442202
lmao dude
>>62438954
>>62439240
gameprogrammingpatterns.com
Also read up on visitors, as they are a somewhat clumsy replacement for multiple dispatch.
Currently learning C++ with Primer, does it teach good OOP basics or will I need a separate book to learn how to program OOP correctly?
>>62438875
Apart from whatever books /g/ will recommend, this only comes with experience, unfortunately. And it also depends a lot on what you're doing. I spent 6 years as a full time programming before encountering a usecase for an interface.
>>62442211
Also it's comfiert to test.
I don't think you can really do TDD without OOP.
>>62446322
I was studying design patterns in my free time, and a couple of months after I already made use of the command pattern to implement a job queue.
Really depends on what stuff you're working on.
But it's super useful to better understand frameworks you're forced to use.
After studying design patterns I finally started understanding how Angular works beside simply "write x to do y"
>>62447737
>I don't think you can really do TDD without OOP.
Is that what you think, huh?
>>62438875
>I've been trying to get further into OOP
>>62441606
>I'd really like to understand OOP
>>62447915
I'm not saying you can't, but that it's easier to do with OOP.
>>62441926
>/g/ hates oop because they never collaborate
> not a single comment shitting about OOP
OOP sucks balls and just makes your code harder to read
meme abstractions everywhere and 100 files containing 2 lines of code, this is fucking ridiculous.
>poo.in.the.loo.poes.yo()
how can OOP defenders ever recover from this
>>62448280
W-why would it be easier? Isn't TDD basically just writing a bunch of asserts before your code? That's not rocket science and shouldn't involve any objects.
>>62448400
Actually, I don't know.
I don't have muich experience in not OOP, so maybe I was talking out of my ass.
By using OOP to decompose your program into different classes you can test individual components before assembling them into the greater whole.
This provides improvement over sequential methods because you can catch errors in individual sections without involving your entire build.
>>62448627
> He thinks that people in other language only use a single function for the whole project
So can we agree all that the season started and all normie kids in school heard the Oracle teacher speak on how cool is to program in OOP and are just repeating it like parrots?
Why for example in Python use classes besides functions? Everything I've written could be done both ways.
>>62438892
What world do you live in? Academics actually wank over OOP all the time.
The most relevant software is written, and has always been written, in non-natively OO languages.
>>62438898
They are useful a few times, but never needed. They are the most dangerously overused programming template in the industry.
My current favorites that I've just started reading through are oodesign.com and deviq.com
It's really useful to hear two explanations of the same idea, especially when it's something abstract and the example codes make different things clear.
>>62441606
Why study to understand OOP when you could study to understand programming in general?
>>62448400
TDD is sometimes useful, but most often it's used to compensate lack of program design a priori.
>>62447737
http://www.jera.com/techinfo/jtns/jtn002.html
OOPfags BTFO