Why is OOP considered bad here? Just curious, I use it and want to improve. Pic unrelated

Why is OOP considered bad here? Just curious, I use it and want to improve. Pic unrelated

It's not? : /

it's not. Stop being memed....OOP is

ELITE
L
I
T
E

Autists need a reason for feeling different and superior.

Global state, mutable data
Thats why it sucks tu write parallel code with it

Java uses OOP in a horrible way, which is why many people hate it.

Use rust, then you can be autist and OOP in the same time.

>Global state, mutable data
So, the same issues as (bad) non OOP code?

This. Java is used by 80% of the tech industry and it's the most shit and extremist language of them all.

Most people don't use it correctly.

Not only it's often used incorrectly, the so-called OOP-languages don't even implement what was supposed to be OOP but some variation of sepples style. OOP is just one of the ways to hide state from the programmer, nothing wrong with it per se.

I hear this a lot, what does java lack of to be a good oop language?

What do you define as sepples style?
How does it differ from "What is supposed to be OOP"?
Genuinely curious.

I'm one of those people who happens to write quite a bit of sepples due to my line of work and is still quite skeptical of OO and the complications it brings.
Fuck, C++ is even one of my favourite languages but I'm still not sold on OOP after all these years. Contrary to what a lot of new-age programmers think, I think that a non-OO language like C has a lot of merit.

From: Linus Torvalds

*YOU* are full of bullshit.

C++ is a horrible language. It's made more horrible by the fact that a lot
of substandard programmers use it, to the point where it's much much
easier to generate total and utter crap with it. Quite frankly, even if
the choice of C were to do *nothing* but keep the C++ programmers out,
that in itself would be a huge reason to use C.

In other words: the choice of C is the only sane choice. I know Miles
Bader jokingly said "to piss you off", but it's actually true. I've come
to the conclusion that any programmer that would prefer the project to be
in C++ over C is likely a programmer that I really *would* prefer to piss
off, so that he doesn't come and screw up any project I'm involved with.

C++ leads to really really bad design choices. You invariably start using
the "nice" library features of the language like STL and Boost and other
total and utter crap, that may "help" you program, but causes:

- infinite amounts of pain when they don't work (and anybody who tells me
that STL and especially Boost are stable and portable is just so full
of BS that it's not even funny)

- inefficient abstracted programming models where two years down the road
you notice that some abstraction wasn't very efficient, but now all
your code depends on all the nice object models around it, and you
cannot fix it without rewriting your app.

In other words, the only way to do good, efficient, and system-level and
portable C++ ends up to limit yourself to all the things that are
basically available in C. And limiting your project to C means that people
don't screw that up, and also means that you get a lot of programmers that
do actually understand low-level issues and don't screw things up with any
idiotic "object model" crap.

So I'm sorry, but for something like git, where efficiency was a primary
objective, the "advantages" of C++ is just a huge mistake.

The problem with Java is that 80% of the people in the world are retarded and they can't use it properly. That's the kind of people talking shit about it here.

Check out Smalltalk for what was "supposed" to be OOP. I myself don't mind C++, I even think it's brilliant in some ways(like the way emplace method works - it's impossible to replicate in the majority of languages).

>immutable state
>performance

Choose one.

I respect Linus but this is shit.

>- infinite amounts of pain when they don't work
This has NOTHING to do with OOP. You can build your code on a library in C and that library can turn out to be shit. I've spent many sleepless nights working around problems in libraries and APIs with C interfaces (i.e. the underlying code was not OOP).

>- inefficient abstracted programming models where two years down the road you notice that some abstraction wasn't very efficient, but now all your code depends on all the nice object models around it, and you cannot fix it without rewriting your app.

This is the inverse of the truth. If you have a nice abstract model it is TRIVIAL to swap in new, more efficient code. If the complexity of the model itself prevents efficiency then it was neither nice nor abstract. It was shit from day one.

Here's the truth about OOP and most programming paradigms: good programmers produce clean, beautiful code. Everyone else produces spaghetti. And MOST developers in the industry are not any good.

One great strength of OOP is that a programmer who is good can architect the system and leave code monkeys to implement the mundane parts. And the code monkeys are limited in the damage that they can do. Not so with C where a code monkey can fuck up the entire system.

but muh parallel

>The problem with programming is that 80% of the people in the world are retarded and they can't program properly.

Fixed. I hate, hate, HATE pajeets, mommy coder camps, and the "imma programmer to!" bum rush into every last community college and online course.

The industry is shit right now because the number of people with a piece of paper is high thereby driving down the salaries which are needed to attract the high IQ types who can actually ENGINEER good systems.

You're going to need parallel processing with immutable state.

It's not bad, but any time you create another layer of abstraction, there are going to be trade offs.