CppCon 2021 Wrap-Up

Hybrid Success

Our first adventure with a hybrid conference was a success! Although a our onsite attendee numbers were down (way down, see the photo of many of us), our online-only attendee count was up from last year (even with many of last year’s attendees attending onsite this year) and our total attendance grew (a bit) from our record in 2019.

Trip Reports

But don’t take my word for it, read what some of our attendees are saying. I’ll update this post as more trip reports are published.

Videos

JetBrains, a CppCon YouTube Channel sponsor, is providing early access to some of our conference videos. In addition to the Fireside Chat with the C++ Standards Committee, JetBrains has posted all of our onsite plenary sessions (from Bjarne Stroustrup, Herb Sutter, Lisa Lippincott, Michael Caisse, and Sean Parent).

In the next few weeks, we’ll be posting session videos to the CppCon YouTube Channel and slides to our repository.

CppCon 2022

CppCon 2022 will be held September 11 – 16 at the Gaylord Rockies, in Aurora, Colorado. Watch this page for more details.

Thanks

We all knew pretty early last year that 2020 was going to be a horrible year.

But many of us, certainly I, had great hopes for 2021. This year would be so good, due to “pent up demand,” that we’d forget all about 2020. Except that it didn’t turn out that way. 2021 turned out to be the year of disappointment following disappointment.

In addition to having to cut many familiar conference features due to lack of attendees, money, and planning time, the process of organizing a hybrid conference proved much more difficult that I’d imagined that it would be. We scrapped our program schedule twice before we came up with something that made us happy.

I confess to having low expectations for this year’s event. It wasn’t because we didn’t have a great team preparing for it.

The organizers, including our department heads, volunteers, and vendors did an amazing job of preparing for the event under terrible circumstances. Our Program Committee reviewed a near record number of submissions. The online volunteers had to master several different software platforms in order to answer questions and provide technical support for online presenters and other attendees. The onsite volunteers were very, very short-handed. They worked longer shifts than we’ve asked of them in years past and were also required to master new platforms for delivering hybrid session.

Our vendors, including, Bash Films, Digital Medium, Gaylord Rockies, Jonathan Phillips, Krueger Event Management, and LSAV Powerhouse, all went above and beyond to create a hybrid CppCon for the first time.

I was, of course, delighted by the way about team came together to see our challenges as an opportunity to succeed in a new way rather than as an excuse to fail at delivering the best possible CppCon experience.

I was happy for the support of our sponsors and both online and onsite exhibitors.

Still, I was very worried.

But there was part of the CppCon team that I’d not counted on. Our attendees! At every closing I thank the attendees because, I tell them, without attendees, we don’t have a conference.

This year I learned the deepest truth of that. CppCon 2021 was a success in the only way that really matters. Those attending were delighted that they were attending.

The attendees came through for us. In a year when we could have heard a lot of complaining (about no posters, no bookstore or author signings, no live-captioning, no Tool Time, reduced social events), instead we heard about how delighted everyone was to be able to see old friends, meet new friends, and engage with the some of the best minds in C++. We had great engagement during sessions, at lightning talks, and in the all-important “hallway track.”

2021 Onsite Group Photo

You are all my heroes.

I look forward to seeing you all next year.

Jon Kalb
Conference Chair

CppCon 2021 Online Keynote: Six Impossible Things by Kevlin Henney

We’ve previously announced keynotes by Bjarne Stroustrup, Herb Sutter, Lisa Lippincott, Michael Caisse, and Sean Parent. This is the last of our six conference keynotes to be announced.

Kevlin Henney

Kevlin will be online for an important discussion on the limits of what is possible in software.

Kevlin is an independent consultant and trainer based in the UK. His development interests are in patterns, programming, practice, and process. He has been a columnist for various magazines and websites, including Better Software, The Register, Java Report, and the C/C++ Users Journal. Kevlin is co-author of A Pattern Language for Distributed Computing and On Patterns and Pattern Languages, two volumes in the Pattern-Oriented Software Architecture series. He is also an editor of 97 Things Every Programmer Should Know.

Here is his talk description:

“Why, sometimes I’ve believed as many as six impossible things before breakfast,” the Queen told Alice on her adventures through the looking glass. Only six? In software development we believe impossible things all the time, no matter the time of day!

In this talk, however, we are going to take a look at six specific impossible things that shape the limits of what we can develop, all the way from the smallest detail of integer representation to the minefield of task estimation and prioritisation, via the uncertainty of distributed systems and the limits of computability. Once we know our limits, we can work within them to create solutions rather than problems.

