1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking Benchmarking Platform
Phoromatic Test Orchestration

More Open-Source Projects Eyeing Up C++11

KDE

Published on 26 November 2012 08:46 PM EST
Written by Michael Larabel in KDE
Comment On This Article

KDE developers are currently contemplating the idea of allowing a subset of the C++11 language to be used within the KDevelop code-base. This C++11 change would happen for the KDevelop 4.6 integrated development environment release. Reasons are shared in this article for why one should consider using C++11 code.

Milian Wolff, a developer on the KDevelop IDE, has proposed to their development community that a subset of the C++11 language be permitted following the KDevelop 4.5 branching in a few weeks.

While KDevelop is a promising open-source IDE for developers, this C++11 change is being mentioned since there's likely many Phoronix readers curious about the reasoning behind this proposal. The reasons were shared and include C++11 being "quite a lot of fun" to develop, which is actually the main reason for this proposal.

There are also technical reasons behind this proposal: C++11 can offer potential performance benefits by using constantexpr, noexpect, r- value references, and other new language features.

C++11 code is also potentially easier to read thanks to auto, lambdas, alias templates, defaulted functions, and other features that can improve the maintianability of the code-base. There's also improved compiler analysis with features like static assert, override, final, nullptr, explicit conversion operators, deleted functions, etc. An overview of C++11 changes can be found via Wikipedia.

For those curious about the C++11 language support state in different compilers, it's nicely documented on the Apache.org Wiki. The C++11 compiler support basically comes down to LLVM/Clang 3.1 and GCC 4.7 (there is also greater C++11 support in GCC 4.8) as the primary base targets.

There are some potential issues with a migration to C++11 code though due to some Linux distributions sticking to older compiler releases, the varying compiler state in BSD, potential problems with Microsoft MSVC on Windows, and the back-porting of KDevelop changes to older releases.

In terms of KDevelop handling C++11 code through the IDE itself, there's been basic C++11 support dating back to KDevelop 4.3.

Qt 5.0 is taking advantage of C++11 too, but there it's being handled in a backwards compatible manner so the code will still build as C++03 on older compilers. There is also more Qt C++11 developer information shared via slides from the recent Qt Developer Days event. KDE Frameworks 5 may also use C++11.

About The Author
Michael Larabel is the principal author of Phoronix.com and founded the web-site in 2004 with a focus on enriching the Linux hardware experience and being the largest web-site devoted to Linux hardware reviews, particularly for products relevant to Linux gamers and enthusiasts but also commonly reviewing servers/workstations and embedded Linux devices. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics hardware drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated testing software. He can be followed via and or contacted via .
Latest Articles & Reviews
  1. Trying Out The Modern Linux Desktops With 4 Monitors + AMD/NVIDIA Graphics
  2. Turning A Basement Into A Big Linux Server Room
  3. NVIDIA's $1000+ GeForce GTX TITAN X Delivers Maximum Linux Performance
  4. OS X 10.10 vs. Ubuntu 15.04 vs. Fedora 21 Tests: Linux Sweeps The Board
  5. The New Place Where Linux Code Is Constantly Being Benchmarked
  6. 18-GPU NVIDIA/AMD Linux Comparison Of BioShock: Infinite
Latest Linux News
  1. Systemd Developers Did NOT Fork The Linux Kernel
  2. PulseAudio 7.0 To Enable LFE Remixing By Default
  3. Features & Changes Coming For Mir 0.13
  4. How Far Valve Has Come: Three Years Ago They Needed OpenGL Linux Help
  5. Audacity 2.1 Improves Noise Reduction, Adds Real-Time Effects Preview
  6. Linux 4.0-rc6 Kernel Released
  7. Automatically Managing The Linux Benchmarks Firing Constantly
  8. The Big Features Of The Linux 4.0 Kernel
  9. Mesa's Android Support Is Currently In Bad Shape
  10. Wayland's Weston Terminal Can Now Be Minimized
Most Viewed News This Week
  1. Introducing The Library Operating System For Linux
  2. Allwinner Continues Jerking Around The Open-Source Community
  3. Open-Source Driver Fans Will Love NVIDIA's New OpenGL Demo
  4. GNOME 3.16 Released: It's Their Best Release Yet
  5. Systemd Change Allows For Stateless Systems With Tmpfs
  6. GNOME Shell & Mutter 3.16.0 Released
  7. GNU Nano 2.4.0 Brings Complete Undo System, Linter Support & More
  8. Red Hat Is Rolling Out A VirtIO DRM/KMS GPU Driver