Managed hosting door True

Ontwerper C++: multicore vraagt om nieuwe taal

 

Intel quadcore

Intel's quadcore

De komst van multicore-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.

Stroustrup: "Vanuit een onderzoeksperspectief is C++ geen perfecte taal. Het is vijfentwintig jaar oud, heeft beperkingen op het vlak van compabiliteit 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 om heen 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."

Ingebed

De nieuwe taal zou de verworvenheden van C++ moeten behouden. "C++ is de enige taal in zijn soort die heeft overleefd. C++ spreekt rechtstreeks de hardware 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: onmiddellijk zodra een stuk code is uitgevoerd, worden 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 hoeft te worden gedaan en snellere toegang mogelijk is tot gegevens. Maar 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 daar in 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, viert vandaag haar vijfentwintigjarig jubileum in de Beurs van Berlage in Amsterdam.

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."

Dit artikel is afkomstig van Computable.nl (https://www.computable.nl/artikel/2206920). © Jaarbeurs IT Media.

?


Lees meer over


Partnerinformatie
 

Reacties

Gaat het dan C+=2 heten?? :P

Ik hoop wel dat het iets meer op C gaat lijken want als ik als beginner kijk naar C en C++ dan ziet C er makkelijker uit dan C++...

nope ik had het fout,het is namelijk "C++0x"

dit heb ik van de homepage van Stroustrup:

http://www.research.att.com/~bs/bs_faq.html#When-next-standard

Wat betreft parallel programming denk ik dat er toch wel een aantal talen is om eens naar te kijken.
Neem bijvoorbeeld de taal Occam, ooit ontwikkeld om de Inmos-transputer te programmeren, deze leent zich uitstekend voor dit soort toepassingen, even daar gelaten of dit voor een breed publiek toegankelijk is.

Vacatures

Stuur door

Stuur dit artikel door

Je naam ontbreekt
Je e-mailadres ontbreekt
De naam van de ontvanger ontbreekt
Het e-mailadres van de ontvanger ontbreekt

×
×