i would like to second that i believe Python did something almost revolutionary by taking whitespace seriously and make it part of the syntax. i wish i had a way to write javascript with significant whitespace---those braces are a real nuisance. i always have to count them even in mildly nested code.
one of the big advantages of significant whitespace vs braces (or some kind of begin
... end
syntax is the improved helpfulness of syntax errors: with braces, a missing brace will often lead to an error message that points to the end of the sourcefile---happy hunting for the one missing }
hundreds of lines up. with significant whitespace, an indentation error most of the time gets you an error message that points almost precisely to the offending part (is this a fact of syntax or is it just due to some difference in parsing of python vs javascript, ruby? not quite sure at this moment).
that said, i'd really love it if it were possible to write python with even less, less parentheses that is. i know it is difficult since nested function calls can quickly turn ambiguous; i guess resolving this issue would be a matter of putting some clear rules of interpretation in to work. i find print repr int x
so much clearer than print( repr( int( x ) ) )
(which is one reason i don't program in lisp).
that said, i otherwise find the question perfectly reasonable. i mean i don't like licorice, but some people love it. i frown a bit on the emotions such a question can provoke in python folks (tho i can relate to it).
i want to suggest that whitespace is just a presentational, not an inherent aspect of python, by which i mean python's big value (apart from the amount of working code that is available) is its usability, the speediness and correctness of its implementation, and the the amalgam of working, useful concepts (iterators, context managers, exceptions, early failure on bogus actions like indexing a string with a non-number) that other popular languages do not offer in this combination. whether you write out those concepts with braces or whitespace is as much a matter of presentation as much as whether you write them out primarily in english, dutch, or chinese is a matter of presentation. i imagine that you could separate the language 'itself' from the grammar of the language, and treat the presentation as a transformable piece of data. ideally, you could then just flick a switch on your IDE or issue a command on the command line and get your sources transformed from bracey to braceless, or from english to chinese. it should be possible to do that and remain consistent.