[Development] Proposal: Deprecate QVector in Qt 6

Edward Welbourne edward.welbourne at qt.io
Thu Apr 23 13:20:22 CEST 2020


André Pönitz (23 April 2020 10:52)
> "vector" in this context is a misnomer. It does not "carry" something
> from one place to another,

It is a container, in which values are carried from one piece of code to
another.  The same can, of course, be said of every container.

However, that's all that mathematics was using it to mean, when first it
introduced the term vector.  Then, of course, it refined the meaning to
mean something quite definite and no longer necessarily a carrier for a
bunch of numbers.  Jargon evolves.

> it does not have a direction, it's (generally) not an element of a
> vector space etc.

These are quirks of mathematical jargon; and each discipline gets to
evolve its jargon in its own quirky and eccentric way.  Computer
Scientists started out using arrays of numbers to represent mathematical
vectors (as co-ordinates) but ended up using vector as a fancy word for
an array, then evolving that meaning to whatever it has now become.

> "list" is the better word already.

That I would agree with; although I'm not sure how computer science
jargon feels about it.

> "array" as some ordered arrangment would be in principle ok, to

Indeed.

The etymology and origins of words is, however, much less important than
the state of various folk's source code.  We can have QList and QVector
exist side-by-side without deprecating either, but I think some dislike
the redundancy and want to get rid of at least one of those names for
the type.  However, QList is the name widely used in may of our APIs and
thus, most likely, in many other folk's APIs.  Since we have repeatedly
urged folk to switch away from it, to QVector, it makes little sense to
remove the name QVector.

So how much harm does it really cause, to keep both names; and use
whichever feels like the more natural description of the value one is
returning ?

	Eddy.


More information about the Development mailing list