On Monday, 28 January 2013 at 21:43:25 UTC, Andrei Alexandrescu wrote:
On 1/28/13 4:32 PM, Dicebot wrote:
On Monday, 28 January 2013 at 18:43:19 UTC, Andrei Alexandrescu wrote:
Arrays, however, will
not suffer at all from switching to array.resize(42) syntax from
array.length = 42 syntax.

Well I think this is a given now. So again - time to adjust preferences :o).

My feeling is that the array.length getter/setter problem is affected by the perceived assymetry between the getter and the setter operation.

Even more, that feeling is exacerbated by the involvment of a canonical type. People expect some expensive background operations for user-defined, complicated types, but not for canonical types. Properties too, are plagued by this, but at least there the choice is explicitly marked and assumed.

As for the a=b bigInts vs the array.length=5 problem: the former operation affects the content of a and b. The latter not only affects the content of array.length, but also the very content of array itself. I know the border is thin, however, it exists at the psychological level, since many will gladly accept reallocation in a=b, but not in array.length=5.

Maybe is just the power of habit. Maybe not.

Reply via email to