eerolanguage / eero

Eero was a fully binary- and header-compatible dialect of Objective-C, implemented with a modified version of the Apple-sponsored LLVM/clang open-source compiler. It featured a streamlined syntax, Python-like indentation, and other features that improve readability and code safety. It was inspired by languages such as Smalltalk, Python, and Ruby.
https://web.archive.org/web/20171101134337/http://eerolanguage.org/
288 stars 7 forks source link

Please do not reference Python when comparing language features. #22

Closed amcgregor closed 12 years ago

amcgregor commented 12 years ago

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:

openFile: String path, withPermissions: String = 'readonly', return FileHandle

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.

andyarvanitis commented 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.