CppCon Day 1

I went to CppCon! Here’s my notes for day 1 of talks. Most of the talks are going to be available online, so I’ll only mention when something isn’t available on the CppCon YouTube channel. Also, italics are words that I’m thinking (except when they’re in context, use common sense).

Registration

Easy breezy. Partially because my first name is Albert.

Bjarne Stroustrup’s C++20 Talk

Introduction by John Kalb

What is C++? John asserts that it’s a culture; one that has utility, one that’s challenging, and one that’s humble. C++ is people.

Also, there are highschoolers here! That’s crazy.

The Talk Itself

This talk is a high level discussion of C++. Bjarne talked about:

  • C++ needs to be beginner friendly
  • When teaching C++, teach the nice stuff first, then “peel away the onion” when you need to go closer to the hardware
  • Failures are redone, successes last decades
  • One of the hardest types of programming is error handling
  • Rules of Thumb
    • Static type system
    • Value and reference semantics
    • Direct use of machine resources
    • RAII
    • Composition of software
    • Support for object oriented programming
    • Support for generic programming
    • Support for compile-time programming
    • Concurrency through libraries supported by intrinsics

The C++20 Synchronization Library

Not too much special in this one. Video’s online.

Writing Safety Critical Automotive Software for High Performance AI

5 levels of safety. Heterogeneous problems beyond parallelism include kernel being masked, or never getting to the external processors.

High Performance on GPUs

This felt like an advertisement.

Allocator Aware Software

Having your software be aware of allocators is incredibly beneficial for a bunch of stuff.

Student Dinner

Bjarne Stroustrup came! Made friends with people: Matt Dupree, Nathan Ward, and Anushree Khanna.

Fireside Chat

It’s really cool being this physically close to some of my heros.