Anyways, screw python, what kind of psychopath creates a language with significant spaces?
Last time I spent a whole afternoon for a f** tab!
I once encountered a bug in MeldMerge, and because I was interested in python back then I decided t have a look at it. It turned out that a few spaces were missing and a line that should have been part of a for loop was executed only once, but after the loop ended.
How do you even format a patch for that?
Another place where the whitespace significance bites me is by using the python shell as a calculator. If you type in " 5+3" (without quotes) you get: "IndentationError: unexpected indent" That's quite annoying when copying and pasting some forumula from elsewhere.
I also thoroughly dislike the ad-hoc -ness of python. The horrible "if something is __main__: " contraption to have an (unfrotuantely not so) decent start point for a program is another annoyance.
Mandatory declaration of variables would be another big improvement. I've spend too much time running a program and debugging only to find out I made a simple typo in some variable and that caused python to just create a new variable. There are also some areas in python where variable declarations are already mandatory. For use of global variables in functions for example. Also when you're appending to a list in for example a for loop, you often have to declare an empty list just to have something to add to.
But these day's there is unfortunately hardly a way around python. It's become the defacto scripting language in a lot of projects.
In C it's quite common to have "beautifiers" to change whitespace and adjust for "coding style". I guess it would not be too hard to write something similar for python which then also adds braces instead of whitespace and can have variable declarations and a syntax check on mistyped variable names. That program would then also be able to spit out "standard python" without those features.
Python as an interpreted language is also "obsoleted". These days the python "interpreter" (sort of) compiles everything before it executes it, and in doing that creates extra garbage files in your directory tree.