C++ Russia
Saint-Petersburg, Russia
April 19-21 2018

27
great speakers
1250
minutes
for experienced
developers

About

C++ Russia with bliny and matryoshkas! With great guests from around the world for two days. The conference is for experienced developers!

Location: Saint Petersburg, Park Inn Pribaltiyskaya Hotel.

So far we held conferences in several cities in Russia: Moscow, Saint-Petersburg, Yekaterinburg, Nizhny Novgorod, Kazan, Tomsk and Saratov. We invite speakers from variety of cities and from other countries as well.

Keynote speaker will be Jon Kalb, the C++ developer with 25-years of expirience.
During that time he was programming with C++ for Amazon, Apple, Dow Chemical, Intuit, Lotus, Microsoft, Netscape, Sun, Yahoo!, and a couple of companies you've never heard about. Jon is the chairman of CppCon and the author of the "C++ Today: The Beast is Back" book.

Talks

21/04/18
Track A
10:00 - 12:00
Daveed Vandevoorde
Daveed Vandevoorde
Reflective Metaprogramming in C++

Some time ago, the C++ standardization committee created a subgroup “SG-7” to explore how to add reflection capabilities to the language. More recently, that group has added “metaprogramming” to its plate and made some significant decisions regarding the shape of the eventual solution. In this talk we will look at the past that brought us here and examine a possible path for C++’s first-class support of “reflective metaprogramming”.

Slides in pdf

20/04/18
Track B
13:45 - 14:45
Mikhail Matrosov
Mikhail Matrosov
Versatile C++ applied

In C++ you can solve a single task in a multiple ways. We will pick an actual task from production, and investigate how it can be solved with a number of tools that C++ provides: STL containers, boost.range, C++20 ranges, coroutines. We will compare API constraints and performance of different solutions, and how they can be easily converted from one to another if the code is well-structured. During the way we explore applications of some useful C++17 features like constexpr if, selection statements with initializer, std::not_fn, etc. Special attention will be payed to my favorite topic - standard algorithms.

Slides in pptx

20/04/18
Track A
10:00 - 12:00
Jon Kalb
Jon Kalb
C++ Today: The Beast is Back

This talk will cover why engineers looking for performance choose C++. Jon will present an historical perspective of C++ focusing on what's going on in the C++ community right now and where the language and its user base is heading. With a renewed interest in performance for both data centers and mobile devices, and the success of open source software libraries, C++ is back and it is hot. This talk will explain why C++ is most software engineers' go-to language for performance. You will receive a rough historical sketch that puts C++ in perspective and covers its popularity ups and downs.

This talk is based, in part, on the book "C++ Today: The Beast is Back" published by O'Reilly.

Slides in pdf

21/04/18
Track A
16:00 - 17:00
Rainer Grimm
Rainer Grimm
Best Practices for Concurrency in Modern C++

With the standardisation of C++11, we got in C++ a multithreading library and a memory model. The library has the basic building blocks such as atomics, threads, tasks, locks, and condition variables. The memory model provides guarantees for the thread-safe usage of this basic building blocks.

Seven years later, we have a lot of best practices to apply multithreading and the memory model in a safe way. My talk will be precisely about these best practices to general rules for concurrency, special rules for the multithreading library, and special rules for the memory model. The focus of this best practices will be far beyond C++.

Slides in pdf

21/04/18
Track A
12:45 - 13:45
Ivan Čukić
Ivan Čukić
2020: A void_t odyssey

C++ has always had a powerful meta-programming sub-language which allowed library developers to perform magical feats like static introspection to achieve polymorhpic execution without inheritance. The problem was that the syntax was awkward and unnecessarily verbose which made learning meta-programming a daunting task.

With the recent improvements to the standard, and with the features planned for C++20, meta-programming has become much easier, and meta-programs became easier to understand and reason about.

In this talk, we will present a few modern techniques of meta-programming, with main focus on the magical void_t meta-function.

Slides in pdf

21/04/18
Track A
13:45 - 14:45
Dietmar Kühl
Dietmar Kühl
Concept Based Testing

With concepts being added to the next revision of C++ it is expected that new concepts get defined. Each concept defines a set of operations used by generic code. One such use could be a generic test verifying that all parts of a concept are defined and checking generic interactions between a concept’s operations. Ideally, such a test even works with classes only partially modelling a concept to guide the implementation of classes.

This presentation doesn’t use the actual concept extensions but shows how generic tests can be created using features of C++17. For the generic tests the detection idiom and constexpr if are used to determine availability of required operations and gracefully dealing with the abseence of operations. The generic tests should be able to cover basics of classes modelling a concept. Obviously, specific behaviour for classes will still require corresponding tests.

Attendees are expected to be familiar basic C++. However, deep knowledge of template meta programming is not needed.

Slides in pdf

Schedule

Tickets

Great talks, useful workshops.
We also offer an option to attend us online.

Conference ticket

Two days tickets for main program 20-21 April

Workshop

One day intensive course: a lot of practise, personal work. A laptop is required.

Online

You can watch any talk online. The videos will remain available for two months

Social event

A dinner with speakers and some other attendees, 20 April, 8 p.m.

Buy ticket

Buy tickets

Platinum sponsor

Gold sponsors

Silver sponsors

Community sponsors

Contacts

Location: Saint Petersburg, Park Inn Pribaltiyskaya Hotel.

If you have any questions,
please ask them via phone or email

+7 (905) 292-77-13