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.

Announcing CppCon Academy 2021 Classes

class attendeesRegistration is open for almost twenty CppCon Academy classes that will be held in the days before or after CppCon 2021 in October.

Four classes are open to online attendees and the rest will be offered to onsite attendees at the Gaylord Rockies in Aurora.

This year we are offering classes that range from those that are focused on updating you to the latest versions of C++, to those focusing on better code, testing, or design skills. This year we are offering a class on computing in mixed CPU/GPU/FPGA environments and two on embedded programming.

class instructor with studentsRead about all the offered classes on the CppCon Academy 2021 page. There are seven classes on Language Updates, four on Design, three on Better Code, two on Quality, two on Embedded Programming, and one on Heterogeneous Computing.

Online classes will be held either on the last three business days of the week before the conference or the first three business days of the week after the conference.

Onsite classes are held the weekends immediately before and after the conference.

class instructorMost of the classes feature two days (onsite) or three days (online) of class instruction and all feature hands-on opportunities to improve your programming skills.

CppCon instructors are selected from the best C++ instructors in the world. They feature rare combinations of deep technical knowledge, extensive development experience, and the ability to explain things in an approachable manner.

Reminder: Early Bird Registration ends at the end of July, so register now!

Classic Railroad Field Trip Announced

The CppCon 2021 Field Trip will be an adventure into the mountains to sample classic mountain cuisine from Beau Jo’s, followed by a train trip over the far-famed Georgetown Loop.

Georgetown Loop Railroad

Spend a fun-filled Sunday on October 24 with fellow attendees as we ascend to 9,101 ft (2,774 m) via air-conditioned buses and railroad coaches. This trip will encompass Geologic, Historic, Natural, and Culinary wonders west of Denver.


North Denver Metro C++ MeetupThis year’s field trip is sponsored by the North Denver Metro C++ Meetup. Jason Turner, one of the meetup’s organizers, recommends:

You cannot go wrong with a trip up to Georgetown and a stop at Beau Jo’s for a truly Colorado experience. You get a feel for the amazing Rocky Mountains, a look into the mining past that shaped this state, and a taste of a Colorado classic! Just be aware these Pizzas can be ridiculously huge (and crazy tasty)! We always take visiting family to one of the Beau Jo’s locations, and you cannot beat the original in Idaho Springs. There’s also a local brewery right next door with grab-and-go, if you’re into that kind of thing.

Mountain Pie


Beau Jo’s is a Colorado institution, where we will sample some of their wonderful mountain pizzas in Idaho Springs, a mining boom town, now a historic landmark near the heart of many outdoor adventures.

After lunch, we will venture higher to Georgetown, and board the steam-powered Georgetown Loop to wind around an amazing train trip up and over itself to climb the mountain valley into Silver Plume, a mining camp started in the 1860’s silver rush.

If you are arriving for CppCon 2021 by Sunday morning, this is your opportunity to get to know some of your fellow attendees while touring some of the inspiring wonders Colorado has to offer.

See the CppCon 2021 Field Trip page for details.

Register here!

New Software Design Track at CppCon 2021

CppCon 2021 introduces a new Software Design Track.
Lisa LippincottEvery year CppCon presents dozens of sessions on how to produce high quality C++ code. But high quality software products require more of software engineers than just good coding. Great software products are built by engineers with great design skills, so CppCon also presents sessions focused on designing software components of high quality.
 
To advance this objective, CppCon now features a dedicated Software Design Track. This track will address the art of managing the interactions between software entities, of reducing coupling and of creating good and meaningful abstractions. It will focus on maintainable code and on how to design for changeability, scalability, extensibility, and testability.
 
Klaus IglbergerIf you have something to share about software design and want to contribute your experience to the entire C++ community, please consider submitting a talk. Possible topics include design techniques for all paradigms and both static and dynamic polymorphism, design and architectural patterns, good and bad experiences from real world projects (i.e. war stories), and even advice on how to manage big projects via proper software organization. The call for submission is open till July 19th.
Please contact the Software Design Track Chairs, Klaus Iglberger and Mike Shah, if you have any questions or suggestions.

Opening Keynote: Bjarne Stroustrup, live in person

As already announced, CppCon 2021 this October will be the full normal in-person conference now that many of us can meet safely, and are just bursting with anticipation to see each other again in person… and also a coordinated online conference for those who aren’t yet ready to engage in person or for whom travel is difficult. The Call for Submissions is open for both in-person and online sessions, and we are planning to make much of the in-person and online content available in near-real-time to online attendees… including the in-person keynotes, which brings us to the opening talk of the conference…

Meeting in personCppCon 2021 will kick off on Monday, October 25 with Bjarne Stroustrup delivering the opening keynote live in person in Aurora, Colorado, USA. This is Stroustrup’s first in-person talk in North America since C++20 was completed, just before the pandemic lockdowns began. His talk connects C++’s roots with all the things that make C++20 a historic milestone – it’s not only the biggest release of C++ in a decade, but also the first edition of Standard C++ ever that is “D&E-complete,”containing all of the features (except only unified function call syntax) that Stroustrup described a quarter-century ago in The Design and Evolution of C++ as his goals for C++’s future development, including concepts, coroutines, and modules which in 2021 are for the first time now available as actual realities in production C++ compilers.

CppCon 2021 is proud to be the forum for Dr. Stroustrup’s landmark talk, which he describes as follows:

C++20: Reaching for the Aims of C++

Out of necessity C++ has been an evolving language. I outline some early ideals for C++, some techniques for keeping the evolution directed, and show how C++20 comes close to many of those ideals. Specific topics include type-and-resource safe code, generic programming, modularity, and the elimination of the preprocessor. Naturally, over the years, C++ has acquired many “barnacles” that can become obstacles to developing elegant and efficient code. That has been a recognized problem since the early days of C – Dennis Ritchie and I talked about it – so we must distinguish between what can be done and what should be done. The C++ Core Guidelines is the current best effort in that direction. The talk will start with a sequence of early design aim statements, and then match them directly to working C++20 examples and the Core Guidelines.

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

Registration is now open for both online and in-person attendees. In-person attendees will require proof of being fully vaccinated, with the goal of further opening registration as we learn more about what will be safe in October.