@property - take it behind the woodshed and shoot it?

Rob T alanb at ucora.com
Fri Jan 25 10:00:23 PST 2013


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


More information about the Digitalmars-d mailing list