CppCon 2020 Keynote: C++20 by Marc Gregoire

Keynote Speaker: Marc Gregoire

Marc Gregoire is a C++ blogger and author of Professional C++ and co-author of C++ Standard Library Quick Reference. He is a software architect at Nikon Metrology with experience developing C++ programs running 24/7 on Windows and Linux and is the founder of the Belgian C++ Users Group.

The title of Marc’s talk is C++20: An (Almost) Complete Overview. C++20 is going be discussed quite a bit at this year’s conference and in addition to providing an overview of the new language/library changes, Marc will guide you to other CppCon talks on C++20.

If you want a complete overview of all C++20 features, including references to other more deep-dive sessions at CppCon 2020 on certain topics, then this session is for you.

Marc’s talk will give you the confidence and familiarity you need to embrace the latest version of C++.

From his talk’s description:

This presentation gives an overview of (almost) all new features in both the language and the Standard Library. Some more exotic features will be left out. New language features include

  • modules,
  • coroutines,
  • concepts,
  • templated lambdas,
  • constexpr changes,
  • designated initializers,
  • the spaceship operator,
  • string literals as template parameters,
  • feature test macros,
  • conditional explicit,
  • immediate functions,
  • and more.

Instructor Interview: Phil Nash / Accelerated Test Driven Design

In this week’s instructor interview, Kevin Carpenter welcomes Phil Nash for a discussion of his CppCon Academy class, Accelerated TDD: For More Productive C++ . Phil shares the origin story of Catch, the popular testing framework that he authored to support better testing in C++. Kevin has taken a previous CppCon Academy class on testing with Phil. Phil explains that he focuses less on what TDD is (which can be explained in five minutes using one slide) and more on how to apply and get the benefits of TDD in real-world code bases.

Phil also chairs the C++ on Sea conference, which was held earlier this year as an online event using Remo (the same platform that CppCon 2020 will use). He discusses the challenges of an online event and the rationale behind use of Remo for C++ on Sea.  As Phil is co-chair of this year’s CppCon we will benefit from his prior experience organizing a conference on Remo.

Kevin and Phil also discuss the two Main Program sessions that Phil will be giving this year. One is a must-see for anyone that isn’t taking the TDD class and the other is on C++ paradigms.

Watch this space for more interviews with Kevin and CppCon presenters.

CppCon Selects Remo

CppCon is announcing the platform that it has selected for the CppCon 2020 online conference and why it matters.

The question has been asked Why would anyone pay to attend an online conference when the session videos will be made freely available on YouTube?

The answer to this is the same as the answer to the question Why would anyone pay to attend an onsite conference when the session videos will be made freely available on YouTube?

Between the session proposal submitters and the Program Committee reviewers there are literally hundreds of people that work to bring you the best possible program of C++ content every year at CppCon. We think it is the best program available on C++. But we know that it is not the most important aspect of the CppCon experience. We know that the reason that people take the time and money to attend the conference is because it is an unparalleled opportunity to be part of the best gathering of C++ minds of the year.

The best aspect of CppCon is the, so called, hallway track. The conversations that attendees have with presenters and other attendees is what people remember and the reason they return.

While evaluating options for the CppCon 2020 online conference platform, the top-most concern of the organizers was, What platform best supports attendee engagement with other attendees?

With that thought in mind, the organizers selected Remo.

We feel that the Remo platform best serves our goal of delivering the best possible C++ program while also optimizing for attendee engagement.

Of course we aren’t just relying on the platform, the organizers have developed new events that exploit the benefits of an online conference and have found ways to develop and enhance the sense of community that comes from attendee engagement. Attendees will have many opportunities to engage with presenters and other attendees in casual, unrecorded,  ask-me-anything sessions.

This year’s event offers an unprecedented opportunity to be a part of this community. Without the time and cost of travel and lodging and with an easy-to-expense registration fee, this is certainly the least expensive and most convenient CppCon ever. Engage with the best minds in C++ from the comfort of your own home.

Don’t miss your chance to join us for what promises to be an online adventure with the C++ community.

Instructor Interview: Klaus Iglberger / Modern C++ Design Patterns

In this week’s instructor interview, Kevin Carpenter welcomes Klaus Iglberger for a discussion of his CppCon Academy class, Modern C++ Design Patterns. Kevin took this class with Klaus last year and they discuss how Klaus has adapted it for online instruction. Klaus also outlines the additions and improvement to last year’s presentation. Kevin shares how his codebase has incorporated the Design Patterns that are covered in the class.

Klaus also discussions the three Main Program sessions that he’ll be giving this year. One is a Back to Basics talk on exceptions, one is on the basics of calling functions, and the other is on the SOLID principles.

