Mountain View: Metaprogramming for Dummies

Details
In most languages, metaprogramming is a powerful tool that allows writing more expressive and more maintainable code. It is usually relatively straightforward, and even average Joe programmers can use it to increase their productivity. In C++, metaprogramming is an obscure art that very few understand and that is never taught as part of the normal curriculum. Even worse is the fact that almost every presentation about metaprogramming is overly complicated, using tricky corners of the language and an unintuitiveapproach to achieve even simple goals. This presentation will try to break the mold and present metaprogramming in a way that's easy to grasp. Using the Boost.Hana library (http://www.boost.org/doc/libs/release/libs/hana/), we will show how metaprogramming can be done with a reasonably high level of expressiveness, leaving dirty template tricks far behind. We will see how metaprogramming can be used as a tool for making day-to-day programming easier and more enjoyable, even for beginners.
Louis Dionne is a math and computer science enthusiast with interest in C++ (meta)programming, functional programming, domain specific languages and related subjects. He is an active member of the Boost community, and recently wrote the Boost.Hana (http://www.boost.org/doc/libs/release/libs/hana/) metaprogramming library.
Level of Expertise: Beginner to Intermediate
Join us after the talk at the Tied House for drinks and food!

Sponsors
Mountain View: Metaprogramming for Dummies