>procedural
>functional
>OOP
>imperative
which should I learn?
What good sources are there about the diferences?
Why OOP is bad?
>>59604800
go with imperative if you're writing performance-crucial shit like a pixel shader or something. It means hand-holding your cpu on what to do and using virtually no abstractions
procedural i've always found to be kinda unidientifiable, like how the fuck do you recognize something to be procedural
functional is much nicer, more readable and such than oop, but inherently it's stateless, which makes certain things very difficult to implement. Don't try making a chess game or something in functional, it'll be a horrid mess you can't make sense of because the game's state isn't defined well. Use functional for a sort of transformation pipeline, where some data comes in, you apply some transformations to it, and output something related (e.g. maybe you can implement a binary hash program in it, hashes are usually transformation pipelines with little or very transient state)
oop for anything that's gonna be inherently stateful like a game, stuff with databases like a sales/clients register, and guis
>>59604800
oh btw java is a nice mix of both oop and functional
>inb4 pajeet
java is all about oop, but you have streams and lamdbas, so inside a code body somewhere you can do things like
Map<identity, thing> map = listOfStuff.stream()
.filter(x -> x.someBooleanProperty())
.filter(x -> "bla".equals(x.thing))
.map(x -> new WrapperThing(x))
.collect(x -> Collectors.toMap(x.identity, x));
>>59604937
>Map<identity, thing>
*Map<identity, WrapperThing>
>>59604937
>oh btw java is nice
AbstractBeanFactorySingletonBuilder
>>59604800
OOP is great, it's just that most people don't know what it really is
>>59604997
so don't be a RetardedMonkeyBasedCodeWriterImplementation
>>59604800
>Why OOP is bad?
Because people are retarded and can't design shit
>>59604871
>procedural i've always found to be kinda unidientifiable, like how the fuck do you recognize something to be procedural
If it has procedures, it's procedural.
Moreover, all of these paradigms aren't antagonistic to each other.
>>59605051
so basically imperative split into blocks (functions)?