Teaching an Old Dog New Tricks: A Tale of Two Emulators
Matt Godbolt
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.
Matt Godbolt
Matt usually applies his expertise in C++ to write software for the finance industry, but is on a break right now. He's pursuing a range of hobby projects, from emulating vintage computers in the browser and building embedded systems to developing and maintaining the Compiler Explorer website.