Ian Collins said:
The powers that be didn't develop the STL. It was in widespread use
well before it was integrated into the C++ standard library.
When I said "...the powers-that-be aren't evolving C to meet those
demands...", I didn't mean *just* the standard C library. A lot of
things are cumbersome enough in C that it tends to preclude the
development of things like general purpose collection APIs and other
goodies.
If the demand was there, there would be at least one C equivalent, but
there isn't.
The equivalent you're talking about exists in the form of the wheel
being reinvented over and over in many projects. For example, at
every company for which I've done contract C programming, they had
their own linked list API.
What a waste.
It would be nice if the standard C library had a linked list API, even
if usage would be cumbersome due to the limitations of C syntax. The
same goes for other basics such as hash tables and real strings. It's
not like it would add any serious kind of bloat, since smart linkers
wouldn't need to link anything that isn't used.
In any case, the demand was there, and still is there. Developers are
merely solving the problem by moving to other languages, since the
evolution of C has stalled in ways important to your average
developer. Companies like Microsoft can smell the decay and aren't
even bothering to support C99.
Reading this thread has made me realize one important thing, though:
Jacob's quest for an improved C is hopeless. If the reactions I've
seen in this thread are at all representative of C developers in
general, the evolution of C will be blocked and debated and stalled as
much as possible. C is effectively frozen in time, which is fine if
you think it's already the perfect language for your project, I guess,
but I think most developers want more these days.
Jacob should forget trying to encourage a better C and just move to a
different language which suits his desires. The evolution of C has
halted, in any meaningful way, that is.