Thanks / 2018 Dates / 2017 Trip Reports

Save the date for the week of September 23th next year in Bellevue, Washington. Building on the success of this year’s pre and post-conference classes, we will be offering classes on September 22nd-23rd and 29th-30th. The CppCon 2018 Registration Reception will be on the 23rd and sessions will be the 24th though the 28th.

In the meantime, look for slides and source code for your favorite CppCon 2017 sessions at our presentation material repository.

You can find the posters that were entered in the CppCon 2017 Poster Competition in the poster repository.

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

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

A Beginner’s Guide to CPPCon 2017 by Eva Bunny Conti

CppCon 2017 Trip Report by Charles L. Wilcox

CppCon 2017 Trip Report by Ben Deane

CppCon 2017 by Oliver Smith

CppCon 2017 Trip Report by Matt Godbolt

CppCon 2017 trip report by Viktor Kirilov

CppCon 2017 Trip Report by Isabella Muerte

My CppCon 2017 Trip Report – 10 great talks to watch and learn from by Quentin Duval

A CppCon 2017 trip report by Jens Weller

CppCon 2017 For Fun and Profit by Tim van Deurzen

Trip report: the JetBrains C++ team at CppCon 2017 by Anastasia Kazakova

Trip Report: CppCon 2017 by Chloe Jandsten

CppCon 2017 trip report by Mathieu Ropert

CppCon’17 Trip Report by Pan Deng

And day-by-day dispatches from Sergey ‘No Bugs’ Hare Ignatchenko:

#CPPCON2017 Day 0: IMO best posters

#CPPCON2017. Day 1. Hope to get something-better-than-chevron-hell

#CPPCON2017. Day 2. Why Local Allocators are a Good Thing(tm) Performance-Wise, and Why I am Very Cautious about C++17 STL parallelized algos

#CPPCON2017. Day 3. The Future of C++

#CPPCON2017. Day 4. Async Rulezzz!

If you know of any trip reports I’ve missed, please let me know.

look forward to seeing you in Bellevue next September.

Plenary Announced: Matt Godbolt

Matt Godbolt‘s closing plenary is entitled, What Has My Compiler Done for Me Lately? Unbolting the Compiler’s Lid The abstract gives a history of the project that has made Godbolt a verb:

Matt GodboltIn 2012, Matt and a colleague were arguing whether it was efficient to use the then-new-fangled range for. During the discussion a bash script was written to quickly compile C++ source and dump the assembly. Five years later and that script has grown into a website relied on by many to quickly see the code their compiler emits, to compare different compilers’ code generation and behaviour, to quickly prototype and share code, and investigate the effect of optimization flags.

In this talk Matt will not only show you how easy (and fun!) it is to understand the assembly code generated by your compiler, but also how important it can be. He’ll explain how he uses Compiler Explorer in his day job programming low-latency trading systems, and show some real-world examples. He’ll demystify assembly code and give you the tools to understand and appreciate how hard your compiler works for you.

He’ll also talk a little about how Compiler Explorer works behind the scenes, how it is maintained and deployed, and  share some stories about how it has changed over the years. By the end of this session you’ll be itching to take your favourite code snippets and start exploring what your compiler does with them.

If you’d like to thank Matt in person for Compiler Explorer, there is still time to register (but not much).

Plenary Announced: Lars Knoll

Lars Knoll

Lars Knoll‘s plenary is entitled, Qt as a C++ Framework: History, Present State and Future.

This address is a good overview for those that are new to Qt and offers a look into the future for those that are using Qt now. From the abstract:

Qt is one of the largest and most widely used C++ frameworks. It is fully cross-platform, covering all functionality required to develop advanced graphical applications. The talk will go through important parts of Qt’s history from it’s roots to what it is today. We will have a look into the relation between Qt and C++, some of the design philosophies driving the evolution of Qt. I’ll go through the current state of the frameworks, latest releases, ongoing development focus, and give an outlook into the future.

This is a valuable opportunity to get an insider’s understanding of one of the most successful frameworks in C++.

Plenary Announced: Herb Sutter

Herb SutterHerb Sutter‘s plenary is entitled, Meta: Thoughts on generative C++. As he tells us:

