Reason for -no-stl in qt-copy configure recommendation?

Ravikiran Rajagopal ravi at ee.eng.ohio-state.edu
Mon Apr 28 19:07:38 BST 2003


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


>    If you allow people to use STL, you have no right to deny them to
> reimplement, say std::vector, their own way and use that.  Then you could
> have a different class with a different interface in every app/library!

There's nothing preventing one from subclassing QTL code with a nonstandard 
interface. It's just common sense to try and reuse components from QTL or 
STL. Remember that there is no partial template specialization for functions; 
so, one would have to rewrite a lot of templated code to actually create a 
misleading std::vector for example.

>    When you write code in KDE CVS, you put the burden of maintenance on
> everyone else's shoulders.  If you write STL code, you are requiring every
> other KDE developer to use STL too, in effect, unless that code has to get
> dumped the moment you stop maintaining it sufficiently to keep it bug free
> and shippable.

You only maintain (or fix bugs) in code you understand. If you understand QTL, 
you should be able to understand STL easily; as for documentation, please see 
the link Maksim posted. Then the question boils down to whether there are 
sufficient KDE developers who understand STL. I would say yes, because STL 
based code is used *and* maintained in atleast the following directories in 
KDE CVS (I'm sure I've missed some):

arts/mcop
kdelibs/kjs
kdepim/mimelib
kdenetwork/lanbrowsing/lisa
kdegraphics/kgamma/xf86gammacfg
kdesdk/cervisia
kdesdk/poxml/antlr/src
kdevelop/lib/antlr/src
koffice/kexi/kexiDB/cql/cql/common

Perhaps antlr and cql are not the best examples, but (at least with antlr) you 
have to read the source to figure out many things. (Further, newcomers to 
KDE/QT development would atleast have heard of the STL; the learning curve is 
not so steep for them.) Apart from std::vector<bool>, STL code is probably of 
as high a quality as QTL for most reasonable implementations. Plus, I don't 
see why preventing interoperability between QTL & STL is beneficial when 
measured against the cost of using well-understood constantly evolving 
algorithms that are widely deployed.

Regards,
Ravi
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)

iD8DBQE+rW35bI8Y8y0oVXcRAukZAJ94NxRN6PTrqFnj45OF8XNtgS4mOwCgif3S
dCzpJTnK0nCmRwQ92vZfkMM=
=kxEJ
-----END PGP SIGNATURE-----




More information about the kde-core-devel mailing list