Investigating C++ Legacy Design Trends: Newer Isn’t Always Better! - Katherine Rocha - CppCon 2024

https://cppcon.org --- Newer Isn’t Always Better: Investigating C++ Legacy Design Trends and Their Modern Replacements - Katherine Rocha - CppCon 2024 --- All code is legacy code, or so they say. Software engineers scoff at the idea of new code instantly becoming legacy code, however software is a time capsule holding the design trends of the time the code was written. As new code is written, new design trends are used and potentially overused, just like the legacy patterns. What if these new design trends have more in common with the original design trends than we initially thought. One example we will investigate is object oriented design through polymorphism and how it has been replaced in many cases with template metaprogramming. There are a variety of template metaprogramming strategies that achieve the object oriented design principles, however when overused you can encounter as many templates as there would be virtual functions in object oriented programming. Have we discovered that balance is the solution or are we still overusing the “fancy” new thing? In this talk, we will investigate various legacy design trends including further examining object oriented design, the singleton pattern, as well as other legacy anti-patterns to reveal the updated trends. We will address each legacy anti-pattern and their corresponding modern update to evaluate whether newer is better or if we have recreated the same legacy problem. --- Slides: https://github.com/CppCon/CppCon2024/... Work at Hudson River Trading (HRT): https://tinyurl.com/safxfctf --- Katherine Rocha Katherine Rocha is a new-ish software engineer who graduated in 2022. She’s passionate about embedded systems, real-time systems, and understanding as much as possible. She has been an active member of the C++ community for her entire career, starting with lightning talks at CppCon 2022 and C++Now 2023. She’s figuring it out one warning, error, and question at a time. --- CppCon is the annual, week-long face-to-face gathering for the entire C++ community. The conference is organized by the C++ community for the community. You will enjoy inspirational talks and a friendly atmosphere designed to help attendees learn from each other, meet interesting people, and generally have a stimulating experience. Taking place this year in Aurora, Colorado, near the Denver airport, and including multiple diverse tracks, the conference will appeal to anyone from C++ novices to experts. Annual CppCon Conference - https://www.cppcon.org   / cppcon   https://x.com/cppcon   / cppconference     / cppcon   https://mastodon.social/@CppCon --- Videos Filmed & Edited by Bash Films: http://www.BashFilms.com YouTube Channel Managed by Digital Medium Ltd: https://events.digital-medium.co.uk --- #cpp #cplusplus #cppcon #cppprogramming #cplusplusprogramming #softwaredevelopment #softwareengineering #coding #code #computerscience #technology #technews #programming #programmer

Boosting Software Efficiency in C++: 100% Performance Improvement in a  C++ Embedded System - CppCon
▶︎

Boosting Software Efficiency in C++: 100% Performance Improvement in a C++ Embedded System - CppCon

C++ Design Patterns - The Most Common Misconceptions (2 of N) - Klaus Iglberger - CppCon 2024
▶︎

C++ Design Patterns - The Most Common Misconceptions (2 of N) - Klaus Iglberger - CppCon 2024

Why Is My C++ Build So Slow? Compilation Profiling and Visualization - Samuel Privett - CppCon 2024
▶︎

Why Is My C++ Build So Slow? Compilation Profiling and Visualization - Samuel Privett - CppCon 2024

"Simple Made Easy" - Rich Hickey (2011)
▶︎

"Simple Made Easy" - Rich Hickey (2011)

Your Life at Every Level of C++
▶︎

Your Life at Every Level of C++

It finally happened
▶︎

It finally happened

The Joy of C++26 Contracts - Myths, Misconceptions & Defensive Programming - Herb Sutter
▶︎

The Joy of C++26 Contracts - Myths, Misconceptions & Defensive Programming - Herb Sutter

Cost of C++ Abstractions in C++ Embedded Systems - Marcell Juhasz - CppCon 2024
▶︎

Cost of C++ Abstractions in C++ Embedded Systems - Marcell Juhasz - CppCon 2024

The Cost of Concurrency Coordination with Jon Gjengset
▶︎

The Cost of Concurrency Coordination with Jon Gjengset

Lazy and Fast: Ranges Meet Parallelism in C++ - Daniel Anderson - CppCon 2025
▶︎

Lazy and Fast: Ranges Meet Parallelism in C++ - Daniel Anderson - CppCon 2025

"We Ran Out Of Columns" - The Worst Codebase Ever
▶︎

"We Ran Out Of Columns" - The Worst Codebase Ever

Casey Muratori – The Big OOPs: Anatomy of a Thirty-five-year Mistake – BSC 2025
▶︎

Casey Muratori – The Big OOPs: Anatomy of a Thirty-five-year Mistake – BSC 2025

When Nanoseconds Matter: Ultrafast Trading Systems in C++ - David Gross - CppCon 2024
▶︎

When Nanoseconds Matter: Ultrafast Trading Systems in C++ - David Gross - CppCon 2024

Back to Basics: Object-Oriented Programming in C++ - Andreas Fertig - CppCon 2024
▶︎

Back to Basics: Object-Oriented Programming in C++ - Andreas Fertig - CppCon 2024

Peering Forward - C++’s Next Decade - Herb Sutter - CppCon 2024
▶︎

Peering Forward - C++’s Next Decade - Herb Sutter - CppCon 2024

Refactoring C++ Code for Unit testing with Dependency Injection - Peter Muldoon - CppCon 2024
▶︎

Refactoring C++ Code for Unit testing with Dependency Injection - Peter Muldoon - CppCon 2024

The Only Unbreakable Law
▶︎

The Only Unbreakable Law

Back to Basics: Custom Allocators Explained - From Basics to Advanced - Kevin Carpenter - CppCon
▶︎

Back to Basics: Custom Allocators Explained - From Basics to Advanced - Kevin Carpenter - CppCon

CppCon 2014: Mike Acton "Data-Oriented Design and C++"
▶︎

CppCon 2014: Mike Acton "Data-Oriented Design and C++"

Moved-from Objects in C++ - Jon Kalb - CppCon 2024
▶︎

Moved-from Objects in C++ - Jon Kalb - CppCon 2024