C++ is by far my favorite language, but there's a lot of reasons to use other languages. It's incredibly self-harming to restrict yourself to a single language.
C++ is the only sane language.
Once you know c++ there is no reason to use anything else. Unless of course you want the best speed possible in that case you would use assembly (sometimes I use it inline with c++ just for speed). As for making your own code for complicated things you can either have fun and do it yourself or use a third party library.
I tried learning JAVA, I decided it was just like c++ but slower and with too many rules.
e.g. Some personal experiences:
* I want a really simple program to copy certain files from Windows directory A to directory B -- C++ is overkill, I can write this program in 30 seconds with Batch.
* I want to write some non-performance-critical gameplay code without worrying about memory management, and would like to use modern features such as closures (on platforms that don't yet have C++11 compilers), and dynamic code reloading (for fast iteration) -- I'll just use Lua.
* I'm doing a bunch of data-processing work, which requires me to be able to quickly iterate on GUIs, load XML files and write out binary streams, while making use of a lot of "standard" data structures. I don't care about memory usage or performance that much, I just want quick development time -- I'll use C#.
* I'm targeting a GPU -- I'll use HLSL, for obvious enough reasons.
Every programmer should learn as many languages as they can and put them in their toolbox. A bigger toolbox gives you more options so you're not hitting nails with a screwdriver...
As for performance, algorithmic optimisation and memory-layout optimisation are much more important than reducing cycles by outsmarting the compiler with manually written assmebly. It should be very rare that there's a need to use inline assembly (and in many of those cases, intrinsics can be a better option).