In einem Beitrag auf Twitter forderte Microsoft Azure CTO Mark Russinovich die Technologiebranche dazu auf, die Programmiersprachen C und C++ hinter sich zu lassen. "Es ist an der Zeit, keine neuen Projekte mehr in C oder C++ zu starten und stattdessen Rust zu verwenden", schrieb er auf seinem Account. "Um der Sicherheit und der Zuverlässigkeit willen sollte die Industrie die beiden Sprachen für veraltet erklären."
Wie '
The Register'schreibt, kommt die Ablehnung von C und CC+ durch Russinovich zu einem Zeitpunkt, an dem Linus Torvalds, der Schöpfer von Linux, Berichten zufolge bestätigt hat, dass der Rust-Code – sofern keine unvorhergesehenen Umstände eintreten –
in der Version 6.1 des Linux-Kernels erscheinen wird. Dies sei ein lang erwarteter Meilenstein. Der Linux-Kernel ist in C geschrieben.
Schwierige, aber beliebte Programmiersprache
Rust wurde von Graydon Hoare als Hobby entwickelt und nahm 2006
bei Mozilla Gestalt an. 2010 wurde die Programmiersprache zum ersten Mal öffentlich vorgestellt. Mit der Lancierung von Rust 1.0 im Jahr 2015 begann die Programmiersprache eine ernsthafte Alternative zu den bis dahin weit etablierten Formaten wie C oder C++ zu werden. Seit 2021 wird sie von einer
eigenständigen Stiftung verwaltet.
Trotz des Rufes, schwer erlernbar zu sein, erfreut sich die Programmiersprache immer grösserer Beliebtheit und wird auch in verschiedenen Projekten der grossen internationalen Technologieunternehmen eingesetzt. Apple, Amazon, Google, Meta, Microsoft und viele weitere verwenden Rust in irgendeiner Form.
Weniger fehleranfällig
Die relativ junge Programmiersprache scheint auch weniger anfällig für potenzielle Speicherfehler zu sein, schreibt 'The Register'. Dies soll die Software gegenüber der Konkurrenz sicherer machen. So soll Microsoft schon seit mindestens 2019 davon sprechen, dass C und C++ zugunsten der Erforschung von Rust aufgegeben werden. Hinter dem Twitter-Aufruf von Russinovich dürfte also durchaus etwas stecken.
Nach Angaben von Microsoft sind etwa 70% der von der CVE erfassten Sicherheitslücken, die seit 2006 gepatcht wurden, auf Speichersicherheitsprobleme zurückzuführen. Die Beseitigung dieser Fehler würde die Softwaresicherheit drastisch verbessern und gleichzeitig die Kosten für die Behebung von möglichen Schwachstellen senken. Das Techmagazin fragte bei Microsoft nach, ob die Empfehlung von Russinovich unternehmensweit umgesetzt werde, erhielt allerdings keine Stellungnahme aus Redmond.
Totgeglaubte leben länger
'The Register' sprach auch Bjarne Stroustrup, den Erfinder von C++, auf die Aussagen des Azure-CTOs an. Dieser antwortete, dass es nicht ungewöhnlich sei, dass sich Menschen – vor allem Führungskräfte – in neue und glänzende Dinge verlieben würden. "Ausserdem ist es viel aufregender, etwas Neues zu unterstützen, als sich mit den bekannten Problemen älterer und bekannter Tools zu befassen", sagte Stroustrup.
Leider daure es in der Regel viele Jahre und bedürfe grosser Anstrengungen, bis neue Sprachen in ihrem breiten Anwendungsbereich mit ausgereiften Sprachen mithalten könnten, meinte der C++-Erfinder. "Sicherheit ist offensichtlich in vielen Zusammenhängen von entscheidender Bedeutung, daher habe ich jahrelang an der Verbesserung der Sicherheit in C++ gearbeitet", so der Schöpfer weiter.
Gemäss ihm kann bereits heute perfekte Typ- und Speichersicherheit erreicht werden, die sogar ISO-Zertifiziert sei. "Das heisst, dass jedes Objekt entsprechend dem Typ verwendet wird, mit dem es definiert wurde. Das bedeutet, dass wir die Verwendung von 'Dangling Pointers' eliminieren, 'Range Errors' abfangen und 'Data Races' beseitigen."
Laut Stroustrup gilt es auch zu beachten, dass jede "sichere Sprache" – einschliesslich Rust – Schlupflöcher hat, die einen unsicheren Code ermöglichen. Noch heute werden Milliarden von C++-Zeilen eingesetzt. "Sie zu ersetzen oder sicher zu machen ist eine gewaltige Aufgabe." Das müsse unbedingt schrittweise geschehen, sonst bleibt eine riesige Masse an unsicheren C und C++-Codes bestehen, so der Entwickler.