While we're lynching features, how bout' them omittable parens?
Steven Schveighoffer
schveiguy at yahoo.com
Tue May 19 06:54:02 PDT 2009
On Tue, 19 May 2009 00:29:17 -0400, Ary Borenszweig <ary at esperanto.org.ar>
wrote:
> 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.
AFAIK, this is not enforced by the compiler...
I write C# properties that have side effects.
-Steve
More information about the Digitalmars-d
mailing list