On Thu, 24 Jan 2013 13:54:09 -0800, Andrei Alexandrescu
<[email protected]> wrote:
On 1/24/13 4:08 PM, 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, 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!
Simplicity is clearly good, but there's something to be said about those
warts in chained calls. The UFCS-enabled idioms clearly bring a strong
argument to the table, there's no ignoring it.
Andrei
Then @property needs to be fixed such that optional parens don't effect it
one way or the other. Removing the concept of properties and making
functions that look like properties through optional parens is a very poor
(and lazy) solution. As Mr. Ruppe pointed out, properties are DATA, and
functions do stuff. That statement alone is an excellent argument for
clearly delineating which is which... Properties are not functions.
--
Adam Wilson
IRC: LightBender
Project Coordinator
The Horizon Project
http://www.thehorizonproject.org/