About the conference

C++ Russia is a two-day conference with several tracks of in-depth technical talks devoted to C++: concurrency, performance, architecture and infrastructure solutions — all you need to make your code more concise and productive.

Speakers

Nicolai Josuttis
Nicolai Josuttis Author of "The C++ Standard Library" and "C++ Templates"
Nicolai Josuttis is an independent systems architect, technical manager, author, and consultant. He designs mid-sized and...

Nicolai Josuttis is an independent systems architect, technical manager, author, and consultant. He designs mid-sized and large software systems for the telecommunication, traffic, finance, and manufacturing industries.

He is well known in the C++ Community for speaking and writing with authority about C++ (being the author of The C++ Standard Library and C++ Templates) but is also an innovative presenter.

He is an active member of C++ standardization committee for almost 20 years now.

Phil Nash
Phil Nash JetBrains
Phil is the author of the test frameworks Catch for C++ and Objective-C, and Swordfish for...

Phil is the author of the test frameworks Catch for C++ and Objective-C, and Swordfish for Swift. As Developer Advocate at JetBrains he's involved with CLion, AppCode and ReSharper C++. More generally he's an advocate for good testing practices, TDD and using the type system and functional techniques to reduce complexity and increase correctness. He's previously worked in Finance and Mobile as well as an independent consultant and coach specialising in TDD on iOS.

