Bjarne Stroustrup, de bedenker van C++, spoort de C++-gemeenschap aan om de programmeertaal te verdedigen tegen wat hij beschrijft als serieuze aanvallen van buitenaf.
Deze oproep van Stroustrup komt volgens The Register te midden van toenemende kritiek op C++ door experts uit de cybersecuritysector. Die beschuldigen de taal van ernstige tekortkomingen op het gebied van geheugengebruik en veiligheid. C++ gebruikt handmatig geheugenbeheer, wat kan leiden tot fouten zoals out-of-bounds-lezen en -schrijven. Deze kwetsbaarheden zijn vaak de oorzaak van ernstige beveiligingsproblemen in grote codebases.
In reactie op deze kritiek stelde de C/C++-gemeenschap verschillende initiatieven voor om de taal veiliger te maken. Voorbeelden hiervan zijn TrapC, FilC, Mini-C en Safe C++. Desondanks blijft C++ onder vuur liggen. Dit komt vooral door de opkomst van talen als Rust, die expliciet zijn ontworpen met geheugenveiligheid in gedachten.
Stroustrup uitte zijn bezorgdheid over deze ontwikkelingen in een memo aan het C++-standaardisatiecomité. Hij dringt aan op meer zichtbare en effectieve actie om de taal te beschermen. Hij benadrukte dat C++ altijd een sterke focus had op veiligheid. Volgens hem blijven deze principes essentieel voor de toekomst van de taal.
Geen radicale overstap
De druk op C++ komt vanuit meerdere hoeken. Ook de Amerikaanse overheidsinstantie CISA kondigde onlangs aan dat fabrikanten voor 2026 een strategie moeten hebben om memory safety te garanderen. Dit doet men om de risico’s van geheugengebruik in talen zoals C++ te verminderen.
Stroustrup ziet dat als een belangrijke dreiging voor de toekomst van C++. Hij wijst op eerdere uitlatingen van Microsoft, waarbij het bedrijf suggereerde dat C/C++ vervangen zou moeten worden door Rust voor nieuwe projecten. Stroustrup verwerpt deze suggestie echter, met het argument dat C++ al jarenlang wordt verbeterd en dat een evolutionaire aanpak meer effectief is dan een radicale verschuiving naar nieuwe talen.
Google heeft recentelijk ook aangegeven zich meer te willen richten op geheugenveiligheid dan op het moderniseren van C/C++. Dit reflecteert de groeiende bezorgdheid binnen de industrie over de veiligheid van geheugengebruik en de noodzaak om bestaande talen zoals C++ veiliger te maken. Stroustrup zelf blijft pleiten voor het verbeteren van C++ door middel van bestaande hulpmiddelen en richtlijnen, in plaats van de taal volledig te verwerpen.
Verdeeldheid over toekomst C++
Er is echter verdeeldheid binnen de gemeenschap over hoe de toekomst van C++ eruit zou moeten zien. Robin Rowe, leider van het TrapC-project, gelooft niet dat Stroustrup’s voorgestelde Profiles-framework op tijd gereed zal zijn, en heeft zijn eigen oplossing in de vorm van de TrapC-compiler, die Memory Safe Pointers (MSP) gebruikt.
Andere experts, zoals David Chisnall, pleiten voor een meer stapsgewijze benadering, waarbij C++ geleidelijk veiliger wordt gemaakt zonder volledig over te schakelen op nieuwe talen zoals Rust. Chisnall wijst erop dat het herschrijven van miljoenen regels code risico’s met zich meebrengt, waaronder de introductie van nieuwe bugs en beveiligingsproblemen.
Het blijft dus onzeker of C++ zijn plaats kan behouden in een wereld die steeds meer gericht is op geheugensveilige programmeertalen. Tegelijkertijd is het nog niet duidelijk of overheden en bedrijven de druk om geheugenveiligheid te verbeteren op de lange termijn blijven aanhouden. De toekomst van C++ hangt waarschijnlijk af van de mate waarin de gemeenschap erin slaagt om de taal zowel te verbeteren als te verdedigen tegen de steeds sterker wordende concurrentie van talen als Rust.