this is an additional paragraph which shouldn't be visible
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.
Keine Kommentare
3 days
8 Participants
3 Days
8 Participants
In this seminar you will get a compact introduction to the latest version of C++Builder (currently 10.3.3). C++Builder is a cross-platform development tool that allows you to develop high-performance, native applications for the target platforms Windows (32bit, 64bit), Mac OS (32bit), iOS and Android.
5 Days
8 Participants
As the title of the course says, this course is about developing native applications for mobile devices (app) with C++Builder (currently 10.3.3).
2 Days
8 Participants
This course is designed for C++ developers who want to use the C++Builder and deepen their knowledge. In addition to using the components and the properties of the C++ language, it is especially important to combine both in a sensible way.
3 Days
8 Participants
This seminar is aimed at C++ programmers who want to extend access to databases in their applications. This seminar explains the main components of the C++ Builder for database access, but also shows how to integrate them into a clean application architecture.
3 Days
8 Participants
This seminar is aimed at C++ programmers who have gained experience with the database components of the C++ Builder and now want to develop scalable database applications. In this seminar the importance of ANSI C++ - interfaces between the business logic of an application and the database is shown.
3 Days
6 Participants
This course is aimed at software developers who want to learn the elements of the C programming language as a basis for a later entry into object-oriented programming with C++.
3 Days
8 Participants
This seminar is aimed at programmers who want to switch from C to C++. The most important extensions of the C++ language and the differences to C are discussed in detail.
3 Days
5 Participants
This seminar is aimed at programmers who want to switch from C to C++. The most important extensions of the C++ language and the differences to C are discussed in detail.
5 Days
8 Participants
We were often asked if we could do a training "with everything". A larger example, starting with an idea, developing an architecture from it, and then implementing it independently in C++. Just use the extensions without letting them determine our structure and architecture, and if possible, combine this with developing access for mobile applications.
5 Days
8 Participants
In this seminar you will learn which Open Source tools you can use for your daily work with the current C++ Builder 10.3.3. This includes solutions for documenting, metrics, code analysis and code management.
2 Days
6 Participants