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

Call for Author Participation

Book SIgningCppCon represents an unparalleled opportunity for C++ authors to engage with potential reviewers and readers.

For authors that are able to attend in person, the conference will schedule signing opportunities and panels with other authors. Authors can submit session proposals for the Main Program and/or Open Content sessions.

Book SigningEven for authors that cannot attend in person, the conference is an opportunity for exposure by working with authors to have their hard copy books available for sale at the conference and/or having special attendee discounts for ebook editions.

To register your interest in learning more about author opportunities at CppCon, please fill out the CppCon 2020 Call for Authors form.

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.