Why C++ and Not ?

People have asked me this question many times over the years when I say I like to develop in C++. Usually followed by a statement about a single advantage for their language of choice.

The advantage is usually about easier/quicker to code, don’t have to worry about memory management/exceptions, or it uses some form of coding style they think advantageous.

My reasons for liking/using c++ are the following:

1) Familiarity

I originally learnt C++ back in TAFE and University (2003) and while I have worked with many languages over the years, many of them have been derivatives of C or very similar in many ways or syntax (C#, Objective C, Java, Javascript).

2) Flexibility

Many programming languages will force you to use either Procedural, Object Orientated or Functional programming paradigms and while they will have some support for another, they usually don’t support  all three.

C++ on the other hand is built on top of C and maintains the support for procedural programming from there while also adding in Object Oriented programming. Modern C++ has also added in many Functional programming features and many other things making it a very flexible language.

3) Functionality

C++ and C are have been around for a long time and are still a basis for many libraries to perform many different functionalities. While these libraries are available to other languages, its ofter just a wrapper around the original.

4) Fast

C++ is fairly low level and is often a very performant language. Compilers for c++ have been around for a long time too and many optimisations have been made to speed up resulting code.

5) F IDE Support?

Again since C++ has been around for a long time, there are many IDE’s that are fully featured. And while an IDE is not required, it can help greatly especially when coding against an unknown library or in an unfamiliar new language like <Language of the Month>

That’s pretty much it, and as much as I wouldn’t mind trying out some of the newer languages, I don’t have the time or patience these days to learn them without the help of a good IDE.