Registration for the C++Now 2013 has just opened. C++Now is the largest general C++ conference there is. And by general I mean that it is not specific to any library/framework or compiler vendor. C++Now has three tracks with presentations ranging from hands-on, practical tutorials to advanced C++ design and development techniques. Like last year, expect a large number of talks to focus on C++11 with this year expected to bring more practical, experience-based knowledge on using the new features.
Unfortunately, I could not attend the conference last year, but the year before I had an absolute blast. Lots of interesting talks, lots of interesting people to talk to, great collaborative spirit (see my 2011 Trip Report). If you are passionate about C++ or even if you are just getting started with the language, these few days will be your highlight of the year where C++ is concerned. There are no hidden agendas, nobody is trying to sell you anything. Just a bunch of engineers eager to show each other something cool they have learned or built. And what a fertile ground we have with C++11!
While the conference program is not finalized yet, trust me, from the three parallel tracks everyone will find something interesting to attend. In fact, you will often have the opposite problem — several interesting presentations going on at the same time. I can also tell you which talks I am planning to submit.
The first, with the working title “ODB, an ORM for C++(11)”, is about a C++ project that I’ve been working on for the past several years. ODB is an open source object-relational mapping (ORM) system for C++. Back in 2011 I gave a talk about ODB when it was just several months old. This time I would like to show the progress we’ve made over the past two years. In the first part of the talk we will see how easy it is to persist C++ objects in a relational database with ODB. Then I will cover more interesting topics, including C++11, polymorphism, optimistic concurrency, and multi-database support. I am also going to tackle that elephant in the room — database schema evolution. In fact, we are committing to add support for schema evolution just in time for C++Now 2013 (talk about putting pressure on myself).
Adding C++11 support to ODB was a great way to get practical experience with the new language features and their support in different compilers. And as you can imagine, things didn’t always go smoothly. So the second talk that I would like to give is “Practical C++11: What I Learned Adding C++11 Support to ODB” (again, working title for now). Topics that I would like to cover include: why perfect forwarding and overloading is a dangerous mix (and how to defuse it), when to pass by value and when by reference (and which reference), practical
auto, as well as what’s inside a range-based
for loop. I am also planning to touch on some implementation-related issues such as how to support both C++98 and C++11 in a cross-platform library.
Finally, if you would like to give a talk yourself (remember, we are just a bunch of engineers sharing ideas), proposals are accepted until the 15th of December.