C++-vader wil taal effectiever maken met standaard richtlijnen

Reading time: 2 minutes

Author:

C++-vader Bjarne Stroustrup heeft op de jaarlijkse C++conferentie een initiatief uit de doeken gedaan voor een set ‘standaard’ programmeerrichtlijnen waarmee de taal efficiënter, sneller en veiliger gebruikt kan worden. Samen met Microsoft-researcher Herb Sutter heeft hij een eerste versie van deze CPP Core Guidelines gepubliceerd, maar het is de bedoeling dat het zich als community-project ontwikkelt.

De richtlijnen moeten zich op een aantal belangrijke punten onderscheiden van bestaande codeerregels, zeggen de initiatiefnemers. Nu zijn regels doorgaans niet gericht op programmeerprincipes maar op naamgeving en restricties van features. De initiatiefnemers willen juist de volledige taal blijven gebruiken, met name alle ‘gevaarlijke’ laagniveau features die C++ geschikt maken als systeemtaal. Ze vinden ook dat de richtlijnen de kracht van de nieuwere C++-varianten moet gebruiken, en niet moet blijven hangen in oude programmeermodellen.

De nieuwe richtlijnen moeten daarom bestaan uit uitgebreide documentatie, voorbeelden en uitzonderingsposities. Tegelijk willen ze alleen statisch controleerbare regels, echter weer zonder dat huidige compilers uitgebreid hoeven worden. Daarvoor stellen ze enkele kleine taaluitbreidingen voor, die deels ondersteund worden met een bibliotheek. Deze dient alleen voor de checks en voegt geen overhead toe, aldus de initiatiefnemers. Microsoft heeft al een eerste opensource implementatie van de bibliotheek, en komt binnenkort met een eveneens opensource controletool.

Initieel richt het werk zich vooral op pointerproblematiek, die verantwoordelijk is voor een significant deel van de bugs. Het voorstel volgt in grote lijnen het eigenaarschap-model van variabelen, dat sinds de introductie van de programmeertaal Rust vol in de belangstelling staat. Stroustrup heeft echter een, naar eigen zeggen, wat simpeler model voor ogen waarbij code niet geannoteerd hoeft te worden.