# Advantages

C++ is a high performance language, and when used correctly, can give performance seconded only by the likes of C and Assembly. Therefore, any application which requires high performance, like even finance and stock based applications, highly benefit by utilizing C++ language to build the codebase with.

Being one of the most popular languages, it has a very large community backing which is quite helpful, especially, when one encounters some trouble or issue. Since there is great community support, it also has a slew of various libraries which can be used to enhance the application or make it easier to develop. Be it graphics, audio, network, input, and even AI and Machine Learning, C++ contains libraries for all of them. One should also understand that C++ supports code which is written in C. Hence, any library or piece of code which is written in C, works with C++ directly without any modification. (Note: C++ supports C, but the internal architecture of both languages are quite different so do **not** consider C to be a part of C++ and the code design choices between C and C++ can also differ significantly)

The language is highly sought after for game development as well. Video games require heavy performance to accomplish the exuberant amount of calculations and processing. C++ fits this scenario perfectly. Hence, most games use C++ as the language of choice for development. There are many engines available for game development as well, most significantly, the _Unreal Engine_.

One may have heard of Google's _Tensor Flow_ - the highly acclaimed and lauded Artificial Intelligence library. Although it is used from Python, the library itself is built primarily using C++. That alone states how powerful this language can be in many areas.

But, there are cases when using C++ is simply not worth it. Let's take a look into that.
