There's always gap between Idealism & Realism
I thought the STL is good enough for solving kinds of issues. But I have to say NO to STL many times now.
- STL has different implementations & different versions, which confuses the programmers a lot in underlying implementation, performance, sometimes even semantics...It means that you may encounter incompatibility!
- After reading "Effective STL"(not finished yet), you'll understand, STL is not that perfect as you considered before. It has many traps.
So I think that's why Boost appears on the scene.
P.S. In recent work, I've strongly felt that "Semantic" is the key topic to developers. But for greens as me, you could not make right choices among several design choices all by yourself every time, and you could not understand the semantic totally. So, Reading Well-known Source Code is the best way of learning programming & design, besides coding yourself.