Software::Entwicklung
Umstellung von GCC auf C++11 geplant
Sieben Jahre, nachdem die Entwickler der GNU Compiler Collection (GCC) ihren Compiler von C auf C++ umgestellt haben, keimt eine erneute Diskussion auf, die Compilersuite künftig in C++ 11 zu implementieren.
gnu.org
Nachdem die GCC-Entwickler vor knapp einer Dekade die Umstellung der Suite von C auf C++
angestoßen haben und vor sieben Jahren einen Vollzug meldeten, steht ein erneuter Wechsel der Sprache zur Diskussion. Wie einem Vorschlag von Nicholas Krause auf der Liste des Projekts
entnommen werden kann, würde die Nutzung von C++ 11 etliche Ecken des Compilers vereinfachen und diverse Aspekte verbessern. Unter anderem ließe sich mittels C++ 11 besser Multithreading realisieren. Einer der wichtigsten Aspekte, die für eine Nutzung der neuen C++-Version sprechen, ist laut Aussagen vieler Entwickler die Move-Semantik. Sie würde viele Bereiche vereinfachen und teils auch beschleunigen.
Die Umstellung auf eine neue Version einer Sprache ist nichts Ungewöhnliches. So nutzt beispielsweise GDB bereits seit geraumer Zeit C++ 11. Auch der direkte Konkurrent von GCC, Clang, bedient sich neuer Sprachfunktionen. Nachdem die Entwickler von Clang vor knapp fünf Jahren auf C++ 11 umgeschwenkt sind, nutzen sie allerdings mittlerweile C++ 14 standardmäßig. Die Neuerungen in C++ 14 sind unter anderem verallgemeinerte Lamba-Ausdrücke, erweiterte Einsatzmöglichkeiten von auto
und decltype
und eine Erweiterung von constexpr
. Die aktuellste Version ist C++ 17, die im März 2017 freigegeben wurde.
Die Entwicklergemeinde rund um GCC will nun in den kommenden Tagen einen Umstieg auf C++ 11 diskutieren. Das Ergebnis ist noch offen, wobei aber die Tendenz Richtung einer Adaption von C++ 11 geht und beispielsweise ein Schwenk Richtung C++ 14 als eher ausgeschlossen gilt. »C++ 03 -> C++ 11 macht einen großen Unterschied. Insbesondere std::move
und rvalue
Referenzen verändern das Spiel«, so der bei Red Hat angestellte Pedro Alves.