My CppCon talks

A few weeks ago, here and here, I posted the five talks I submitted for CppCon.

Good news (really): The CppCon program (posted today) is so strong that some of my talks legitimately fell below the cut line. Instead of giving five talks, I’ll be giving two – one as I proposed it, one a plenary session condensed from three proposed talks. The fifth proposed talk fell under “thanks but there’s just no room, maybe next year.”

This is an awesome problem to have. Seeing the other sessions I am sincerely happy to see some of my material and proposed topics have to be condensed and/or cut to make room for the high-quality content in the program from other speakers. Little did we know what a strong response there would be to the call for session proposals, with well over 100 speakers proposing talks, but the response was just, well, awesome. Now that the Program Committee has done its work (thanks again, PC members!), here’s how it came down for me:

First, I’m doing a plenary session in the main hall which will be 90 minutes instead of 60 and so will let me combine and condense material from my proposed talks on Standardization Update, Garbage Collection, and C++ ABI, to make a single forward-looking ‘endnote-y’ session. Here’s the merged title and abstract:

C++ Today and Tomorrow: C++14, a Gaggle of TSes, and Beyond

This talk starts with a standardization update: By the time we meet at CppCon, C++14 might already be ratified. But that’s only one of eight (so far) work items now in flight. This session will start off with a summary of the new features coming in C++14 itself, followed by a tour of the seven (7) near-term separate Technical Specifications already underway – think of these as the “C++14 wave” of deliverables, covering standard support for everything from file system access and networking, to concurrency and parallelism, to concepts and transactional memory. In each case, we’ll get a feel for what each major feature looks like and how to use it, and why it’s important for the standard and for your own portable C++ code.

Then we turn to future directions: What two features are expected to be pillars of C++17? What other work is being done, and what other problems need to be addressed, and how, for C++ to continue to fulfill its mission to be a modern close-to-the-metal systems programming language? Sutter will share thoughts on two specific forward-looking topics: First, how garbage collection can be added well to C++, directly complementing (not competing with) C++’s existing strengths and demonstrating why, as Stroustrup says, “C++ is the best language for garbage collection.” And second, why and how we might develop a standard C++ ABI, including directly addressing the #1 valid reason to use C instead of C++, and removing a major obstacle to sharing binary C++ libraries in a modern way.

Second, I’m doing the lock-free programming talk as a regular talk:

Lock-Free Programming (or, Juggling Razor Blades)

Example-driven talk on how to design and write lock-free algorithms and data structures using C++ atomic – something that can look deceptively simple, but contains very deep topics. (Important note: This is not the same as my “atomic Weapons” talk; that talk was about the “what they are and why” of the C++ memory model and atomics, and did not cover how to actually use atomics to implement highly concurrent algorithms and data structures.)

The talk that didn’t make the bar this time was Modern C++ Style: Idioms of C++11/14. It’s a shame, because I think it’s a strong talk, but some of its material will be covered well in talks by other speakers, and the 1-3 hours this talk would have occupied will be put to even better use by up to three other talks on other modern topics.

I’m really looking forward to being in the audience for the talks that take the place of this one, even as I look forward to re-proposing this talk for next year’s CppCon.

I hope to see many of you at CppCon.

11 thoughts on “My CppCon talks

  1. Herb

    I think a slide from Part II about slist::push_front has a bug, a deadlock:

    auto p = new Node;
    p->t = t;
    p->next = head; // 1. save current head
    // 2. someone does push_frond
    while (!head.compare_exchange_weak(p->next, p)); // 3. the loop spins forever

    Fixed like this:

    auto p = new Node;
    p->t = t;
    do {
      p->next = head;
    } while (!head.compare_exchange_weak(p->next, p));

    What am I missing?

  2. Regarding: “I gave this talk for the first time at C++ and Beyond this past December but there were recording problems and less than half got recorded, so it’s not in a publishable state.”

    Any any of the surviving videos going to see release? I was bummed when I heard about the recording issue, but I’m equally bummed that we’re this far into the year and there have been no sign of recordings. It also feels a bit strange at this point given that C++ and Beyond 2014 is so soon now, in late September.

  3. Well I will say it like this:
    if you like me want a technical conference like CppaB this is a horrible decision, considering some talks that made it.
    if you want more to show wide variety of cpp scene (something like Herb’s Cinder challenge) this decision almost :) makes sense.

  4. @nosenseetal: Re permaoptimistic: Guilty as charged. :)

    Thanks for the kind words, but I really do agree with the decision, and in fact I suggested it when I saw how much great content there was. Even with 100+ sessions you should see some of the good talks that (very sadly) fell below the cut line this year… I would have liked to have more of them. There really is so much strong material in the program that I think it would have been wrong for me to consume that many sessions/slots by myself — it would have been twice as much as any other presenter and the reality is that no one person (well, except Bjarne) has that much material that’s so important to say that the time shouldn’t be shared around more evenly to hear more voices and variety of experience.

    FWIW, the reason I thought the lock-free talk was the one to keep at its original full length was actually because it’s the one that’s about code you can write today, while also being about advanced techniques that are still not widely known, which hopefully is a useful combination.

    The Modern C++ Style talk is also a “what you can do today” talk, but as I said it’s partly covered by others, and the parts that aren’t covered by others is good material but I couldn’t honestly evaluate it as compelling enough to be worth consuming 1-3 sessions in such a packed conference program at the expense of others’ material.

  5. Herb is being a good sport here, this is a terrible decision by who ever made it… I am not a Herb fanboy since I dont like his permaoptimistic style, but he is prob “the cpp person” because he has unique mix of real world(like Alexandrescu) and ISO stuff(like Bjarne).
    Also out of all proposed talks I think the lock free one is least useful, beside maybe ABI one… though I dont pretend to know enough to judge ABI problem scope.

  6. @Steve: I gave this talk for the first time at C++ and Beyond this past December but there were recording problems and less than half got recorded, so it’s not in a publishable state.

    I will be giving a 90-min version of the talk again at C++ and Beyond 2014 ‘Encore’ this fall in Stuttgart, Germany ( However, I don’t know if they’re going to record it.

    The slides alone don’t give the full story when just reading them dry, unfortunately.

  7. Could you recommend reading material for those of us that prefer text over talks?

  8. Herb, would you be willing to make your unaccepted talk, Modern C++ Style: Idioms of C++11/14, available to those of us still interested in hearing/reading what you were going to say?

Comments are closed.