Login
Login-Name Passwort


 
Newsletter
Werbung

Di, 19. August 2014, 14:24

Software::Entwicklung

Sprachstandard C++14 fertiggestellt

Das C++-Standard-Komitee hat den neuen Sprachstandard C++14 einstimmig angenommen. Der darin definierte Funktionsumfang von C++ wird von einigen Compilern bereits weitgehend implementiert, was ein Novum in der Geschichte von C++ ist.

Wie Herb Sutter, Vorsitzender der Standard C++ Foundation, im Blog schreibt, war noch nie zuvor ein C++-Standard zum Zeitpunkt seiner Veröffentlichung in den Compilern komplett verfügbar. Der erste C++-Standard von 1998 war erst fünf Jahre später in den Compilern weitgehend umgesetzt - ein Umstand, der zu Inkompatibilitäten zwischen den Compilern führte und C++ einen schlechten Ruf einbrachte. Nichtsdestotrotz entwickelte sich C++ schon seit Mitte der 90er-Jahre zu einer der weitestverbreiteten Programmiersprachen in der Wirtschaft und in der Ausbildung. Die lange überfällige zweite Standardversion erschien 2011 und war zwei Jahre später von den Compilern vollständig umgesetzt. Die kurz danach begonnene Arbeit an der Erweiterung des Standards, die jetzt in C++14 mündete, wurde offenbar in so enger Zusammenarbeit mit den Herstellern vorgenommen, dass nun erstmals Standard und Implementierungen gleichzeitig verfügbar sind.

Der neue Standard wurde vom Komitee laut Sutter einstimmig beschlossen, nachdem im Februar dieses Jahres in einem Treffen die letzten Unstimmigkeiten bereinigt worden waren. Der neue Standard wird nun der ISO unterbreitet und soll noch in diesem Jahr als ISO/IEC 14882:2014(E) publiziert werden. Eine Kurzfassung der Neuerungen in C++14 findet man bei Meeting C++. Enthalten sind unter anderem Literale für Binärwerte, decltype(auto), Initialisierte Lambda-Captures, generische (polymorphe) Lambda-Ausdrücke, Deklaration einer Variablen als Template, erweiterte constexpr-Funktionen, das Attribut [[deprecated]], das einfache Anführungszeichen als Zifferntrennzeichen in großen Zahlen und kleinere Erweiterungen und Klarstellungen.

Der Standard-Entwurf selbst ist in LaTeX geschrieben und auf Github verfügbar. Der im April erschienene GCC 4.9 enthält eine noch experimentelle Implementierung von C++14 auf der Basis des damaligen, fast schon endgültigen Entwurfs des Standards. Vollständig ist diese noch nicht, aber einige der Neuerungen von C++14 sind laut der Übersichtsseite bereits komplett umgesetzt.

Die aktuelle, bereits im Januar erschienene Version 3.4 von LLVM unterstützt C++14 nach eigenen Angaben sogar schon vollständig. Die in einer Woche erscheinende Version 3.5 dürfte diese Unterstützung dann auf den neuesten Stand bringen.

C++14 ist laut Aussagen von C++-Erfinder Bjarne Stroustrup mehr die Vervollständigung von C++11 als eine Erweiterung mit grundlegenden Neuerungen. Mehr Neuerungen sind für die kommende Standardversion »C++1.z« voraussichtlich in drei Jahren zu erwarten.

Werbung
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung