Google Tech TalksMarch, 5 2008ABSTRACTBoth by accident and by design, C++ supports a number of differentstyles and approaches to programming. Its evolution from C gives itobvious support for a procedural systems programming style based on Cidioms, but past, present and future language support opens up a wealthof 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 codethat is crisp and well matched to its problem. But it can also lead tocode that is at best considered an exercise in groundless post-modernismor, less favorably, an unmaintainable and incoherent mess.This talk examines some of the styles and approaches, including theirkey strengths and accidental complexities, as well as consequences ofand techniques for combining them.Speaker: Kevlin HenneyKevlin Henney is an independent consultant and trainer based in Bristol,UK. Kevlin's work focuses on software architecture, programminglanguages and development process. He has been a columnist for variousmagazines and online publications, including SearchSoftwareQuality.com,The Register, C/C++ Users Journal, C++ Report, JavaSpektrum and JavaReport. With Frank Buschmann and Doug Schmidt, he is coauthor of twovolumes in the Pattern-Oriented Software Architecture series: A PatternLanguage for Distributed Computing and On Patterns and PatternLanguages.