CPPCon 2017—Oliver Smith

From another first-time attendee.

CPPCon 2017

by Oliver Smith

From the article:

I love and hate conventions, so I don’t go to them all that often.

Although I’ve watched CPPCon videos, I hadn’t considered something you attended until this year; I wasn’t really convinced it would be worth going.

The agenda for the first few days proposed some very interesting stuff, and I decided to dip my toe...

CppCon 2017 Trip Report—Ben Deane

The title says it all.

CppCon 2017 Trip Report

by Ben Deane

From the article:

Last week in Bellevue, WA, around 1100 C++ programmers got together for CppCon. I love this conference – it’s a chance to meet up with my existing C++ community friends and make new ones, to learn new techniques and explore parts of C++, and to get excited about where C++ is headed in the next 5 years. Just about everything in C++ is represented, from low-level optimization techniques to functional template metaprogramming...

CppCon 2017 Trip Report—Charles L. Wilcox

The title says it all.

CppCon 2017 Trip Report

by Charles L. Wilcox

From the article:

Another CppCon draws to a close, and the future looks healthy and exciting.  Also, I finally gave a Lightning Talk.

Overall, the conference experience this year was very smooth, compared to my last two times here, despite the conference growth.  There were over 1100 attendees, up from about 900 last year.  There were sometimes 7 concurrent tracks, which is larger than years past.  Again, with most every time-slot I suffer from the paradox of choice, and if I chose a less than stellar talk, I regret what I’m potentially missing elsewhere.

CppCon 2017: Qt as a C++ Framework: History, Present State and Future—Lars Knoll

New video!

Qt as a C++ Framework: History, Present State and Future

by Lars Knoll

From the article:

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.

CppCon 2017: Meta: Thoughts on generative C++—Herb Sutter

You should see it!

Meta: Thoughts on generative C++

by Herb Sutter

From the article:

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

CppCon 2017: C++ as a “Live at Head” Language—Titus Winters

New video of Cppcon!

C++ as a "Live at Head" Language

by Titus Winters

From the article:

Engineering is programming integrated over time. That is to say, as much as it can be difficult to get your code to build and run correctly, it is manifestly harder to keep it working in the face of changing assumptions and requirements. This is true no matter the scale, from a small program to a shared library. Only two solutions have been shown to be theoretically sound: never change or provide no compatibility guarantees. What if there were a third option? What if we took the question of maintenance out of the realm of theory and moved it to practice? This talk discusses the approach we've used at Google and how that intersects with other languages, package management, API and ABI compatibility, and a host of other software engineering practices. The particulars of C++ as a language and an ecosystem make it well positioned for a different approach: Live at Head.