> Yeah it can be annoying if you're not good at keeping track of your own typing hints
If you write all the code you deal with, then sure. My experiences on big projects tend to be typing problems introduced by libraries. The kind where documentation and the decorators suggest it'll only ever return some specific value type, but then very occasionally it'll return a tuple of that value type and a message.
Fair, but in the context of scripting, which seems to be the focus of this article, how often are you dealing with complex library code? When I write scripts for file manipulation / simple automation, I'm usually not dealing with complex library objects. Plenty of os method calls, plenty of regex matches, but little else in this context.
Big projects are another thing entirely. There's a plethora of reasons why you may want to use a different language for a certain project type. But it doesn't seem fair to imply that python is uniquely handicapped (or otherwise inferior to Java) for scripting and simple automation use-cases.
If you write all the code you deal with, then sure. My experiences on big projects tend to be typing problems introduced by libraries. The kind where documentation and the decorators suggest it'll only ever return some specific value type, but then very occasionally it'll return a tuple of that value type and a message.