I like this one: "By definition, a program is an entity that is run by the computer. It talks directly to the CPU and the OS. Code that does not talk directly to the CPU and the OS, but is instead run by some other program that does talk directly to the CPU and the OS, is not a program; it's a script." Here's the other eleven.

All those containers are duplicates of other containers in the STL. Also, Boost is a nightmare, not a benefit.

Only because it's obvious you have no idea how to code C++ properly.

If you can't manage an array, then you have no right to be talking about "complicated things." Arrays are not difficult things to work with. Push, pop, insert, and delete are all straight forward functions (that C should have defined, but I digress.) Keeping track of the length is also not difficult (and can be managed by the push/pop/insert/delete functions.)

And yet the number one security defect continues to be caused by buffer overruns and other low level array management. It's not about difficulty, it's about SAFETY.

If you're more concerned about bragging rights rather than doing the Right Thing, you have no right to be programming for a job at all. Why the hell should people waste time writing the same array management stuff over and over again, introducing bugs (even the best of us still do), when we already have a library that does it.

Sets, queues, and stacks are all lists. They have slight restrictions, but that's the very definition of "minimal change." Boost is quite commonly regarded as a major example of terrible software (by the non-C++ using community.)

It is about difficulty, because I've already enumerated how to use arrays safely. Pointing out that lots of developers have bad habits is simply a red herring. I've already mentioned that I wish array manipulation had been included in the stdlib, but you can find/make a library for it as well. The only reason that buffer overflows are still so common is that many developers have NIH syndrome (or are simply ignorant about what's available to them, a problem that C++ doesn't solve.)

Sets, queues, and stacks are all lists. They have slight restrictions, but that's the very definition of "minimal change."

Because the C standard lists sets and queues and stacks as part of the libraries...

Sets are lists? Really? Lists have the concept of unique membership? Everything is either a chunk of memory or linked chunks of memory if you go down low enough. Not only do you seem to not understand C++, you obviously never understood the data structure unit of your programming course.

Boost is quite commonly regarded as a major example of terrible software (by the non-C++ using community.)