Slices and Dynamic Arrays
Steven Schveighoffer
schveiguy at yahoo.com
Tue Jan 2 12:53:00 UTC 2018
On 1/1/18 12:18 AM, Jonathan M Davis wrote:
>
> A big problem with the term slice though is that it means more than just
> dynamic arrays - e.g. you slice a container to get a range over it, so that
> range is a slice of the container even though no arrays are involved at all.
> So, you really can't rely on the term slice meaning dynamic array. Whether
> it does or not depends on the context. That means that the fact that a
> number of folks have taken to using the term slice to mean T[] like the D
> Slices article talks about tends to create confusion when the context is not
> clear. IMHO, the D Slices article should be updated to use the correct
> terminology, but I don't think that the author is willing to do that.
The problem with all of this is that dynamic array is a defined term
*outside* of D [1]. And it doesn't mean exactly what D calls dynamic arrays.
This is why it's confusing to outsiders, because they are expecting the
same thing as a C++ std::vector, or a Java/.Net ArrayList, etc. And D
"array slices" (the proper term IMO) are not the same.
I'm willing to change the article to mention "Array slices" instead of
just "slices", because that is a valid criticism. But I don't want to
change it from slices to dynamic arrays, since the whole article is
written around the subtle difference. I think the difference is important.
-Steve
[1] https://en.wikipedia.org/wiki/Dynamic_array
More information about the Digitalmars-d-learn
mailing list