On Tue, 19 May 2009 00:29:17 -0400, Ary Borenszweig <a...@esperanto.org.ar> wrote:

Jesse Phillips escribió:
On Mon, 18 May 2009 21:53:06 -0400, Nick Sabalausky wrote:

"Chad J" <chadj...@__spam.is.bad__gmail.com> wrote in message
news:gut1od$l5...@digitalmars.com...
Lionello Lunesu wrote:
"Chad J" <chadj...@__spam.is.bad__gmail.com> wrote in message
news:gut0f2$jc...@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

Reply via email to