Institutionelle Akzeptanz Krypto-Wallets

Bjarne Stroustrup und die Zukunft von C++ im 21. Jahrhundert: Moderne Programmierung, KI-Risiken und die Unersetzlichkeit der Sprache

Institutionelle Akzeptanz Krypto-Wallets
Stroustrup on 21st century C++, AI risk, and why the language is hard to replace

Ein ausführlicher Einblick in Bjarne Stroustrups Vision für modernes C++, die Herausforderungen der Künstlichen Intelligenz im Programmieralltag und die besonderen Eigenschaften, die C++ unverzichtbar machen.

C++ gehört seit Jahrzehnten zu den wichtigsten Programmiersprachen der Welt. Ihr Erfinder, Bjarne Stroustrup, bleibt auch heute einer der einflussreichsten Vordenker, wenn es um die Entwicklung und den Einsatz der Sprache geht. Bei einer jüngsten Veranstaltung, dem Qt World Summit in München, gab Stroustrup spannende Einblicke in die Rolle von C++ im 21. Jahrhundert, die Risiken durch Künstliche Intelligenz (KI) und die Gründe, warum C++ nur schwer durch moderne Alternativen ersetzt werden kann. Stroustrup betonte zunächst, dass modernes C++ nicht nur aus den neusten Features besteht, sondern vielmehr eine Kombination aller Sprachmerkmale von den Anfängen bis heute darstellt.

Für ihn ist die moderne Nutzung von C++ nicht das blinde Anwenden der jüngsten Entwicklungen wie Reflexion oder Verträge, sondern die bewusste und kohärente Anwendung der Sprache als Ganzes. Die Sprache habe sich zu einem Ausdrucksmittel entwickelt, das effizienter, ausdrucksstärker und sicherer ist, wenn man sie richtig einsetzt. Ein zentrales Element moderner C++-Programmierung ist laut Stroustrup das Zusammenspiel verschiedener Sprachfeatures. Ein Beispiel hierfür ist die Art und Weise, wie Schleifen geschrieben werden. Statt klassischer Schleifen mit expliziten Zählvariablen sind moderne Sprachkonstrukte wie der Bereichs-basierte for-Loop („for x in y“) viel einfacher und sicherer.

Dies nehme nicht nur den Programmierern Fehlerquellen ab, sondern ermögliche auch dem Compiler bessere Optimierungsmöglichkeiten. Zudem gewinnt das Typsystem an Bedeutung, da durch Typinferenz automatisch der richtige Datentyp ermittelt wird, ohne dass der Programmierer dies manuell vornehmen muss. Darüber hinaus ist das Ressourcenmanagement ein Herzstück moderner C++-Entwicklung. Stroustrup hob das Prinzip RAII – Resource Acquisition Is Initialization – hervor. Dieses Konstrukt sorgt dafür, dass Ressourcen wie Speicher oder Dateihandles automatisch verwaltet und freigegeben werden.

Dadurch werden viele der klassischen Probleme wie Speicherlecks weitestgehend vermieden. Das bedeutet konkret, dass jede Ressource von einem sogenannten Handle verwaltet wird, das sich im richtigen Gültigkeitsbereich befindet und so für sauberes Aufräumen sorgt. Ein weiterer Punkt, den Stroustrup heraussticht, ist der Verzicht auf den Gebrauch von rohen Zeigern (Raw Pointers) als Ressourcengriffs. Diese seien besonders fehleranfällig und würden oft die Vorteile moderner Sprachkonzepte unterlaufen. Stattdessen sollten Container wie Vektoren verwendet werden, die ihren eigenen Speicherverbrauch und die Anzahl der Elemente kennen.

Dies fördert nicht nur die Sicherheit, sondern auch die Wartbarkeit von Code. Ebenso empfiehlt er, Casts im Code soweit möglich zu vermeiden, da sie potenzielle Quell von Typfehlern sind. Moderne generische Programmierung und Vorlagen (Templates) reduzieren oftmals den Bedarf, Casts überhaupt einzusetzen. Statt auf Pointer zurückzugreifen, sollten moderne Entwickler beispielsweise die Vorteile von Move-Semantik nutzen, die es erlaubt, Ressourcen effizient vom Funktionsaufruf zurückzugeben, ohne dass dabei teure Speicherallokationen entstehen. Das Ergebnis sind Programme, die nicht nur performanter, sondern auch leichter zu schreiben und zu verstehen sind.

