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 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.

Going Online

CppCon 2020 will be following the lead of other C++ events, such as C++ on Sea, and will be held entirely online.

Bjarne Stroustrup

The organizers feel that a “online” conference in 2020 is the best way for us to provide the community with content consistent with the quality standard that we’ve set for the past six years.

Many details are still being determined, but we do know that the conference will be a multi-track conference filled with sessions from C++ experts like those from previous years. In addition to the dedicated Back to Basics Track, we are introducing a dedicated Embedded Track.

We’ll be using online conferencing software that helps us capture the “hallway-track” experience that has made attending CppCon one of the most anticipated C++ events of the year. Attendees will be able to meet and chat with other attendees, speakers, and exhibitors.

The sessions will be during the scheduled days of the conference (September 14 – 18) from 09:00 to 15:00 Aurora time (08:00 – 14:00 West Coast | 11:00 – 17:00 East Coast | 16:00 – 22:00 CET). Sessions will feature live Q&A from attendees.

Conference registration is available now with an early bird rate of $200 until August 5th.

Dates and times of the pre-/post-conference classes are still being coordinated with class instructors and we’ll update the website with this information as soon as we can.

We’ll update the website with details as they are determined, but if you have specific questions, they can be addressed to info@cppcon.org.

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

CppCon 2020 Call for Submissions

CppCon is the annual, week-long face-to-face gathering for the entire C++ community. The conference is organized by the C++ community for the community and so we invite you to present. The conference regular program consists of five days of sixty minute sessions.

Given the current situation regarding COVID-19, we feel it is best to be totally transparent with our planning process. We are closely monitoring the news regarding restrictions on travel and large gatherings. It takes about 9-12 months of planning for each conference and given that we do not know the situation in September, we are moving forward with the hope that it will be safe to see you all in Aurora.

Have you learned something interesting about C++, maybe a new technique possible in C++14/17/20? Or perhaps you have implemented something cool related to C++, maybe a new C++ library? If so, consider sharing it with other C++ enthusiasts by giving a regular program talk at CppCon 2020.

The submissions deadline is June 5th with decisions sent by July 27th.

We’ve made a format change to better serve the needs of our community. In addition to the dedicated track that we introduced last year (the Back to Basics Track), we’ve created another dedicated track (the Embedded Track).

For topic ideas, possible formats, submission instructions and valuable advice on how to make the best possible submission, see the Submissions page.

Note: Calls for Lightning Talks and Open Content sessions will be made this summer. The deadline for these is the conference itself.