Elements of Design

As I continued working on my brand-new Elements of Design talk this month, it became clear that there was a lot to say about it… too much for it to fit into a single 90-minute talk slot. For one thing, the talk now mentions nearly 100(!) illustrative design examples, many of them in detail. To do the material justice, I’ve had to extend it to be a two-part half-day talk, which now takes up the entire morning of Day 3 on the C++ and Beyond program.

Now that my lambdas and design talks ended up taking all the speaking time available for me, I’ve deferred the other new talk I was going to write (Exceptional C++0x/GotW0x) and plan to do it at a future event. Fortunately, I’ve still reached my goal of creating “100% brand new material for my 270 min of talks” at C&B, and I’m very happy to be presenting entirely new, never-before-seen-in-public talks. (As I mentioned on the lambdas talk announcement, I did give a private preview of a subset of the lambdas talk in conjunction with the ISO C++ meeting this August in Switzerland; other than that, no one has seen any of this stuff.)

I’m really looking forward to delivering this material on sound design elements, design principles, and the design process itself. Design is something I’ve become quite passionate about in recent years, in part because it requires specific skills and taste, but most off all because it’s so important for every programmer — whether building a new library or extending one, building a new class or maintaining one, and that covers pretty much all of us.

It’s a big job to prepare a new talk, and so it’s been a real joy to see this material that I really care about come together and click so well. I’m jazzed about it and think it will do justice to this important topic… and I hope, perhaps, even itself be an example of beautiful design.