Reddit: why aren't people using D?

Ary Borenszweig ary at esperanto.org.ar
Mon Jul 27 09:40:10 PDT 2009


Andrei Alexandrescu wrote:
> Ary Borenszweig wrote:
>> Andrei Alexandrescu wrote:
>>> Ary Borenszweig wrote:
>>>> Andrei Alexandrescu wrote:
>>>>> Ary Borenszweig wrote:
>>>>>> I think the only way you and Walter can understand what a property 
>>>>>> is and what it is used for is to use for some time a language that 
>>>>>> implements them. For example C#. Then you'll say "that's nice" and 
>>>>>> would want to implement it in D.
>>>>>
>>>>> I totally agree that "that's nice". But it's just notational 
>>>>> convenience, and there was no proof aired here to convince me 
>>>>> otherwise.
>>>>>
>>>>> Andrei
>>>>
>>>> The ambiguity with a function returning a delegate? The debugger 
>>>> support? Help UI designers with properties windows?
>>>>
>>>> If none of those convinced you, ok.
>>>
>>> Convince me of what? Of the fact that the current design has 
>>> problems, absolutely. That we need to embark on all sorts of baroque 
>>> notations for the sake of a convenience, not quite.
>>>
>>> Andrei
>>
>> I agree. It's very hard to find the correct way to implement it... :(
> 
> Might be because (a) we aren't getting our priorities right, (b) we 
> ascribe more to properties than what the compiler really makes of them.
> 
> At the end of the day, a property is a notational convenience. Instead 
> of writing:
> 
> obj.set_xyz(5);
> int a = obj.get_xyz();
> 
> properties allow us to write:
> 
> obj.xyz = 5;
> int a = obj.xyz;
> 
> Just to be 100% clear, I agree that the convenience is great. But I 
> don't know why the hell I need to learn a whole different syntax for 
> *defining* such things, when the compiler itself doesn't give a damn - 
> it just blindly rewrites the latter into something like the former.
> 
> Now to be 101% clear, I also understand that the current design sucks. 
> 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.

Again, I agree. I think just a minimal change is required to accomplish 
that. See my other post:

http://www.digitalmars.com/webnews/newsgroups.php?art_group=digitalmars.D&article_id=93751

(but I think it should be "property int" instead of "int property", 
because modifiers can't come after the type).



More information about the Digitalmars-d mailing list