CppCon 2019: Bjarne Stroustrup “C++20: C++ at 40”


Discussion & Comments: https://www.reddit.com/r/cpp/

Presentation Slides, PDFs, Source Code and other presenter materials are available at: https://github.com/CppCon/CppCon2019

It is now 40 years since C++ (then called C with Classes) had its first non-research user. It is now 35 years since the first commercial release of C++. It is now 30 years since the start of the standards process.

So what is C++? I will try to explain what’s great about C++, C++20, as a modern language, not treating it as a layer cake of features. Imagine you have never heard of C, C with Classes, or C++11. How do classes, templates, and lambdas fit together? What have constructors and destructors to do with exceptions? What’s in the standard library? How can we start using C++?

Finally, I will make a few comments about how to get from older styles of C++ use to modern C++ and point to areas where we need to improve C++ further.

Bjarne Stroustrup
technical fellow, MorganStanley

C++: history, design, use, standardization, future; performance, reliability; software developer education;distributed systemsBio: www.stroustrup.com/bio.html

Videos Filmed & Edited by Bash Films: http://www.BashFilms.com

23 thoughts on “CppCon 2019: Bjarne Stroustrup “C++20: C++ at 40”

  1. I feel that one must focus more on the philosophy behind the C++ and it's features rather than just learn the syntax, how to use it and get annoyed due to it's perceived complexity. I feel that piece of the puzzle is missing. There is wisdom behind the perceived complexity of C++. It took me a long time to fall in love with Java because I was unaware of it's philosophy. Once I started understanding what it was made for and what kind of problems it can solve, there was an Aha! moment. I feel only those who had this Aha! moment, will love C++ and will enjoy working with it.

  2. Back in the 1960ths. the Software Programming world was divided roughly into Cobol for the business, Fortran for engineering and Algol for Research. Today you'll find C++ everywhere … ! …
    I'd say that the C++ user community today is in a way simply too big to fail. In general there are only two possible pathes for the evolution of any programming language … you either start from scratch like Ken Thompson did with GO or you focus on improvements in the space of backwards compatibility like Bjarne Stroustrup did and do with C++ …
    I think both approaches have their plus & minus points of view, but can perfectly coexist harmonically side by side. Congrats to Bjarne Stroustrup and the C++ user community for this new release of C++20.
    It sounds really promising!

  3. Ellis and Stroustrup's The Annotated C++ Reference Manual textbook that I purchased in 1990 is the best investment I have made to sustain a Computer Systems Engineering career for another 30 years. Dollar sign emoji.

  4. It's difficult to master C++, especially with its extreme added complexity of the last three decades (multiple inheritance, smart pointers, rvalue/movie semantics, template metaprogramming, concepts, etc.). It's also difficult to put all these ideas together in a professional setting. Bjarne convinces me that everything is there for a reason and is worth learning.

  5. I study CS at the same university Bjarne studied at. My lecturers know him personally. Hell, one of my professors once phoned him directly to ask a question about C++… Turned out it was a bug and 3 weeks later Bjarne phoned back "Fixed it"

  6. "You want to compose your program from unique parts" so you don't have to solve bugs multiple times. Very succinct and memorable expression of this principle.

  7. My wishlist for next standard:
    – UFCS or sort of: having the possibility to extend an existing closed class with new methods are the most common usage and is autocompletion friendly so a junior dev can see what methods are available.
    – Single statement lambda: something like: [] (a, b) => a < b expanded to something like [] (auto&& a, auto&& b) -> auto&& { return a < b; }.

    Just to make simple things simpler and less verbose.

  8. Please make C++ epochs a thing! The language is just growing and growing without ever looking back and fixing its problems. There should be a way for the committee to perform large refactorings without the fear of breaking some stupid 20 year old compatability.

Leave a Reply

Your email address will not be published. Required fields are marked *