Back to Basics at CppCon 2019

Tomorrow I’ll be flying out to Denver, Colorado, for CppCon 2019. This will be my busiest CppCon yet! Besides giving my “STL From Scratch” weekend course for the third year in a row, this year I’m also the chair of CppCon’s new “Back to Basics” track.

The idea of “Back to Basics” is that a lot of people come to CppCon not as committee-level experts, library designers, or ten-year industry veterans; they come because CppCon seems like the obvious place to learn and get a firm grounding in the basics of C++. CppCon has always been a great venue for learning, but the main program is always primarily driven by “whatever the speakers submitted this year,” as opposed to “whatever we think the attendees ought to learn about this year.” With the “Back to Basics” track, we’re trying to invert that dynamic for one-seventh of the main program. We collected the aspects of C++ we thought were most important for beginners to learn solidly, solicited submissions on those specific topics from the top instructors in the business, sent the submissions through CppCon’s usual Program Committee process, and then reassembled them on the other side into an 18-session track with which I’m very happy.

The “Back to Basics” track is part of the main conference program. You don’t need any special ticket to attend any of the track’s talks. You can freely mix B2B talks with non-B2B talks in your schedule — actually, I would be surprised if any single person marathons all 17 sessions! (If you do, tell me about it, and I’ll put you in touch with the Guinness people.) Finally, the B2B track will be recorded and captioned and put up on YouTube with the rest of the main program.

Here are this year’s “Back to Basics” sessions.

Monday, 2019-09-16

11 am. Jason Turner: “The Best Parts of C++.” Jason is a well-known C++ trainer and one of the hosts of the weekly podcast CppCast. He submitted this talk independently of the Back to Basics process, but we liked the sound of it so much that we made it the unofficial (or is it official?) “opening keynote” of the B2B track. It immediately follows Bjarne Stroustrup’s conference keynote in Aurora A.

2 pm. Klaus Iglberger: “Move Semantics, Part 1.” In Aurora A.

3:15 pm. Klaus Iglberger: “Move Semantics, Part 2.” In Aurora A.

4:45 pm. Dan Saks: “Const as a Promise.” In Aurora C.

Tuesday, 2019-09-17

9 am. Arthur O’Dwyer: “RAII and the Rule of Zero.” In Aurora A.

2 pm. Rainer Grimm: “Atomics, Locks, and Tasks, Part 1.” In Aurora A.

3:15 pm. Rainer Grimm: “Atomics, Locks, and Tasks, Part 2.” In Aurora A.

4:45 pm. Jon Kalb: “Object-Oriented Programming.” In Crest 4/5.

Wednesday, 2019-09-18

9 am. Fedor Pikus: “Test-Driven Development.” In Aurora A.

Wednesday is a slow day for Back to Basics. Attendees might be interested in Kostas Kyrimis’ session on ADL (2 pm in Crest 3), Mike Spertus’ session on type inference (3:15 pm in Aurora A), Daniel Hanson’s session on modern C++ for quants (3:15 pm in Crest 3), and/or Timur Doumler’s session on type punning (4:45 in Aurora A); but note that these are not billed as “Back to Basics” sessions.

Thursday, 2019-09-19

9 am. Ben Saks: “Understanding Value Categories.” In Aurora C.

2 pm. Dan Saks: “Function and Class Templates.” In Aurora C.

3:15 pm. Arthur O’Dwyer: “Smart Pointers.” In Aurora A.

4:45 pm. Inbal Levi: “Virtual Dispatch and its Alternatives.” In Aurora C.

Friday, 2019-09-20

9 am. Ben Saks: “Exception Handling and Exception Safety.” In Aurora C.

10:30 am. Arthur O’Dwyer: “Lambdas from Scratch.” In Aurora C.

1:30 pm. Arthur O’Dwyer: “Type Erasure.” In Aurora A.

2:45 pm. Chandler Carruth and Titus Winters: “What is C++?” Chandler is one of the C++ community’s most popular and energetic speakers; Titus is another. (Watch Chandler’s CppCon 2015 plenary on benchmarking and Titus’s 2015 “All Your Tests Are Terrible.”) Put them together on stage and I can only assume the results are going to be great. Again, this generalist submission came independently of the B2B track, and we liked it so much we put it in our track’s “closing keynote” position. It immediately precedes Herb Sutter’s closing keynote for the conference, also in Aurora A.

Posted 2019-09-12