As generic programming evolved alongside C++, it developed an expert-only reputation for encoding simple ideas with arcane syntax. Understandably, few C++ engineers took the trouble of memorizing these template tricks, and those who did often lost sight of the basic principles of generic programming.
With concepts, C++20 has given us the tools to express simple generic ideas simply. It’s time to revisit generic programming with fresh eyes, and reconsider it as a practice for all engineers to produce robust, maintainable software.
View Slides
Nick DeMarco is a Senior Computer Scientist at the Software Technology Lab at Adobe. He has a passion for generic programming and other satisfying methods for discovering truth. In the past year, his focus has been on memory safety and concurrency - particularly on Rust and mitigation strategies for the "forthcoming legislation" around safety. Before that, he spent four years working towards a 1.0 launch of Photoshop on the iPad.