I'm guessing this comment / question will not see the light of day due to my lousy rating, but here goes nothing:
I'm an electrical engineer making a decent living practicing applied electro-magnetics and communication theory. As part of my program at a slightly above average state university in the late '90s, I was required to take a semester of C++. I also took a second semester as an elective, but mostly coasted through as it was my final semester and had crammed in 13 other credits in required courses to finish.
Now, I certainly don't make a living writing software for public sale, but I do occasionally want / need to automate hardware and software tasks. My software development "language" choice was generally dictated by what was at hand, or with what I wanted to interface, or what had already been done. I've used TCL, LabVIEW, VB, Scheme, LUA, among others. I'm not an expert in any of them and I certainly am not an efficient programmer. I haven't had the need to use C++, or any similar language, but I do feel as though the C++ course that I was "forced" to take was beneficial. Specifically, I learned about programming syntax, how to read and debug code, and what arguments and built-in functions you should expect from any other language. More generally, I think I learned how to learn a new language which has been indispensable.
Is C++ the best language for learning what I did? It seems to have done okay for me, but I probably learned and forgot a lot of OO stuff that isn't very useful for what I do (quickly bang out some software to automate the task at hand) and maybe C would have been more applicable. Thoughts?