On Friday, 25 January 2013 at 21:20:33 UTC, Andrei Alexandrescu
wrote:
On 1/25/13 3:18 PM, Rob T wrote:
On Friday, 25 January 2013 at 20:10:01 UTC, Nick Sabalausky
wrote:
What really got me upset about it was that here we have one
of my
favorite modern language features, properties, and then all
of a sudden
*both* the top #1 and #2 people behind D start trying to gut
it if not
outright remove it from the language entirely, instead of
enacting, or
at least promising to *eventually* enact, the long overdue
fixes I've
been anxiously awaiting.
If I correctly understand Walters proposal and Andrei's view
point,
neither are proposing to fully axe property-like behavior. I
stand to be
corrected, but they both seem to think that enforcement through
@property is not required, and that's the main point being put
on the
chopping block.
Walter and Andrei may want to clarify since I cannot speak for
them.
That's right with the amendment that we're looking for a
solution, not pushing one. Even the title of the thread is a
question.
Clearly properties are good to have. In an ideal world we
wouldn't need a keyword for them and we'd have some simple
rules for determining property status (especially when it comes
to writes). If syntactic help is necessary, so be it. We want
to make the language better, not worse.
Andrei
OK, understood. I started a discussion in wiki showing how
property-like behaviour without full variable emulation can work
unambiguously for a few of the edge cases, such as reference
returns and taking the addresses, eg, &prop.
http://wiki.dlang.org/Talk:Property_Discussion_Wrap-up#ref_returns_and_taking_the_address
If we try and fully emulate variables, a ton of complexity starts
to creep in. If we do not fully emulate variables, then it
significantly weakens the arguments in favor of using @property
as a means to emulate variable.
--rt