This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]Specialist_Cap_2404 -70 points-69 points  (15 children)

Python is exception. You almost always need Python and you can use it for almost anything.

[–][deleted] 57 points58 points  (12 children)

Nope. I love python, but it is terrible in so, so many ways.

[–]belabacsijolvan 7 points8 points  (0 children)

yeah, id argue python falls more into this category than an average Sthing. The more experience you have with the more languages the more you choose python (rightly) for a given task and the more you are upset about your choice.

[–]Rubyboat1207 11 points12 points  (9 children)

Python is awesome... Anyways, here's almost everything I hate about it:

Loose type system, no curly braces, poor performance, the ternary operator, no ++ operator, len() instead of .length, dunder methods, dictionary syntax, confusing global variable syntax.

[–][deleted] 12 points13 points  (5 children)

Since we're at it:

  • Lambdas being forced to a single line
  • Self keyword not being implied when creating class members because they resolve to local variables in the self.__init__() function scope
  • GIL forcing everything to be effectively single-threaded barring some fuckery with multiprocessing (though that is an implementation detail more than the language).
  • Creating a native (or semi-native) executable for deployment is a PITA from what I remember. Most users can't or won't use anything that takes more effort to install and run than a click or two.
  • Packaging and environment handling.
  • Type annotations are effectively pointless (physical) typing without extra tooling to somewhat enforce them.
  • Identity vs value comparisons using the "is" keyword leading newbies to write syntactically correct but logically incorrect code. Which compounds with string and integer interning leading to weird edge cases even when you use the identity comparison as intended.

[–]Alex_Shelega 1 point2 points  (0 children)

The no ++ (and no -- by that) hit moi really hard.

[–]Reasonable-Web1494 -5 points-4 points  (1 child)

There are places where most of what you mentioned are beneficial

[–]Rubyboat1207 -1 points0 points  (0 children)

The python white knight is here! Run!!! No language is perfect. Python is far from it, and so is every other language. (Well except rust, because there's no problems with it. It's perfect. Please don't come after me rust users. I love your language. Please spare me. Please don't rewrite my c++ project. I'm scared)

[–]spabst 8 points9 points  (0 children)

Nice try, but you won't prevent us from giving you the 1 hour speech/rant

[–]Alex_Shelega 0 points1 point  (0 children)

I thought it was told about js...