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.

Early Bird Deadline is This Week

If you’ve been thinking about registering for CppCon 2021 onsite or online, now is the time — EarlyBird discount ends this week!

Because of the health and travel situation, we know that many who want to attend onsite don’t know for certain yet if they can make it onsite. Here are some things to help ease your mind about registering:

  • Any Online Early Bird registration can be upgraded later (even after the Early Bird deadline) to an Early Bird rate onsite registration. So if you get an Online Early Bird registration now, you will lock in the Early Bird rate if you later convert it to any of our onsite registration options.
  • Any onsite registration can be converted to an online registration with full refund of the difference in rate, no questions asked.
  • Any registration can be cancelled for a full refund with no questions asked until the day before the conference (October 23rd). So if you plan to attend onsite and get an Early Bird onsite registration now, you can get your money back in full if it turns out international travel restrictions or any other issues get in the way.
  • The Gaylord Rockies‘ refund policy for hotel room reservations is a complete refund with notice that is three working days prior to arrival date.

These registration/refund policies and the low price on Online Early Bird registration make that a no-brainer. Online registration gives you exclusive early access to all the videos that we’ll be adding to the CppCon YouTube channel, but it is easy to justify the cost of Online Early Bird registration even if you are only able to spend one day (or even just a couple of evenings) watching sessions and engaging online with CppCon attendees in our awesome virtual venue. Early access to session videos is just an amazing bonus.

Don’t let COVID deprive you of the opportunity to engage with the C++ community in 2021!

In any case, you can register now to lock in the Early Bird rate. We look forward to seeing many of you in person or online at CppCon 2021 for what will surely be one of the most memorable CppCons ever.