I've found that whenever someone argues "X is best", they've only worked in projects where "X" makes sense for them. At a start up a couple of years ago, we had an intern that was all hot and bothered over C++ and boost. After he expanded is horizons to web development and investigating scripting languages, he really enjoyed Ruby.
It depends on what you are working on, the libraries and tools available, and your comfort with what languages fit that paradigm.
I use C++ and Java on a regular basis now, but prefer C for systems programming, and Python for general web/scripting stuff.
Since we need to have a nit with C++ for this thread, can someone explain to me how debugging in C++ while using templates is superior?