On Tue, 29 Jan 2013 09:38:57 -0600, Andrei Alexandrescu 
<[email protected]> wrote:

On 1/29/13 6:33 AM, eles wrote:
On Tuesday, 29 January 2013 at 11:13:19 UTC, jerro wrote:
need to adopt the inferior C# approach.

And there is another problem with the "superior" D approach: a typing
mistake in the name of a property might let you not with one property
that is r/w, but with two properties to which one is r/o and the other
is w/o.

More, those functions might be placed several screens far one from the
other.

I agree this is an issue. I think it's good language design to avoid
"long-distance influence" of one declaration against another.

This is a strong argument for keeping @property for write properties.


Andrei


How so?
The op's argument is against having separate function declarations ala D, and 
for a joint getter/setter syntax. i.e.

foo { get; set; }
//   vs
int foo() { return 5; }
void fou(int x) {}

Because, as illustrated above, the two function names might accidentally be 
different. As the functions, like all overloads, should be 1 code-fold apart, 
the actual severity of the bug is the same as accidentally changing the name of 
an overloaded function during initial coding or during a refactor. Which is 
neither for nor against @property, but advocating new syntax and keywords for 
defining properties.

Reply via email to