Like ensuring that the complete code is consistent before starting to execute?
In the current Python you won't get any warning until you try to execute a function that don't exist if it's in a different file, then the program bombs. So this means that you need 100% test coverage of the code for every release.
Compared to languages like Java and C# where that kind of issue is discovered at compile time.
Testing code for "consistency" is an NP complete problem. It's complicated by tendency of Python developers to use "pip install" to pull in arbitrary modules at run time, which is not deterministic, and tracing down the dependencies is itself an NP complete problem due to the dependency chains and deliberate re-wrapping of some modules by other modules.
Case, switch, don't care what you call it but 7 layer nested if statements are insane. If they're a bad idea why does virtually EVERY other language have them? When you're lacking control constructs the shell scripting language has there's a problem.
I can't be the only one who's tried to use Python code I found on the internet and had no end of trouble because there are so many mutually incompatible versions of the language, versions of libraries, etc.
IMHO, "significant changes" should be absolutely the last thing a language ever tries to do. When you reach the point of "significant changes", it's time to call it something different and stop pretending it's the same language, because it isn't.
Like ensuring that the complete code is consistent before starting to execute?
In the current Python you won't get any warning until you try to execute a function that don't exist if it's in a different file, then the program bombs. So this means that you need 100% test coverage of the code for every release.
Compared to languages like Java and C# where that kind of issue is discovered at compile time.
Testing code for "consistency" is an NP complete problem. It's complicated by tendency of Python developers to use "pip install" to pull in arbitrary modules at run time, which is not deterministic, and tracing down the dependencies is itself an NP complete problem due to the dependency chains and deliberate re-wrapping of some modules by other modules.
Case, switch, don't care what you call it but 7 layer nested if statements are insane.
If they're a bad idea why does virtually EVERY other language have them?
When you're lacking control constructs the shell scripting language has there's a problem.
I can't be the only one who's tried to use Python code I found on the internet and had no end of trouble because there are so many mutually incompatible versions of the language, versions of libraries, etc.
IMHO, "significant changes" should be absolutely the last thing a language ever tries to do. When you reach the point of "significant changes", it's time to call it something different and stop pretending it's the same language, because it isn't.
"Python extension modules, written in C, may now use a new loading mechanism that makes them behave more like regular Python modules when imported."
Behave more like regular python modules... so, that means they now run slower?