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