CppCon 2021 Keynote: Warning: std::find() is Broken! by Sean Parent Live, In Person

We’ve previously announced keynotes by Bjarne Stroustrup, Herb Sutter, Lisa Lippincott and Michael Caisse. This is the fifth of our six conference keynotes to be announced.

Sean Parent

We’re happy to announce: Sean will be in Aurora live, in person for an important discussion on requirements, guarantees, and domains and how these effect the Standard Library and what we can expect from it.

Sean Parent is a senior principal scientist and software architect for Adobe’s Software Technology Lab (v2). Sean has been at Adobe since 1993 when he joined as a senior engineer working on Photoshop and later managed Adobe’s Software Technology Lab. In 2009 Sean spent a year at Google working on Chrome OS before returning to Adobe. From 1988 through 1993 Sean worked at Apple, where he was part of the system software team that developed the technologies allowing Apple’s successful transition to PowerPC.

Here is his talk description:

We often take it for granted that calling one of the Standard algorithms will do something meaningful. For example, when invoking `position = find(first, last, value)` we expect that if an element equal to value is contained in the range `[first, last)` then `position` will point to the first such element; otherwise, position will equal `last`. But how do we know `find `will perform this operation? This talk explores requirements, guarantees, and domains, and we’ll discover that maybe `find` doesn’t.

CppCon 2021 Keynote: Small Inspiration by Michael Caisse Live, In Person

We’ve previously announced keynotes by Bjarne Stroustrup, Herb Sutter, and Lisa Lippincott. This is the fourth of our six conference keynotes to be announced.

Michael Caisse

We’re happy to announce: Michael will be in Aurora live, in person to deliver a brand-new talk about inspiring and being inspired by the embedded world around us.

Michael Caisse started using C++ with embedded systems over 30 years ago. He continues to be passionate about combining his degree in Electrical Engineering with elegant software solutions and is always excited to share his discoveries with others.

Here is his talk description:

Less than 1% of microprocessors sold each year find their way into general purpose computers. Desktops, laptops, and servers of all sizes represent a very small fraction of the compute that surrounds us. We interact with a few of these systems but most go unnoticed. These invisible, unsung embedded devices offer lessons in engineering at all scales and can provide inspiration to seasoned practitioners and future technologists.

Join me as we learn from the embedded world and become inspired to inspire.

This talk is the Keynote talk for the Embedded Track.

 

CppCon 2021 Keynote: Value in a Procedural World by Lisa Lippincott Live, In Person

We’ve previously announced keynotes by Bjarne Stroustrup and Herb Sutter. This is the third of our six conference keynotes to be announced.

Lisa Lippincott

We’re happy to announce: Lisa Lippincott will be in Aurora live, in person to deliver a brand-new talk about a fundamental basis of understanding computer programs.

Lisa Lippincott designed the software architectures of Tanium and BigFix, two systems for managing large fleets of computers. She is chair of the numerics study group of the C++ standardization committee.

Here is her talk description:

What is a value? The most common conception is that values are inhabitants of a platonic mathematical world, too far away to be examined or subjected to experiment. As a basis for understanding computer programs, this conception is awkwardly non-local and disturbingly mystical.

In this lecture, I will present a functionalist conception of value, situated locally within the realm of procedural programming. I will show how values in this conception relate directly to program execution, and examine how events within program execution are related through the stability, substitutability, and repeatability of values.

This talk is the Keynote talk for the Software Design Track.

Registration is now open for what will certainly be one of the most memorable CppCons ever this October 24-29. Register today!

Tickets are now available for both online attendees and in-person attendees who are vaccinated.

Herb Sutter live in person at CppCon 2021

As already announced, CppCon 2021 will kick off on Monday, October 25 with Bjarne Stroustrup delivering the opening keynote live in person in Aurora, Colorado, USA.

We’re happy to announce another plenary talk: Herb Sutter will be there live in person to deliver a brand-new talk about post-C++20 C++ language evolution. Here is his talk description:

Extending and Simplifying C++: Pattern Matching using is and as

C++20 is a unique historic milestone: the first edition of Standard C++ that’s “D&E-complete,” with essentially all of the features Bjarne Stroustrup outlined in The Design and Evolution of C++ for C++’s evolution. That doesn’t mean evolution is done, however, and work continues on adding a few more important features in C++23 and beyond, including reflection and pattern matching.

Herb SutterIn this talk, I’ll show the C++ pattern matching libraries and language proposals we’ve considered, and present my own contribution that builds on them. My paper has two major aims: (1) to make the syntax clean and regular, and avoid inventing a little sublanguage that works only inside “inspect”; and (2) to make it generalizable so we can use it consistently throughout the language, because matching a pattern is a broadly useful feature that ideally should not be limited to “inspect” only… for example, we would love to express patterns in “if” and “requires” conditions too.