Aleksei Milovidov
Aleksei Milovidov Yandex
Education: - Moscow State University, department of Mechanics and Mathematics — specialist degree, mathematician (2003-2008); Work: [Yandex](https://yandex.com/company/) (2008-now): -...
Aleksei Milovidov

Education:

  • Moscow State University, department of Mechanics and Mathematics — specialist degree, mathematician (2003-2008);

Work: Yandex (2008-now):

  • software developer of Yandex Metrica engine (2008-2012);
  • head of Yandex Metrica engine development team (2012-2015);
  • head of ClickHouse development team (2015-now).
Antony Polukhin
Antony Polukhin Yandex.Taxi
A representative of Russia at the C++ Standardization Committee. Author of several accepted proposals to the...
Antony Polukhin

A representative of Russia at the C++ Standardization Committee. Author of several accepted proposals to the C++ standard.

Author of the Boost libraries: TypeIndex, DLL, Stacktrace; maintainer of Any, Conversion, LexicalCast, Variant.

Author of "Boost C++ Application Development Cookbook" and "Boost C++ Application Development Cookbook, Second Edition".

Mikhail Matrosov
Mikhail Matrosov Align Technology
Mikhail graduated from MSU Faculty of Computational Mathematics and Cybernetics and had been an employee there...

Mikhail graduated from MSU Faculty of Computational Mathematics and Cybernetics and had been an employee there in Computer Graphics and Multimedia Laboratory. He was working on image processing, computer vision, and color theory.

Currently Mikhail is an expert software engineer in Moscow R&D office of Align Technology. He develops specialized 3D CAD system for designing orthodontic appliances.

Frequent speaker on numerous conferences: SECR, C++ Russia, SECON, CppCon. Co-author of the course "Основы разработки на С++: коричневый пояс" ("C++ development basics: Brown belt") on Coursera, which was developed jointly with Yandex.

Valentin Ziegler
Valentin Ziegler think-cell
Valentin Ziegler is a senior software engineer at think-cell (Berlin), where he has been working for...
Valentin Ziegler

Valentin Ziegler is a senior software engineer at think-cell (Berlin), where he has been working for over 9,5 years. Valentin focuses on the development of layout algorithms and their integration with intuitive user interfaces. Recently, he became a member of DIN and is part of the German delegation in the ISO committee for the standardization of C++.

Timur Doumler
Timur Doumler
Timur Doumler is a C++ developer specialising in audio and music technology, member of the ISO...

Timur Doumler is a C++ developer specialising in audio and music technology, member of the ISO C++ committee, and program chair of the Audio Developer Conference (ADC). He is passionate about writing clean code, providing good tools, evolving the C++ language, and building inclusive communities.

Rainer Grimm
Rainer Grimm Modernes C++
Rainer Grimm has worked as a software architect, team lead and instructor for about 20 years....

Rainer Grimm has worked as a software architect, team lead and instructor for about 20 years. In his spare time he likes to write articles about C++, Python and Haskell, but he also likes to speak at conferences. He publishes very often on his blog "Modern C++". Now he is a trainer giving seminars to modern C++ and Python. His books "C++11 für Programmierer ", "C++", "C++-Standardbiliothek", and "The C++ Standard Library" were published by O'Reilly and Leanpub.

Alexander Granin
Alexander Granin
Haskell developer, likes functional programming. Speaker, writer, researcher....

Haskell developer, likes functional programming. Speaker, writer, researcher.

Alexey Malov
Alexey Malov iSpring
Chief Software Architect at iSpring. The author of the Object-Oriented Design and Computer Graphics courses at...

Chief Software Architect at iSpring. The author of the Object-Oriented Design and Computer Graphics courses at Volga State University of Technology.

Viktor Kirilov
Viktor Kirilov onqtam.com
With 6 years of professional experience with C++ in the games and VFX industries, Viktor currently...

With 6 years of professional experience with C++ in the games and VFX industries, Viktor currently spends his time writing open source software (since 01.01.2016) and occasionally doing some contract work. His latest work has been the implementation of hot code-reloading at runtime for the Nim programming language. He is also the author of doctest — "The fastest feature-rich C++11 single-header testing framework". His interests are the making of games and game engines, high performance code, data oriented design, cryptocurrencies, optimizing workflows and incorporating good practices in the software development process such as testing and the use of modern tools like static analysis or instrumentation. Viktor is from Sofia, Bulgaria and his profession is his hobby. Personal website: http://onqtam.com/

Vittorio Romeo
Vittorio Romeo Bloomberg L.P.
Vittorio is a Software Engineer at Bloomberg L.P. with a BS in Computer Science from Università...

Vittorio is a Software Engineer at Bloomberg L.P. with a BS in Computer Science from Università degli Studi di Messina.

He began programming at a very young age and is now a C++ enthusiast. While following and participating in the evolution of the C++ Standard and embracing the newest features, he worked on several open source projects, including modern general-purpose libraries and free cross-platform indie games.

Vittorio is an active member of the C++ community: he participated as a speaker in CppCon, C++Now, Meeting C++, ACCU, and ++it Florence. He currently maintains a technical blog revolving around C++, several open source projects, and an YouTube channel featuring modern C++ tutorials.

When he's not writing code, Vittorio enjoys weightlifting and fitness-related activities, competitive computer gaming and sci-fi movies/TV series.

Show all

Materials

Click on the title to read the talk description. All talks with their short descriptions are here.

Download program in pdf

Day 1. April 19

Time  & Track
Lecture
Track 1
Track 2
Track 3
09:00

Registration

10:00

Conference opening

10:30
10:30 Track 1
C++17 — the biggest traps
Nicolai Josuttis
Author of "The C++ Standard Library" and "C++ Templates"
#moderncpp  #practical 
For practicing engineers EN
12:00

Break

12:30
12:30 Track 1
Modern C++ allocators
Ruslan Arutyunyan
Intel
#moderncpp  #lowlevel 
For practicing engineers RU
12:30 Track 2
Metaprogramming evolution: The right way to work with type lists
Oleg Fatkhiev
Yandex
#metaprogramming  #moderncpp 
Hardcore. Really hard and demanding talk, you'll understand only if you're an experienced engineer. RU
12:30 Track 3
Know your hardware: CPU memory hierarchy
Alexander Titov
Intel
#lowlevel 
Introduction to technology EN
13:30

Lunch

14:30
14:30 Track 1
Compile time optimization
Kirill Tikhonov
DINS
#practical  #lowlevel 
Hardcore. Really hard and demanding talk, you'll understand only if you're an experienced engineer. RU
14:30 Track 2
Metaprogramming in game development
Anton Dunchev
Wargaming
#metaprogramming  #practical 
For practicing engineers RU
14:30 Track 3
Text formatting for a future range-based standard library
Valentin Ziegler
think-cell
#practical  #moderncpp 
Introduction to technology EN
15:30

Lunch

16:30
16:30 Track 1
Reactive C++
Alexander Schmidt
Artec 3D
#fp  #async 
Introduction to technology RU
16:30 Track 2
How we were upgrading compiler and supporting cross-platform software
Mikhail Matrosov
Align Technology
Alexander Voronkov
Align Technology
#practical  #infrastructure 
Introduction to technology RU
16:30 Track 3
Initialisation in modern C++
Timur Doumler
#moderncpp 
For practicing engineers EN
17:30

Break

18:00
18:00 Track 1
Move-only C++ design
Ivan Čukić
KDE e.V.
#moderncpp  #fp 
For practicing engineers EN
18:00 Track 3
Introduction to technology RU
19:00

Party

Day 2. April 20

Time  & Track
Lecture
Track 1
Track 2
Track 3
09:30

Registration

10:30
10:30 Track 1
Concurrency and parallelism in C++17 and C++20/23
Rainer Grimm
Modernes C++
#moderncpp  #async 
Introduction to technology EN
10:30 Track 2
Monadic parsers
Alexander Granin
#fp 
Hardcore. Really hard and demanding talk, you'll understand only if you're an experienced engineer. RU
10:30 Track 3
ABI compatibility is not a MAJOR problem
Javier García Sogo
JFrog/Conan
#infrastructure  #lowlevel 
For practicing engineers EN
11:30

Break

12:00
12:00 Track 1
Asynchronous C++ programming
Pavel Novikov
Align Technology
#moderncpp  #async 
For practicing engineers RU
12:00 Track 2
Rust programming language — ecosystem review
Ilya Bogdanov
Exonum, the Bitfury Group
#infrastructure  #rust 
Get ready, will burn RU
12:00 Track 3
The hitchhiker's guide to faster builds
Viktor Kirilov
onqtam.com
#build  #infrastructure 
For practicing engineers EN
13:00

Lunch

14:00
14:00 Track 1
Compiler-friendly metaprogramming
Andrey Davydov
JetBrains
#metaprogramming  #moderncpp 
Hardcore. Really hard and demanding talk, you'll understand only if you're an experienced engineer. RU
14:00 Track 2
C++ smart pointer cookbook
Alexey Malov
iSpring
#moderncpp 
Introduction to technology RU
14:00 Track 3
Higher-order functions and function_ref
Vittorio Romeo
Bloomberg L.P.
#moderncpp  #fp 
For practicing engineers EN
15:00

Lunch

16:00
16:00 Track 1
Concepts: simplifying implementation of std utility classes
Andrey Davydov
JetBrains
#metaprogramming 
Hardcore. Really hard and demanding talk, you'll understand only if you're an experienced engineer. RU
16:00 Track 2
Not so dull pointers in ClickHouse
Aleksei Milovidov
Yandex
#moderncpp  #practical 
For practicing engineers RU
16:00 Track 3
Postmodern immutable data structures
Juan Pedro Bolívar Puente
Independent consultant
#postmoderncpp  #fp  #moderncpp 
Hardcore. Really hard and demanding talk, you'll understand only if you're an experienced engineer. EN
17:00

Break

17:30
17:30 Track 1
The dawn of a new error
Phil Nash
JetBrains
#moderncpp 
For practicing engineers EN
17:30 Track 2
C++ templates and databases
Sergei Fedorov
Yandex.Taxi
#metaprogramming  #practical 
Hardcore. Really hard and demanding talk, you'll understand only if you're an experienced engineer. RU
17:30 Track 3
Metaclasses in C++: dream? Reality!
Sergei Sadovnikov
Kaspersky Lab
#futurecpp  #metaprogramming 
Hardcore. Really hard and demanding talk, you'll understand only if you're an experienced engineer. RU
18:30

Break

19:00
19:00 Track 1
Indispensible C++
Antony Polukhin
Yandex.Taxi
#practical 
Introduction to technology RU
20:00

Conference closing

Discussion zone

Discussion zone

Special areas to chat with speakers during the coffee breaks. No censorship, no panic, no time limit.

BOF sessions

BoF-sessions

Discussions with no leaders or speakers. The very secret place where the new ideas are born to define the future.

Program committee

Sergey Platonov
Sergey Platonov Tensor Technologies
C++ developer, organizer of C++ Siberia....

C++ developer, organizer of C++ Siberia.

Antony Polukhin
Antony Polukhin Yandex.Taxi
A representative of Russia at the C++ Standardization Committee. Author of several accepted proposals to the...
Antony Polukhin

A representative of Russia at the C++ Standardization Committee. Author of several accepted proposals to the C++ standard.

Author of the Boost libraries: TypeIndex, DLL, Stacktrace; maintainer of Any, Conversion, LexicalCast, Variant.

Author of "Boost C++ Application Development Cookbook" and "Boost C++ Application Development Cookbook, Second Edition".

Alexander Granin
Alexander Granin
Haskell developer, likes functional programming. Speaker, writer, researcher....

Haskell developer, likes functional programming. Speaker, writer, researcher.

Pavel Filonov
Pavel Filonov Kaspersky Lab
For more than 5 years Pavel is developing software in the IT security area. For more...
Pavel Filonov

For more than 5 years Pavel is developing software in the IT security area. For more than 3 years he is actively using data analysis methods to develop and implement machine learning techniques in IT security. Before starting his developer career, Pavel was a radiophysics researcher and a higher school teacher.

Anastasia Kazakova
Anastasia Kazakova JetBrains
As a C and C++ software developer, Anastasia Kazakova created real-time *nix-based systems and pushed them...

As a C and C++ software developer, Anastasia Kazakova created real-time *nix-based systems and pushed them to production for 8 years. She has a passion for networking algorithms and embedded programming and believes in good tooling. With all her love for C++, she is now the Product Marketing Manager on the JetBrains С++ team. Besides, Anastasia runs a C++ user group in Saint Petersburg, Russia.

Kristina Borodulina
Kristina Borodulina JUG.ru Group Program Coordinator
Kristina Borodulina

Anton Naumovich
Anton Naumovich SolarWinds
Senior manager in SolarWinds company. Organizer of C++ community CoreHard and QA community COMAQA. Took part in development...
Anton Naumovich

Senior manager in SolarWinds company.

Organizer of C++ community CoreHard and QA community COMAQA.

Took part in development of Hyper-V product in the past when working for Microsoft.

Among technical interests — architecture, performance, debugging.

Sponsors

The conference includes not only talks, but also booths of our partner companies, where you can get acquainted with developers from leading IT companies, take part in quizzes and prize draws, and listen to lightning talks.

Gold sponsors

Silver sponsors

Bronze sponsors

If you want to become a partner of our conference, please contact us via email: partners@cppconf.ru.