On Mon, 14 Nov 2011 15:59:39 -0800, DevPlayer wrote: > What I don't get is, having seen Python's syntax with indentation > instead of open and closing puncuation and other -readability- > structures in Python's syntax, is if someone is going to invent any new > language, how could they NOT take Python's visual structures (read as > readability) and copy it, whether it be a compiled language, explicidly > typed checked or whatever underlying mechanism they want to make that > code executable.
Because sometimes people have priorities other than readability. Or they actually *like* braces. (I know, crazy!) In fairness, the significant indentation is not all peaches and cream, it has a dark side too. For example, the difference between visually indistinguishable spaces and tabs can be meaningful (in Python 2, your code may be broken if you mix spaces and tabs; in Python 3, the compiler will give you an error). If you work in a noisy environment that eats whitespace, such as crappy web forums, people using HTML email, editors with unfriendly word-wrapping rules, and the like, you might miss having braces. I occasionally see emails with code looking something like this: print(something) while x < 100: print(something_else) x -= 1 if x % 2 == 1: some_function() else: another_function() third_function() print(x) So the "off-side rule", as it is called, is not uncontroversial. Languages developed by old-school language developers or academics, like Google's Go language, tend to be very conservative and hence require braces or even semicolons. http://en.wikipedia.org/wiki/Off-side_rule So many people keep asking for braces in Python that one of the developers (Guido?) gave in and added it to the language. Just run from __future__ import braces at the top of your file, or at the interactive interpreter, and you're done. My own opinion is that the time I save with significant indentation is a hundred times greater than the time I lose due to mangled code without braces. So I consider Python's design a big win, but other people may make other value judgments. -- Steven -- http://mail.python.org/mailman/listinfo/python-list