Call for Papers

Einfacheres C++ mit C++11/14 ( Kompaktseminar )

Referent: Prof. Peter Sommerlad, HSR Rapperswil
Vortragsreihe: Kompaktseminar Freitag
Zeit: 06. Dezember 09:00 - 15:30

Zielgruppe

Entwicklung

Themenbereiche

Implementierung, Test & Qualitätssicherung, Wartung, Pflege, Support, Software Engineering Management, Sichere Software

Kurzfassung

Klassische Regeln für die C++ Programmierung führen oft zu unnötigen Code-Konstrukten und sind mit C++11/14 sogar teilweise hinderlich. Viele C++ Codebeispiele, angefangen bei HelloWorld.cpp, animieren Entwickler zu einem Stil, der unnötig komplex und fehlerträchtig ist. Oft wird Objektorientierung und virtual Member Funktionen als Selbstzweck eingesetzt und Objekte unnötig manuell auf dem Heap angelegt. Auch führt die Nutzung von globalen Variablen oder Singletons zu Code der kaum sinnvoll mit Unit Tests versorgt werden kann. Der Vortrag zeigt auf, wie Sie Code gestalten, der sinnvoll die Automatismen des Compilers, sowie die Funktionalität der Standardbibliothek bzw. von Boost nutzt. All diese Dinge führen zu einfacherem und oft auch schnelleren Code, da die C++ Compiler viele Optimierungsmöglichkeiten haben, die in C oder bei schlechter Verwendung von C++ nicht gegeben sind. Als zusätzlicher Effekt ist der einfachere Code auch weniger komplex und leichter testbar.

Gliederung

Dieses Kompaktseminar ist eine aktualisierte Reprise aus dem letzten Jahr mit besonderem Blick auf die Neuerungen von C++14 gegenüber C++11.

Auf Sprachebene sind dies generische Lambdas, return-Type Deduktion auch für normale Funktionen, erweiterte constexpr Funktionen, dynamische Arrays (aber nicht identisch zu C) und Variablen-Templates (für Konstanten).

In der Library gibt es neu zwischen std::array und std::vector angesiedelt std::dynarray, flexibler einsetzbare Standardfunktoren, optional Werte, eine Factory Funktion für unique_ptr, quoted() für bidirektionalen string i/o, heterogenere Vergleiche für Assoziative Container, und Vereinfachung für die Meta-Programmierung.

Im Gegensatz zum Kurzvortrag (Dienstag, ESE-Kongress) werden die Neuerungen intensiver und mit Beispielen vorgestellt und interaktiven Demonstrationen angereichert.

Nutzen und Besonderheiten

Effektiverer Nutzen der C++ Sprachfeatures mit Ausblick auf die sinnvolle Nutzung von C++11/14. Aber auch C++03 wird berücksichtigt und gezeigt wie man schon dort C++ so nutzt, dass man keinen unnötigen Code schreibt. Resourcenmanagement ist eines der Themen, die konsequent betrachtet werden und mit Beispielen beleuchtet wird, wie es besser geht. Der Autor bereitet einige der präsentierten Themen gerade in Buchform vor (Lucid C++).

Über den Referenten

Peter Sommerlad ist Professor für Informatik und leitet das IFS Institut für Software der FHO HSR Hochschule für Technik, Rapperswil. Er ist Co-Autor zweier Pattern Bücher und Autor vieler Patterns für Software und Security. Als C++ Experte ist er Mitglied des C++ Standardisierungskommittees und Autor des C++ Unit Testing Frameworks CUTE. Sein Institut trägt zur Entwicklung von Eclipse CDT bei und hat diverse Plug-ins dafur entwickelt, z.B., Includator zur Include-Struktur Optimierung.