Reason for -no-stl in qt-copy configure recommendation?
Guillaume Laurent
glaurent at telegraph-road.org
Tue Apr 29 18:27:32 BST 2003
On Tuesday 29 April 2003 18:45, George Staikos wrote:
>
> Anybody can recompile Qt with -stl support - it's binary compatible! We
> just don't need to recommend it.
So applications which are not in KDE CVS won't be able to use Qt's STL support
because asking end-users to recompile Qt is not a viable option.
> If it's there, it will encourage people
> to use it. For sure. Without a doubt.
Everybody agrees the STL is harder to use and less well documented than Qt. Do
you really expect that all KDE developers will get masochistic all of a
sudden ?
> 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.
Your catastrophism here totally undermines your point IMHO. A Plaaague will
fall upon us if we ever allow the Evil Cursed STL ! Aaaahhh!.
> - 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.
Do you suggest one re-implements std::set<> or std::multiset<> in Qt ?
> - STL is a big portability and maintenance problem
>
> - 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.
You have no idea of how we abuse the STL in Rosegarden. Never been a
performance problem, at least according to cachegrind.
> I am certain that this will eventually happen if
> STL is used. Not every KDE developer has 2GHz of compiling power.
By the time it happens, if it happens, chances are that every KDE developer
will have 2GHz of compiling power, if not more :-).
> - 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.
Who says the STL should become a dependency ?
I'm sorry but as far as I understand, your whole point is simply that if KDE
recommends '-stl' for compiling Qt, then every one will rush to use the STL
in KDE CVS and horrible things will happen. I find that extremely doubtful,
and I think you can trust KDE developers to understand such a simple
recommandation as "compile Qt with STL support for 3rd party applications, do
not use the STL in KDE CVS unless you really have to".
On the other hand, I don't think you can reasonably tell 3rd party developers
that they can't rely on Qt's STL support, especially since the level of STL
support in C++ compilers is rising, and people will expect to be able to use
it without restriction.
Finally, Qt's "re-invention" of standard containers is a recurrent (although
silly) argument against it. The STL support in Qt3 makes it obsolete, it
wouldn't look good if KDE would reject for no serious reason.
--
Guillaume
http://www.telegraph-road.org
More information about the kde-core-devel
mailing list