Two years ago, I started to focus on exploring ways that we might evolve the C++ language itself to make C++ programming both more powerful and simpler. The only way to accomplish both of those goals at the same time is by adding abstractions that let programmers directly express their intent—to elevate comments and documentation to testable code, and elevate coding patterns and idioms into compiler-checkable declarations. The work came up with several potential candidate features where judiciously adding some power to the language could simplify code dramatically, while staying true to C++’s core values of efficient abstraction, closeness to hardware, and the zero-overhead principle. 

The first two potential candidate features from that work to be further developed and proposed for ISO C++ are the <=> unified comparison operator (minor) and what I’ve provisionally called “metaclasses” as a way to generatively write C++ types (major). This talk is about the latter, and includes design motivation, current progress, and some live online compiler demos using the prototype Clang-based compiler built by Andrew Sutton and hosted at godbolt.org.

This presentation is an expansion of the Thoughts on Metaclasses session, presented at ACCU this past April. Due to the overwhelming positive response the presentation generated, Herb will expand the scope and focus on the implications of Metaclasses that it will bring to future progress of the C++ language. The concept is a groundbreaking change in C++ development and is a session not to be missed.

Calls for Lightning Talks and Open Content

Almost here

Less than 30 days out from CppCon 2017, regular session and poster submissions are closed, both of the field trip tours are sold out, and most of our official hotel blocks are either closed or sold out.

But, even now, there are still conference opportunities. There is still over two weeks left of regular registration, we are still accepting class registrations, we have rooms available in some of our official hotel blocks, and it isn’t too late to attend sessions for free by signing up as a volunteer.

To day we are also opening up two ways to present at the conference.

Call for Lightning Talks

Lightning talks are fast paced, short presentations often sprinkled with humor and intrigue. The popular 5-minute talks present topics that are interesting to C++ programmers. This opportunity is open to speakers at all experience levels.

Check out some of our previous lightning talks on our YouTube channel. They cover a single topic, start with the good stuff, and end making a point. Anyone can do one, but be sure to practice because 5 minutes goes by incredibly fast. Here is your opportunity to share that one technique you wish everyone knew, that one little known fact that should be well known, that one tool that makes your life easier every day, or a collection of little things that you can fit into 5 minutes.

Anyone can submit a lightning talk, you don’t need to be a conference speaker (or even a registered attendee). To submit, visit our Lightning Talks Submissions page.

Call for Open Content

As we do every year, we offer Open Content session in the early morning, over lunch, and in the evening.

Audience8

Open Content is just that, open! Attendees and regular program speakers alike can propose sessions on anything that interests them. These might feature a single facilitator leading a room through an exercise, activity or demo, a panel of 3-5 people taking questions from the room, a “hackathon” on a specific project, or an open conversation among the whole room. The projector is available for slides or public note taking.

Open Content is designed for flexibility so that a “Birds of a Feather” talk may be proposed even after the conference has begun. A speaker who gets a lot of post-talk questions may agree to host a Q&A session in the Open Content time. An attendee inspired by a session may host a session to explore a topic further or start on a group implementation of something.

Anyone can submit an open content session, you don’t need to be a conference speaker (or even a registered attendee). To submit, visit our Open Content Submissions page.

These sessions will be open in another way too – Open Content does not require conference registration. That’s right, everyone who is in the area is welcome to come and join us for all the early morning/lunch/evening sessions, including proposing or leading a session. This is part of our goal to be an inclusive conference for the entire C++ community.

Free Friday

All CppCon 2017 events on Friday, September 29th, do not require conference registration. That’s right, just like all our evening sessions, all Friday sessions are open to the public without a conference registration. This includes an address by one of our most highly anticipated plenary speakers, Matt Godbolt, and the Sara Chipps lecture and workshop.

Plenary Announced: Titus Winters

We are pleased to announce our remaining plenary speaker for CppCon 2017: Titus Winters.

Titus WintersTitus leads Google’s C++ common libraries project and is one of four arbiters of Google’s official C++ style guidelines. For the last 6 years, Titus has been organizing, maintaining, and evolving the foundational components of Google’s C++ codebase using modern automation and tooling. Titus also designed much of Google’s internal C++ training curriculum, and reinvented Google’s C++ mentorship program. Prior to tackling these large scale C++ challenges, Titus worked on networking APIs in embedded systems.

