Bedenker Bjarne Stroustrup van C++ zei eerder dit jaar in een paper aan de ontwikkelaarsgemeenschap dat de taal een stevige basis mist en dat er tegelijkertijd wel steeds meer bovenop gebouwd wordt. Bent u het daarmee eens?
Stroustrup haalt onder andere het Zweedse oorlogsschip de Vasa aan dat in 1628 op zijn eerst reis naar de kelders ging. Dit kon gebeuren door een klein zuchtje wind en een schip dat veel te veel gewicht ver boven de waterlijn met zich mee droeg. Hij gebruikte het als beeldspraak voor de risico’s waar C++ mee te maken kan krijgen als steeds meer features aan de taal worden toegevoegd.
In een interview bij The Register zegt Stroustup dat de stap van C++ naar C++11 een grote verbetering was en dat C++14 dat werk afmaakte. C++17 voegde weer veel nieuwe features toe voor nieuwe technieken. Ook denkt hij dat C++20 een grote verbetering zal zijn. Hetgeen hij bij zijn Vasa-paper uitte, was vooral het proces van te veel enthousiasme voor nieuwe technieken waardoor belangrijke verbeteringen aan de basis blijven liggen. Hoe denkt u over de ontwikkeling van C++?
Ik heb, jaren geleden (90-er jaren vorige eeuw), les gegeven in C++. Toen al was de taal voor veel studenten van mij, door de complexiteit, hogere wiskunde en kostte het moeite om alles te begrijpen en doorgronden.
Mijn broertje werkt nu met C++, waar ik meer met Java en C# werk. Ik krijg het een en ander mee en volgens mij is C++ qua processorefficiëntie nog steeds het allerbeste (hoewel je misschien inlevert op werknemer efficiëntie, aangezien die langer bezig is een feature te realiseren). Belangrijke libraries als CEF, Qt, software als Steam, Office, andere talen zoals Python draaien hier allemaal op. Dit neemt echter niet weg dat C++ vanwege zijn leeftijd een heleboel backwards compatibility moet realiseren en innovaties van andere talen erin worden opgenomen, in plaats van ze van de grond af op te bouwen.
Ik denk dat C++ nog wel even zal blijven, maar wie weet dat Rust wel kans maakt. Zij hebben het voordeel vanaf niks te beginnen, je maakt minder fouten en je hebt geen gedoe met die header files (voor mij een groot nadeel).