My few thoughts:
  • I'm in favour of having concise property access syntax, but I'm not 100% convinced on the arrow operator. I understand the concern about having the dot operator be ambiguous, and the potential performance penalties that can occur, but I think those fears are being over played. To my thinking the cost of having two different member access operators is worse. Having bean->property and bean.getProperty() mean the same thing segments the development space. Some people will use one, and some people the other. If I'm using an IDE with content assist, then I have to know whether I'm looking for a method or a property before I start typing. If we really need to have a different syntax I'd prefer something like bean.getProperty() and bean.@property or bean.$property - something that makes it clear that the difference is in what sort of member you're accessing rather than what sort of operator you use to get it. (NB: I spent a fair bit of time playing with Sather, so I'm probably more comfortable than most people with transparent property access)
  • If we are going to get syntactical support for declaring property accessors, then I have 2 requests:
    1. readonly
    2. It should be a transparent change to clients if I need to convert that from a property accessor to a standard pair of methods (or just a getter method)
  • Please please please don't give XML special treatment in the language. If we've found that working with arbitrary dynamic object graphs is too difficult then find a way to support them, but please do not make it XML specific. XML is not that important. I've had multiple situations where I've wanted to dynamically access properties from object graphs - I'd love a neat syntax for it. Please don't make this a XML-only solution. As Neal likes to quote Programming languages should be designed not by piling feature on top of feature, but by removing the weaknesses and restrictions that make additional features appear necessary. (R6RS)
  • I know others have said this, but I'll repeat them - please make sure JAMs play nicely with OSGi bundles.