On Saturday, July 28, 2012 4:51:24 PM UTC+3, Malcolm McLean wrote:
> בת×ריך ×™×•× ×©×™×©×™, 27 ביולי 2012 19:28:19 UTC+1, מ×ת W Karas:
> > On Friday, July 27, 2012 10:25:57 AM UTC-4, James Kuyper wrote:
> >
> > The STL containers have been a big driver of adoption of C++ in
> > place of C. A powerful C container library (which this appears
> > to be) would be very important to maintaining C as a viable
> > alternative. So it should not be that big of a challenge.
> >
> 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.
|