On Friday, 25 January 2013 at 17:24:23 UTC, Adam D. Ruppe wrote:
On Friday, 25 January 2013 at 17:17:11 UTC, Rob T wrote:
I think Walters proposal to shoot @property is perfectly
sound. Get rid of it, fix the edge cases, and move on to
solving the problems that matter a whole lot more than this
one.
The reason @property exists in the first place is to fix the
edge cases. It got screwed up beyond all recognition by the
parenthesis debate, extending its effect well, well beyond the
edge case... but that *was* why it was introduced in the first
place.
So historically, the fist implementation of the property concept
was through a syntax change, allowing removal of empty parens for
the getter and assignment syntax for the setter. But due to edge
cases, @property was conjured up to solve them through property
syntax enforcement. The syntax change was partially implemented
without @property enforcement leaving it optional, and this
brought on the big debate concerning enforcement of parens.
Why was a partial implementation of an experimental half-backed
idea released into the wild?
In the future, we can avoid messes like this through a better
design and development process with a little planning behind it.
The property feature would have remained in experimental mode
until most or all of the debate had been settled, then moved into
beta for usage trials, and finally into a production release with
no more debate and no more bugs or broken edge cases remaining.
--rt