Zoals iedereen weet, is de programmeertaal C++ waarschijnlijk de grootste qua omvang onder programmeertalen. Zelfs programmeurs die er tientallen jaren aan werken, kunnen niet zeggen dat ze het volledig beheersen. Daarom heeft de C++ standaardencommissie een moeilijke beslissing genomen: om de taal concurrerend te houden tegenover opkomende nieuwe programmeertalen, zoals Rust, moeten alle legacy-functies, geschreven door onbekende goblins in de harige jaren tachtig, worden verwijderd. Dit zal worden geholpen door de goed bekende ontwikkelaars van Gnome op dit forum, die destijds alle overbodige functies uit hun desktopomgeving hebben verwijderd, waardoor deze ongeĆ«venaard werd. Ze zullen alle functies verwijderen totdat ze alle "plus"-elementen hebben weggelaten en terugkomen bij C, waaruit C++ is voortgevloeid, maar daar zullen ze niet bij stoppen; ze zullen de taal reduceren tot een minimaal Cā.
Specifiek:
- sjablonen zullen worden verwijderd en vervangen door optionele dynamische typisering (de prestatieverlies zal minimaal zijn voor moderne computers)
- uitzonderingen zullen worden vervangen door foutcodes in de Go-stijl if err != nil
- de noodzaak voor build-systemen zal worden verwijderd, in plaats daarvan zal er een package manager in de stijl van Composer voor PHP komen
- meervoudige overerving zal worden verwijderd samen met vrije functies; nu zal alles een object zijn, en alle objecten zullen van de basisklasse Object erven
- het is niet mogelijk om undefined behavior volledig te verwijderen vanwege het Stockholm-syndroom bij ontwikkelaars, daarom zullen alle UB automatisch worden omgewikkeld in een unittests die 10 keer worden uitgevoerd, en de programmeur zal in de meeste gevallen te horen krijgen welk gedrag de compiler heeft gekozen
De oprichter van de taal, Bjarne Stroustrup, heeft zich sceptisch uitgesproken over de veranderingen, en argumenteert dat de ontwikkelaars van Gnome geen gebruik maken van C++ of Gnome.
Bron: linux.org.ru
