While we're lynching features, how bout' them omittable parens?

Ary Borenszweig ary at esperanto.org.ar
Mon May 18 21:29:17 PDT 2009


Jesse Phillips escribió:
> On Mon, 18 May 2009 21:53:06 -0400, Nick Sabalausky wrote:
> 
>> "Chad J" <chadjoan at __spam.is.bad__gmail.com> wrote in message
>> news:gut1od$l56$1 at digitalmars.com...
>>> Lionello Lunesu wrote:
>>>> "Chad J" <chadjoan at __spam.is.bad__gmail.com> wrote in message
>>>> news:gut0f2$jc0$1 at digitalmars.com...
>>>>> Nevermind properties.  Any chance we can forbid the omittable
>>>>> parentheses, at least in the lhs of an assignment expression?
>>>>>
>>>>>
>>>> This is not because of the omittable parens. Even with added parens
>>>> that code should not compile!
>>>>
>>>>
>>> Agreed!
>> I still want to get rid of omittable parens (and function-call-as-a-lhs)
>> anyway. They're a horrible substitute for a real property syntax.
> 
> I don't like C# properties, IMO it is pointless overhead. I agree you can 
> misuse the omittable parentheses, but what is a "real" property syntax? 
> Seems to me both D and C# provide the same syntax they are just set up 
> differently.

What I like in C# about properties is that they are like "pure" 
functions, so they don't have side-effects (this is just a contract on 
the semantic of properties). What that means is that you can invoke them 
while debugging code and be sure they don't alter the flow of execution. 
So when watching a variable you automatically can see it's properties, 
not just it's variables. I find that very useful, since properties 
basically tell you what's the representation of an object, what's it's 
meaning (hiding how it is implemented, ultimately).

Currently you can't do that in a D debugger because a method like "int 
foo();" could have side effects.

So for me, properties are way more than just syntax sugar.



More information about the Digitalmars-d mailing list