I hope that the most important contribution is that, if we add pattern matching in a way that also provides general “match” and “extract” support throughout the language in the form of generalized “is” constraints and “as” casts, the net result is that we can actually simplify C++… yes, even as we add new features and more expressive power. How can that be simpler? By letting programmers directly express their intent where they have to express it indirectly today, by making the language more regular with fewer special cases to learn, by unifying the syntax of existing standard library features that today have a gaggle of different and divergent styles (e.g., variant, optional), and by providing one general and expressive way to use patterns cleanly throughout C++.

Registration DeskRegistration is now open for what will certainly be one of the most memorable CppCons ever this October 24-29. Register today!

Tickets are now available for both online attendees and in-person attendees who are vaccinated, with the goal of opening registration further as we all learn more about what will be safe.

CppCon 2021 Program Announced

The Main Program for CppCon 2021 is now live!

This year, CppCon is a hybrid format, so we are presenting four tracks for onsite attendees and five tracks for online attendees.

Online attendees will be able to participate in onsite sessions via “simul-cast” for most sessions. A few onsite sessions will be recorded and rebroadcast for online attendees. Rebroadcasted sessions will feature the presenters live in the session chat room and, time allowing, live Q&A at end of the session. (Online attendees will have the ability to view recorded versions of all sessions–onsite and online–shortly after they happen.)

We’ll have over seventy breakout sessions delivered onsite and sixty additional remote sessions by the best C++ presenters in the industry, many returning from previous years as well as some exciting new voices, some of whom are able to present only because we are offering a remote presenting possibility. In addition, we’ll present our traditional onsite plenary session every day and an online opening keynote. We’ve already announced our onsite Opening Keynote and will be announcing our other five headline talks here in coming days.

This year’s Main Program features three special tracks including the Back to Basics Track, the Embedded Track, and the band new Software Design Track.

In addition to the Main Program, we’ll have the panels, lightning talks, Open Content talks, BOFs, exhibitors, social events, and classes that attendees have enjoyed in past years. Note that all but one of our classes have been moved online to allow for greater participation.

Most of the program is published, but we are still working a few surprises, so keep checking back.

We’d like to thank the Program Committee, our speakers, and the many professionals who proposed talks which we, unfortunately, just couldn’t squeeze in this year. Thank you for your hard work and enthusiastic support for this year’s program!

We hope to see you all in less than a month so register now.

Big Update with Big Thanks for a Big Program

The deadline for Main Program submissions has passed with a near-record number of submissions!

The conference organizers are grateful for, and excited about, the almost-two-hundred submissions that we received. We are excited both by the quality of the submissions and by the fact that that the vast majority of submissions were for onsite presentations.

Our Program Committee is currently hard at work reviewing and rating each submission and we know that we’ll have an amazing program for both onsite and online attendees in Aurora in October. As you know, we’ve announced that Bjarne will be our opening keynote onsite. (We are anxious to make our next onsite keynote announcement but that isn’t quite ready yet.)

 

A peek behind the curtain for those of you that have not been part of the submission/review process: Each submission receives written evaluations by several members of the CppCon Program Committee. There are two goals of each committee member as they draft these evaluations. The most obvious is to select the best possible program for CppCon attendees. On the one hand, this is easy because with so many high-quality submissions, creating a great program comes out pretty naturally, but on the other hand, it is very hard because we know that our audience has come to have great expectations of a CppCon program, not just that every individual sessions is of high quality, but that the program as a whole provides coverage of the topics that matter to our attendees, and also because the competition is fierce. The quality of the submissions that we don’t accept is getting higher every year.

Which leads us to the second goal of members as they draft their evaluations. The evaluations are, of course, shared with the submitters, so each evaluation should also contain constructive advice on how to improve the submission. For submissions that are accepted, this leads to an even better program for attendees. For submissions that are not accepted, this leads to better submissions to future programs (both at CppCon and other conferences).

Our feeling is that all submissions, from the weakest to the strongest, can be improved in some way and comments that we’ve received from submitters (both those that have been accepted and those that have not) let us know that submitters appreciate thoughtful, constructive comments.

Creating multiple, thoughtful evaluations on almost two-hundred submissions touching on virtually every topic of C++ and software design in less than a month is a mammoth task, but we know that the CppCon 2021 Program that you’ll be seeing in Aurora and/or online, will be something that we as organizers, the Program Committee, and the presenters, will be proud to present.