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

George Staikos staikos at kde.org
Tue Apr 29 17:45:53 BST 2003


On Tuesday 29 April 2003 04:38, Alexander Kellett wrote:
> On Tue, Apr 29, 2003 at 10:24:41AM +0200, Stephan Kulow wrote:
> > OK. Fine. If you don't like STL, don't use it. But why do you want to
> > prevent others from using it together with Qt?
>
> for the reaoson that George has already stated more than just
> a few times. people don't stick around, and inevitably in the
> end people who wish to fix bugs in the code are going to have
> a much more difficult job if its in write-only stl than if its
> in pure qt.

  Using STL and Qt together is fine and has its use.  I just said that it 
shouldn't be done in KDE CVS.  We don't prevent people from doing it 
externally.  As far as I can tell, the main gial of the Qt support for STL is 
so that external developers can use STL based libraries and existing STL 
based code together with Qt.

   Anybody can recompile Qt with -stl support - it's binary compatible!  We 
just don't need to recommend it.  If it's there, it will encourage people to 
use it.  For sure.  Without a doubt.  Compile times will, without a doubt, 
really head for the worst.  I have a 700 line STL file here that I'm working 
on *right now* that takes *minutes* to compile on a 300MHz Linux machine with 
gcc.  It uses 3 STL containers: string, vector, queue.  Imagine what KDE 
compile times would be like if KDE used STL all the way through.  We have 
millions of lines of code.

   We don't recommend compiling Qt with SQL support and all the SQL plugins 
right?  So what?  I add them in...

   Again:

 - Qt based project - should use Qt containers.  Using multiple container sets 
is bad engineering.  Fix the container set that's used if it's broken.

 - STL as glue to existing STL libraries is of course fine!  I never argued 
this.

 - STL is a big portability and maintenance problem, and I did not see any STL 
gurus jumping up to fix the problems in the past.

 - STL is very slow to compile, and having the same code in a KDE app that 
does both QSomeTemplate<foo> and std::some_template<foo> is going to cause 
some performance penalty.  I am certain that this will eventually happen if 
STL is used.  Not every KDE developer has 2GHz of compiling power.

 - Other people have gone to great lengths to reduce dependencies and 
inconsistencies in KDE.  It is unreasonable and unfair to add such a wide 
ranging one.

   Anyways I give up.  I'm not going to keep listing these and other points 
with different wording so that they are understood.  This thread is wasting 
time and I would rather let code speak.

-- 
George Staikos
KDE Developer				http://www.kde.org/
Staikos Computing Services Inc.		http://www.staikos.net/




More information about the kde-core-devel mailing list