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.

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.

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.

Announcing 2016 Dates

Save the date for the week of September 18th next year. Building on the success of “Modernizer Your C++,” this year’s pre-conference class, we will be offering several two-day classes on September 17th and 18th. Registration and reception will be on the 18th and sessions will be the 19th though the 23rd.

Pre-Conference Class Registration Reception Sessions

CppCon 2014 Attendee Video

If you are thinking about attending CppCon 2015, but you are still on the fence because you didn’t attend last year’s conference here are some tips to help you decide.

  • You can check out the program from last year to see what kind of sessions we’ll likely have this year.
  • You can check out last year’s speakers to see the type of speakers who you likely get to meet this year.
  • You can watch last year’s sessions on YouTube or Channel 9.
  • You can watch this video with comments from some of last year’s attendees.