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

20/04/18
Track A
16:00 - 17:00
Viktor Kirilov
Viktor Kirilov
Interactive C++ Compilation (REPL): The Lean Way

Ever wanted to modify some value or execute some statement while your C++ program is running just to test something out - not trivial or possible with a debugger? Scripting languages have a REPL (read-eval-print-loop). The closest thing C++ has is cling (developed by researchers at CERN) but it is built on top of LLVM and is very cumbersome to set up. RCRL (Read-Compile-Run-Loop) is a demo project showcasing an innovative approach to doing runtime C++ compilation in a platform and compiler agnostic way which can be easily embedded. In this presentation we will see how to use it, how it works and how it can be modified and integrated into any application and workflow.

Slides in pdf

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

20/04/18
Track B
17:00 - 18:00
Вадим Винник
Vadim Vinnik
Collection Processing. Single essence, multiple manifestations

Along the whole history of programming, sequential elementwise processing of various kinds of collections has been and still is one of the most common practical tasks. Internal representation of the collections, as well as the algorithm used to fetch subsequent elements, may vary in a very wide range: array, linked list, tree, hash table, file et al. However, behind the variety of idioms, standard library functions, ad-hoc solutions, one can reveal the essence that remains invariant for that whole class of tasks. This talk aims to show a step-by-step transition from algorithms based on explicit description of actions over individual elements towards high-level, declarative processing tools that treat a collection as an entity and adequately reveal the logic of the domain.

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

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

20/04/18
Track D
16:00 - 17:00
Herb Sutter
Herb Sutter
New in C++20: The spaceship operator (operator<=>)

The new operator<=> was recently adopted as a language feature for C++20. In this talk, the designer and author of the <=> proposal gives an overview of the feature, discusses its motivation and design, and walks through examples of how to use it. We give particular emphasis to how the feature makes C++ code cleaner to write and read, faster by avoiding redundant work, and more robust by avoiding several important but subtle pitfalls in the more brittle code we previously had to write by hand without this feature.

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