Ein weiterer Fortschritt in der C++-Entwicklung sind die Module, die der traditionellen Verwendung von #include gegenüberstehen. Anders als das klassische Einfügen von Header-Dateien, das oft zu wiederholter Kompilierung und subtilen Fehlern führt, sind Module nicht transitiv und erlauben eine einmalige Kompilierung. Das verbessert sowohl die Kompilierzeiten als auch die Zuverlässigkeit von großen Codebasen erheblich. Stroustrup verwies ebenfalls auf Templates und Konzepte – seit C++20 ein fester Bestandteil – als Elemente, die das Schreiben von generischem Code deutlich einfacher machen. Konzepte ermöglichen dabei eine bessere Beschränkung der Typen, die an Templates übergeben werden, was wiederum zu klarerem und sichererem Code führt.

Laut Stroustrup sind diese Sprachfeatures heute ausreichend und er setze keine komplizierteren Konstrukte ein. Seine Erfahrung zeigt, dass der richtige Umgang mit diesen Mitteln seit Jahren zu praktisch keinem Speicherverlust in seiner Produktion führt. Trotz seiner Begeisterung für modernes C++ sieht Stroustrup weiterhin Herausforderungen bei der Durchsetzung moderner Programmierrichtlinien in großen Projekten. Er entwickelt daher Profile, die es ermöglichen sollen, Gewährleistungen hinsichtlich Sicherheit und Programmierqualität zu bieten und diese auch durchzusetzen – ein Schritt, der allerdings noch nicht in die C++-Standards eingeflossen ist und für den es keine unmittelbaren Perspektiven gibt. Bis dahin können Tools wie Clang-Tidy und die C++ Core Guidelines von Industriepartnern helfen, guten Programmierstil zu fördern.

Stroustrup lehnt grundsätzlich die Idee ab, gefährliche oder komplexe Sprachkonstrukte einfach aus C++ zu entfernen, obwohl dies immer wieder gefordert wurde. Er argumentiert, dass genau diese „gefährlichen“ Features notwendig sind, um leistungsfähige Abstraktionen zu bauen. Statt sie zu streichen, sollten sie nur aus dem Anwendungscode verbannt und innerhalb von gut getesteten Komponenten behandelt werden. Ein Beispiel dafür sind Operationen wie operator new und operator delete, die nicht direkt im Anwendungscode aufzufinden sein sollten. Neben technischen Aspekten hob Stroustrup auch gesellschaftliche und technologische Entwicklungen hervor, insbesondere die Rolle von Künstlicher Intelligenz.

Er äußerte sich besorgt, welche Folgen der zunehmende Einsatz von KI-Tools in der Softwareentwicklung haben kann. Zwar erkennt er deren potenziellen Nutzen an, warnt aber davor, dass die Tools häufig auf veraltete oder suboptimale Praktiken verweisen und Entwickler so nicht zwingend bessere Ergebnisse erzielen. Gefährlich sei außerdem, dass Programmierer durch die Abhängigkeit von KI-Unterstützung unter Umständen die Fähigkeit verlieren könnten, Probleme selbst zu erkennen und zu lösen. Ein weiterer Trend, den Stroustrup kritisch betrachtet, ist das Aufkommen neuer Programmiersprachen wie das Carbon-Projekt von Google, das als möglicher Nachfolger oder Alternative zu C++ diskutiert wird. Er erkennt zwar an, dass es im engen Anwendungsbereich möglich ist, eine Sprache zu entwickeln, die besser als C++ ist, dennoch bestehe ein großer Vorteil darin, dass C++ in vielen verschiedenen Domänen anwendbar ist.

Zudem bestehe das Risiko, dass eine Vielzahl neuer Sprachen, die sich alle auf Interoperabilität mit anderen Sprachen wie Python oder C++ stützen müssen, ein komplexes Ökosystem erschaffen, das sich kaum leichter handhaben lässt als die heute bestehenden Varianten. Die Geschwindigkeit, mit der sich C++ weiterentwickelt, wird oft als zu langsam oder zu schnell kritisiert. Stroustrup zeigt sich überzeugt, dass sich die Balance im aktuellen Tempo befindet, auch wenn er sich wünschen würde, dass der Standardisierungsausschuss schneller agiert. Die Größe und Diversität des Ausschusses führe allerdings zu langsamen Entscheidungsprozessen. Interessanterweise gebe es mehr Entwickler, die sich über zu schnelle Entwicklungen beschweren als solche, die mehr Tempo fordern.

Was die verschiedenen Implementierungen von C++-Compilern angeht, erklärt Stroustrup, dass die Unterschiede zwar vorhanden sind, dies aber kein Nachteil sei. Er lehnt Monokulturen ab, weil sie anfällig für Fehler und Schwachstellen seien. Die Existenz mehrerer Compiler schafft stattdessen Wettbewerb, Innovation und reduziert das Risiko, dass alle Nutzer einer Sprache von einem einzigen Bug betroffen sind. Daher betrachtet er die Vielfalt der Compiler-Implementierungen als Vorteil und Normalfall. Zusammengefasst zeigt sich, dass Bjarne Stroustrup C++ auch im Zeitalter von KI und neuen Sprachen als unverzichtbar ansieht.

