KEYNOTE: Teaching an Old Dog New Tricks: A Tale of Two Emulators

By Matt Godbolt

As a self-proclaimed C++ dinosaur, I set out to prove that my comfortable, battle-tested ways of writing code (somewhere between C++11 and C++14) were clearly superior to all this modern constexpr-everything, coroutine-laden C++.

What better way to demonstrate this than by implementing the same ZX Spectrum emulator twice - once in familiar C++11 style, and once with all the shiny new features that folks these days seem to love?

Through practical examples and live demonstrations, we’ll explore how modern C++ features transform - for better or worse - our approach to systems programming. Watch as my preconceptions about template metaprogramming, coroutines, and modules are challenged, and discover where modern features genuinely shine…​ and where they might just be showing off.

Whether you’re another comfortable old dinosaur curious about modern C++, or a new grad wondering why some of us still write for loops instead of using std::ranges, you’ll come away with concrete examples of how modern features apply to traditional problems. And perhaps, like me, you’ll learn that teaching an old dog new tricks isn’t always painful - sometimes it’s just enlightening.





Your Privacy

By clicking "Accept Non-Essential Cookies" you agree ACCU can store non-essential cookies on your device and disclose information in accordance with our Privacy Policy and Cookie Policy.

Current Setting: Non-Essential Cookies REJECTED


By clicking "Include Third Party Content" you agree ACCU can forward your IP address to third-party sites (such as YouTube) to enhance the information presented on this site, and that third-party sites may store cookies on your device.

Current Setting: Third Party Content EXCLUDED



Settings can be changed at any time from the Cookie Policy page.