Watch this space for more interviews with Kevin and CppCon presenters.

CppCon 2020 Embedded Track

Every year, CppCon offers C++ programmers a chance to exchange ideas with the rest of the C++ community. With the growing interest in autonomous vehicles, wearable devices, and IoT, embedded systems programming makes up an ever larger part of the community. In 2020, CppCon will expand on its past coverage of embedded topics by offering its first official Embedded Track.

Michael WongWe hope that the Embedded Track will foster better communication among the many niches of the C++ community. For desktop programmers, these sessions are a chance to broaden your skill set and learn how developing for embedded systems is different. For embedded programmers, these sessions offer valuable techniques and new perspectives to help you use C++ to its fullest.

Like the Back to Basics Track, the Embedded Track is part of the main conference program. Registering for the conference gives you access to all of the week’s sessions, including the Embedded Track. Like the other sessions in CppCon’s main program, the Embedded Track will be recorded, captioned, and uploaded to YouTube in the months following the conference.

This year’s Embedded Track will feature:

Ben Saks: “Customizing Dynamic Memory Management in C++”

Dan Saks: “Memory-Mapped Devices as Objects”

Inbal LeviInbal Levi: “Exceptions Under the Spotlight”

Ilya Burylov and Michael Wong: “The Future of C++ Parallel and Concurrency Safety Guidelines”

Matthew Butler: “Modern C++ Safety & Security at 20”

Michael Wong: “Modern Software Needs Embedded Modern C++ Programming”

Misha Shalem: “Practical Memory Pool Based Allocators For Modern C++”

Steve Dewhurst: “Class Layout”

 

Register here, and we look forward to seeing you at CppCon 2020!

Ben Saks

Chair, Embedded Track

CppCon 2020 Back to Basics Track

In 2020, as in 2019, CppCon will have a Back to Basics Track. This track’s mission is to cover all the essentials of modern C++. Each session in the track is about a single concrete topic, often expressible in just one or two words: Templates. Exception-safety. Move semantics. Our goal is to fit these sessions together like jigsaw pieces to produce a track that covers “everything you need to know” to be a working programmer in today’s C++ community.

Each session aims to present time-tested guidelines that are aligned with mainstream C++ and broadly useful across many industries. This accounts for the lack of any Back to Basics sessions on Concepts, Coroutines, or Modules — all big topics in the zeitgeist this year, but also topics where best practices are still hazy and implementations are still immature. Attendees seeking information on cutting-edge features of C++20 will find plenty of what they seek in CppCon 2020’s main conference program.

Each session in the track is presented by an expert instructor. We aim to get presenters who are not only experts on the technical material, but also experts at presentation and instruction. I think we’ve succeeded — and I hope that after looking at the names below, you’ll agree!

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. Finally, the B2B track will be recorded and captioned and put up on YouTube with the rest of the main program.

Here’s a sneak peek at this year’s Back to Basics lineup. The precise order of these sessions hasn’t been determined as of this post; we may shuffle them up a bit. We’ve also reserved space on Friday for a “closing track keynote” which has yet to be announced.

Monday, 2020-09-14

Bob Steagall: “The Abstract Machine.”

Bob Steagall: “The Structure of a Program.”

Steve Dewhurst: “Class Layout.”

Tuesday, 2020-09-15

Ben Saks: “Pointers and Memory.”

Andreas Fertig: “Templates, Part 1.”

Andreas Fertig: “Templates, Part 2.”

Wednesday, 2020-09-16

Barbara Geller and Ansel Sermersheim: “Lambda Expressions.”

Ben Saks: “Unit Tests.”

Arthur O’Dwyer: “Algebraic Data Types.”

Thursday, 2020-09-17

Rainer Grimm: “Smart Pointers.”

Mike Shah: “Design Patterns.”

David Olsen: “Move Semantics.”

Friday, 2020-09-18

Klaus Iglberger: “Exception-Safety.”

Arthur O’Dwyer: “Concurrency and Thread-Safety.”

 

For last year’s Back to Basics lineup, with links to all the videos, see “Back to Basics at CppCon 2019.”

We hope to see you at this year’s Back to Basics Track! Register here.

Arthur O’Dwyer

Chair, Back to Basics Track

CppCon 2020 Keynote: Empirically Measuring, and Reducing, C++’s Accidental Complexity by Herb Sutter

Tomorrow (August 5th) is the last day of Early Bird Online registration.

Keynote Speaker: Herb Sutter

Herb Sutter plenaryHerb Sutter is author of several popular C++ books and the chair of the ISO C++ committee. He is a Software Architect for Microsoft.

