Let's put it another way: I consider myself to be an expert C++ programmer. The thing is, I
need to be an expert C++ programmer in order to write relatively bug-free code. I've been using the language for something like 15 years, and I still have
WTF moments when my code behaves in a manner completely different than I intended. I'm probably only a decent Python, Visual Basic and C# programmer, but I don't
need to be any better than that to get my programs to do what I want in those languages.
Quote:
And did I mention how ugly the comments start looking if you can't even use "//" style comments? Or the thing where you have to declare all variables first, only then write the code?
Upgrade C compilers. The C99 standard has allowed // comments and intermixed declarations and statements for about 8 years now.
Of course, STL and boost are portable libraries. For a given value of "portable" anyways. Many of the boost libraries don't come within spitting distance of running on anything other than Windows or POSIX machines, such as Classic Mac, many embedded systems or many game consoles. And if you're in an environment where you can't or won't use exception handling, which is very common in low level systems programming or on platforms with truly craptacular exception implementations, then you really shouldn't consider using most of the C++ standard library, since much of it uses exceptions for indicating error conditions.