Google Tech Talks
March, 5 2008
Both by accident and by design, C++ supports a number of different
styles and approaches to programming. Its evolution from C gives it
obvious support for a procedural systems programming style based on C
idioms, but past, present and future language support opens up a wealth
of other approaches and idioms, including object-oriented programming,
generic programming and some elements of functional programming.
This diversity is both a strength and a weakness. It can lead to code
that is crisp and well matched to its problem. But it can also lead to
code that is at best considered an exercise in groundless post-modernism
or, less favorably, an unmaintainable and incoherent mess.
This talk examines some of the styles and approaches, including their
key strengths and accidental complexities, as well as consequences of
and techniques for combining them.
Speaker: Kevlin Henney
Kevlin Henney is an independent consultant and trainer based in Bristol,
UK. Kevlin's work focuses on software architecture, programming
languages and development process. He has been a columnist for various
magazines and online publications, including SearchSoftwareQuality.com,
The Register, C/C++ Users Journal, C++ Report, JavaSpektrum and Java
Report. With Frank Buschmann and Doug Schmidt, he is coauthor of two
volumes in the Pattern-Oriented Software Architecture series: A Pattern
Language for Distributed Computing and On Patterns and Pattern