fhoekstra@programming.devtoProgramming@programming.dev•What are your programming hot takes?
92·
1 year agoLarger projects in Python (like homeassistant) tend to use type-hints and enforce them through linters. Essentially, these linters (with a well-setup IDE) turn programming in large Python projects into a very similar experience to programming a statically typed language, except that Python does not need to be compiled (and type-checked) to run it. So you can still run it before you have satisfied the linters, you just can’t commit or push or whatever (depending on project setup).
And yes, these linters and the Python type system are obviously not as good as something like a Go or Rust compiler. But then again, Python is a generalist language: it can do everything, but excels at nothing.
This looks incredibly powerful and cool… but also like the kind of thing that may be a bit too niche or experimental for me to learn after just 2 years of the occasional casual Bash scripting and 4 weeks of having used zsh as my terminal.
I am trying to resist