I think this is more like a rant.

Holy Christ! I’ve been using Python to do some simple scripts here and there, and what a terrible language to deal with (yea, terrible, just down vote and move on, I need to say it somewhere).

Why would anyone change so many standards? I often need to deal with PHP/JS at the same time and I don’t have a single issue, they feel like the same language in practice, but when it comes to Python everything changes.

I just hate this more human-readable philosophy of Python, we need a common ground to communicate with the machine, I don’t want fancy keywords or syntax, it’s not that hard to learn a new syntax, it might take a few days, it’s not worth the trade off of changing so many standards that older languages came with.

For some reason every single code I write feels aesthetically ugly. I feel like the letters are just floating around without brackets and curly brackets.

I often mistake a lot of:

for x in list:

With:

for (x in list):

And it’s done, syntax error, I need to go back and do it “Python way”. It’s way harder to read Python code than anything else, I want to read what the for loop expression is evaluating, and the lack of brackets make it harder to assimilate.

Don’t even let me talk about types! Why would you provide a way to type parameters but don’t enforce it at runtime? Jesus Christ! It could be simple: if you type a parameter, you want it to be checked, if not, you wouldn’t type anything. You need to import built in types, why would any human on Earth make a decision like that? (from typing import List, Optional)

Why so many different ways to declare an array-like structure? Tuples, Sets, Dicts, Lists? Dude… ffs, I know each one supposedly has a “different” purpose, I literally don’t see any good benefits on it. It just makes me more confuse.

I’m not talking about 3rd party libraries like mypy, I’m talking about things that should be on language core since the first version.

The more I learn about Python, more it pisses me off. I’m mainly using it because of interoperability, easy to setup, it runs flawlessly in any OS and Python usually comes pre-installed in many OSs, but the experience of developing in this language is just terrible.

  • calcopiritus@lemmy.world
    link
    fedilink
    arrow-up
    2
    ·
    5 hours ago

    As someone that hates python more each day: you are absolutely wrong on basically every point.

    The only thing you are right on is the non-enforced types (not even warning logs!).

    First, python doesn’t “change all the standards”. Languages are different. If they weren’t different, there would only be one language. There is no language standard.

    for (x in a) is stupid. You want to know what is the “expression” of the for loop? It’s everything after the for and before the :. You don’t need () at all. In fact () would be confusing since you could argue the in is part of the for loop syntax.

    You don’t need to import the types you claim you need to import. list, tuple, dict (idk about set) are available without importing.

    I won’t even explain why you are wrong about data structures and tuples. Just that they are not “array-like”.

    It doesn’t run flawlessly on any OS. Many OS ship with ancient versions of python. So it’s incredibly easy to have your script not run on another computer because you used features that are too new. There are also 3rd party dependencies that are OS-dependant. But you cannot know that until you run it and it fails on some random function call. And after hours of research you figure out that that error is because your OS is not the same as the developer’s.