Three days with Scott Meyers

Part of my role at CA is to develop the programmers on the Total War team.  I was rather delighted to be able to invite Scott Meyers, author of the Effective C++ series, to come and talk to the team at the beginning of December 2014.  This was such a great opportunity that I offered the training to programmers in the CA Console team, makers of Alien:Isolation, and Sports Interactive, our SEGA sister studio in London, makers of Football Manager.

You may have seen talks by Scott from various conference feeds.  He really is an excellent speaker and educator, having spent a long time perfecting his craft.  However, owning him for three days and having him deliver material from his new book, Effective Modern C++, was pretty special.  Since the first print run sold out immediately, he was unable to give us copies of his book, but we got to touch his personal copy.

10846003_10152522611607043_1502735018452724505_n

C++ has undergone some extraordinary changes since the last standard was ratified.  Type deduction is now a rather more complicated affair now that we have auto, decltype, lambdas and rvalue references.  Indeed, the three days was kicked off with an entire morning on type deduction, which was possibly the only time he could have sensibly delivered that part of his syllabus: it was the heftiest of topics to open the training, but so much of modern C++ relies on this, and understanding that is very important.

Scott covered all the headline features of modern C++ and stopped to answer all questions that arose, however simple or advanced: his stride didn’t break and sometimes he was able to postpone answers to a point further on in a topic.  It was extremely valuable for our organisation as a whole.  Of course, now I have to go and review the coding standards to accommodate all this: we have now moved on to Visual Studio 2013 as our primary compiler, and, for example, the efficiency of std::shared_ptr requires scrutiny.  I’ll keep you posted about our observations over the coming months.