Reddit: why aren't people using D?
John C
johnch_atms at hotmail.com
Mon Jul 27 09:48:50 PDT 2009
Steven Schveighoffer Wrote:
> On Mon, 27 Jul 2009 12:16:59 -0400, Andrei Alexandrescu
> <SeeWebsiteForEmail at erdani.org> wrote:
>
> > Steven Schveighoffer wrote:
> >> On Mon, 27 Jul 2009 10:54:00 -0400, Andrei Alexandrescu
> >> <SeeWebsiteForEmail at erdani.org> wrote:
> >>
> >>>
> >>>> That's why properties are not
> >>>> functions.
> >>>
> >>> This post had a negative effect on me: I now think properties are
> >>> functions even more than before.
> >> Let me bring you back to the issue at hand:
> >> writefln = "hi";
> >> :)
> >
> > That wart must be eliminated. But the shortcomings of the current design
> > are not a proof that we need a specialized facility for what is at the
> > end of the day nothing but a notational convenience.
>
> I personally am OK with any solution that allows me to specify that a
> function is actually a property, thereby restricting the compiler from
> allowing assignment calls with normal functions.
>
> The most straightforward solution I can think of is marking a function
> with a keyword, i.e.:
>
> property int x() {return _x;}
> property void x(int n) {_x = n;}
Agreed. And enabling the function pair to be enclosed in a block would reduce repitition a tad as well as indicate they are one entity.
property {
int x() { return _x; }
void x(int n) { _x = n; }
}
>
> The other syntax suggestions provide different added bonuses, but I think
> all of those bonuses are not as critical as code working as expected.
>
> For example:
>
> - implied hidden storage
> - documenting property getters/setters as one entity
> - being able to execute a getter during a debug session.
>
> -Steve
More information about the Digitalmars-d
mailing list