C++ ist ein lebender Dinosaurier unter den Programmiersprachen, die seit Ende der 70er Jahre genutzt wird. Das sind über 40 Jahre! Aber deswegen noch lange kein alter Hut. Viele Steuergeräte oder auch Branchen wie die Automobilindustrie setzen C++ aufgrund der Vorteile heute noch ein. Auch wird die Sprache C++ in regelmäßigen Abständen um neue Konzepte erweitert und an technologische Entwicklungen angepasst, immer mit Bedacht auf die Rückwärtskompatbilität der Compiler. Rainer ist ganz nah dran an der Entwicklung von C++ und erzählt uns, welchen Charme diese Programmiersprache auf ihn ausübt.
“Ich sage immer meinen Kunden: Wenn Sie den Code nicht ändern wollen, den Sie vor 2 Jahren geschrieben haben, dann haben Sie nix dazu gelernt” – Rainer Grimm
Rainer Grimm ist seit vielen Jahren als Softwarearchitekt, Team- und Schulungsleiter tätig. In seiner Freizeit schreibt er gerne Artikel zu den Programmiersprachen C++, Python und Haskell, spricht aber auch gerne auf Fachkonferenzen. Auf seinem Blog Modernes C++ (heise Developer) beschäftigt er sich intensiv mit seiner Leidenschaft C++. Seit 2016 steht er auf selbstständigen Beinen. Insbesondere das Vermitteln von Wissen zu modernem C++ ist ihm eine Herzensangelegenheit. Seine Bücher “C++11 für Programmierer”, “C++” und “C++-Standardbibliothek” für die “kurz und gut”-Reihe sind beim Verlag O’Reilly erschienen. Seine englischsprachigen Werke “The C++ Standard Library”, “Concurrency with Modern C++” und “C++20” sind in mehrere Sprachen übersetzt worden. Im April erschien sein englischsprachiges Buch zu den “C++ Core Guidelines”.
Highlights in dieser Episode:
C++ ist eine Programmiersprache, die sich kontinuierlich weiterentwickelt und eine entscheidende Rolle in der modernen Softwareentwicklung spielt. Von den Core Guidelines bis hin zu den neuesten Standards bietet C++ einzigartige Möglichkeiten für Qualität und Performance.
Seit über vier Jahrzehnten prägt C++ die Welt der Programmierung. Als ich in meiner beruflichen Laufbahn zum ersten Mal mit C++ konfrontiert wurde, stellten mich dessen komplexe Konstrukte vor Herausforderungen. Doch entgegen der Annahme, dass C++ an Bedeutung verloren hätte, wird mir in dem Gespräch mit dem C++-Experten Rainer Grimm deutlich: Diese Sprache ist lebendiger denn je. Die kontinuierliche Weiterentwicklung und die Anwendung in sicherheitskritischen Systemen wie in der Automobilindustrie zeigen die unverminderte Wichtigkeit von C++.
Die Geschichte von C++ ist beeindruckend: Mit nunmehr 45 Jahren Erfahrung hat sich C++ von einer Sprache für spezifische Hardware-Anforderungen zu einem modernen Werkzeug entwickelt, das in zahlreichen sicherheitskritischen Bereichen Anwendung findet. Rainer Grimm verdeutlicht, wie C++ trotz seiner komplexen Natur durch kluges Design effektiv und sicher genutzt werden kann. Die regelmäßige Einführung neuer Standards alle drei Jahre – zuletzt mit massiven Änderungen im 20er Standard – unterstreicht die dynamische Evolution dieser Programmiersprache.
Die Balance zwischen Legacy-Code und neuen Features ist eine Herausforderung bei jeder Weiterentwicklung von C++. Rainer erklärt, dass in der Praxis Updates oft nur dann durchgeführt werden, wenn sie unumgänglich sind, etwa wegen Hardwareänderungen. Die strikte Regel, dass neuerer Compiler immer älteren Code unterstützen muss, begrenzt zwar die Risiken bei Updates, spiegelt aber auch die besondere Verantwortung wider, die Entwicklerinnen und Entwickler im Umgang mit C++ tragen.
Die C++ Core Guidelines spielen eine zentrale Rolle für Qualität by Design in der Entwicklung mit C++. Sie bieten umfassende Best Practices für modernen Code und adressieren unter anderem das essenzielle Thema des Ownership vs. Borrowing. Ein tiefes Verständnis dieser Richtlinien ist unerlässlich für jeden Entwicklerin, der/die sauberen und effizienten Code schreiben möchte. Dieses Wissen fasst Rainer auch in seinem Buch zusammen, ein Muss für jeden ernsthaften C++-Entwickler.
C++ steht nicht still. Die Einführung neuer Konzepte wie Compile Time Reflection im kommenden 26er Standard zeigt die Ambition von C++, an der Spitze der Technologie zu bleiben. Die enge Verbindung zu funktionalen Programmiersprachen wie Haskell beeinflusst zunehmend die Entwicklungsrichtung von C++. Diese fortlaufende Erneuerung sichert C++ einen festen Platz in der Zukunft der Softwareentwicklung – ein Faktor, der besonders in Bereichen wie autonomen Fahren oder künstlicher Intelligenz entscheidend ist.