Ontwerper C : “Multicore vraagt om nieuwe taal”

De komst van multi-core-processoren vraagt om nieuwe programmeertalen. Volgens Bjarne Stroustrup, de ontwerper van de programmeertaal C++, moet het mogelijk zijn een programmeertaal te ontwerpen met hetzelfde onderliggende model als C++, die echter tien keer zo klein is en meer ondersteuning biedt voor parallelle processen.

De komst van multi-core-processoren vraagt om nieuwe programmeertalen. Volgens Bjarne Stroustrup, de ontwerper van de programmeertaal C++, moet het mogelijk zijn een programmeertaal te ontwerpen met hetzelfde onderliggende model als C++, die echter tien keer zo klein is en meer ondersteuning biedt voor parallelle processen.

“Vanuit een onderzoeksperspectief is C++ geen perfecte taal”, aldus Stroustrup. “C++ is vijfentwintig jaar oud, heeft beperkingen op het vlak van compatibiliteit en er zijn veel dingen die we tegenwoordig beter kunnen doen. Volgens mij moet het mogelijk om een taal te ontwerpen die ongeveer tien keer zo klein is als C++, niet alleen in grootte maar ook in complexiteit, maar toch even goed presteert, zo niet beter. Dan denk ik vooral aan betere ondersteuning voor parallelle processen en aan volledige type-safety.”

Een taal is type-safe als er geen operaties kunnen worden uitgevoerd op een datatype dat daarvoor niet geschikt is. “C++ is niet volledig type-safe. We weten hoe we daar omheen kunnen werken, maar het zou beter zijn als er helemaal geen typefouten gemaakt zouden kunnen worden.”

Daarnaast zou C++ volgens Stroustrup parallelle rekenprocessen beter moeten ondersteunen. “Parallelliteit wordt al ondersteund door grote delen van de standaardbibliotheek van C++ en door bepaalde taaleigenschappen, maar die ondersteuning gaat niet zo ver als ik zou willen. Parallelliteit komt steeds vaker voor, niet alleen binnen netwerken, maar ook binnen processoren, door de komst van multicores.”

De nieuwe taal zou de verworvenheden van C++ moeten behouden. “C++ is de enige taal in zijn soort die heeft overleefd. C++ spreekt de hardware rechtstreeks aan en heeft een minimale runtime-omgeving nodig, waardoor ze onder andere zeer geschikt is om ingebed te worden in apparaten. Daarnaast gaat C++ zeer goed om met de beschikbare bronnen: onmiddellijk zodra een stuk code is uitgevoerd, worden alle bronnen zoals geheugen en bestanden die de code heeft aangesproken, automatisch vrijgegeven. Dat leidt tot erg elegante code en heel efficiënt gebruik van bronnen. Verder maakt C++ zwaar gebruik van de stack, waardoor minder een beroep op het geheugen hoeft te worden gedaan en snellere toegang mogelijk is tot gegevens. Maar het moet mogelijk zijn om dat beter te doen dat het in C++ is gedaan, ook al is dat een moeilijke opdracht. Het zou goed zijn als wetenschappers zich daar in zouden verdiepen.”

Stroustrup deed zijn uitspraken op een conferentie van de Nederlandse Vereniging voor Open Systemen en Open Standaarden.

In samenwerking met Computable

Fout opgemerkt of meer nieuws? Meld het hier

Partner Content