: Monday : Patterns and Pattern Languages : Programming Techniques : Monday Afternoon Tutorials (13:30 - 17:00)
STL Patterns: A Design Language of Generic Programming
Pacific Salon 5
Monday, 13:30, half day
7 | · | 8 | · | 9 | · | 10 | · | 11 | · | 12 | · | 13 | · | 14 | · | 15 | · | 16 | · | 17 | · | 18 | · | 19 | · | 20 | · | 21 |
Kevlin Henney, Curbralan Limited
Tutorial number: 31
Patterns offer an effective way of capturing idioms, allowing programmers a way of communicating and reasoning about their designs through a structured design vocabulary. However, many C++ programmers are trapped in a view of patterns that extends only as far as, or not much further than, the 23 eleven-year old Gang of Four patterns. Useful and seminal as these are, they do not provide the modern C++ developer with a sufficient vocabulary to communicate and reason about their designs.
This tutorial focuses on the generic programming concepts expressed in and around the Standard Template Library, communicating these as C++-specific patterns and connecting them together to form a language that describes the design and use of the STL, illustrating how generic programming is more than simply programming with templates.
Intermediate: This tutorial is targeted at C++ programmers with basic knowledge of patterns and some knowledge of the STL.
Kevlin Henney, Curbralan Limited: Kevlin Henney is an independent consultant and trainer based in the UK. The focus of his work is in programming languages, OO, UML, agile development, patterns, and software architecture. At various times he has been a regular and irregular columnist for C/C++ Users Journal (online), Application Development Advisor (UK), JavaSpektrum (Germany), Java Report, and C++ Report. He is also on committees and advisory boards for various conferences, language standards, and other software-related organizations (always keeping in mind that "a committee is a cul-de-sac down which ideas are lured and then quietly strangled"...), and is a popular speaker at conferences in North America and Europe.