Конференция C++ Russia
Санкт-Петербург
19-21 апреля 2018

27
лучших докладчиков
1250
минут информации
для опытных
разработчиков

Конференция «C++ Russia» с блинами и матрёшками! Как всегда, лучшие докладчики
со всей страны на два дня. Конференция ориентирована на опытных разработчиков, никаких вводных лекций!

Место проведения: Санкт-Петербург, ул. Кораблестроителей, 14, гостиница Прибалтийская.

В течение года сообщество проводит встречи в разных городах России: Москве, Санкт-Петербурге, Новосибирске, Екатеринбурге, Нижнем Новгороде, Саратове.
На встречах выступают докладчики из разных городов и стран.

Открывать конференцию будет Jon Kalb, разработчик с 25-летним стажем
В течение этого времени успел поработать в Amazon, Microsoft, Netscape,
Yahoo и других компаниях. Jon -- организатор конференции CppCon. Автор книги
C++ Today: The Beast is Back.

Доклады

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 B
17:00 - 18:00
Вадим Винник
Вадим Винник
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 C
17:00 - 18:00
Павел Булатов
Павел Булатов
Переход на WebAssembly: стоит ли игра свеч?

В докладе пойдет речь о современном состоянии WebAssembly применительно к реальным продуктам. Мы расскажем о нашем опыте портирования приложения, о том, какие проблемы при этом возникли и как мы их решили.

Будут затронуты темы: • Поддержки стандарта на разных платформах и браузерах. • Производительности и размера сборки в сравнение с asm.js. • Взаимодействия с браузером. • Сборки крешей с пользователя. • Особенностей VM.

20/04/18
Track A
18:00 - 19:00
Andrei Alexandrescu
Andrei Alexandrescu
Fastware

Optimization — making code faster — is an essential ingredient of modern computing. The speed of light is limited, so we're unable to increase computer clock speed anymore; in other news, the matter is composed of discrete atoms so we can't make circuits much smaller than they already are. That means more speed for essential tasks — ranging from speech recognition to self-driving cars to General Artificial Intelligence — is to be found in people's minds.

This talk discusses, with simple examples, a few algorithm design principles that can be applied consistently to improve, or sometimes entirely redesign, algorithms for better performance.

21/04/18
Track B
12:45 - 13:45
Сергей Шамбир
Сергей Шамбир
Когда хорош процедурный C++

Чистая архитектура проекта, простые абстракции на каждом слое — мечта любой команды. Для воплощения этой мечты придумано много объектно-ориентированных приёмов. Увлекаясь ООП, разработчики забывают следить за чистотой кода на стыке C и C++. Именно здесь процедурный стиль поможет навести порядок, выстроить удобные и безопасные абстракции, которые легко стыкуются с объектно-ориентированным кодом проекта. Мы выясним:

  • почему вообще надо изолировать API на языке C (такой как winapi, POSIX, SQLite, OpenGL, OpenSSL)
  • почему ООП в этом деле работает плохо
  • как всё-таки написать слой абстракции поверх C-style API
  • как разобраться с колбеками, обработкой ошибок и управлением ресурсами, чтобы сделать традиционно сложный и запутанный код понятным даже для джуниора
20/04/18
Track C
13:45 - 14:45
Сергей Васильев
Сергей Васильев
Статический анализ: ищем ошибки... и уязвимости?

Новости об очередной найденной уязвимости регулярно всплывают то тут, то там. Сопутствующие потери $, как правило, колоссальны. Поэтому вместо исправления уязвимостей, следует не допускать их появления.

Один из способов борьбы с ошибками в коде – использование статического анализа. Но насколько он подходит для поиска уязвимостей? И так ли велика разница между простыми ошибками и уязвимостями с точки зрения кода?

Эти вопросы мы и обсудим в ходе доклада, а заодно поговорим о том, каким образом использовать статический анализ так, чтобы извлечь из него максимум пользы.

Slides in pptx

Программа

Первый день конференции 19 апреля -- это день мастер-классов. Вы можете посетить один четыре мастер-классов на ваш выбор. Обратите внимание: два мастер-класса проходят на английском языке. Мастер-класс это практическое занятие под руководством опытного программиста. Для работы вам понадобится ноутбук, более подробные требования есть в описании каждого мастер-класса. На этот день продаётся отдельный билет.

20/04/18
track atrack btrack ctrack d
09:00 - 10:00 Регистрация
10:00 - 12:00 Jon KalbC++ Today: The Beast is Back
12:00 - 12:45 Кофе-брейк
12:45 - 13:45 Arno SchödlFrom Iterators To Ranges — The Upcoming Evolution Of the Standard Library Borislav StanimirovDynaMix: A New Take on Polymorphism Дмитрий БанщиковРазделяемые библиотеки без внешних зависимостей Фёдор КороткийПамять – идеальная абстракция
13:45 - 14:45 Jonathan Boccara105 STL Algorithms in Less Than an Hour Mikhail MatrosovVersatile C++ applied Сергей ВасильевСтатический анализ: ищем ошибки... и уязвимости? Алексей СалминMemory Management Tips & Tricks
14:45 - 16:00 Обед
16:00 - 17:00 Viktor KirilovInteractive C++ Compilation (REPL): The Lean Way Александр ГранинФункциональный подход к Software Transactional Memory Илья ШишковКак научить языку C++: опыт создания курсов на Coursera Herb SutterNew in C++20: The spaceship operator (operator<=>)
17:00 - 18:00 Victor CiuraEnough string_view to hang ourselves Вадим ВинникCollection Processing. Single essence, multiple manifestations Иван ПономарёвCrash репорты Android NDK Анастасия КазаковаОтладка кода на C++, без запуска и компиляции
18:00 - 19:00 Andrei AlexandrescuFastware

Билеты

В этом году наших слушателей ждут
полезные мастерклассы, а для тех, кто не может приехать на
конференцию, мы как всегда организовали онлайн трансляцию. Присоединяйтесь!

Как всегда действует студенческая программа.
Для получения скидки пишите на
students@cpp-russia.ru

Входной билет

Посещение основной программы конференции 20-21 апреля

Мастер-класс

Однодневный интенсив, практика, индивидуальная работа. Необходим ноутбук.

Онлайн

Просмотр любого доклада. Записи докладов доступны в течение двух месяцев.

Ужин с докладчиками

Горячая пища и общение с докладчиками в неформальной обстановке. 20 апреля в 20.00

Купить билет

Перейтик заказу билетов

Platinum спонсор

Gold спонсоры

Silver спонсоры

Community спонсоры

Контакты

Место проведения: Санкт-Петербург, ул. Кораблестроителей, 14, гостиница Прибалтийская.

Если у Вас есть вопросы,
их можно задать по телефону или почте

+7 (905) 292-77-13