The change in IT

this is an additional paragraph which shouldn't be visible



The change in IT

In the last 10 years there has been a change in IT, programs and data increasingly determine our daily life. And with the new EU data protection basic regulation, some may have noticed how much data is now stored. But there are also other problems, because our data centers are getting bigger and bigger, and C++ still plays an important role here. So the language has had to adapt and expand in recent years. But let's start from scratch and ask ourselves this question.

Why does C++ have to reinvent itself and adapt?

In the last months and years there have been a lot of news and changes in IT. With SmartPhones, Tablets and SmartTVs, new operating systems and technologies, such as operating computers via touch or even free gestures, more has happened than in the 50 years before. The IT market is on the move again, new companies are appearing, others are trying to hold their own. In addition, social networks and the Internet play an even more important role today. Cloud services and other server services are added to this.

But our society is also becoming more and more dependent on a functioning IT infrastructure. Cars, trains and planes are being upgraded with electronic utilities. The railways are running at ever shorter intervals, factories are controlled by computers and logistics are reducing previously necessary inventories by providing on-time transport around the world.  In 2012, we were able to follow the successful landing of the Mars rover "Curiosity" on television, and now we can see how it passes its journey on Mars. It even has its own Twitter account.  And very often these systems are programmed in C or C++.

And thanks to the "cloud", social networks such as Facebook and Google's Internet services, huge data centers have formed. But these only work if they are constantly supplied with power so that the computers can run and be cooled sufficiently.  The cost of electricity is enormous, but there is no lack of awareness of these problems among the population. Some people know the saying that you could make a cup of coffee with the power consumption of a Google search. That is why data centres play a significant role in the electricity and carbon dioxide balance today, here in Germany more than 10% of the electricity generated is consumed in server farms. And here, too, it can be seen that efficient, native code, for example written in C or C++, not only saves costs, but also helps our environment.

But due to the increasing importance of data centers today have disruptions in this global impact. So we need applications that are not only efficient but also secure. And IT experts are becoming important factors in the strategies of the military, who see a great danger in attacks on these infrastructures and want to disrupt those of the enemy. When I first wrote this 5 years ago, there was no hacker attack on our Bundestag, and the active influence of state-sponsored hackers on the US election campaign was still in the distant future.

Most known systems have one thing in common, they are at least partly written in the programming language C++, or in the subset C. For example, Herb Sutter spoke in a lecture about how Microsoft loves its own language C#, but is ultimately built on C++. Many of the important Microsoft products, such as the Windows operating systems, Office, Internet Explorer, Exchange, MS SQL, but also the C# compiler itself, are written in C++. But also other well-known systems like Unix or Linux are very closely linked to C and C++. And so there is hardly any electronic device that could not have a sticker "C++ inside" on it, as Bjarne Stroustrup once said some time ago.

And social networks like Facebook, or Google's search service with its huge server farms would certainly not be conceivable in C++ either. So it is not surprising that these companies keep appearing in the further development of C++.

This programming language, which critics very often describe as outdated or even concept-less, seems to play a bigger role again. For us it is important to separate active marketing, which unfortunately very often ends in bashing C++, from real and factual information. So we are talking about a resurrection since 2011. In fact, the programming language C++ has never been gone, nor was it condemned to a shadowy existence in the shadows, but many important systems have been and will continue to be written in this native, powerful language. No other language offers the range of possibilities for architects and developers, is supported by so many tools, and the programs created are faster and more resource-efficient than those of the hyped fashion languages. It is precisely the careful use of resources that makes the language so interesting, whether in devices with limited space, in SmartPhones and tablets, where the batteries are crucial for the possible performance, or increasingly in server farms to save significant amounts of energy and thus generate less carbon dioxide.

And the C++ language is not without its own concept. Which is true, C++ is not object-oriented. It was never intended as such. Since C is a subset, you can even write fully structured programs. And that's just as well. From the very beginning, the language has always been a multiparadigmatic language, so it supports many elements of object orientation as well as those from meta-programming and increasingly functional development. Thus C++ is free of dogmas. In addition, there is multiple inheritance, and the possibility to design your own data types with all operators, which you usually don't find in this form in other languages.  In recent years, representatives of the "pure" languages have also recognized that the use of a paradigm has disadvantages. Here one is now looking for suitable additions, partly by extending the own language, as in Java with generics and lambda functions. Alternatively, a combination of several languages is being searched for, here we speak of polyglot programming.

And the language C++ is also not obsolete. After several years of voting in the ISO committee, the new C++ standard C++11 was adopted in September 2011. Thus, the goal of completing this within the first decade of this century, i.e. by 2009, was not achieved. But it is the result that counts, and so it is also a sign of the quality of the development of C++, to fail to reach a milestone for once. As Bjarne Stroustrup wrote, the new C++ feels like a new language. At the same time, the roadmap for the following years was also set. So the standards C++14 and C++17 followed, and work is actively underway on the next step. These new standards brought a lot of interesting features that will equip the language for the requirements of the next years. But the developers have to accept them and if necessary go back to school.

Kommentar verfassen

* These fields are required


Keine Kommentare

About the author

Über den Autor

Volker Hillmann

CEO, Developer, Germany, Berlin
Volker Hillmann was born in 1965 and holds a degree in mathematics with a focus on databases and data security. He has been programming in C since 1988. After first touches on a Unix machine with Turbo C 1.5 on PCs. That's how he got to know C++ in 1991 and since then he is programming in different areas with C++. After some experience in the insurance and banking industry, he founded adecc Systemhaus GmbH in 2000, of which he is still the CEO. He is also MVP at embarcadero Germany.

More posts by this author