More Open-Source Projects Eyeing Up C++11

Posted by Michael Larabel on November 26, 2012

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.

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Sumo Lounge Emperor
  2. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  3. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  4. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
Latest Software Articles
  1. Intel Linux OpenGL Driver Leading Over Apple OS X
  2. The Cost Of Ubuntu Disk Encryption
  3. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  4. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
Latest Linux News
  1. Wayland's Weston Gets Output Scaling Support
  2. Raspberry Pi Gets New Wayland Weston Renderer
  3. Debian GNU/Hurd 2013 Release Brings New Packages
  4. Intel Ultrabook Performance Is Faster With Mesa 9.2
  5. Hot Relocation HDD To SSD Support For Btrfs
  6. Phoronix Test Suite 4.6.0 "Utsira" Released
  7. New Intel X.Org Driver Supports All Of Haswell
  8. SQLite Now Faster With Memory Mapped I/O
  9. Microsoft Releases Skype For Linux 4.2, Has Bug-Fixes
  10. Qt For Tizen Launches, Based On Qt 5.1
  11. KTAP Released For Linux Kernel Dynamic Tracing
Latest Forum Talk
  1. Qt For Tizen Launches, Based On Qt 5.1
  2. Handbrake 0.9.9 Supports OpenCL Offloading
  3. Humble Indie Bundle Finally Sells Out
  4. Debian GNU/Hurd 2013 Release Brings New Packages
  5. Wayland's Weston Gets Output Scaling Support
  6. Richard Stallman is right yet, again.
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite