@property - take it behind the woodshed and shoot it?

Artur Skawina art.08.09 at gmail.com
Thu Jan 24 11:03:59 PST 2013


On 01/24/13 19:05, Andrei Alexandrescu wrote:
> On 1/24/13 9:47 AM, Artur Skawina wrote:
>> Having ()-less function calls is just insane; if it isn't obvious to you why,
>> you just haven't read enough code that (ab)uses them.
> 
> You see, this is the kind of argument that I find very damaging to the conversation. It lacks any shred of material evidence, evokes emotion, manipulates the reader's opinion (framing them into incompetent/inexperienced if they disagree), and implies an appeal to authority. Please don't do that anymore.

You're more than welcome to produce counterevidence, or ignore the arguments,
for whatever reasons. Ad hominems won't work, not only because I don't take this
personally, but because I'm probably the person most willing/likely to discuss any
relevant issues around here (I wish there was more like us (ie me)).
Trying to make arguments you don't like go away and silencing the messenger
is your MO. Please don't do that anymore. Not because I ask you to, but because it
does harm the language, and the "community".  Trying to at least understand the
other point of view and reflecting a bit can be very enlightening. Who knows, you
might even learn something new.

Having said that, I'll elaborate on the sentence you quoted above. See for example
Timon's code [1] here: http://dpaste.dzfl.pl/baa538af . Spot the recursion in the
tree-walker. This is an example of the kind of abuse of parens-less calls that an
unsuspecting programmer shouldn't have to deal with. Sure, in this case it's simple
enough, but in more complex scenarios, where the 'inorder' field/method/ufcs
definition is not readily available, it would be extremely misleading. It's not
reasonable to expect everyone reading the code to check every single object field
access, just in case the previous coder decided that the source looked "cuter"
w/o the '()'.

artur

[1] This isn't meant to single out Timon in any way; it's just a recent public code
    example I happened to remember. I would consider Timon one of the most helpful
    and knowledgeable people here - thanks for all the help and arguments, even the
    ones where we disagree, btw.


More information about the Digitalmars-d mailing list