@property - take it behind the woodshed and shoot it?
Adam Wilson
flyboynw at gmail.com
Thu Jan 24 14:32:20 PST 2013
On Thu, 24 Jan 2013 14:15:45 -0800, Robert Schadek <realburner at gmx.de>
wrote:
> On 01/24/2013 10:56 PM, Adam Wilson wrote:
>> On Thu, 24 Jan 2013 13:54:09 -0800, Andrei Alexandrescu
>> <SeeWebsiteForEmail at erdani.org> wrote:
>>
>>> On 1/24/13 4:08 PM, Adam Wilson wrote:
>>>> On Thu, 24 Jan 2013 12:58:41 -0800, Andrei Alexandrescu
>>>> <SeeWebsiteForEmail at erdani.org> wrote:
>>>>
>>>>> On 1/24/13 3:45 PM, Nick Sabalausky wrote:
>>>>>> On Thu, 24 Jan 2013 12:51:32 -0500
>>>>>> Andrei Alexandrescu<SeeWebsiteForEmail at erdani.org> 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.
>>
>
> At while you're at it, just get ride of:
>
> int[] a.
> a.length = 10;
>
> That this grows the array stills creeps me out.
>
> Robert
Well, from a syntax standpoint it's legitimate, and D's dynamic arrays are
something I prefer over C#'s less flexible solution. My main problem with
using it is that D's GC is absurdly naive. When this seemingly benign
action causes your program to freeze for non-trivial fractions of a second
for the millionth time, it can be quite despair inducing...
--
Adam Wilson
IRC: LightBender
Project Coordinator
The Horizon Project
http://www.thehorizonproject.org/
More information about the Digitalmars-d
mailing list