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.

I only booked for 2 days- enough to get a sense of the con and a chance for Meg to see her daughter. Bonus: I’d finally be able to say I’d been to Seattle.

My expectations were guardedly low: Hey, there’d be peanuts on the flight back…

I pictured a gaggle of us nerds, avoiding the eye-contact and hoping a portal back to our den would open anytime … now?

Honestly, so low were my expectations that I didn’t plan anything ahead. Credit to former Facebook colleague, Stephen O’Dor, for so rapidly rounding up the troops so we got to finally meet his amazing family on “we’re at the airport” notice…

Next time I’m going to be fishing for tours, I really wanted to see the MS and Amazon campuses :)

Only going for the first few days was a bit of a shame, but having had a few days to absorb it all now, I think I’ll have a better sense of which sessions to attend in person next year.

Summary: The convention was fantastic, and I’ll absolutely be booking next year’s tickets the moment they’re on sale. I’ll be watching and re-watching the videos over the year and, yes, going to the convention absolutely added value to them.

From the start, the atmosphere took me back to my heyday attending RIPE and IANA conferences; cutting edge engineers coming together to see presentations that shaped the future of the internet, a boiling cauldron of knowledge being churned with the stirring of passionately contributed problems and solutions.

That high-energy interaction was there and worth the cost of the tickets on it’s own.

Through a former colleague, I was invited to a pre-registration dinner where I got to sit with some of the speakers, banter with some industry titans, and wear most of someone’s lemonade. The conversation more than made up for the sogginess :)

After registration, I was thrilled to get to catch up with people I knew, people I knew of, titans of the industry, and to be recognized by people I didn’t expect would be able to.

I also met some awesome new folks. Being less awesome, I completely forgot to exchange contact details with them… :( I am a generation past “in” and have not developed the art of exchanging Facebook/contact details while both of my hands are booze and jackets.

Sessions: Bjarne Stroustrup’s keynote was excellent. Sure, you can watch it online. But you won’t get to spend the next 30 minutes afterwards discussing it in-depth among a crowd of 1,100 other developers similarly energized and focused.

Next I attended “constexpr all the things”. I’d already seen parts of this talk, but I still got a lot from being there. I used my laptop to explore the ideas they were discussing.

Ben Deane went ahead and wowed us at the end by demoing the concept with a brand new implementation of compile-time regexes… Quite an amazing session! There was this “dafuq” moment where nothing happened and it took us all a moment to realize how momentous that actually was – the nothing was actually the first sign of life… (Might wanna not rely on return 0 as a demonstration of life in future, Elbeno :)

Beyond that, I largely have to refer to my notes, but the entire slice of the con I experience was superb. Even watching the band struggle to find a balance between being 8.30am quiet and 8.30am rousing.

Monday lunch time, there was a training panel where various industry names who are well known for writing and/or training spoke about their take on the core issues of teaching/training C++ (Herb Sutter Kate Gregory, etc). This matters to me for several reasons, but primarily because I feel there has been a lack of focus on teachability in the last couple of versions; a drift towards templates and meta-programming which ultimately leads to more 2nd-language boiler plate.

Specifically, I think `auto` and `std::move` are the tip of a lethal iceberg dead-ahead of future C++.`auto` is just the wrong word, recognized in C++14 with the introduction of the even less teachable `decltype(auto)` :(. `std::move` (and friends) compound an already difficult concept with a `this is kinda not actually part of the language` twist, and a `it doesn’t do what it says on the tin` paradigm.

This is all something that Herb Sutter spoke to the day after I’d left :(

While there were fewer lady developers than I’d automatically imagined, they were reasonably represented. I’m glad to know that my recent employers are reasonably diverse (Super Evil and Facebook). I can’t speak to how it was for them, but I didn’t get the kind of omnipresent sense you would at something like BlizzCon or GDC that presence of secondary species gender not anticipated, must confirm/deny that they have eyes half-way up their torso…

Just about everyone, intern or language-creator, was approachable and easy to talk to.

It was my firm intent that, if Bjarne was at the con, I’d ask him about this (ABOUT WHAT????)))). Instead I wound up exchanging emails with him as to if having people just want their picture taken with him, without having some question or thought, was frustrating.

Later on, I bumped into him in a hallway and intended to ask him my real questions. He seemed very busy so … I shook his hand and left without asking any questions. <shame emoji>

Conversely, I had a short but incredibly valuable chat with Scott Meyers after the trainers panel. I almost had a chance to get an introduction to Herb Sutter, but I gauged he was in a hurry and had already gone over the clock talking to the person I was with, so I let him be this time.

Having watched a video of the aforementioned’s amazing talk the next day, I really wish I’d been a little more American and gotten to say “hi”.

Attended a parallelism talk that was fantastic, making me regret not having seen the first, but I’d chosen to shop around. Speaking with the presenter afterwards gave me some really great low-level hardware insight.

In all: the combination of sessions and social is a great balance.

It was marvelous, being able to discuss heady, specific topics in a sort of dissonance chamber. These are people from all walks with different goals and angles, so you all come out of the same session on the same topic with fascinating spins and takes on the same stuff that is really quite amazing.

In fairness, it wasn’t perfect. One session (I’ll name no names, Bryce) oopsied with a choice of colors in their slides. Dark blue on a black background in a dark room isn’t easy to read.

Some sessions lacked the substance you might have inferred from the title, though still valuable to people starting out on working with the subject matter. Being more experienced and there in person, there were a couple of talks where you could feel the “are you going to tell us anything?” vibe in the room.

Despite these minor bumps, the presentations were still excellent, and had the knock-on effect of eliciting fruitful hallway discussions afterwards.

If you are a C++ engineer, past or present, you should really, really consider attending a CPP Con soon. And absolutely check out their You-tube channel this year!

Huge, huge, huge thanks to John Kalb who put it together.