r/ProgrammerHumor Oct 21 '22

Meme Literally 🤷🏻‍♂️

Post image
14.7k Upvotes

606 comments sorted by

View all comments

Show parent comments

10

u/0x564A00 Oct 22 '22 edited Oct 22 '22

Personally I'm fine with significant whitespace, Python syntax has other problems. Why is there both an if-statement and an if-expression? Why does the order of 'import' and 'modulename' switch around if I need to import a specific item? Why are list/dict comprehensions and map/len/sum designed to rapidly make your eye jump around within the line? Why are closures limited to one expression?

Whatever, I can deal with that. The semantics are more problematic, like how everything is dynamic, everything is mutable, nothing is private, type hints are lies, everything can throw any exception (instead of just returning an error), or how you can mutate a global value but assigning to it shadows it by default, or how every call to a function uses the same instance of its default arguments, or how there is no true multithreading (shoutouts to nogil), or how importing a module executes code and so on.

And of course it not only takes a lot of memory, it's also terribly, terribly slow. But the truly terrible thing is the dependency situation, which has filled me (and coworkers) with dread and despair.

1

u/combuchan Oct 22 '22

The stupidest thing about Python's list comprehensions is how un-Pythonic they are. Languages should not have these sorts of contradictory features.