[Development] QList

Martin Smith Martin.Smith at qt.io
Mon Mar 27 10:52:36 CEST 2017


>what's the point of this discussion, anyhow?


It was about whether QPolygon should inherit QVector, which means that a polygon is a vector. That is kind of jolting because people don't think of a polygon as being a vector. But back in the day, calling a sequential collection of items a vector was also a jolt, because at that time, a vector was a direction and a length to most people. So given the 20 year history of vector being a sequential collection of items, it isn't really a problem for QPolygon to inherit QVector, because everyone will come to think of a polygon as a vector just as we came to think of a vector as a sequential collection of items.

________________________________
From: Development <development-bounces+martin.smith=qt.io at qt-project.org> on behalf of Giuseppe D'Angelo <giuseppe.dangelo at kdab.com>
Sent: Monday, March 27, 2017 9:45:07 AM
To: development at qt-project.org
Subject: Re: [Development] QList

Il 27/03/2017 09:22, Martin Smith ha scritto:
> vector<point> is an ordered collection of points, but a QVector can
> contain anything; QVector<void*> can even contain unlike things, which
> is truly a tuple. So the problem here is the name QVector. The basic
> collection should be called QTuple or QArray, and QVector should mean
> QTuple<QPoint>.
>

As Marc already told you, the problem here is that there's already 20+
years of experience in the C++ community with the name "vector"
indicating a very precise thing (which has nothing to do with geometry
or linear spaces). And now there are 6+ years of experience with the
names "tuple" and "array" indicating other things (hint: not dynamic
data structures).

... what's the point of this discussion, anyhow?

--
Giuseppe D'Angelo | giuseppe.dangelo at kdab.com | Senior Software Engineer
KDAB (UK) Ltd., a KDAB Group company | Tel: UK +44-1625-809908
KDAB - Qt, C++ and OpenGL Experts

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/development/attachments/20170327/40eaeaae/attachment.html>


More information about the Development mailing list