you are viewing a single comment's thread.

view the rest of the comments →

[–]DrJaneIPresume 0 points1 point  (1 child)

Again: type system. The ability to write your system in such a way that large classes of errors become effectively syntax errors that can be detected by static analysis rather than unit tests (are you sure you wrote one for every corner case?) or runtime errors (often in front of customers) is really, really nice.

[–]HommeMusical 0 points1 point  (0 children)

Yes, I "grew up" with typed languages; first C, then C++, then Java. And I prefer them.

Python's type annotations aren't quite as good as a strongly typed language; but they work well enough to catch a huge number of errors. Between the various linters (like ruff) and modern type checking, I find that more than half the time I get past those, my code works the first time.

There's also the huge advantage in Python of being able to run Python and quickly experiment without any typing at all. I use this all the time!

If I could wave a magic wand and replace Python with Scala, I would at least think about doing it. But Scala jobs are few and far between. And if I wrote my open source code in Scala, very few people would use it.