Not too long ago, I was asked why I liked C++ more than other programming languages. I honestly couldn’t come up with a good answer. In hindsight, there is no specific reason for it and I don’t think there has to be. I love the color brown. Why? I don’t know, I just do.
I’ve done a bit of Java programming in the past and even less in C# (during a university course, that’s it). I could just never really get into those languages. I guess I missed what so many developers hate: the pointer. I like being able to mess around with pointers (maybe that’s because I was embedded systems programmer for years) and I do enjoy the speed advantage C++ gives. Do I think C++ is superior over others, such as Java and Ruby? Nope, not at all. Every language has it’s pros and cons. If you need performance, you’ll likely need C++ and possibly also OpenMP/MPI/Cuda/etc. But let’s face it, 95% (if not even more) of programs don’t need to be super fast. And C++ has the big drawback that it is not very safe due to the pointers.
I think, my passion for C++ became even stronger with the release of the C++11 standard. It truly improved the language by a lot and introduced many cool features (for an overview, have a look at the Wiki page). A bit over a year ago, C++14 was released and honestly, I couldn’t wait for Visual Studio 2015 to support this release (with a few exceptions).
Developers often argue which language is the best, but at the end, the choice of language depends on many factors. Which programming language are the developers in the company most familiar with, what kind of application has to be developed, which platforms does it have to run on, how big will it be, etc. As developer, I think it is important to be open to new languages and to know a few, but it is just natural that we all favor one language over the other, whatever the reason for that may be.