CppCon 2026

After two years, I went back to CppCon this week to give a talk about game engines and my little summer experiment with Soup Raiders (blog series here). But CppCon is more than just talks!
I landed in Denver on Saturday evening after a stopover at Washington Dulles. I woke up at 4am on Sunday and had some time to work on my slides before heading out for the field trip to Red Rocks:

It was really hot, but everybody was still smiling. This field trip is a nice opportunity to meet new people in a small group. I tend to feel uncomfortable when I am suddenly in the presence of a lot of people that I don’t know at all, but we speak the same (programming) language. We then went to see some dinosaur footprints nearby:


We had to hike up a hill to see them, and with the heat, I used my Korean Daiso umbrella to keep the sun off. Conversation topics ranged from the upcoming talks to AI, programming, skiing, and our current jobs. We then went back to the hotel to join the registration reception:

After getting all my swag, I did not stay too long, because the jet lag was hitting hard. Anyway, time for the talks.
On Monday, I went to:
- Are you smarter than a branch predictor by Michelle D’Souza: I will be teaching my students about branch prediction in the coming weeks, so getting a refresher and learning new things was nice.
- The journey to “/W4 /WX”: How hard could it be? by Keith Stockdale: A very interesting talk with lots of short code reviews to showcase all the little bugs and instances of undefined behavior that can creep into a codebase without treating warnings as errors.

- Zero Cost Scripting Languages for Game Engines With C++26 Static Reflection by Koen Samyn: I did not know much about AngelScript, but compiling its bytecode by combining
#embedand static reflection was fascinating and gave me ideas.
On Tuesday, with my talk in the afternoon, I missed the Language Designers Panel in the morning. I was still adjusting the slides before the talk. Finally, it was time. This was the room I gave the talk in:

My slides included a few interactive web demos. Fortunately, there was a screen below the stage showing what the attendees were seeing, which let me interact with the demos.
After my talk, I went to Jody Haggins’ talk: C++ in an AI World, but I was still feeling the adrenaline from my own talk, so I will need to rewatch it.
Then I needed to relax and missed a few talks that I really wanted to see (especially Ensuring Code Quality in the Age of AI : More Code, Less Engineering! by Peter Muldoon).
On Wednesday, I went to these talks:
- Awaiters and Awaitables by Mateusz Pusz: Since the networking proposal involves coroutines and my colleague had been experimenting with it, I took the opportunity to learn more about coroutines in Mateusz’s talk. He managed to make a seemingly inaccessible topic accessible.
- How C++26 changes the way we write code by Timur Doumler: The big four: Reflection, Contracts, Execution and SIMD. As a teacher, I will need to play a bit more with
std::executionbefore being convinced. The recording is here. - Rule of 0,1,2,5,6,7,8,9,10? by Jason Turner: There is always something new to learn from Jason’s talks and this one was no exception. A nice refresher on constructors, destructors, assignment, and some operators.
- Graphics Programming with SDL 3 Part 2 by Mike Shah: I discovered that we can play with shaders in SDL3’s 2D renderer. While my class usually covers graphics programming at a lower level, this could make a nice introduction or first exercise in computer graphics. And Mike Shah is a machine, giving three talks at CppCon this year.
- Lightning Talks: One hour of five-minute talks on various subjects related to C++. Two years ago, I was too tired to follow them, but this year, I was happy to be there. It’s also an opportunity for new speakers to try out material or just to gain speaking experience. I considered giving a lightning talk this year, and I regret not submitting one.
On Thursday, I attended these talks and events:
- The Address is Not The Place: Object Residency in C++26 by Laurie Kirk: Her talk was about breaking this wall that we have with memory. While I could not follow everything, I found it very interesting, especially from a teacher’s point of view who is going to explain how the memory work very soon. The recording is already online for me to rewatch here.
- Meet Guy Davidson: It was an interview with Sherry Sontag where we looked back at Guy’s background and his motivation for serving the community as a convenor. There was an old photo of him with long hair and no beard that I will not put here.
- Meet the Presenters Banquet: After meeting Guy, I got my speaker portrait taken by Jonathan Phillips. Here is what I will look like in my CppCon 2026 thumbnail:

Then I got to meet Guy Davidson again:

And we enjoyed a good dinner in good company, talking about C++ and our different jobs around the table:
- Lightning Talks: Part 2, and I managed to attend again (with some help from caffeine). There is a special energy during the lightning talks. The session lasted until 10:30pm, so with my jet lag, I was exhausted by the end. I’m looking forward to watching them again when they are available in the CppCon archive.
On Friday, I went to these talks:
- Safety in Numbers by Jason Turner: Another talk by Jason Turner, where we reviewed operations on integers smaller than 32 bits, overflow, and all the nice features added to modern C++ to deal with those cases.
- Refactoring C++: Techniques, Smells, and Discussion by Dave Steffen: I really enjoyed the Back to Basics: Testing talk that Dave gave 2 years ago. This was an Open Content session, so it was intentionally incomplete. The discussion of code smells with the audience was interesting, and I’m looking forward to the final talk/book.
- Code You Didn’t Write: Understanding Large and Unfamiliar Codebases by Mike Shah and Chris Croft-White: I approached this talk from the perspective of my students and of a newcomer to an unfamiliar codebase. Now with a lot of projects being vibe-coded, it’s even more daunting to get started on a massive new project. There were some good examples of how to use LLMs effectively in certain situations.
- In Pursuit of a 6,000 FPS Game Boy Emulator by Tom Tesch:

It was the last talk I could attend. This talk was the end of the Tetris Game Boy trilogy. As a fellow teacher, I really relate to the freedom to work on projects we want to make if we can use them in our courses, and to this slide in particular:

The Game Boy was my first console and I had always wanted to go back to it when working in gamedev. I did so a few years ago with Soup Raiders: Jailbreak. But Tom ventured into emulator territory. Quoting him: “To really know something, make an emulator out of it.” A very entertaining talk!
Then it was time to go to the airport to catch my flight. I headed home with my head full of ideas, ready for the future, and keeping in mind that C++ is an expert language.
