It's a truly neutral question: given that there are many languages to choose from, why do you choose to program in C++? 1. Compared to many of the other OO languages (i.e. Java, C# etc.), C++ has better support for the functional programming style. 2. Good support for generic programming. 3. C++ is faster. No matter what you have heard, the overall speed of C++ applications (either real or perceived) is greater than that of other languages. 4. Templates and generic programming without too much brain twisting. Templates and type safety is very important. If C++ hasn’t had templates, it would not be used. 5. Direct interfacing with C and O/S routines. 6. Plethora of good libraries. 7. C++ is always the right choice for serious applications that can be re-compiled on multiple platforms. 8. C++ is preferred choice of programmers all over the world when it comes to programming for creating games. Why programmers don't program in other languages other than C++? 1. Java and C# can't do many intelligent things that C++ can. 2. Having everything in classes does not always make sense. 3. Python and perl have weird syntax. ML and Haskell have even more weird syntax. 4. The most important reason: it is not directly visible, from the available online resources, that what can be done with C++, can not be done with LISP/ML/Haskell/O'caml/etc. In other words, gist of the matter is it's not the elegance of a language that counts, but rather the most cliche of arguments: what one can do with a language, in the shortest space and time.