Call for Papers

Modernes C++ richtig einsetzen ( Kompaktseminar )

Wie der Compiler aktiv hilft, Fehler zu vermeiden

Referent: Daniel Penning, embeff GmbH
Vortragsreihe: KS 1.10
Zeit: 03.12.18 13:30-17:00

Zielgruppe

Entwicklung

Themenbereiche

Implementierung, Sichere Software

Schwerpunkt

Technologie

Voraussetzungen

Grundlagenwissen

Kurzfassung

Geht es um die wichtigsten Unterschiede zwischen C und C++, so wird häufig die Objektorientierung an erster Stelle genannt. Zentrales Element in einführender Literatur und Lehre sind oft die Modellierung von Klassen und der Einsatz von Vererbung. Dies führt bei Embedded-Entwicklern oft zu berechtigten Fragen in Bezug auf den Nutzen für ihre tägliche Arbeit. Dieses Seminar legt einen anderen Schwerpunkt und konzentriert sich auf die Vorstellung von C++ Features, die aktiv helfen, den Programmcode sicherer zu gestalten. Fehler werden dann bereits durch den Compiler entdeckt. Der Zeitaufwand für Debugging wird deutlich reduziert. Die modernen C++ Standards (C++11 bis C++17) haben Sprachmittel eingeführt, die eine solche sichere und ausdrucksstarke Programmierung für den Entwickler zugänglicher machen.

Gliederung

• Motivation “Make interfaces easy to use correctly and hard to use incorrectly.”
• Strong Types für aussdrucksstarken Code
• Eigene Datentypen mit eingeschränkten Funktionen
• Annahmen mit static_asssert direkt im Code festhalten
• Generische und streng typisierte Funktionen
• Berechnungen durch den Compiler mit constexpr
• Ausblick auf modernste Bibliotheken für sichere Register-Zugriffe

Nutzen und Besonderheiten

Es werden praxisnahe Beispiele verwendet. Jeder Teilnehmer hat nach dem Seminar ein solides Verständnis über die Konzepte typsicherer Programmierung und kann einzelne Techniken direkt in der täglichen Arbeit einsetzen. Die vorgestellten Techniken lassen sich auch in bestehende Projekte nachträglich und schrittweise einfügen. Alle gezeigten Techniken werden insbesondere in Hinblick auf Performance und Ressourcenverbrauch analysiert. Dynamischer Speicher wird nicht verwendet. Teams und Entscheider bekommen für künftige Technologie-Auswahlen fundierte Argumente für einen Einsatz von modernem C++.

Über den Referenten

Daniel Penning studierte Elektrotechnik in Karlsruhe und ist Geschäftsführer der embeff GmbH. Er verfügt über mehr als 10 Jahre Erfahrung in verschiedenen Bereichen der Softwareentwicklung. Inzwischen konzentriert er sich ausschließlich auf die speziellen Anforderungen eingebetteter Systeme. Dabei ist ihm besonders die Effizienz von Produkten und Entwicklungsprozessen eine Herzensangelegenheit.