Instructor Interview: Mateusz Pusz / C++ Concepts

In this week’s instructor interview, Kevin Carpenter welcomes Mat Pusz for a discussion of his CppCon Academy class, C++ Concepts: Constraining C++ Templates in C++20 and Before. Mat quickly demonstrates the power and importance of constraining types when calling functions. His class will cover how to do this with the new concepts feature in C++20 and also how to do it if you are not yet using C++20.

In addition to his class, Mat is also going to be presenting A Physical Units Library For C++ during the Main Program. He will be discussing his library and the progress that the Standards committee has made toward including it in an upcoming standard.

Mat and Kevin also discuss the challenges and opportunities of online training. Mat discusses some of the techniques he has developed and the hardware and software tools that he uses.

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

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

Call for Volunteers

If you would like to a part of making CppCon an event, please join us as a volunteer.

Being entirely online this year, means the volunteer duties will be very different than previous years, but the mission to produce an event that runs smoothly for all attendees is that same.

Delivering all of our content online this year will require more training of volunteers to understand the content delivery technologies that we’ll be using.

If you want more information about volunteering, contact us at volunteers@cppcon.org.

The main volunteer detail will be between 0800 to 1500 Aurora, Colorado (Mountain) time. If you can volunteer all week, this would be excellent, yet if you only have limited time, we welcome you as well.

If you want to join a great team and be a part of history making in the C++ community, please complete the CppCon 2020 Volunteer Application Form. There will be other steps after completion, yet will contact you to assist you with setup for the conference.

Thank you

Brett Searles
Matthew Butler

Please note that registration to be a volunteer will be ending the August 31st so that there will be enough time to adequately train all volunteers.

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!