בת×ריך ×™×•× ×©×™×©×™, 27 ביולי 2012 19:28:19 UTC+1, מ×ת W Karas:
When STL first came out I thought that maybe it was the end of C.
The STL containers did provide runtime performance and
encapsulation that you had to handtune C to match.
But actually the result was the reverse. I think it was because STL
made the syntax for just declaring an array and stepping through
it too cumbersome.
That is unfortunately true. The STL was standardized in head-over-heels
hurry. So its interface is not too uniform and it does confuse novices.
Also lot of things were lacking in it. C++2011 takes decent leap
to make standard library lot more complete and useful.
That was the point at whcih people stopped switching from C to C++,
and started moving from C++ to other languages.
1998? There did come languages to what to switch. Most popular ones
PHP, Javascript and Java (~1995), C# and Python (~2000). It is all good.
Not everything is worth writing in C or C++. Also some did regret the
move. Visual Basic for example is mostly dead now.
C++ had a huge user base behind it and is still a popular language.
But ever since STL it's been in decline.
That decline will not happen. What actually competes with C or C++?
Most useful things are written either in C or in C++. So nothing
competes with those languages.
I'm current programming under Qt. However I've deliberately written
all the non-GUI elements of the program in C. Even the C++ elements
aren't really C++, because Qt preprocesses them to make the signals
and slots mechanism work. C++ doesn't provide the flexiblity to do
this natively.
That is nonsense. QT was designed 1991. C++ did not contain templates
back then. They have later taken templates to use. Maybe they will
templatize the signals and slots too one day.