As a member of the C++ standards committee, Titus focuses his efforts on the evolution of the standard library and is the incoming chair of the Library Evolution Working Group. In addition, Titus is an active speaker in the broader C++ industry and community, advocating for more scalable and maintainable coding guidelines and practices.

He has also been known to have deep thoughts about the card game Hanabi and the proper preparation of classic cocktails, although sometimes these run at cross purposes.

Titus’ presentation, C++ as a “Live at Head” Language,  will start with an exciting announcement; we’re keeping the details to ourselves until CppCon 2017.

Welcoming Everyone

CppCon has always valued diversity and tried to make everyone feel welcome. To that end, we’ve decided to strengthen the wording of our Code of Conduct, to make sure that everyone knows that they will be actively supported and welcome. To leverage the best practices and experience of others, we’ve adopted the current PyCon code of conduct as-is, modulo editorial diffs to rename it for CppCon. Thanks very much to the PyCon organizers for open-sourcing and sharing their work!

Happily, as far as we know there haven’t been any incidents at CppCon so far, and we’d like to do what we can to keep it that way and make everyone feel as welcome as possible. That especially includes kids – this year we are looking forward very much to the talk by Sara J. Chipps on her success inspiring about 4,000 kids aged 8-12 to learn to write C++, and to the related Jewelbots Build Workshop “for kids and grownups” at CppCon 2017! We want there to continue to be inclusive sessions and events like this at CppCon in the future, and we welcome your suggestions for ones we could include in our planning; if you have suggestions, please send email to plan@cppcon.org.

Fun and Fashion: Kids Learning about C++

Sara J. ChippsSara J. Chipps shipped a product last November that has already inspired about 4000 kids (aged 8-12) to learn to write C++. Want to know more? So do we, so we’ve invited her to present and give a workshop on Jewelbots at CppCon.

Her talk is Building for the Best of Us: Design and Development with Kids in Mind:

Building an API easy enough for kids to understand (in C++) is a challenge. Every design decision, from the circuit board to the plastic can effect the results. We’ll talk about product design, manufacturing, firmware, software, and Arduino AP as we cover the Jewelbots timeline from Kickstarter to shipping to distribution. Additionally, hear from the two girls who are the top Jewelbots from the Bellevue area! You’ll learn what they have built and how they view the future of C++.

Following her talk, Sara will host a Jewelbots Build Workshop for kids and grownups. This workshop is open to anyone to come and watch (even if you aren’t registered for the conference), but if you want to reserve a Jewelbot to work on during the workshop (and who wouldn’t?), you’ll need to reserve it here: https://cppcon2017.eventbrite.com/

Young women with Jewelbots

CppCon 2017 Program Available

Bjarne StroustrupThe program for CppCon 2017 is now live!

We’ll have over 100 regular sessions delivered by the best C++ presenters in the industry, many returning from previous years as well as some exciting new voices. We’ll have six or seven concurrent tracks full of sessions containing C++ best practices and what you need to know about C++17. In addition, we’ll have panels, lightning talks, workshops, and some awesome headline speakers.

Speaking of headliners, it’s our pleasure to announce that Bjarne Stroustrup, the creator of C++ and Texas A&M University Distinguished Professor, will be returning this September to give the opening keynote, Learning and Teaching Modern C++:

We – attendees at CppCon – are all teachers. Some teach for a living; many occasionally teach a course or give a lecture; essentially all give advice about how to learn C++ or how to use C++. The communities we address are incredibly diverse.

What do we teach, and why? Who do we teach, and how? What is “modern C++”? How do we avoid pushing our own mistakes onto innocent learners?

Teaching C++ implies a view of what C++ is; there is no value-neutral teaching. What teaching tools and support do we need? Consider libraries, compiler support, and tools for learners.

Most of the program is published, but we are still working a few surprises, so keep checking back.

We’d like to thank the Program Committee, our speakers, and the many professionals who proposed talks which we, unfortunately, just couldn’t squeeze in this year. Thank you for your hard work and enthusiastic support for this year’s program!

2017 is going to be a great year for C++! Register here to join us.