Good evening, everyone. I have, but one quick inquiry. What are the best resources in your opinion to learn python by yourself as a complete beginner? Thank you all
Good evening, everyone. I have, but one quick inquiry. What are the best resources in your opinion to learn python by yourself as a complete beginner? Thank you all
Yes it is good because it’s completely true. Of course this question is going to attract a lot of Python developers who haven’t used Typescript and don’t know what they’re missing so I’m not surprised by this response.
Most Python developers still don’t even use static type hints. I guess partly because the Python tooling catastrophe makes it a quite a pain to set them up.
Salty huh
Saying you need to set up type hinting in Python shows that you’re the one assuming it’s a hassle like TS, where you need a different runtime to have access to something the language (JS) should have provided from the start.
Everything you need is provided by
typing
, which is included in a Python install. Just import it and start using it.Very. Python’s shit tooling has cost me literal weeks of my life. It’s so bad. Have you ever used Go or Rust? If not go and try them and then you will realise that it doesn’t have to be like that.
I’m not assuming. I have done this. It is absolutely a hassle. TS isn’t exactly hassle free but it’s still better than Python.
You mean like MyPy or Pyright? At least Typescript defines the semantics of its type hints. Python only defines the syntax! You can have multiple type checkers that conflict with each other!
If you do that, nothing will actually be checked. You need to explicitly run
pyright
in CI.Are you suggesting that you prefer to do the type validation upon execution? I’d like to have the checks done beforehand, be it in the IDE during coding or in CI. This way the feedback loop is shorter.
Then, backwards compatibility is a big thing in python, unlike node. So when typehints were introduced in 3.5 with PEP 484, they had to be optional.
It is a bit more complicated than that. Here’s a quote the above-mentioned PEP (3.5 was back in 2015, we’re at 3.12 now and typehints have evolved):
https://peps.python.org/pep-0484/