De komst van multicore-processoren vraagt om andere programmeertalen. Volgens de ontwerper van 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.
Bjarne Stroustrup, de ontwerper van C++, vindt dat het tijd wordt voor nieuwe programmeertalen: “Vanuit een onderzoeksperspectief is C++ geen perfecte taal. Het is vijfentwintig jaar oud, heeft beperkingen op het vlak van compatibiliteit en er zijn veel dingen die we tegenwoordig beter kunnen. Volgens mij is 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 type-fouten gemaakt kunnen worden.”
C++ moet volgens Stroustrup vooral parallelle rekenprocessen beter 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 wil. Parallelliteit komt steeds vaker voor, niet alleen binnen netwerken, maar ook binnen processoren, door de komst van multicores.”
Ingebed
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 het onder andere zeer geschikt is om ingebed te worden in apparaten.
Daarnaast gaat C++ zeer goed om met de beschikbare bronnen: zodra een stuk code is uitgevoerd, worden onmiddellijk alle bronnen zoals geheugen en bestanden die de code heeft aangesproken, automatisch vrijgegeven. Dat leidt tot hele elegante code en heel efficiënt gebruik van bronnen.
Verder maakt C++ zwaar gebruik van de stack, waardoor minder een beroep op het geheugen wordt gedaan, wat snellere toegang tot gegevens oplevert. Het moet mogelijk zijn om dat beter te doen dan het in C++ is gedaan, ook al is dat een moeilijke opdracht. Het zou goed zijn als wetenschappers zich daarin zouden verdiepen.”
Stroustrup deed zijn uitspraken op een conferentie van de Nederlandse Vereniging voor Open Systemen en Open Standaarden (NLUUG). De NLUUG, die in 1982 het licht zag onder de naam Netherlands Local Unix User Group, vierde op die conferentie haar vijfentwintigjarig jubileum.
Ook professor Andrew Tanenbaum van de Vrije Universiteit in Amsterdam, die op dezelfde conferentie sprak over de toekomst van de ict, riep op tot meer onderzoek naar het programmeren van multicore-processoren: “Niemand heeft nog een clue hoe je die dingen moet programmeren.” Om er lachend aan toe te voegen: “Ik denk zelfs Intel niet.”