Introduction
Introduction
Bjarne Stroustrup, a C and Simula67 enthusiast, thought of combining the best of both the languages, and subsequently, C++ emanated at AT&T Bell Laboratories in Murray Hill, New Jersey, USA, in the early 1980’s. Stroustrup’s C with Classes became C++ in 1983, the ‘++’ denoting the Increment Operator in C. The programming language can run on a number of platforms like Windows, Mac OS and numerous versions of UNIX. The most recent version of C++ programming language is C++ 17, revised by ISO/IEC 14882 standard.
Popularity of C++
The TIOBE Index indicates that C and C++ are till date among the most used languages among programmers. Being a combination of both high-level and low-level language, C++ is regarded as a “middle-level” language. The language has evolved with time, and as of now, possesses facilities for low-level memory manipulation in addition to object-oriented, generic and functional features. It supports Object Oriented Programming in its entirety including the four pillars of object-oriented development, namely
- Encapsulation
- Data Hiding
- Inheritance
- Polymorphism
Applications of C++
- Operating Systems:
Being a strongly typed language in addition to being fast, C++ becomes a perfect choice when it comes to writing operating systems. C being analogous to assembly language, further aids in writing low-level operating system modules. Hence, it is no surprise that most of the softwares of Microsoft are developed using C++, also Mac OSX has some of its parts written in C++.
- Browsers:
The fast performance of C++ makes it an ideal choice for the rendering engines of various browsers. Mozilla Firefox, Google Chrome and Apple Safari are developed using C++.
- Libraries:
C++ is used as the backend programming language of many high-level libraries, for example, Tensorflow; one of the most significantly used Machine Learning Libraries.
- Databases:
C++ is used in writing Database Management Softwares. Two of the most popular Databases, MySQL and PostgreSQL are written in C and C++.
- GUI based Applications:
“Speed” is what matters in graphics applications because it helps the developers in expanding their target audience. Applications which have high-end graphical processing like most of the applications of the Adobe Creative Cloud viz. Photoshop, Illustrator, etc. are developed by using C++.
- Cloud Systems:
The compatibility of C++ with a lot of machines along with its affinity with the hardware makes it a perfect choice for cloud storage and distributed systems. Load tolerance and high concurrency is provided by the multithreading libraries in C++ which becomes a huge advantage.
In addition to the above mentioned applications, C++ is also majorly used in Embedded Systems, Compilers and Banking Applications besides a multitude of other uses.