Wilkening-Online Logo

C++ User-Treffen in Aachen am 15.3.2018



Von Detlef Wilkening

Wie immer am Anfang des Berichts kurz der Hinweis, dass alle Vorträge, Quelltexte, usw. - soweit vorhanden bzw. mir bekannt - auf der Vortrags-Übersichts-Seite verlinkt sind.

Diesmal fand das C++ Treffen bei der Utimaco GmbH statt, und 35 Teilnehmer kamen für interessante und spannende Vorträge.

C++ User-Treffen Aachen 15.03.2018 - Bild 1
Foto 01: C++ User-Treffen Aachen 15.3.2018

Danke von hier an die Utimaco GmbH für den Raum, das Essen und die Getränke. Außerdem hatte Utimaco auf jedem Stuhl eine Tüte mit Informationen und Give-Aways für die Teilnehmer bereitgestellt - Ausdruck der Suche von Utimaco nach neuen Entwicklern. Während die meisten diese Personal-Recruitung Aktion einfach hinnahmen bzw. ignorierten, regten sich einige Anwesende über diese doch sehr aufdringlich wirkende Ansprache auf. Ich sehe das gelassen - wir wissen doch alle, dass die meisten Firmen Entwickler suchen - und dass sie solche Gelegenheiten für Werbung nutzen. Wo ist das Problem? Aber wir müssen auch akzeptieren, dass einige da empfindlicher als andere reagieren. Schwieriges Thema - es gibt mal wieder kein Richtig und Falsch, sondern nur grau in grau.

C++ User-Treffen Aachen 15.03.2018 - Bild 2
Foto 02: C++ User-Treffen Aachen 15.3.2018

Ich eröffnete den Abend wie fast immer mit einer kurzen Begrüßung, einer Vorstellung der Themen des heutigen Abends, einem Ausblick auf die nächsten Treffen, und dem selbstverständlichen Aufruf dass ich immer Vorträge für die kommenden Termine suche. Diesmal sogar mit einer gewissen Dringlichkeit, da für die nächsten Treffen noch nicht sehr viele Lightning Vorträge vergeben waren - das änderte sich zum Glück im Laufe des Abends.

C++ User-Treffen Aachen 15.03.2018 - Bild 3
Foto 03: Detlef Wilkening bei der obligatorischen Einleitung des C++ User-Treffens

Den ersten fachlichen Vortrag übernahm dann Stephan Schwichtenberg mit der Vorstellung der "neuro:pil Bibliothek". "neuro:pil" ist eine C Netzwerk Library für Secure Messaging im Internet-of-Things. Sie ist eine sehr kleine C99 Bibliothek, die neben einer zentraler Verwaltung auch Skalierbarkeit und ein dezentrales Messaging unterstützt. Da sie so klein ist, läßt sie sich problemlos auch in kleinen Embedded-Systemen nutzen - also ideal für das Internet-of-Things. Im Internet findet man die Bibliothek "neuro:pil" hier und hier.

C++ User-Treffen Aachen 15.03.2018 - Bild 4
Foto 04: Stephan Schwichtenberg mit "neuro:pil Bibliothek"

C++ User-Treffen Aachen 15.03.2018 - Bild 5
Foto 05: Stephan Schwichtenberg mit "neuro:pil Bibliothek"

Vortrag Nummer 2 war von Wolfram Rösler und behandelte das leidige "west const vs. east const" Thema. In C++ bindet const erstmal nach links, und wenn dort nichts steht, dann bindet const nach rechts. Also ist es semantisch vollkommen identisch ob man "const int" oder "int const" schreibt. Und die Meinungen, was nun besser ist, gehen ziemlich auseinander. Wolfram widmete sich nun diesem Thema und stellte die Vor- und Nachteile der einzelnen Schreibweisen vor, wobei die Teilnehmer noch weitere Gründe für die eine oder andere Schreibweise aufführen konnten. Eine endgültige Lösung für dieses weltbewegende Problem brachte also auch dieser Vortrag nicht - es stehen uns also noch einige Diskussionen bevor.

C++ User-Treffen Aachen 15.03.2018 - Bild 6
Foto 06: Wolfram Rösler mit "West const vs. east const - core guidelines vs. logic"

C++ User-Treffen Aachen 15.03.2018 - Bild 7
Foto 07: Wolfram Rösler mit "West const vs. east const - core guidelines vs. logic"

