We have to rethink what we did in the past
C++20 has been with us for some time now. Concepts are one of the big four features that can influence C++ a lot. In this talk, we will dig into what Concepts mean for our code-base.
For example, we'll look at static vs. run-time polymorphism comparing the two worlds, investigating what we did in the past because of the lack of Concepts and how we can write code differently now.
Another improvement of Concepts is readability. Template code gets quickly hard to read and starts looking like only template experts can understand and write. On the other hand, concepts make it very easy to formulate requirements in a readable way, much like writing _normal_ code.
But what about the speed of Concepts? Time is a very precious resource. For us developers, that means having quick turnarounds by fast compile-times is great. One promise of Concepts I often hear is improved compile-times. Let's dig into that and see by comparison if Concepts excel in compile-time speed over generic code without templates.
By the end of the talk, attendees have learned that Concepts allow us to approach software design differently by using Concepts.
Andreas Fertig, CEO of Unique Code GmbH, is an experienced trainer and lecturer for C++ for standards 11 to 20.
Andreas is involved in the C++ standardization committee, in which the new standards are developed. At international conferences, he presents how code can be written better. He publishes specialist articles, e.g., for iX magazine, and has published several textbooks on C++.
With C++ Insights (https://cppinsights.io), Andreas has created an internationally recognized tool that enables users to look behind the scenes of C++ and thus to understand constructs even better.
Before working as a trainer and consultant, he worked for Philips Medizin Systeme GmbH for ten years as a C++ software developer and architect focusing on embedded systems.