There are a lot of programming languages to choose from when going to develop your project. Everything from scripting languages to low-level assembly. It may seem a little bit like this language is better than that language. I am not going to talk about comparing the different languages. I am just going to talk about some reasons why I choose to use C++.
C++ has an extensive array of features. Trying to hold the complete language in your mind at any given time can seem difficult. However, these many features are there to give the programmer a choice on how they want to develop and shape their algorithms. If you want, you can write structured C-like programs in C++, or you can write object-orientated programs.
The following is a quote from Bjarne Stroustrup:
"Many C++ design decisions have their roots in my dislike for forcing people to do things in some particular way. In history, some of the worst disasters have been caused by idealists trying to force people into "doing what is good for them". Such idealism not only leads to suffering among its innocent victims, but also delusion and corruption of the idealists applying the force. I also find idealists prone to ignore experience and experiment that inconveniently clashes with dogma or theory. Where ideals clash and sometimes even when pundits seem to agree, I prefer to provide support that gives the programmer a choice."
- Bjarne Stroustrup
"The Design and Evolution of C++" Section 1.3
C++ can produce fast programs. For a long time, many people thought C++ programs contained a lot of bloated code. It is the year 2016, and this is not true anymore. You can set the optimization level on your compiler, and they have gotten excellent at generating code. By using certain optimization techniques, you can optimize hot spots in your code and increase the speed of your program.
C++ has templates, and I love templates. With templates, you can write generic code that works with a variety of types. You can abstract how your algorithms work and save a lot of time. The standard library is full of templates that make life easier when writing programs.
C++ has a lot of support online. If you look online for libraries, you will find there are many that you can use. Boost (http://boost.org) has a great set of libraries that do a wide variety of things. Some of the libraries from boost make it into the C++ standard eventually.
C++ is cross platform. You can write C++ for a lot of different systems. If you use cross-platform libraries, then you can compile the program for a wide variety of operating systems. Using free open source compilers like GCC you can easily setup compilers that produce executable code for other platforms. It is possible to use your current platform to compile programs for other operating systems.
There are a lot of reasons to use C++ this is just a few. When you know C++ you will find it easy to use other programming languages because many of the concepts involved in writing C++ are also employed in other languages.
-
Jared