Not a comment on the article, but the linked proposal to change the class syntax doesn’t really seem to justify its existence, or why we should change this.foo to this->foo. Although I do like the hidden keyword much better than the other proposal for private members, and the ability to put static initialisers in an explicit static {} block rather than just immediately-executed code outside the class in the same module.
Edit: I think a lot of this could be better resolved with some sort of namespace support, in which you can access the “private” namespace as a first-class value when you need to, as in AS3.
Not a comment on the article, but the linked proposal to change the class syntax doesn’t really seem to justify its existence, or why we should change
this.footothis->foo. Although I do like thehiddenkeyword much better than the other proposal for private members, and the ability to put static initialisers in an explicitstatic {}block rather than just immediately-executed code outside the class in the same module.Edit: I think a lot of this could be better resolved with some sort of namespace support, in which you can access the “private” namespace as a first-class value when you need to, as in AS3.