REAL WORLD APPLICATIONS OF C++
C++ may be underestimated as in Current time as language oriented towards Core academics mostly, but most people forgot that almost all the software somewhat are inspired or built using C++. C++ is generally defined as General Purpose Programming Language as an extension of “C programming Language”. The language has transformed over the time and now it has come with facilities like Object Oriented approach generic, and functional features in addition to facilities for low-level memory manipulation.
C++ was designed mostly oriented towards system programming , embedded, resource-constrained software and large systems, with performance, efficiency, and flexibility of use as its design highlights. C++ has also been found useful in many other contexts along with Key strength such as Software-Infrastructure and resource-constrained applications such as desktop applications, video games, servers etc.
So let’s have a look where C++ is utilized in real world applications.
Microsoft Visual C++
Microsoft Visual C++ is a product developed by Microsoft mainly for the compilation of C/C++. This particular application is mainly built in C++. In the beginning, it was standalone product but later it was embedded into Visual Studio another hardcore multilingual software developed by Microsoft. It mainly runs on an operating system named as Windows which is also part of Microsoft Development.
Initially, it was a 16 bit version released in 1983. Later on several developments occurred in this particular product. The developments mainly consisted of various featured libraries such as Microsoft Foundation Class (MFC) library mainly used for developing Windows applications in Open Source. In the process, there came the 32 bit version based on Intel 386 architecture. Later on they made available this product in various formats such as Learning, Professional, Enterprise etc.
In 2008, there came Visual C++ 8.0 32-64 bit version including .NET framework which allows more than one language to be compiled and executed on a single system which is nowadays used in a product called Visual Studio.
There have been continuous changes in Application Binary Interface of Visual C++. Thus, more often than C or Component Object Model to achieve stable ABI for Visual C++.
Microsoft Windows mainly known as Windows is a graphical multipurpose operating system developed by Microsoft. Windows consist of operating systems mainly for desktops, mobiles, IOT etc. Microsoft came into picture in 1985 and went on to capture the OS market around 90% of systems having Windows as OS at that time.
Windows mainly developed by certain families such as Windows NT and Windows CE in which Windows NT is mainly built in C++. It is a multipurpose, processor independent , multi-user Operating System. In development of Windows NT, C++ is majorly used for user-mode code. The major features of NT include software and hardware compatibility which is inherited due to use of C++ as C++ is Lower Level machine language. NT supports per object access control list which allows a rich set of security permissions to be applied for systems and services. NT also supports Windows network protocols, inheriting the previous OS/2 LAN Manager networking, as well as TCP/IP networking to develop stream based stacks. Later came on next version of NT is Windows XP consisting of redesigned user interface (including an updated Start menu and a "task-oriented" Windows Explorer), streamlined multimedia and networking features, Internet Explorer 6, integration with Microsoft's .NET Passport services, modes to help provide compatibility with software designed for previous versions of Windows, and Remote Assistance functionality.
In succession came the versions such as Windows 7 which became a major hit at that time with more attractive UI and home networking features. After that came Windows 8 and Windows 10 in succession compatible with PC's, Mobiles, Tablets etc where it took a paradigm shift. Nowadays, Windows 10 versions are in use with slight modifications done in a span of year or 6 months.
Google Chrome
Google Chrome is a Web Browser developed by Google and published in 2008 for Microsoft Windows built with free software components from Apple WebKit and Mozilla Firefox.
Later it was developed for Linux, Android, macOS, iOS where it was made as the default browser built in system. It was mainly based on Chrome OS which is a Gentoo Linux-based operating system designed by Google.
Chrome is assembled from 25 different code libraries from Google and some third parties such as Mozilla, Skia Graphics, SQlite etc. The main framework for Chrome is Skia Graphics which is built on C++. The Skia abstracts away platform-specific graphics API. Skia supports OS mainly as macOS, Android, Windows, iOS etc.
About the Chrome OS, it was mainly built on top of Linux Kernel which is another Open Source platform for Software Developments. Chrome OS is also mainly written in C++ over Linux Kernel which is made of C. So, we can say that Chrome OS is a combination of C and C++ but due to use of C++ the code becomes efficient due to OOP and it also becomes faster in the process due to less repetition of code. Thus, Google Chrome has become one of the fastest browsers in business.
Arduino Microcontroller
Arduino is a family of Microcontrollers developed by a company named Arduino originated from Italy. It is basically Electronic microcontroller used to execute multiple tasks in a sequence or in a desired way. It has various applications in almost every field such as domestic, industry, commercial etc. Most of Arduino consist of Atmel 8 bit microcontroller AVR microcontroller. Later it was developed upto 32 bits.
As there is hardware, so there was a need for programming the hardware. Previously, the system programming was used to program the Arduino, but later on the process an IDE was developed to program the Arduino boards. The IDE of Arduino is a cross platform application written mainly in java and C++. The IDE includes a code editor with features such as text cutting and pasting, searching and replacing text, automatic indenting, brace matching, and syntax highlighting, and provides simple one-click mechanisms to compile and upload programs to an Arduino board.
The Arduino mostly supports C++ style of coding that is mostly syntax similar to C++ and C. The Arduino also supports C++ libraries that provide many functions with compilation speed and efficiency. User-written code only requires two basic functions, for starting the sketch and the main program loop, that are compiled and linked with a program stub main() into an executable cyclic executive program with the GNU toolchain, also included with the IDE distribution. The Arduino IDE employs the program avrdude to convert the executable code into a text file in hexadecimal encoding that is loaded into the Arduino board by a loader program in the board's firmware.
A minimal Arduino program called Sketch consists of mainly two function called as setup() and loop().
setup () : This function is called once when a sketch starts after power-up or reset. It is used to initialize variables, input and output pin modes, and other libraries needed in the sketch. It is analogous to the function main().
loop() : After setup() function exits (ends), the loop() function is executed repeatedly in the main program. It controls the board until the board is powered off or is reset. It is analogous to the function while().
Basic blink LED program for Arduino:
# define LED_PIN 13 // Pin number attached to LED.
void setup() {
pinMode(LED_PIN, OUTPUT); // Configure pin 13 to be a digital output.
}
void loop() {
digitalWrite(LED_PIN, HIGH); // Turn on the LED.
delay(1000); // Wait 1 second (1000 milliseconds).
digitalWrite(LED_PIN, LOW); // Turn off the LED.
delay(1000); // Wait 1 second.
}
In the above program, we can see function setup() which is used to initialize variables and set their mode as dig
To get started with coding in Arduino IDE 👇
CONCLUSION
From the above block, we can conclude that though C++ is related to academic purposes still it has vast domain from Compilers, OS, Browser to Embedded Systems and many more. We have seen it’s particular uses in particular domains and tried to study the use of C++ in them. We have mostly taken the regular software used by us in day to day life or in professional life. We have noted that C++ has been really efficient and upto the when it comes to Software development as Compared to other languages. The OOP approach adds an extra edge with features such as Abstraction, Encapsulation, Polymorphism reduces the efforts of programmers along with it increases the speed of compilation as well. It is also useful in making quick and effective GUI as seen in OS and browsers. Thus, learning C++ can be quite effective as it is the go to language for Software development.
Getting started with C++ Programming 👇
References –
2.LEXTRAIT, VINCENT (JANUARY 2010). "THE PROGRAMMING LANGUAGES BEACON, V10.0". ARCHIVED FROM THE ORIGINAL ON 30 MAY 2012.
3.ASHFORD, WARWICK (SEPTEMBER 2, 2008). "GOOGLE LAUNCHES BETA VERSION OF CHROME WEB BROWSER". ARCHIVED FROM THE ORIGINAL ON APRIL 11, 2021
4.LEBLANC, BRANDON (OCTOBER 28, 2008). "HOW LIBRARIES & HOMEGROUP WORK TOGETHER IN WINDOWS 7". WINDOWS EXPERIENCE BLOG. MICROSOFT. ARCHIVED FROM THE ORIGINAL ON NOVEMBER 2, 2008

Very informative content you have shared.. really helpful 👍
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteUsually I never comment on blogs but your article is so convincing that I never stop myself to say something about it. You’re doing a great job ,Keep it up.
ReplyDeleteVery informative 👍🏻
ReplyDeleteExcellent information 👍👌
ReplyDeleteInformative....nice work!
ReplyDeleteNice work.. 👍🏻👍🏻
ReplyDeleteInformative..
Very Informative.
ReplyDeleteNice and detailed information
ReplyDeletePrecise & Concise ! Nice job !!
ReplyDeleteNice content
ReplyDeleteInformative
Great work guys!
ReplyDelete