Seine Vision von modernem C++ ist eine Sprache, die sowohl die Tradition als auch die neuesten Entwicklungen miteinander verbindet, Werkzeuge bietet, die Sicherheit erhöhen und effiziente Programmierung ermöglichen. Gleichzeitig mahnt er zur Vorsicht beim Umgang mit KI und davor, die Sprache leichtfertig ersetzen und vereinfachen zu wollen. C++ bleibe aufgrund seiner Vielseitigkeit und Leistungsfähigkeit eine zentrale Säule moderner Softwareentwicklung und wird dies wohl auch in Zukunft bleiben.

Automatischer Handel mit Krypto-Geldbörsen Kaufen Sie Ihre Kryptowährung zum besten Preis

Als Nächstes
Lenovo's in-house Arm chip could rival Qualcomm and MediaTek
Samstag, 14. Juni 2025. Lenovos eigener ARM-Chip: Eine ernstzunehmende Konkurrenz für Qualcomm und MediaTek

Lenovos neuer hausintern entwickelter ARM-Prozessor für das Yoga Pad Pro könnte den Markt für mobile und hybride Geräte revolutionieren und stellt eine direkte Herausforderung für etablierte Chip-Hersteller wie Qualcomm und MediaTek dar. Die Besonderheiten des SoC, dessen Architektur und potenzielle Auswirkungen auf den chinesischen und globalen Markt werden ausführlich analysiert.

Show HN: Extreme Router – A High-Performance, Plugin-Driven JavaScript Router
Samstag, 14. Juni 2025. Extreme Router: Hochleistungsfähiger, Plugin-basierter JavaScript-Router für moderne Webentwicklung

Extreme Router ist ein moderner JavaScript-Router, der durch seine herausragende Leistung und ein flexibles Plugin-System neue Maßstäbe in der Webentwicklung setzt. Er kombiniert Geschwindigkeit, Vielseitigkeit und einfache Erweiterbarkeit und eignet sich ideal für dynamische und skalierbare Anwendungen.

A new Moore's Law for AI agents
Samstag, 14. Juni 2025. Ein neues Moore’s Law für KI-Agenten: Die Revolution der autonomen Intelligenz

Die Fähigkeiten von KI-Agenten entwickeln sich rasant und folgen einer exponentiellen Wachstumsdynamik, die mit dem klassischen Moore’s Law verglichen werden kann. Diese Entwicklung lässt tief blicken in die Zukunft der Automatisierung, Produktivität und Forschung, insbesondere im Bereich komplexer Aufgaben wie Programmierung.

Advancing the frontier of video understanding with Gemini 2.5
Samstag, 14. Juni 2025. Gemini 2.5: Die Zukunft des Videoverstehens neu definiert

Mit Gemini 2. 5 präsentiert Google eine bahnbrechende Technologie, die das Verständnis und die Verarbeitung von Videos auf ein neues Niveau hebt.

OSU Open Source Lab is funded
Samstag, 14. Juni 2025. Die Zukunft des OSU Open Source Labs: Nachhaltige Finanzierung und Modernisierung für langfristigen Erfolg

Das OSU Open Source Lab erhält finanzielle Unterstützung für ein weiteres Jahr und verfolgt ehrgeizige Ziele zur Sicherung seiner Zukunft durch nachhaltige Finanzierung, neue Hardware und eine kosteneffiziente Infrastruktur. Im Fokus stehen die Modernisierung des Rechenzentrums und die Schaffung stabiler Finanzierungsmodelle für den dauerhaften Betrieb.

Context-Generic Programming v0.4.0 Release: Improved Debugging and More
Samstag, 14. Juni 2025. Context-Generic Programming v0.4.0: Revolutionäre Verbesserungen beim Debugging und zukunftsweisende Features

Die neueste Version 0. 4.

Pinterest Follows Meta And Reddit With Upbeat Ad Outlook Despite Tariff Fears
Samstag, 14. Juni 2025. Pinterest, Meta und Reddit trotzen Tarifängsten mit optimistischem Werbeausblick

Trotz der jüngsten Sorgen um US-Zollmaßnahmen gegen China zeigen Pinterest, Meta und Reddit eine überraschend positive Entwicklung im digitalen Werbemarkt. Die Unternehmen berichten von stabilen Umsätzen und einer gesunden Nachfrage, die mögliche negative Folgen von Handelskonflikten dämpfen könnten.