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

Reply via email to