Andrei Alexandrescu, el 18 de noviembre a las 07:22 me escribiste:
> Leandro Lucarella wrote:
> >Andrei Alexandrescu, el 17 de noviembre a las 18:45 me escribiste:
> >>>3.  If you **really** care about performance, you should only append when 
> >>>you
> >>>don't know the length in advance.  If you know the length, you should 
> >>>always
> >>>pre-allocate.
> >>We will have collections and all those good things, but I don't see
> >>how the proposal follows from the feedback. My perception is that
> >>this is a group of people who use D. Bartosz' concern didn't cause
> >>quite a riot, so as far as I can tell there is no big issue at
> >>stake.
> >
> >I didn't say anything (until now) because this was discussed already.
> >Dynamic arrays/slices appending is horribly broken (I know it's well
> >defined, and deterministic, but you are just condemned to make mistakes,
> >it just doesn't work as one would expect, even when you know how it works
> >you have to keep fighting your intuition all the time).
> 
> In which ways do you think arrays horribly broken? Same as Bartosz mentions?

Yes, I think dynamic arrays are grouping 2 separate things: a proper
dynamic array able to efficiently appending stuff (without hacks like the
size cache) and a slice (a read-only view of a piece of memory);  a "random
range" if you want to put it in terms of D.

A dynamic array should be a reference type, a slice a value type.
I explained my view before. I wont explain it with much detail again (I
hope you remember the thread).

> One question is whether you actually have had bugs and problems
> coding, or if arrays stopped you from getting work done.

I had many bugs because of the reallocation when appending.

> >But it's a little pointless to keep making riots, when we were so close
> >to finally fix this with T[new]/whatever and it all went back.
> 
> Hmmmm... resignation is not a trait of this group :o).

It is after a good fight :)

>From time to time this kind of issues (that are present in the group since
I can remember, which is about 4 years maybe) keep popping in the NG. I
get tired of repeating myself over and over again (like may others,
I guess).

-- 
Leandro Lucarella (AKA luca)                     http://llucax.com.ar/
----------------------------------------------------------------------
GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145  104C 949E BFB6 5F5A 8D05)
----------------------------------------------------------------------
Hey, it's George. I got nothing to say.
        -- George Constanza, dejando un mensaje en la contestadora de Jerry

Reply via email to