On Tue, 28 Jul 2009 16:21:09 -0400, Andrei Alexandrescu
<[email protected]> wrote:
Steven Schveighoffer wrote:
On Tue, 28 Jul 2009 16:08:58 -0400, Andrei Alexandrescu
<[email protected]> wrote:
Steven Schveighoffer wrote:
However, when I see:
x.empty;
I can't tell what is implied here.
You can. In either C# or D language it could execute arbitrary code
that you better know what it's supposed to do. D simply doesn't make
it "bad style" as C# stupidly does.
still not getting it, are you...
Just forget it, I think this is a lost cause, I keep making the same
points over and over again, and you keep not reading them.
I do read them and understand them. I mean, it's not rocket surgery. At
the end of the day you say "x = a.b;" looks more like sheer access
because that's what happens for fields already.
No, b has no meaning. It's not an English word.
a.filter() looks like it should filter something.
a.filter looks like it should access a filter.
But in D, a.filter could mean either, which I guess is fine if you want to
play it that way, but it's far inferior to C#, where a.filter should
return a filter, and a.filter() should perform a filtering action. If it
doesn't, the author wrote his code incorrectly. It's as simple as that.
Then you say "a.b()" in any context looks more like an action because
it's clear that there's a function call involved.
Again, b means nothing, so I would have no idea in C# or D.
-Steve