C++ language - the beat goes on...

Posted by on in Blogs
We now have 3 approved ISO C++ standards: C++98 (ISO/IEC 14882:1998), C++03 (ISO/IEC 14882:2003) and C++11 (ISO/IEC 13882:2011).  The latest C++ standard is affectionately called "Modern C++" by Bjarne Stroustrup.  The ISO C++ committee had their most recent meeting in Bristol UK in the middle of April.  The committee is working on future releases of the C++ standard scheduled for 2014 and 2017.  Nothing stops in our technology world, not even the advance of programming languages.

Latest C++ Standard Bits

According to our Embarcadero Technologies ISO C++ committee member, Dawn Perchik, "the Bristol C++ meeting focused on finalizing what would be included in the next standard, C++14. Among the new features discussed for inclusion in C++14 was Concepts Lite, a simplified version of the original concepts proposal. Concepts Lite was moved into a TS (Technical Specification)".

Herb Sutter, ISO C++ committee chair, also produced an excerpt of his Bristol trip report on his blog and a complete trip report on the ISOCPP.ORG foundation web site (Embarcadero Technologies is a sponsor).  Approved at the meeting, according to Herb, were "generic lambdas, dynamic arrays (an improved version of C99 VLAs), variable templates, reader/writer locks, make_unique, optional<T>, standard library user-defined literals, and a number of other language and library improvements." Herb also reported that there were a record number of attendees and papers submitted. http://isocpp.org/blog/2013/04/trip-report-iso-c-spring-2013-meeting.

C++ meeting attendees over time

The fall 2013 ISO C++ meeting takes place in Chicago, IL from September 23 to 28.

Favorite C++ Language Features

Everyone has their favorite features in the C++ language.  Andrzej Krzemieński recently blogged about what he considers to be "C++'s Best Feature" at http://akrzemi1.wordpress.com/2013/07/18/cs-best-feature/. Andrzej's writes "I am going to write about one C++ feature that I consider one of the most important. The one that makes me choose C++ rather than other popular programming languages. Personally, I find the destructor one of the most elegant and practical features in programming languages."

Marius Bancilla in April wrote a Code Project article titled "Ten C++11 Features Every C++ Developer Should Use".  His list includes:

  • auto

  • nullptr

  • Range-based for loops

  • Override and final

  • Strongly-typed enums

  • Smart pointers

  • Lambdas

  • non-member begin() and end()

  • static_assert and type traits

  • Move semantics


My favorite C++ 11 language feature is the introduction of Lambdas.  The ability to create anonymous functions and the ability to "capture" (or declare) which symbols are in scope inside the function implementation is really cool.  Many other languages have anonymous functions/methods. What puts Lambdas at the top of my C++11 favorite list is succinctly stated by Bjarne in his C++11 FAQ, "Some consider this really neat!; others see it as a way to write dangerously obscure code. IMO, both are right." Put another way, Lambdas, as defined in C++11, according to Herb "Bjarne knew that I felt lambda functions were a game-changing feature that would have a pervasive impact on C++ coding style across many domains". For me, Lambdas allow me to avoid having to name every small function, and the capture mechanism gives me scope control to create more reliable code.  Alex Allain has a great article about "Why Lambdas Rock!".

C++Builder - "On Teb On"

To describe my non-stop moving forward philosophy, I often use a quote from one of my favorite SCI-FI/Comedy movies, Galaxy Quest.  Near the end of the movie, Mathesar tells Teb "On Teb on" to keep the ship moving forward.  At Embarcadero, our work continues on future releases of our C++Builder compilers and products to include more of the standard C++ language and support for mobile devices. Being an active part of the ISO C++ committee and Clang/LLVM project is keeping us on the forefront C++ language advances.  While I was in Seattle in April presenting our Delphi for iOS release, I also was able to visit with Herb at the Microsoft campus - that was a real honor!


About
Gold User, Rank: 1, Points: 2466
David Intersimone (known to many as David I.) is a passionate and innovative software industry veteran-often referred to as a developer icon-who extols and educates the world on Embarcadero developer tools. He shares his visions as an active member of the industry speaking circuit and is tapped as an expert source by the media. He is a long-standing champion of architects, developers and database professionals and works to ensure that their needs are folded into Embarcadero's strategic product plans. David holds a bachelor's degree in computer science from California Polytechnic State University at San Luis Obispo, California.

Comments

  • Guest
    mht Friday, 26 July 2013

    Hi david.
    When C++ Builder compiler (32bit) supports C++11 (or 14)?
    Thanks.

  • Guest
    peter Friday, 26 July 2013

    Great.
    Does XE5 contains C++Builder 4 Android?

  • Guest
    David Intersimone Friday, 2 August 2013

    We are working on the ARM7 support for C++Builder. Same Clang/LLVM architecture we used for C++Builder Win64. Delphi is pioneering the support iOS and Android. C++ will get both too. Stay calm and stay tuned :)

  • Guest
    Patrick M. Tuesday, 20 August 2013

    Glad to see you post about c++11 This is important to keep up to date. Keep working on C++11 and 32 Bit.

  • Please login first in order for you to submit comments
  • Page :
  • 1

Check out more tips and tricks in this development video: