I have now finished my week at the conference. It was an enjoyable and educational experience, if a bit overwhelming at times. I think I ended up getting the most out of Steve Dewhurst’s talks, many of which centered around ways of simplifying code and using abstractions to get away from sticky coding nightmares.
In general, in fact, I think the big theme of all of the speakers who talked on C++ was “learn to love the abstractions or perish.” I tend to agree with them, this said, there is a great value in being able to use idioms and abstractions.
This said, I noticed a general theme. The more elegant the abstractions, the more caveats they came with, and the more understanding one needs of the abstraction to use it safely. For example, while discussing some rather high-level designs using template meta programming, we were simultaneously debating things happening at the v table level of things. And at the assembly level of things.
The short story is that one needs an appreciable understanding of the high-level simplifications available in order ot use them effectively. I debated with a friend whether the knowledge required scales linearly or non-linearly with the elegance of (or number of layers of) the abstraction. I’m not quite convinced which of us is right, butthere’s a lot of really cool stuff there.
And I think I’m going to look forward to sleeping in tonight. I’ve been horribly tired all week and I can’t figure out why.