
Mondiale norm over programmeertaal C++
De internationale norm ISO/IEC 14882 ‘Programmeertalen — C++’ is geüpdatet en gepubliceerd. Deze norm definieert zowel de eisen aan de taal zelf als aan de implementatie van C++. C++ is een programmeertaal voor algemene doeleinden waarvan de ontwikkeling al in de jaren 80 van de vorige eeuw is gestart.
C++ is een hogere programmeertaal. Het voordeel van hogere programmeertalen is dat programmeurs niet meer afhankelijk zijn van de onderliggende processor. Er worden afspraken gemaakt over de manier waarop een programmeertaal tekst opschrijft en wat dit zou betekenen. Voor C++ is dit vastgelegd in een ISO norm. Ook talen als FORTRAN, COBOL en C zijn in ISO normen gedefinieerd. De ISO norm voor C++ is een update van de eerdere versie met veel veranderingen.
Toevoegingen
De herziening van ISO/IEC 14882 uit 2020 voegt een aantal nieuwe mogelijkheden toe aan de manier waarop de taal gebruikt wordt en deze zullen sterk veranderen en simplificeren. Een aantal voorbeelden zijn:
- Makkelijkere genericiteit door met behulp van ‘concepts’ vereisten te stellen aan templates.
- Betere ondersteuning van modulair programmeren (waardoor programma’s een betere structuur kunnen krijgen en ook snellere compilatietijden).
- Een nieuw keyword “<=>” maakt het mogelijk om in een keer een drievoudig vergelijkingsresultaat te krijgen (in plaats van a>b of a==b of a>=b, levert a<=>b een volledig uitsluitsel op over of a kleiner, gelijk of groter dan b is, in een enkele operatie).
- Een andere belangrijke nieuwe feature vormen ‘coroutines’. Coroutines zijn een veralgemenisering van functieaanroepen (stackless co-operative multitasking).
Nieuwe faciliteiten
Naast toevoegingen aan de taal zijn ook in de C++ standaard bibliotheek veel nieuwe faciliteiten opgenomen. Een aantal voorbeelden zijn:
- ‘Ranges’ een veralgemenisering van een ‘sequence’ waardoor operaties op een container veel efficiënter opgeschreven en uitgevoerd kan worden.
- Calender en tijdzone operaties en een bibliotheek van standaard concepts waarmee generieke functies de types waarop ze opereren kunnen specificeren.
- Ook zijn er kleine wijzigingen in de bibliotheek die betrekking hebben op nieuwe faciliteiten in de taal (zoals het toevoegen van operator “<=>” aan het standaardtype ‘string’.
Meer informatie
Voor informatie over deze norm(en) of over het normalisatieproces: Inge Piek, Consultant KID, telefoon 015 2 690 300 of e-mail kid@nen.nl.
Meepraten over de inhoud van normen
Wilt u als belanghebbende partij meepraten over de ontwikkeling van normen op dit gebied? De normcommissie ‘Programmeertalen en besturingssystemen’ houdt zich bezig met normen voor C++, maar ook voor andere programmeertalen en besturingssystemen. Stuur voor deelname aan of meer informatie over deze commissie een mail naar kid@nen.nl.
Ingezonden persberichten vallen buiten de verantwoording van de redactie.
Reacties