Why I love C++

Shikha Pandey
5 min readJun 6, 2021

--

Numerous developers are disappointed with and inclining away toward the C/C++ programming dialects because of the resulting reasons:

(1) Very steep expectation to learn and adapt.

Numerous individuals joined the programming scene by learning C or C++, however, it’s uncommon for them to remain learning and dominating these two dialects well since they get baffled in dealing with the low-level programming components like pointers, the memory stockpiling model, address arrangement, formats extension, multi-string information races, etc. In the event that these components aren’t dealt with as expected, the application will have a high likelihood of smashing, which can baffle the new software engineer.

(2) Rarely used in current application improvement

These days we’ve many progressed programming dialects like Java, C#, Python, Javascript, Go, and so on for application improvement and it appears to be crazy on the off chance that somebody needed to foster a web application or backend administration in unadulterated C/C++. The regular application regions are appropriated by further developed programming dialects, for example,

Web front-end advancement: Javascript/Typescript rule everything and in this way the three famous structures inside the frontend are Angular, React, and Vue.

Web back-end administration advancement: Javascript (Node), Python (Flask, Django), Java, and PHP are the supported innovations utilized.

Work area application improvement: QT (PyQT, C++), Electron (Javascript), WPF (C#).

Versatile application improvement: iOS (Objective-C, Swift), Android (Java).

Conveyed frameworks, Big Data, Cloud Computing: Java, Go, Groovy, Scala.

Information science, AI (Artificial Intelligence), ML (Machine Learning): Python.

It would appear that C/C++ is never used in these cutting-edge application advancement regions. So for what reason would it be a good idea for us to in any case learn C/C++? Here are 5 reasons why you ought to:

1. Expert other progressed programming dialects quicker.

Practically any remaining present-day programming dialects and mainstream libraries are worked by C++. Here are some run of the mill models:

– Java: The center of the Java Virtual Machine area of interest is executed in C++.

– Python: The Python mediator is carried out in C.

– the chief mainstream Javascript motor V8 is carried out in C++.

– Numpy: one of the premier famous logical libraries in Python and it’s generally used in AI and ML, however, its center module is executed in C.

On the off chance that you just recollect the sentence structure of a programing language or can utilize the basic libraries well, it doesn’t mean you genuinely dominated the programing language . Knowing the thought behind the dialects can help you foster applications inside the language all the more productively, which at that point implies you really dominated the language. Yet, the essential for the entirety of that is you must comprehend C++ well.

2. Bring execution.

When programming in cutting-edge programming dialects, we essentially work in the execution of functionalities. We generally use rules of best practice to stay away from senseless errors yet it’s not almost enough once you had the chance to acquire better execution. Better execution requires cautious profiling and investigation to search out which code is that the exhibition problem area and the best approach to revise them in a more productive way.

Assuming you perceive C/C++ enough, it’ll help you in acquiring a much better presentation since you perceive how these high-level programming dialects run at their least level. you’ll be prepared to find the trouble quicker which can be execution rot, the costly CPU guidelines, the reserve miss, the tradeoff of setting exchanging, or something different.

3. Comprehend the basic PC hypotheses well.

PC organizations, working frameworks, PC engineering, and compiler speculations are four of the preeminent significant major PC hypotheses and a large portion of our new methods are assembled to upheld these four.

In case you’re simply programming in cutting-edge programming dialects, these machine-level subtleties are typically stowed away from you. Be that as it may, these procedures are truly significant on the off chance that you might want to jump out of the overall systems and foster something else.

For instance, when the organization status is precarious and you’d like a solid association you would not settle the trouble with TCP since TCP brings an outsized inertness on account of its enormous retransmission break. So how would you need to do it?

In the event that you comprehend an organization well, you’ll fabricate your own dependable convention with more forceful and productive retransmission plans. you’d at that point had the opportunity to coordinate it into the organization’s SDK and you’ll get to abilities the organization conventions are carried out inside the OS. Your execution ought to be proficient so you must comprehend the pc design well too like utilizing the CPU store, memory, and organization connectors adequately. At long last, in the event that you might want to supply API interfaces for other progressed dialects, similar to Python, Javascript, and so on, you might want to see how the language restricting functions, and compiler hypotheses help immediately.

In particular, these key strategies are upheld C/C++.

4. C++ powers the planet

C++ is all over the place. particularly, they power a larger number of innovations than we give it credit to.

Most OS parts are written in C, including yet not restricted to Windows, Linux, Mac, iOS, Android, etc.

Current programs likewise are written in C/C++. like Chrome, Firefox, and so on

Current game motors are written in C/C++, like Unity3D, Unreal Engine, cocos2d-x, and so on

As referenced above, programming dialects compilers and mediators are executed in C/C++ as well.

As indicated by the TIOBE Index for March 2018, C/C++ stays the premier famous language. So don’t spare a moment to remain to learn these two dialects that are as yet driving the planet.

--

--

Shikha Pandey

Software Engineer - Tech Enthusiast - Startup Enthusiast. Reach me out at https://shikhapandey.me/:)