whitespace appears between words, only that there's more than none. Python definitely cares how much.
Don't get me wrong -- I like Python and I use it a lot, but its reliance on syntactically significant whitespace isn't in the plus column.
English has well-defined whitespace rules, as does nearly every programming language. Every programming language style guide I've ever read has talked about indentation, so you have to indent according to rules no matter which language you use.
Have you ever thought to yourself, "wow, there's no way I'll be able to finish this task on time because I have to indent according to Python's rules"? I'm guessing no.
True, but it's because changing the whitespace doesn't break the prose. But in Python it certainly breaks the code.
> so you have to indent according to rules no matter which language you use.
Sort of. I've written any number of programs in languages that use braces as delimiters, but very lazily, then used a beautifier to fix things up at a keystroke.
I agree with your point that the source must eventually follow accepted formatting, but it's not true that I necessarily need to pay attention to that (as I do in Python).
Some of the better beautifiers even enforce optional style choices, like turning this:
The latter style has pretty much taken over since I started programming 40 years ago, to the degree that I've come to like it.
I emphasize I like Python and I find its advantages far outweigh the whitespace issue on my personal radar.
> Have you ever thought to yourself, "wow, there's no way I'll be able to finish this task on time because I have to indent according to Python's rules"? I'm guessing no.
You're right, but only because my editor automatically manages Python indentations in most cases, so I don't think about it any more.
The one caveat are Python source files that, from time to time and for various reasons, get infested with tabs. Then things get complicated as I try to get rid of the tabs without destroying the program's logic. IMHO tabs should be outlawed.