Imagine five intense days, packed with events, interacting with other coders and a great opportunity to showcase Shogun – what’s not to like about the biggest C++ conference (CppCon’17) in Seattle?!

CppCon’17 was the first coding conference I have ever been to. Though overwhelmed by the flood of codes and storm of ideas, I was pretty amazed by all the great talks offered by the programmers over the week. To give you a taste, I will share the three key points I learned from the conference:

  • Code C++ properly! Bjarne Stroustrup, a.k.a. the creator of C++ (and Faraday Medal recipient), explicitly emphasized this point in his keynote speech. The latter speakers, including Kate Gregory, an excellent C++ writer and trainer who started using C++ since before Microsoft had a C++ compiler, and Titus Winters, the leader of Google C++ common libraries project, further emphasized how elegant or proper coding could help maintaining, refactoring and communicating the codes for developers and users. There are actually pretty thorough and hands-on C++ coding guidelines around since 2015 – the existence of which many C++ coders, including myself, had no idea about before the conference.

  • It is C++17 time! Hardly anyone was not talking about the imminent revision of C++, nicknamed C++17. Amongst the new features coming in, if constexpr was definitely one of the favorites of the speakers. Together with SFINAE, if constexpr is going to make meta-programming less verbose and more intuitive, and the C-style #ifdef can eventually go away. Many other exciting features were discussed, including class template arugument deduction and std::string_view, creating a non-owning view of string to allow cheap copy. The features were introduced comprehensively by Bryce Lelbach and further discussed through out the conference. These magic will be worth explored in coding. Go C++17!

  • Make use of the fancy tools. I learned about numerous C++ developing tools on the conference, including package manager Conan and debugging tool Backtrace. Matt Godbolt introduced the excellent work he and his team has been doing: a compiler explorer which allows interactive comparison between multiple versions of multiple compliers from one platform. With the tool, one will be able to know what exactly the compiler was thinking during the work.

I gave my first presentation about coding at the conference, too. I participated in a Lightning talk session, where presenters had only 5 minutes to share their thoughts on C++, or their great tools based on C++, before being kicked off the stage. I used my 5 minutes to give a mini talk about Shogun. During the preparation, I realized I can talk about Shogun for quite long time – but refining the points and conveying the ideas in only 5 minutes was the fun part here. I kept cutting down my slides and reorganizing the logics, and finally made it a story within 5 minutes. As the audience are all experts in C++, I started by introducing a simple example of machine learning, and then elaborated on the features and designs of Shogun via the example – and people seemed to like it :) . You can find the slides here.

In a word, I learned quite a lot, by listening to and giving talks on the first CppCon I have been to. I am now looking forward to the conference next year – after all, who could say no to the gorgeous and delicious Bellevue downtown fascinating and juvenescent C++?