Jeff Garland on C++ Generic Programming: Harmful or Helpful?

View organization page for C++Now

12,400 followers

C++Now 2025 - Jeff Garland: "C++ Generic Programming Considered Harmful?" youtu.be/jXQ6WtYmfZw In his seminal 1968 paper "Go To Statement Considered Harmful," Edsger Dijkstra argued that unstructured control flow leads to tangled, hard-to-maintain code. The critique reshaped programming, ushering in an era of structured design that has influenced software development for over 50 years. Similarly, generic programming is a cornerstone of modern C++, enabling powerful abstractions and highly reusable code. However, it comes at a cost: increased compilation times, cryptic error messages, and cognitive overhead that challenges even expert developers. Has generic programming delivered on its promises, or is it actively undermining progress? To frame this question, we’ll take an epic journey spanning 15 billion miles, down to 5 nanometers, and across four decades of software development and computing machine evolution. Along the way, we’ll explore how the abstractions we use to write programs have evolved -- highlighting some of the successes and the failures. Ultimately we'll come back back to where generic programming fits into the picture and it's contributions. This session will challenge your perspectives of software development and leave you with a lot to reflect on. --- Jeff Garland has worked on many large-scale, distributed software projects over the past 40 years. The systems span many different domains including telephone switching, industrial process control, satellite ground control, ip-based communications, and financial systems. He has written C++ networked code for several large systems including the development high performance network servers and data distribution frameworks. Mr. Garland’s interest in Boost started in 2000 as a user. Since then he has developed Boost.date_time, become a moderator, served as a review manager for several libraries (including asio and serialization), administered the Boost wiki, and served as a mentor for Google Summer of Code. Mr. Garland holds a Master’s degree in Computer Science from Arizona State University and a Bachelor of Science in Systems Engineering from the University of Arizona. He is co-author of Large Scale Software Architecture: A Practical Guide Using UML. He is currently Principal Consultant for his own company: CrystalClear Software, Inc.

To view or add a comment, sign in

Explore content categories