I really think the C++ standard's commitee is doing it wrong. They move slowly and they decide to add important libraries 10 years later than they actually should have been added. And look what kind of a situation this has created.

There are frameworks (MFC, Qt, etc) that have their own string classes, STL classes (Qt duplicates the STL - why oh why?), thread classes, networking classes. Where does std::thread fit in all this? Next they plan to standardize filesystem and networking libraries based on Boost.Filesystem and Boost.Asio - will probably take 5-10 years again.

This strategy doesn't do any good. By the time they realize that it's time to add more standard libraries, there are tens of 3rd party libraries with the same functionality - and they usually don't integrate well.

Languages like Java and C# seem to think about what the current trend is - programmers want to write networking code, let's offer them libraries to do it. With C++ it's like "Hey, people have been writing networking code for 30 years, every other languages has in-built support for it - it's about time we supported it too.".