Sorry to disappoint, but I was 100% serious about STL. The ideas that
went into STL are indeed brilliant, on par with the "code is data"
mantra Lispers like to talk about.
OK - I'll bite.
Let me preface this by saying I'm a proponent of the STL however there
is nothing special about it that has not been done before.
It's using the "It's all about the interface" mantra that has been
touted since before I can remember. Admitedly, C++ just got a whole lot
more knobs in the ability to generate Very Cool (TM) interfaces, but
this is not attributable to the STL.
C++ templates are brilliant. The learning curve may be a bit steep, but
it's one of those things you can learn gradually and be useful early.
Having said that, I think C++ templates was not designed in light of
many of the uses it has today and so some things that would seem like
obvious things to do are much harder than you would think they should be).
Perhaps my biggest peeve about the STL is that there is no "null"
iterator. This one simple thing can cause so much bother when creating
generic interfaces that I've resorted to writing ny own containers in
some cases.
(Is Erik Naggum reputation still alive and kicking ? Last time I heard
about Mr Naggum was about 10 years ago).