On Mon, Jul 27, 2009 at 2:24 PM, John C<[email protected]> wrote:
> Andrei Alexandrescu wrote:
>>
>> Nick Sabalausky wrote:
>>>
>>> "Andrei Alexandrescu" <[email protected]> wrote in message
>>> news:[email protected]...
>>>>
>>>> But what I want is to come with a new design that adds minimum
>>>> aggravation on the learning programmer. If they know how to define a 
>>>> method,
>>>> they must know how to define a property. None of that property blah { get
>>>> ... set ... } crap is necessary.
>>>>
>>>
>>> I can't be nice about this: Any programmer who has *any* aggrivation
>>> learning any even remotely sane property syntax is an idiot, period. They'd
>>> have to be incompetent to not be able to look at an example like this:
>>>
>>> // Fine, I'll throw DRY away:
>>> int _width;
>>> int width
>>> {
>>>    get { return _width; }
>>>    set(v) { _width = v; }
>>> }
>>>
>>> And immediately know exactly how the poroperty syntax works.
>>
>> Sure. My point is that with using standard method definition syntax
>> there's no need for even looking over an example.
>>
>
> Which is why Steven Schveighoffer's is suggestion is the most pragmatic so
> far. You just add a "property" attribute to a regular function definition.
> (And it doesn't look ugly, unlike the opGet_/opSet_ idea.)

+1.
That's really all that's needed.  A simple flag to say "this function
acts like a field".

The other variants go further and try to get rid of some of the
redundancy typical of get/set pairs.  But that part isn't really
necessary even if it might be convenient.

--bb

Reply via email to