BoostCon 2009 Trip Report 3a

May 4, 2009


Monday morning in Aspen

Hey, this is going to be fun! I sure hope people don’t grumble too much about the snow, and that they dressed for the changeable mountain weather.

I hoof it on over to breakfast and get ready for my day. In light of the snow, I take the long way over to the Physics Center, along the road, not through the meadow.

Jeff Garland opens the conference in Flug (“floog”) Forum with his “Library In a Week” project for this year: building a relational database binding library.

Despite appearances, Jeff actually is a corporeal being
Despite appearances, Jeff actually is a corporeal being.

Jeff has done a different variation of this series every BoostCon, getting a group together for one hour every morning before the rest of the sessions start, to collaborate on developing a new library. As great as “Library in a Week” has been for everyone over the years, it hits me like a ton of bricks that a working session is no way to start a conference. [Note to self for next year: add a short formal welcome session]

I have some interest in this area, since I recently had to learn more than I ever wanted to about web development, so I had a brush with databases, specifically the Django web framework’s binding library. I volunteered to give an overview the next day of that interface, but sadly became overwhelmed with other conference responsibilities and activities, and was never able to get back to Library in a Week. Sorry, everybody! If someone would like to write a comment about how the project turned out, I’d be happy to approve it here.

Flug again, featuring the infamous "red chair"
The infamous Flug red chair

Next up, Christophe Henry’s talk on the Meta State-Machine Library in Bethe (“beta”) hall. I’ve been looking forward to this one ever since I saw it on the program. I first learned about Christophe’s work when he contacted me and Aleksey Gurtovoy (my co-author on C++ Template Metaprogramming) about the library he had written based on a simple example in our book. I get similar requests now and again to look at peoples’ code; I usually don’t have the time, and when I do I am usually not impressed, but this time I took a gander, and I was wowed. He had maintained the declarativeness and efficiency of our work and had extended it to cover all the fancy-dancy features that people familiar with the UML state machine specification expect.

Years ago, when the review for the Boost StateChart library was underway, I had pointed to our example as a way of showing that one could write highly-efficient state machines with a declarative syntax, but at the time it was claimed that the advanced features supported by the UML standard (and the proposed library) made such an approach infeasible. I wasn’t happy, but also didn’t have the time or domain expertise to build what I thought would have been an improvement. Since the library would certainly be useful for some portion of the C++ community, it was accepted into Boost; I think I even voted for it.

Christophe explains why conventional design processes are not Scottish

But, Christophe had taken his knowledge of UML and template metaprogramming, and combined them to produce something much closer to my ideal. Not only that, but it was well-documented and nicely presented. Back to the past present, at BoostCon, I’m looking forward to seeing the details.

Christophe turns out to be an excellent presenter: knowledgeable, entertaining, and understandable without talking down to the audience. He also has an impressive grasp of how crucial abstraction is to the software development process, and a way of explaining it in terms of Model-Driven Engineering from which I have lots to learn.

Michael Wong slings C++0x
Michael Wong slings C++0x

Still trying to get pictures of everything at the conference, I duck over to Flug and check out Michael Wong talking about the features of the upcoming standard, C++0x. It looks like Michael is doing a great job keeping people engaged, and I know most of this stuff, it seems, from my work on the C++ committee, so I go back to Bethe just in time for the first coffee break.

Next we have the dueling parallel patterns presentations (DPPP). In Flug, Stephan T. Lavavej is talking about Visual Studio 2010’s parallel patterns library. In Bethe, Joel Falcou on an Embedded Domain Specific Language (EDSL) for parallel programming. How do I choose? I figure that pretty soon information about Visual Studio is going to be ubiquitous, but this is probably my one chance to hear about what Joel is working on. So it’s off to Bethe.

Wow, this is getting long.  More on Monday to come tomorrow…

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s