O que é C++ e por que ainda é relevante?

What is C++ and why is it still relevant?

Discover the power of C++ and its lasting relevance in modern programming. Discover why this versatile language continues to be the foundation of software development. Explore C++ today!

Imagem em destaque

C++ was created by Bjarne Stroustrup in 1979, to serve as an extension of the general-purpose object-oriented programming language C. Over the years, C++ has played a crucial role in the development of operating systems, web browsers, databases, and games.

C++ was standardized by the International Organization for Standardization (ISO) in 1998 as ISO/IEC 14882:1998 and more recently ratified the latest version in December 2017 as ISO/IEC 14882:2017. And while many believe that languages ​​like C++ are antiquated and have little use in modern computing, that feeling is wrong.

Let's dig deeper and find out what makes C++ stand out and why it's still relevant.

Most common applications in C++

The first question you may ask yourself is: “Why C++?” After all, there are many languages ​​that are better suited to today's service-centric, mobile-centric world. And while C++ isn't found in mobile apps or web apps, it has a pretty important list of applications and use cases that still rely on this ancient language. Which apps, you ask? Consider the following.

Games

C++ is the language used to build most console and Windows games. If you have plans to work with big gaming companies, having C++ in your toolkit is inevitable. There are several reasons why C++ is such a good language for games. One reason is that it gives you a lot of control over memory management. C++ also has a large number of libraries that can be used to design complex graphics.

One of the main reasons why C++ is so widespread among game developers is because it is used in many game engines. For example, Sony's Unreal engine and Unity Engine are both built in C++. Considering the complexity of game engines, having them pre-built eliminates a lot of development work. As these mechanisms were created with the help of C++, you will need to know this language to use them. And some engines, like Unreal, only work with C++. So if you want to use the Unreal engine, you must know C++.

Desktop Apps

Since C++ includes all the necessary libraries and tools, it becomes easier to develop GUI desktop applications. In fact, many of the most popular desktop applications on the market are developed in C++. Applications like:

  • Adobe Photoshop, Premiere and Illustrator
  • Web browsers like Firefox and Chrome
  • Email clients like Thunderbird
  • Autodesk Maya 3D software system
  • Many banking apps (like Infosys Finacle)
  • MySQL Database
  • Civil engineering and surveying applications 12dPL
  • TrackEye by ImageSystems
  • MongoDB

Operational systems

Although the Windows kernel is written in C, almost everything else is written in C++. This includes the Windows desktop. On Apple's side, macOS device drivers and its Finder app are written in C++. Lesser-known operating systems that benefit from C++ are HaikuOS, Symbian OS, and IBM OS/400. Additionally, the KDE desktop environment (for the Linux operating system) is written in C++.

The cloud

You might not think that a language that has been around as long as C++ would have any relevance to the cloud. That happens. In fact, because many cloud storage systems are so closely tied to hardware, they benefit greatly from C++ (as it sits so close to the hardware layer). C++ also offers excellent multithreading support, so it is highly capable of providing concurrent applications and load balancing/tolerance.

This doesn't mean you can easily develop for the cloud with C++. Since the use of networks is not part of the C++ standard, you will have to integrate libraries for TCP/IP. But for short-lived, compute-intensive functions, C++ is an excellent choice.

The advantages of C++ development

While it may have been easy to dismiss C++ as an antiquated language that has little or no relevance in modern computing, it should be obvious by now that stating this is far from the truth. C++ not only still informs desktop application design: it is an integral part of the gaming market and has made progress on both the cloud and mobile platforms.

Popularity

Since C++ is so widely used, it shouldn't be a huge logical leap to understand that it's a very popular language. In fact, according to the TIOBE Index , C++ ranks fourth in usage (behind C, Java, and Python). And according to Salary.com , the average salary for C++ developers is $78,473 (as of June 2020). The typical salary range for a C++ developer is $71,562 and $84,088.

In comparison, C++ developers average considerably less than JavaScript developers (with JS Developers earning between $91,582 and $113,418 ). But since JavaScript is the most popular programming language on the planet right now, C++ isn't doing too badly.

Portability

A very useful aspect of applications written in C++ is that they are portable. Therefore, if you develop an application in C++, it will run on most platforms that support the language. This is possible, in part, because C++ has compilers for virtually every platform available. Of course, if your program requires a graphical element, you will have to use platform-specific toolkits (like OpenGL for Linux).

Embedded systems

Embedded systems are everywhere: in your refrigerator, on your wrist, in your car, GPS systems – virtually every electronic component that has become “smart”. Because C++ is so good at working with hardware, it is an ideal language for embedded systems.

In fact, at one point there was a dialect of C++, called Embedded C++, that was designed specifically for embedded systems. Embedded C++ was defined by a group of CPU manufacturers (NEX, Hitachi, Fujitsu, and Toshiba) to address the shortcomings of C++ for embedded systems. A strict subset of C++, based on EC++, was adopted by Apple and used to create all I/O Kit device drivers for macOS, iPadOS, and iOS.

Conteúdo Relacionado

O Rails 8 sempre foi um divisor de águas...
A GenAI está transformando a força de trabalho com...
Entenda o papel fundamental dos testes unitários na validação...
Aprenda como os testes de carga garantem que seu...
Aprofunde-se nas funções complementares dos testes positivos e negativos...
Vídeos deep fake ao vivo cada vez mais sofisticados...
Entenda a metodologia por trás dos testes de estresse...
Descubra a imprevisibilidade dos testes ad hoc e seu...
A nomeação de Nacho De Marco para o Fast...
Aprenda como os processos baseados em IA aprimoram o...
A web está em constante evolução, e com ela,...
A Inteligência Artificial (IA) tem sido um tema cada...
Você já se sentiu frustrado com a complexidade de...
O OpenStack é uma plataforma de computação em nuvem...
Você já se sentiu frustrado com a criação de...
A era digital trouxe uma transformação profunda na forma...
Nos dias atuais, a presença digital é fundamental para...
Introdução Quando se trata de desenvolvimento de software, a...
Como desenvolvedor Dart, você provavelmente já se deparou com...
Back to blog

Leave a comment

Please note, comments need to be approved before they are published.