It comes down to what features you need in a language. A few of them would be: Runtime speed / runtime memory, libraries, development speed, and cross-platform availability. C++ is known for producing fast and somewhat memory-efficient programs (In the right hands...), but has esoteric compiler errors, often forces OOP thinking, and, like C, is prone to memory leaks that can plague a project through its lifetime. On the other hand, Python is generally quick to read and quick to write, but orders of magnitude slower than an efficient C program. If you don't like to compiled libraries, the same python program runs on SPARC, ARM, and x86. No terrible cross-platform build system required. Java / Javascript are debatably middle grounds between these two, with both having run-time optimization, but still increased memory requirements over carefully written C/C++ programs. Bit of oversimplification, but not sure how much detail you want / what languages you are comparing...