In der Welt der Programmierung gibt es ständig neue Entwicklungen, insbesondere in Bezug auf die Sicherheit von Software. Die C++-Community sieht sich aktuell mit der Herausforderung konfrontiert, dass immer mehr Experten die Vorteile anderer Programmiersprachen loben, die eine höhere Speichersicherheit bieten. Um dieser Kritik entgegenzuwirken, wurde das Projekt „Safe C++ Extensions“ ins Leben gerufen.
Dieses neue Vorhaben hat das Ziel, die bestehenden Schwachstellen von C++ zu beheben, besonders im Bereich der Speichersicherheit. Vinnie Falco, der Präsident der C++ Alliance, bezeichnete den Vorschlag als revolutionär. In einem Bericht des Registers betonte er, wie wichtig es sei, C++ mit modernen Speichersicherheitsfunktionen auszurüsten, besonders in einer Zeit, in der sicherer Code dringender denn je benötigt wird. In den letzten Jahren wurde häufig darum gebeten, neue Softwarelösungen in Programmiersprachen wie Rust, Go und Java zu entwickeln, die für ihre Sicherheit bekannt sind.
Kritik an C++ und der Drang nach Veränderung
Experten wie Alex Gaynor haben bereits 2019 auf die gravierenden Sicherheitslücken in umfangreichen Codebasen hingewiesen, die vor allem durch Speichersicherheitsfehler verursacht werden. Diese Probleme werden zunehmend auf technischen Konferenzen thematisiert. Im letzten Jahr gab es sogar Stimmen aus der Technikbranche, wie die von Mark Russinovich von Microsoft, die vorschlugen, C und C++ ganz zugunsten von Rust zu verwerfen.
Obwohl Bjarne Stroustrup, der Schöpfer von C++, versichert hat, dass seine Programmiersprache in ihrer heutigen Form grundsätzlich speichersicher sein kann, finden diese Aussagen nicht bei allen Resonanz. Kritiker sind der Ansicht, dass C++ nicht ursprünglich für die Speichersicherheit konzipiert wurde, was die Erstellung von speichersicherem Code in praktischen Anwendungen erheblich erschwert.
Das Projekt „Safe C++ Extensions“ setzt sich nun genau mit dieser Herausforderung auseinander. Es zielt darauf ab, die Empfehlungen von Behörden wie der NSA und der US-Cybersecurity Agency zu erfüllen, die nach einem höheren Maß an Sicherheit in Softwaresystemen verlangen. Trotz der vielen Skeptiker, die bezweifeln, dass C++ jemals so sicher wie Sprachen wie Rust oder Swift werden kann, zeigen die Entwickler Sean Baxter und Christian Mazakas Vertrauen in ihr Vorhaben. Sie argumentieren, dass die komplette Umstellung auf Rust in der Praxis oft nicht umsetzbar ist, da es signifikante Unterschiede zwischen den Programmiersprachen gibt.
Innovationen in der Programmiersprache
Baxter hebt hervor, dass das Safe-C++-Projekt neue Technologien zur Gewährleistung der Speichersicherheit einführt. Eine der zentralen Neuerungen ist das „Borrow Checking“, das dazu dient, Fehler wie „Use-after-free“ zu vermeiden. Zudem wird es Analysen zur Initialisierung geben, die die Typsicherheit erhöhen sollen. Ein wesentlicher Vorteil dieses Vorhabens ist, dass bestehender C++-Code weiterhin funktionieren kann, während Entwickler schrittweise sicherere Features integrieren können, ohne dass sie auf eine komplett neue Programmiersprache umschulen müssen.
Insgesamt zeigt die Entstehung der „Safe C++ Extensions“, dass die C++-Community bereit ist, sich weiterzuentwickeln und auf die drängenden Sicherheitsbedenken zu reagieren. Damit wird ein Weg geebnet, um die Vorzüge von C++ mit den Forderungen nach höherer Sicherheit zu vereinen und die Programmessprachenlandschaft interessanter und sicherer zu gestalten. Details zu den innovativen Ansätzen findet man in einem Bericht von winfuture.de.