Jan Bakuwel writes:
While I like Python a lot, I do miss the support of advanced compilers that tell me at compile time where I made a typo or logic error so I find myself spending relatively more time debugging at runtime.
That's inherent in an implementation that compiles "just in time" to run and "module at a time", as Python implementations generally (always?) do. After all, if you really made a syntax *error*, Python will error out at compile-time. So that presumably isn't what you're talking about. Is it that the error reporting isn't as precise? Or something else?
I appreciate that I have much less experience with Python than many of the folks on the list here. So please help me understand how the suggested feature would, in any way, unfavorably interact with the rest of Python as you say.
If it were optional, I wouldn't use it, and I work with a couple million lines of code that won't be changed. So it would be a WTF? every time I saw it. As you pointed out yourself, it's programmer time, not lines of code or machine time, that's expensive. Because of the way the Python parser works, it would also likely be implemented as be a keyword, and that would require changing a ton of code (eg, the 'end' argument to print()), which would kill the idea. (Exceptions to the rule that a keyword is globally reserved have been granted in the past, but I believe they were intended to be deprecated on introduction, and eventually turned into "full" keywords.) Steve