I agree with the idea that simply writing a random algorithm in C/C++ will not make it nesiccarily faster than writing one in Python/Java. You do have to consider algorithm efficiency before you can assume anything. Thats good theory that every Compsci student learns.
However in practice, for a given algorithm, writing it in an efficiently-compiled language like C++ will most likely make it faster than an interpreted language like Python/Java. It comes from the fact that compiled code is ready to execute directly; interpreted languages must be transformed from plain text/object code into machine code.
Could you imagine a graphics-intensive game like Prey or WoW being written in Java? Every time an instruction was needed, it would be first interpreted and then executed! Or how about scientific apps that want to squeeze the most calculations out of every clock cycle? Much slower. Bottom line, there is a difference between languages, and there's a reason for hundreds of them to coexist.
However in practice, for a given algorithm, writing it in an efficiently-compiled language like C++ will most likely make it faster than an interpreted language like Python/Java. It comes from the fact that compiled code is ready to execute directly; interpreted languages must be transformed from plain text/object code into machine code.
Could you imagine a graphics-intensive game like Prey or WoW being written in Java? Every time an instruction was needed, it would be first interpreted and then executed! Or how about scientific apps that want to squeeze the most calculations out of every clock cycle? Much slower. Bottom line, there is a difference between languages, and there's a reason for hundreds of them to coexist.