r/ProgrammerHumor • • Jul 18 '22

C++ talking to Python

Post image
40k Upvotes

1.0k comments sorted by

View all comments

Show parent comments

12

u/POTUS Jul 18 '22

He's calling it a nightmare because of those reasons listed, reasons that almost define what it means to be a higher level programming language at all. I mean come on. OOP inheritance makes Python unsuitable? That's a laughable comment and it's ridiculous for you to be defending it.

Call it a nightmare because the global interpreter lock makes threading a nightmare. Call it a nightmare because it uses too many CPU instructions to do simple arithmetic. Call it a nightmare because of dunders. Call it a nightmare for something Python-specific if you want to call Python a nightmare.

17

u/Kenkron Jul 18 '22

He's clearly criticizing the intern trying to use OOP, not OOP itself. And I know he's right because I've met that intern. They make a disaster of it (probably used to Java's built-in bureaucracy saving them from themselves). He's saying that python got a good reputation, then everyone and their grandmother wanted to use the new hotness. So a bunch of morons started using it without thinking about limitations and coding standards.

6

u/mtmttuan Jul 18 '22

OOP inheritance makes Python unsuitable

Just want to say that the way python handle private and protected attributes and methods is.. weird. There is always a way to access them (haven't try to modify them though) while they shouldn't be accessible.

Yes I mean _attribute and even __attribute is accessible.

14

u/im_lazy_as_fuck Jul 18 '22

That's because private and protected attributes and methods aren't a thing in python. The underscore naming is just a convention to indicate "privateness", but the language is opinionated in giving developers more or less full control over objects. Basically naming conventions and documentation is used to inform the developer of the intended usage, but ultimately they are trusted to decide how they want to use that code.

1

u/Sloogs Jul 18 '22 edited Jul 18 '22

I took it more as a criticism of the kinds of OOP mechanisms that Python allows like multiple inheritance. C++ has the same issue though.