Den letzten Lightning-Vortrag übernahm Leonid Ostwald mit "ECS - Entity Component System". Dies ist eigentlich kein spezielles C++ Thema, da es sich bei ECS um ein Architektur-Pattern handelt, das häufig in der Spieleentwicklung eingesetzt wird. Leonid stellte das Pattern vor und motivierte die Vorteile, die hauptsächlich darin bestehen dass die Abhängigkeiten einfacher gehandelt werden können und ECS System leichter zusammensteckbar sind. Gerade das letzte Argumen ist oft ein großer Vorteil beim Debugging, da man bei ECS Systemen einfach die nicht relevanten Teile herausnehmen und so die Fehlersuche vereinfachen kann. ECS ist sicher einen Blick wert, und war dann auch ein interessanter Gesprächsstoff in der folgender Pause.

C++ User-Treffen Aachen 15.03.2018 - Bild 8
Foto 08: Leonid Ostwald mit "ECS - Entity Component System"

C++ User-Treffen Aachen 15.03.2018 - Bild 9
Foto 09: Leonid Ostwald mit "ECS - Entity Component System"

Nach soviel Input hatten wir uns alle eine Pause verdient, und wir freuten uns über das Essen und die Getränke und nutzen die Gelegenheit für fachliche Diskussionen der Vorträge, aber auch anderer C++ und Programmier-Themen.

C++ User-Treffen Aachen 15.03.2018 - Bild 10
Foto 10: C++ User-Treffen Aachen 15.3.2018

C++ User-Treffen Aachen 15.03.2018 - Bild 11
Foto 11: C++ User-Treffen Aachen 15.3.2018

Der zweite Teil des Abends gehörte dann Guido Küpper mit seinem Vortrag über die "Boost Graph Library (BGL)". Guido erzählte zuerst dass er sicher kein BGL Experte ist, der alle Facetten der Bibliothek kennt. Statt dessen hatte er die BGL ganz praktisch kennen gelernt. Seine Aufgabe bestand darin Services (Funktionen) auf Steuergeräten (kleinen Prozessoren) auszuführen. Klingt erstmal ganz einfach, und hat rein gar nichts mit Graphen zu tun. Aber in der Praxis können die Services nur dann ausgeführt werden, wenn das Steuergerät in einem bestimmten service-spezifischen Status ist. Und fast jede Service-Ausführung verändert den Status des Steuergeräts - manchmal als Seiteneffekt, manchmal als einzige Auswirkung des Service. Da man den Status des Steuergeräts nicht abfragen kann, muss quasi die gesamte Kommunikation lang Buch über den Status geführt werden, und soll ein Service ausgeführt werden, so muss als erstes ein Weg in den für die Ausführung notwendigen Status gefunden werden. Ein klares Graphen-Problem: die Status sind die Knoten im Graphen, die Service-Ausführungen die Kanten. Die BGL bot sich an.

C++ User-Treffen Aachen 15.03.2018 - Bild 12
Foto 12: Guido Küpper mit "Boost Graph Library (BGL)"

Nach einer Einführung in den fachlichen Kontext und einer Vorstellung der BGL, zeigte Guido abgespeckten (aber realen) C++ Code, der die BGL nutzte. Anhand dieses Codes zeigte er uns Eigenheiten der BGL, und wies auf einige Fallen und Besonderheiten in der Benutzung hin.

Selbst wenn der konkrete Code für viele Teilnehmer sicher zu detailliert war, so konnte jeder zumindest die Konzepte der BGL und einen Überblick über ihre Featues mitnehmen. Damit kann nun jeder entscheiden, ob die BGL ein passendes Werkzeug ist, wenn man mal ein Graphen-Problem lösen muss. Aber auch die Ausführungen über Services und Steuergeräte war für viele neu und spannend - und so war es wohl für alle ein interessanter und informativer Vortrag.

C++ User-Treffen Aachen 15.03.2018 - Bild 13
Foto 13: Guido Küpper mit "Boost Graph Library (BGL)"

Nach dem Vortrag war der Abend für viele noch nicht zuende. Während einige das Treffen direkt verliessen - es war auch spät genug geworden - standen andere noch lange in Gruppen zusammen und diskutierten das Gehörte.

C++ User-Treffen Aachen 15.03.2018 - Bild 14
Foto 14: C++ User-Treffen Aachen 15.3.2018

C++ User-Treffen Aachen 15.03.2018 - Bild 15
Foto 15: C++ User-Treffen Aachen 15.3.2018



Den nächsten Termin, weitere Berichte und andere Informationen zu den C++ User-Treffen in Aachen finden sich auf meiner "C++ User-Treffen in Aachen" Seite.

C++ User-Treffen: