Closed amcgregor closed 12 years ago
The idea was to adopt the off-side rule, as Python does (although for execution blocks, not necessarily everywhere). There really isn't a claim of adopting Python's style, or claim comparable readability (though that would be nice). I won't comment on the rest, since it seems that the reporter missed some relevant information in the docs, and perhaps the language's direct derivation from Objective-C (and Smalltalk, indirectly). Closing this issue as I don't think any action needs to be taken to address the reporter's concerns.
The example code is no-where near Python-like in indentation, style, or readability. The indentation rules of Python clearly indicate scope nesting, whereas your front-page example clearly does not; the plus indicator with a space can easily be mistaken for an indentation level making the example's class method appear to be part of the previous scope.
The lack of clear scope designation (colon at the end of the local scope increment, e.g.
if foo:
) makes it very hard to read with two-space indentation (a level that no sane Python developer uses, we've standardized on four), unnecessarily verbose assignment operators (I'm assuming to differentiate from comparison), and what has to be the least obvious function declarations of any language I have ever seen. This snippet:There is next to no visual distinction between arguments and return type, no clear designation as a function / method, and no scope operator. Standalone most people likely couldn't tell it apart from a one-line function what with the return keyword on the same line! It's unreadable and very, very un-Pythonic.
I'm pretty sure if Python were a person, it'd be ashamed to be associated with this syntax.
Quickly edited to add another jibe.