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

Rob T alanb at ucora.com
Fri Jan 25 09:17:10 PST 2013


On Friday, 25 January 2013 at 16:43:45 UTC, Jesse Phillips wrote:
[...]
> That said many that want @property, want optional parens to 
> die, as shown by your side comment that follows.
>

I think that observation pins the whole debate down, and it's an 
incredible amount of debate for something that boils down little 
more than personal taste. We don't even need property-like 
behavior, it's not that important. Meanwhile really serious 
problems exist that are not being attended to.

The concept of a property works perfectly fine without explicit 
@property enforcement (except for perhaps an edge case or two 
that can be corrected). When I started with D, the TDPL told me 
that I had to put @property in, and it was actually a relief to 
discover that I did not have to do that. It's a waste of time, 
and more than half the time I could not decide if I wanted 
property-like behavior or not, so the lack of enforcement was a 
plus for me.

If the default behavior is optional parens plus no @property 
enforcement, i.e., the current behavior, then for the people who 
want to change the default behavior need to specify @property and 
we implement enforcement for those situations. However, for the 
remaining functions, the property behavior is optional and not 
enforced, so some means such as the @function proposal will be 
needed to enforce the traditional c-like function call syntax.

But is there any real need for the extra complications of 
implementing property and c-style function call enforcement? This 
is D and there's no law that states that D must behave exactly 
like C.

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.

If Walter's proposal is not sound, then we need real clear 
technical reasons why enforcement is required, as opposed to 
arguments that boil down to personal tastes.

--rt


More information about the Digitalmars-d mailing list