Jonathan Boccara's blog

Triple trip report from ACCU, C++ Russia and C++Now 2018 – Part 2

Published June 12, 2018 - 1 Comment

This is my second part of the combined trip report for 3 conferences: ACCU, C++ Russia and C++Now, for their 2018 editions that I had the chance to attend.

I’ve been over what ACCU is like already, both in terms of contents and in terms of what public they aim at (and therefore, who you can expect to meet there). Now here is my trip report for C++ Russia and C++Now 2018.

The point is to outline what is specific to each of those conferences, to give you more tools to choose what to attend next year, if you can’t make it to all conferences in the world (which no one can, I guess).

Indeed, attending conferences is a way to improve as a software developer, and write better code. They are short periods of time where you get an intensive training about writing good code, with stimulating people.

C++ Russia: Saint-Petersburg in April

C++ Russia has been around for a couple of years, and is growing in size every year. It has been held alternatively in Saint-Petersburg and Mosow. This year was Saint-Petersburg.

The contents

There is a dense schedule of talks, with 4 tracks in parellel, and about 75% of them are in Russia. However, if you don’t speak Russian, there is always at least one track for you in English.

The talks at C++ Russia (at least those I attended) aim at a general public of professional C++ developers. Here are a few of the talks that I attended there:

Jon Kalb’s The Beast is Back was the conference’s keynote, and it was a very good one. In it, Jon went over the history of C++, swirling from the middle of the 20th century up until now.

I recommend watching this talk (it should be online anytime soon I guess) for several reasons. First, it shows the rationale behind C++ when it was created: offering both good abstractions and good performance. Indeed, back then some languages offered either one, but not both.

But Jon also gave some perspective on C++ by showing how it went through a darker period, the 2000’s. At time time, the language had little evolutions, and other languages such as Java and C# were thriving. And now in the 2010’s, he argued, the beast is back, which means that modern C++ is a competitive language again.

The talk takes its time (about 1h30) to get into the details of history, and the details of code, and I found it quite nicely done.

Next up, Arno Schödl presented the concepts of ranges (From Iterators To Ranges — The Upcoming Evolution Of the Standard Library), as the future evolution of the STL. If you’re not familiar with ranges, here is an introduction to the topic. On the top of introducing the topic and demonstrating existing components, Arno got into more advanced details. In particular, he showed how to solve some issues with the current proposal of ranges for the C++ standard.

Another interesting talk was Daveed Vandevoorde’s keynote on insights about C++20 and C++23, in particular about reflection (Reflective Metaprogramming in C++). The presentation was very clear, and the code looked like coming from the future, but in a good way. After all, that’s what you expect from C++20 and C++23, isn’t it? It was an inspiring keynote.

Later on, Simon Brand made an nice presentation of the parallel algorithms that entered the standard in C++17 (Modern C++ Parallelism from CPU to GPU). It is an interesting talk as it shows both the theoretical and practical aspects of parallel algorithms. Then Ivan Čukić showed how to deduce types and more with the pattern of void_t, also in a very clear manner, with his 2020: A void_t odyssey. And Andrei Alexandrescu gave an energic presentation on how to handle errors in code, in particular with std::expected that is to come (expect the expected).

The people

C++ Russia gathers quite a lot of people, with its 800 attendants and numerous company booths. Pretty much all the people I met there were full time professional C++ software developers. Most attendants come from Russia, which is consistent with the large proportion of talks given in Russian.

What’s also interesting about the people you can meet at C++ Russia is that a fair proportion of the speakers are famous in the C++ sphere. For example, I had never had the chance to meet Andrei Alexandrescu before. I (as well as several dozens of persons!) had a chance to take a picture with him and get my copy of Modern C++ Design signed.

The conference is short: it lasts only two days. So you do get opportunities to socialize, but not as many as in conferences that span over a week.

Things to note

The conference organizer, Sergey Platonov, and his staff go out of their way to ensure that you have the best experience at the conference. They’re always available and ready to help. It’s the case at most conferences, but I found the staff of C++ Russia really outstanding.

Also note that there is no lightning talk sessions at C++ Russia.

C++Now: Aspen, USA in May

C++ Now is different from other conferences I have attended. Both in terms of the contents and in terms of the people you meet there.

The contents

In a word, the contents are in-depth. Very in-depth. It’s a double-edged sword: depending on your experience on the various topics, it can be fantastic or it can be challenging to follow. In some sessions I had a great time, and in some others I felt a bit lost.

Here are some of the talks that I appreciated attending at C++ Now:

In Boost.Text: Fixing std::string, and Adding Unicode to Standard C++, Zach Laine suggests a redefinition of the string interface. He argues (and many people concur) that std::string has way too many things in its interface, and he shows how to build a minimal interface for string from the ground up. Zach intends to submit this library to Boost. Beyond the particular case of string, this talk also illustrates principles of good interface design.

David Sankel explained what the polymorphic memory allocators (pmr) coming in C++17 are, along with the pitfalls they come along with. His talk is called C++17’s std::pmr Comes With a Cost.

Last year, one of the keynotes of CppCon 2017 was Matt Godbolt’s What Has My Compiler Done For Me Lately?. This year at C++Now 2018, Matt presented a sequel of that talk, called What Else Has My Compiler Done For Me Lately?. In it, he presented some new features of Compiler Explorer, and demonstrated some impressive optimizations that compilers are able to achieve.

My favorite talk from C++Now 2018 was Tony Van Eerd’s Words of Wisdom. In it, Tony presents a number of guidelines for writing good code, and get into interesting details of certain points such as naming. With the permission of Tony, I am preparing a blog post to illustrate how to make names consistent based on the advice he gave there. So, more on this later.

The people

There are much less people at C++Now than at the other conferences I was at. I reckon we were about 120.

A non-negligible proportion of that crew is part of the standard committee, and the majority of the other people are very familiar with the standard and a number of its incoming proposals just as well.

What I appreciated is that you can have deep technical conversations at pretty much any time. During the talks, the whole room (30 or 50 people in average by session, I’d say) is welcome to voice their opinions and hold a debate about the presented contents. A detail that struck me is that speakers don’t have a mike, which makes the talks look even more like debates rather than lectures.

And outside of the sessions, you can always find somebody who can answer a question, or discuss a design with you. I went back home with several leads to explore to move forward on smart output iterators for example, in particular thanks to Ben Deane and Marshall Clow.

Things to note

There are no company booths at the conference, I guess because of the size of the audience. There are two evenings with lightning talks sessions, with quite a lot of contents. And Aspen is a stunning place.

What will be your next conference?

There are a lot of C++ conferences all year long, and new ones are starting every year.

Whichever one you think corresponds you best, I urge you to go. It’s a great experience. You’ll meet a lot of nice people, spend a few days away from your daily techniques to discover how other people tackle their issues. And sometimes, those issues will be the same as yours.

You may also like

  • Triple trip report from ACCU, C++ Russia and C++Now 2018 – Part 1
Don't want to miss out ? Follow:   twitterlinkedinrss
Share this post!Facebooktwitterlinkedin

Comments are closed