C++11 – auch ein Stimmungsbild

Seite 4: Fazit

Inhaltsverzeichnis

Auch wenn C++ keine beliebte Sprache ist, wird sie Entwickler noch eine ganze Weile begleiten. Tatsächlich könnte sich generell der Bedarf an C++ beziehungsweise an hardwarenahen Sprachen in nächster Zeit erhöhen; vor allem wenn die Hardware in Sachen Parallelisierung den zu ihrer Programmierung notwendigen Softwarekonzepten weiterhin davonläuft.

Die spannendste Frage wird sein, wie schnell sich C++11 gegen seinen Vorgänger C++98 wird durchsetzen können. Es war in den vergangenen zwei Dekaden regelmäßig notwendig, C++-Neuerungen konservativ einzusetzen, da Compiler den Standard nur zögerlich umgesetzt haben. So wird erst GCC 4.7 den zweistufigen Instantiierungsprozess von Templates korrekt implementieren, vermutlich auf Druck von Clang, dem Compiler des LLVM-Projekts (Low-Level Virtual Machine), der seit Monaten vormacht, wie man's richtig macht. Der Autor hat leidvolle Erfahrungen mit Firmen hinter sich, in denen der Einsatz der STL oder Boosts eine endlose Diskussion mit sich geführt hat. Hier muss sich die C++-Gemeinde umgewöhnen. Neuerungen wie Lambdas und auto machen C++11 zu einer deutlich produktiveren Sprache, als C++98 es war. Es gilt nun, diese Produktivitätssteigerung im Alltag auch zu nutzen, um gegen Java und .NET zu bestehen. Ein weiteres Jahrzehnt der Zersplitterung und Inkompatibilität könnte die momentan exzellente Ausgangsposition von C++ schnell wieder zunichte machen.

Glücklicherweise steht es mit der C++11-Unterstützung in aktuellen Compilern gut (GCC, VC++, Clang, Edison Design Group (Frontend für die meisten anderen C++-Compiler)). Mit GCC und Visual C++ kann der Entwickler die wichtigsten Neuerungen heute produktiv einsetzen, auch wenn GCC noch zusätzliche Kommandozeilenargumente (-std=c++0x) erzwingt, um die Neuerungen freizuschalten (Microsoft schaltet sie bei VS2010 standardmäßig ein). Sorge bereitet einzig Apple, die sich durch den Umstieg von GCC auf Clang von der Entwicklung ein wenig abgekoppelt haben. Es bleibt zu hoffen, dass die Clang-Entwickler im Laufe der nächsten Monate zu Microsoft, EDG und GCC aufschließen werden. Der Autor ist hier optimistisch, dass die Firmen schnell feststellen werden, dass "C++98-Unterstützung jetzt extra kostet".

Marc Mutz
arbeitet als Senior Software Engineer, Trainer und Consultant bei KDAB (Deutschland) GmbH & Co. KG.
(ane)