On Thu, 24 Jan 2013 13:19:49 -0800, Jonathan M Davis <[email protected]> wrote:

On Thursday, January 24, 2013 13:08:08 Adam Wilson wrote:
On Thu, 24 Jan 2013 12:58:41 -0800, Andrei Alexandrescu

<[email protected]> wrote:
> On 1/24/13 3:45 PM, Nick Sabalausky wrote:
>> On Thu, 24 Jan 2013 12:51:32 -0500
>> Andrei Alexandrescu<[email protected]> wrote:
>> No, you merely came up with *some* specific cherry-picked examples that
>> sparked *some* debate (with most of the disagreing coming from
>> you).
>
> I simply mentioned three reasons that came to mind.
>
> Andrei

While I don't approve of Mr. Sabalausky's tone or attitude,

He does have a tendancy to get out of hand in that regard.

the crux of
his argument is logically sound. The problem with @property isn't
@property, it's D's insistence on optional parens. If paren usage was
clearly defined then this would be a non-issue. I would like to point out that I can't think of another systems/general purpose language that has an
calling syntax specification as vague and convoluted as D's. C#'s is
brutally simple. Java's is brutally simple. In C/C++ everything is a
function or field, so, brutally simple.

Make D's calling syntax simpler, end optional parens!

Exactly. That's what _should_ have happened. We wouldn't have all of these
problems if we'd just gone with a C#-esque property design and never had
optional parens. Unfortunately however, optional parens are so popular for at least some use cases (e.g. UFCS), that I don't think that there's much chance
of them going away.

- Jonathan M Davis

All I can say is that in this case even with UFCS C# enforces parens because it's syntactically clear. Yes, it might be slightly annoying to have to type the (), but that's how you define a function in every other language. A shortcut with side-effects isn't a short-cut, it's a bug factory. And to be honest, once the language spec settles down tools like ReSharper/VisualAssist/etc. can take care of the extra parens. I hand type a small fraction of the parens that actually appear in my C# code.

--
Adam Wilson
IRC: LightBender
Project Coordinator
The Horizon Project
http://www.thehorizonproject.org/

Reply via email to