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.

Milestone | New Home | Trip Reports

A milestone

CppCon 2019 was the first year in our new home at the Gaylord Rockies in Aurora, Colorado.

Long before I’d ever done it, I told people that I thought that moving a conference is almost as much work as starting one from scratch. Now that I have moved a conference, I’ve learned that started a conference from scratch is actually easier than moving that conference after it has been growing in one location for five years.

We asked a lot of the team of volunteers and professionals that make up our staff and the Aqua Army to make this move possible and our team came through in a big way.

As we expected there were first-year-at-a-new-location issues, but also as we expected, attendees were delighted by the new venue and I think we are all excited by the possibilities that we see for our conferences in coming years.

A new home

The first of the these conferences will be CppCon 2020 at the Gaylord Rockies during the week of September 13th, 2020.

Building on the success of this year’s pre and post-conference classes, we will be offering classes on September 12th-13th and 19th-20th. The CppCon 2020 Registration Reception will be on the evening of the 13th and sessions will be the 14th though the 18th.

One feature that met with great approval was the opportunity to have the hotel and conference center under one roof. But we did underestimate the demand for rooms in the GR (as we call it).

As we look forward to next year, we’ve requested more rooms, but we’ve already been told that we won’t be able to get all that we’d like. Other groups that will be at the GR during out dates have also asked for more rooms.

We are committed to finding suitable overflow venues and transportation for all of next year’s attendees, but if you are interested in enjoying the “under one roof” feature of staying at the GR, then you’ll need to reserve your rooms early.

Content

In the meantime, look for slides and source code for your favorite CppCon 2019 sessions at our presentation material repository. That is were you’ll also find the posters that were entered in the CppCon 2019 Poster Competition.

You can also watch CppCon 2019 session videos on YouTube. Some of them are already available on the CppCon YouTube channel in the CppCon 2019 playlist.

Thanks and trip reports

I want to say thanks very much to all the hundreds of people that made CppCon 2019 possible and, in particular, I want to thank those that have published trip reports:

CppCon 2019 Trip Report by Leslie Lai

CppCon 2019 Trip Report by Matt Godbolt

Cppcon 2019 Trip Report by Geoffrey Viola

CppCon 2019 Trip Report and Slides by Anthony Williams

CppCon 2019 trip report by Stephan Dollberg

CPPCON 2019 Trip Report by Jan Wilmans

À propos de cppcon 2019 by Patrice Roy (in French)

NDC TechTown and CppCon trip report by Martin Hořeňovský

CppCon 2019 Trip Report by Alan Shen

 

Podcasts:

CppCast: Provable Functions at CppCon 2019 by Jason Turner and Rob Irving (w/ Lisa Lippincott)

CppCast: Visual C++ Announcements at CppCon 2019 by Jason Turner and Rob Irving (w/ Marian Luparu, Stephan T Lavavej, and Sy Brand)

Take Up Code #257: CppCon: Interview With Sean Hale About Becoming A Software Developer Without A Degree In Computer Science by Wahid Tanner

Take Up Code #258: CppCon: Interview With Nicolai Josuttis About How The C++ Standardization Has Changed Over The Years by Wahid Tanner

Take Up Code #259: CppCon: Interview With Asad Naweed About Augmented Reality by Wahid Tanner

Take Up Code #260: CppCon: Interview With Josh Lospinoso About The Book C++ Crash Course by Wahid Tanner

Take Up Code #261: CppCon: Interview With Conor Hoekstra About C++ Algorithms And Ranges by Wahid Tanner

If you know of any trip reports I’ve missed, please let me know. I plan to update this post with new trip reports as I learn about about them.

look forward to seeing you in Aurora next September.

Tool Time 2019

Tool Time is Back!

Similar to tech labs at some other events, we’re offering the opportunity for anyone, from an author/creator, to a vendor, to a super-user, to represent a tool (app, library, framework, or service) and run their own table answering questions or showing demos.

This is an opportunity to both share and learn about the tools that make professional C++ development possible. We’ll have a ninety-minute session on Tuesday evening that is open to anyone that wants to talk tools.

Participation is free and we are currently accepting applications for tables.

See the Tool Time page for more details and to make your submission.