This talk will be the seventh in Herb’s series on Simplifying C++ and it explores the possibility of acquiring more quantifiable data that we could analyze to measure sources of C++ language complexity.

From his talk’s description:

This talk reports work to systematically catalog and measure C++’s unneeded complexity, how some current evolution proposals may address its major sources, and presents specific suggestions on what we might be able to do about it in the context of a future-evolution proposal to simplify parameter passing and provide meaningful initialization guarantees in C++.

CppCon Academy 2020

CppCon Academy, the classes that we host before and after the main conference days, has successfully recruited from among the top C++ instructors in the world.

Because these are the best instructors, because this year’s classes are online, and because attendees can enroll in classes without attending the conference, CppCon Academy 2020 is an unparalleled learning opportunity for C++ programmers all over the world.

We’re pleased to announce the CppCon Academy 2020 schedule. As always, we’re offering a wide variety of classes, with topics ranging from concurrency, to language features, to design, and to software quality.

In-person classes that traditionally would require one day onsite will be conducted over two shorter days online; likewise, two-day onsite classes will now take place over three days online.

Registration is open now, so check it out. We look forward to seeing you in class!

CppCon 2020 Keynote: The Beauty and Power of “Primitive” C++ by Bjarne Stroustrup

Don’t miss out on Early Bird Online registration. Only a week remains before the deadline.

Keynote Speaker: Bjarne Stroustrup

Bjarne Stroustrup is the designer and original implementer of C++ and the author of several classic books on C++. Dr. Stroustrup is a Technical Fellow and a Managing Director in the technology division of Morgan Stanley in New York City and a Visiting Professor in Computer Science at Columbia University.

Conference speakers tend to focus on novel, clever, and advanced features of C++. In contrast, in his keynote, The Beauty and Power of “Primitive” C++, Bjarne will look at addressing relatively simple problems in relatively simple ways under severe constraints of performance, ease of use, and reliability

From his talk’s description:

This is an exploration of a design space close to the hardware and of the use of C++ in that space, rather than a standards proposal or the presentation of a mature tool chain. And, no, by “primitive”, I don’t mean “old-fashioned, C-like” code; some of the general techniques are old, but some of the code requires C++17 and much could be done better given features we are unlikely to get even in C++23.

Registration for CppCon 2020 is Open

2020 has a been a challenging year for all of us. As C++ programmers with in-demand skills and, for most of us, the ability to work from home, we are better off than many, but it hasn’t been easy for any of us.

Most of us value the experience of having casual conversations with smart, knowledgeable C++ programmers, particularly when a new version of Standard C++ is out. In a year in which these opportunities have been severely reduced by a combination of working at home and the cancellation of in-person events such as conferences and user group meetings, we appreciate the in-person experience all the more. CppCon, one of the best C++ in-person experiences of the year, is needed this year more than ever and we are excited to be bringing it to you.

Vanderbilt University Medical CenterOf course, we can only do this if it is safe to do so. We are monitoring the situation closely and will hold the event only if it is safe to do so and only in a manner that is safe. We are working very closely with our venue, the Gaylord Rockies, in planning the event. They have selected Vanderbilt University Medical Center as their Wellness Advisor and have published their Health and Safety Cleanliness Standards.

We still have a lot of details to work out, but we know that this year’s conference will be very different than a “normal” CppCon. We’ll still have the most important aspects, a lot of great content (including a new Embedded Track joining our Back to Basic Track), great classes, and opportunities for you to meet and engage with some of the most knowledgable and articulate developers in the C++ world. We are planning on having much more personal space during and between sessions. Although there will be plenty of opportunities for engaging with other attendees, these will be in informal small-group settings. Large social events, such as the Meet the Speakers Banquet, that we’ve had in previous conferences will, no doubt, return in future years.

Because we must cap our attendance (we don’t yet have an exact number, we are still working that out), we are looking at the possibility, for the first time with CppCon, of selling out the conference. If you’d like to attend, register as soon as possible. You may be concerned about registering and then discovering that you can’t attend. This is understandable, so we are offering a no-questions-asked, complete refund until thirty days before the conference, August 14th. (At that point, we need to make certain financial commitments to our vendors, but if you need to cancel after that, we’ll apply your 2020 fee to provide a free registration for CppCon 2021.)

CppCon 2020 will be an exciting and memorable event in a difficult year, but I’m looking forward to what we are planning and hope that you are as well. I understand that many CppCon regulars will not be able to attend, but if can join us, please register to hold your spot and plan to take part in great discussions about best practices, new ideas and techniques, and C++20.

Jon Kalb
Conference Chair