Доклады конференции С++ Russia 2020 Moscow

John Lakos Bloomberg LP
John Lakos
Bloomberg LP 
День 2 / 19:00  / Зал 2 / EN / Для практикующих инженеров

Introducing large-scale C++, volume I: Process and architecture

Drawing on his over 30 years of hands-on experience building massive, mission-critical enterprise systems, John Lakos — using never-before-seen excerpts from this glisteningly new volume — elucidates the essential value of (and several techniques needed for) creating and growing hierarchical reusable software, a.k.a. Software Capital, as the foundation for developing C++ software at virtually unbounded scale.

Victor Zverovich Facebook
Victor Zverovich
Facebook 
День 4 / 19:00  / Зал 2 / EN / Для практикующих инженеров

For your in<format>ion

In this talk Victor will give a comprehensive overview of the the {fmt} library and the C++20 formatting library based on it.

Анастасия Казакова JetBrains
Анастасия Казакова
JetBrains 
День 3 / 12:30  / Зал 1 / RU / Введение в технологию

Экосистема языка C++, новое пришествие

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

Mateusz Pusz EPAM Systems
Mateusz Pusz
EPAM Systems 
День 2 / 17:15  / Зал 2 / EN / Для практикующих инженеров

Rethinking the way we do templates in C++

In this talk Mateusz will summarize his experience and thoughts gathered during the implementation of the Physical Units Library for C++.

Елена Степанова Nokia
Елена Степанова
Nokia 
День 3 / 10:45  / Зал 1 / RU / Для практикующих инженеров

Как обновить компилятор и не тронуться

С чем придется столкнуться при обновлении компилятора на примере gcc и как сделать этот процесс менее болезненным.

Guy Davidson Creative Assembly
Guy Davidson
Creative Assembly 
День 2 / 17:15  / Зал 4 / EN / Академический доклад

Teaching linear algebra to C++

In this talk Guy will fully describe the operation of linear algebra classes and functions, and describe how to customize the objects for particular domains.

Роман Русяев Samsung
Роман Русяев
Samsung 
Антон Полухин Яндекс.Такси
Антон Полухин
Яндекс.Такси 
День 1 / 10:45  / Зал 1 / RU / Хардкор. Сложный низкоуровневый доклад, требующий от слушателя знаний технологии.

Настоящее и будущее copy elision

Антон и Роман расскажут о новом предложении в Стандарт — ultimate copy elision, и покажут, как он улучшит жизнь разработчиков на C++.

Danila Kutenin Google
Danila Kutenin
Google 
День 3 / 12:30  / Зал 3 / EN / Для практикующих инженеров

C++ STL best and worst performance features and how to learn from them

During this session Danila will consider the cases when C++ STL is fast and not enough — due to some standard reasons or compiler optimizations.

Евгений Захаров Wargaming
Евгений Захаров
Wargaming 
День 4 / 18:30  / Зал 1 / RU /

ECS в UI — правда или вымысел?

Юлия Головчанская Системы компьютерного зрения
Юлия Головчанская
Системы компьютерного зрения 
День 4 / 17:00  / Зал 2 / RU /

Открытие

Юрий Сыровецкий Яндекс
Юрий Сыровецкий
Яндекс 
День 4 / 17:15  / Зал 2 / RU / Введение в технологию

Нечёткое тестирование для чётких программистов

В этом докладе вас ждет разбор случайного тестирования, фаззинг, тестирование свойств, и их применение в KasperskyOS.

Вячеслав Борилин Лаборатория Касперского
Вячеслав Борилин
Лаборатория Касперского  
День 1 / 12:00  / Зал 1 / RU /

Поговорим про KasperskyOS

Вячеслав Борилин Лаборатория Касперского
Вячеслав Борилин
Лаборатория Касперского  
День 1 / 12:00  / Зал 2 / RU /

Поговорим про KasperskyOS

C++ Russia team
C++ Russia team
 
День 4 / 17:15  / Зал 1 / RU /

Дискуссия: Обучение C++

Вместе с приглашенными экспертами обсудим вопросы обучения языку С++.

Herb Sutter Microsoft
Herb Sutter
Microsoft 
День 4 / 19:00  / Зал 1 / EN /

Interview and Q&A with Herb Sutter

Кирилл Тихонов DINS
Кирилл Тихонов
DINS 
Антон Квятковский DINS
Антон Квятковский
DINS 
День 4 / 17:00  / Зал 3 / RU /

Открытие

Евгений Захаров Wargaming
Евгений Захаров
Wargaming 
День 4 / 18:30  / Зал 3 / RU /

ECS в UI — правда или вымысел?

Sergey Nepomnyachiy Bloomberg L.P.
Sergey Nepomnyachiy
Bloomberg L.P. 
День 3 / 12:30  / Зал 4 / EN / Для практикующих инженеров

Applying the "hourglass" principle in library design

Presenting a technique for assuring ABI compatibility for a closed-source library across environments and versions.

Павел Новиков Align Technology
Павел Новиков
Align Technology 
День 1 / 10:45  / Зал 2 / RU / Хардкор. Сложный низкоуровневый доклад, требующий от слушателя знаний технологии.

Учимся готовить C++ корутины на практике

Павел подробно расскажет о том, как именно работают корутины в C++, и что нужно сделать, чтобы начать просто и эффективно их использовать.

Evgeny Pats GitLab (Previously Fuzzit)
Evgeny Pats
GitLab (Previously Fuzzit) 
День 1 / 10:45  / Зал 3 / EN / Введение в технологию

Effective continuous fuzzing — C++

This talk will give an introduction how to write basic fuzz tests for your code. As well as how to integrate those fuzz tests into your CI. This talk also will give technical overview of how coverage guided fuzzing engines works in general.

Jason McGuiness Count-Zero Ltd
Jason McGuiness
Count-Zero Ltd 
День 1 / 12:30  / Зал 2 / EN / Для практикующих инженеров

A detailed performance analysis of a simple low-latency trading system

During this session you will hear about High-Frequency Trading (HFT) and its optimization, including tricks regarding coding and an extensive performance analysis.

Евгений Ерохин DINS
Евгений Ерохин
DINS 
День 3 / 10:45  / Зал 4 / RU / Хардкор. Сложный низкоуровневый доклад, требующий от слушателя знаний технологии.

Thread Local в C++ как он есть

Доклад посвящен такой устоявшейся фиче C++, как thread_local. Несмотря на то, что стандартизована она еще в C++11, мало кто понимает, что за машинерия за этим стоит. Как и в каких случаях мы получаем этот функционал бесплатно, а когда в ход идет тяжелая артиллерия.

Иван Афанасьев Align Technology
Иван Афанасьев
Align Technology 
День 1 / 10:45  / Зал 4 / RU / Для практикующих инженеров

std::to_string faster than light

Рассмотрим различные варианты ускорить std::to_string для целых чисел в libc++: через оптимизацию аллокаций, наивный алгоритм и std::to_chars. Обратим внимание, почему каждый из алгоритмов оказывается лучше предыдущего: пройдём путь от верхнеуровневых оптимизаций до инструкций.

Антон Квятковский DINS
Антон Квятковский
DINS 
День 3 / 10:45  / Зал 3 / RU / Хардкор. Сложный низкоуровневый доклад, требующий от слушателя знаний технологии.

Type loopholes in C++: Убербаг уровня стандарта

Пишем stateful-программы на этапе компиляции и разбираемся, как это работает.

Алексей Веселовский Align Technology
Алексей Веселовский
Align Technology 
День 2 / 19:00  / Зал 4 / RU / Для практикующих инженеров

Анатомия AddressSanitizer

Алексей расскажет о санитайзерах, без которых невозможно представить нынешнюю разработку на C++, и поделится всеми секретами работы с AddressSanitizer.

Денис Кормалев Amazon Robotics
Денис Кормалев
Amazon Robotics 
День 2 / 17:15  / Зал 3 / RU / Для практикующих инженеров

DIY: Thread pool своими руками

В стандартной библиотеке C++ до сих пор нет своего тредпула и не всегда удобно добавлять в проект большие зависимости, как Boost, TBB или Qt, только для возможности асинхронного запуска задач. Этот доклад посвящен созданию своего тред пула шаг за шагом с C++17 в качестве единственной зависимости.

Руслан Манаев Яндекс
Руслан Манаев
Яндекс 
День 2 / 19:00  / Зал 1 / RU / Для практикующих инженеров

Рефлексия настоящего и будущего

Руслан продемонстрирует разницу между статической и динамической рефлексией, а также познакомит нас со синтаксическими конструкциями из предложения в стандарт C++ P1717 и с его реализацией.

Вадим Винник SolarWinds MSP
Вадим Винник
SolarWinds MSP 
День 1 / 12:30  / Зал 1 / RU / Для практикующих инженеров

Три этюда о буферизации

Показано решение трёх задач, взятых из практики, обладающих двумя общими чертами: значения, используемые из различных потоков, передаются через промежуточное хранилище, и решения, которые сделаны универсальными, и допускают настройку на множество частных случаев.

Кирилл Тихонов DINS
Кирилл Тихонов
DINS 
Антон Квятковский DINS
Антон Квятковский
DINS 
День 4 / 17:00  / Зал 3 / RU /

Открытие

Михаил Кашкаров Samsung R&D Russia
Михаил Кашкаров
Samsung R&D Russia 
День 1 / 12:30  / Зал 3 / RU / Для практикующих инженеров

Применение санитайзеров для полного дистрибутива Linux

В этом докладе вы узнаете об опыте внедрения различных санитайзеров в крупномаштабные Linux-based проекты с последующим сопровождением.

Александр Гранин
Александр Гранин
 
День 1 / 12:30  / Зал 4 / RU / Хардкор. Сложный низкоуровневый доклад, требующий от слушателя знаний технологии.

Как в Haskell: Final Tagless и eDSL на концептах

В этом докладе мы будем имплементировать дизайн-подход из Haskell, известный как Final Tagless. Мы рассмотрим, что это такое, и как можно выразить Final Tagless с помощью концептов. Мы построим простой eDSL на FT и обсудим его свойства.

Алексей Миловидов Яндекс
Алексей Миловидов
Яндекс 
День 3 / 12:30  / Зал 2 / RU / Для практикующих инженеров

Как собирать переносимые бинарники для Linux

Софт под Linux часто распространяется собранным под конкретную версию конкретной системы. Вы собрали программу на своей машине, делаете SCP на сервер, но на сервере он не запускается. Как решить эту проблему? Есть множество альтернативных способов и про каждый Алексей расскажет в этом докладе.

Михаил Матросов Align Technology
Михаил Матросов
Align Technology 
День 3 / 10:45  / Зал 2 / RU / Для практикующих инженеров

Как объявить константу в С++?

В докладе мы рассмотрим, как выбирать спецификаторы static, inline и constexpr при объявлении константы. Отдельно разберём строковые константы и сравним разные способы их объявления. В итоге мы сформулируем универсальные рекомендации на все случаи жизни.

Евгений Захаров Wargaming
Евгений Захаров
Wargaming 
День 4 / 18:30  / Зал 4 / RU /

ECS в UI — правда или вымысел?

Андрей Карпов PVS-Studio
Андрей Карпов
PVS-Studio 
День 3 / 12:00  / Зал 4 / RU /

Статический анализ кода в 2020 году

Андрей Карпов PVS-Studio
Андрей Карпов
PVS-Studio 
День 3 / 12:00  / Зал 2 / RU /

Статический анализ кода в 2020 году

Сергей Козлов Лаборатория Касперского
Сергей Козлов
Лаборатория Касперского  
Евгений Алексеев Лаборатория Касперского
Евгений Алексеев
Лаборатория Касперского 
День 3 / 12:00  / Зал 3 / RU /

C++: Темная сторона

Сергей Козлов Лаборатория Касперского
Сергей Козлов
Лаборатория Касперского  
Евгений Алексеев Лаборатория Касперского
Евгений Алексеев
Лаборатория Касперского 
День 3 / 12:00  / Зал 1 / RU /

C++: Темная сторона

Кирилл Толкачёв JUG Ru Group
Кирилл Толкачёв
JUG Ru Group 
День 3 / 13:45  / Зал 4 / RU /

Закрытие

Юлия Головчанская Системы компьютерного зрения
Юлия Головчанская
Системы компьютерного зрения 
RU /

Закрытие

Юлия Головчанская Системы компьютерного зрения
Юлия Головчанская
Системы компьютерного зрения 
День 3 / 13:45  / Зал 2 / RU /

Закрытие

Вячеслав Борилин Лаборатория Касперского
Вячеслав Борилин
Лаборатория Касперского  
День 1 / 12:00  / Зал 3 / RU /

Поговорим про KasperskyOS

Кирилл Толкачёв JUG Ru Group
Кирилл Толкачёв
JUG Ru Group 
День 3 / 10:30  / Зал 4 / RU /

Открытие

Кирилл Тихонов DINS
Кирилл Тихонов
DINS 
Антон Квятковский DINS
Антон Квятковский
DINS 
День 3 / 10:30  / Зал 3 / RU /

Открытие

Юлия Головчанская Системы компьютерного зрения
Юлия Головчанская
Системы компьютерного зрения 
День 3 / 10:30  / Зал 2 / RU /

Открытие

Вячеслав Борилин Лаборатория Касперского
Вячеслав Борилин
Лаборатория Касперского  
День 1 / 12:00  / Зал 4 / RU /

Поговорим про KasperskyOS

JeanHeyd Meneide Shepherd's Oasis
JeanHeyd Meneide
Shepherd's Oasis 
День 2 / 19:00  / Зал 3 / EN / Для практикующих инженеров

Burning Silicon: Speed for transcoding in C++23

Getting speed, customization, and flexibility out of a text interface for C++23.

Алексей Ткаченко Пеленг
Алексей Ткаченко
Пеленг 
День 4 / 17:15  / Зал 3 / RU / Хардкор. Сложный низкоуровневый доклад, требующий от слушателя знаний технологии.

Имитация регистровых интерфейсов в embedded с помощью исключений

Алексей расскажет о некоторых необычных применениях методов защиты, реализованных в MMU, а именно о способах имитации взаимодействия аппаратного обеспечения с центральным процессором через регистровые файлы.

Евгений Строков Wargaming
Евгений Строков
Wargaming 
День 2 / 18:45  / Зал 2 / RU /

Генерация С++ кода из метаописания в игровой разработке

Евгений Строков Wargaming
Евгений Строков
Wargaming 
День 2 / 18:45  / Зал 3 / RU /

Генерация С++ кода из метаописания в игровой разработке

Евгений Строков Wargaming
Евгений Строков
Wargaming 
День 2 / 18:45  / Зал 4 / RU /

Генерация С++ кода из метаописания в игровой разработке

Особенности использования С++ в геймдеве на примере UE4. Другие примеры использования генерации кода в игровой индустрии — в MMO-проектах. Какие задачи в комплексе решаются в Wargaming Nexus. Результаты и выводы.

Евгений Строков Wargaming
Евгений Строков
Wargaming 
День 2 / 18:45  / Зал 1 / RU /

Генерация С++ кода из метаописания в игровой разработке

Максим Звягинцев PVS-Studio
Максим Звягинцев
PVS-Studio 
День 2 / 18:30  / Зал 2 / RU /

Примеры интересных багов, обнаруженных с помощью PVS-Studio

Максим Звягинцев PVS-Studio
Максим Звягинцев
PVS-Studio 
День 2 / 18:30  / Зал 3 / RU /

Примеры интересных багов, обнаруженных с помощью PVS-Studio

Максим Звягинцев PVS-Studio
Максим Звягинцев
PVS-Studio 
День 2 / 18:30  / Зал 4 / RU /

Примеры интересных багов, обнаруженных с помощью PVS-Studio

Максим Звягинцев PVS-Studio
Максим Звягинцев
PVS-Studio 
День 2 / 18:30  / Зал 1 / RU /

Примеры интересных багов, обнаруженных с помощью PVS-Studio

Bjarne Stroustrup Morgan Stanley
Bjarne Stroustrup
Morgan Stanley 
День 2 / 17:15  / Зал 1 / EN /

Interview and Q&A with Bjarne Stroustrup

Кирилл Толкачёв JUG Ru Group
Кирилл Толкачёв
JUG Ru Group 
День 2 / 20:15  / Зал 4 / RU /

Закрытие

Кирилл Тихонов DINS
Кирилл Тихонов
DINS 
Антон Квятковский DINS
Антон Квятковский
DINS 
День 2 / 20:15  / Зал 3 / RU /

Закрытие

Юлия Головчанская Системы компьютерного зрения
Юлия Головчанская
Системы компьютерного зрения 
День 2 / 20:15  / Зал 2 / RU /

Закрытие

Георгий  Грибков PVS-Studio
Георгий Грибков
PVS-Studio 
День 1 / 12:15  / Зал 1 / RU /

Онлайн-использование PVS-Studio с помощью Compiler Explorer

Кирилл Толкачёв JUG Ru Group
Кирилл Толкачёв
JUG Ru Group 
День 2 / 17:00  / Зал 4 / RU /

Открытие

Кирилл Тихонов DINS
Кирилл Тихонов
DINS 
Антон Квятковский DINS
Антон Квятковский
DINS 
День 2 / 17:00  / Зал 3 / RU /

Открытие

Юлия Головчанская Системы компьютерного зрения
Юлия Головчанская
Системы компьютерного зрения 
День 2 / 17:00  / Зал 2 / RU /

Открытие

Георгий  Грибков PVS-Studio
Георгий Грибков
PVS-Studio 
День 1 / 12:15  / Зал 4 / RU /

Онлайн-использование PVS-Studio с помощью Compiler Explorer

Кирилл Толкачёв JUG Ru Group
Кирилл Толкачёв
JUG Ru Group 
День 1 / 13:45  / Зал 4 / RU /

Закрытие

Кирилл Тихонов DINS
Кирилл Тихонов
DINS 
Антон Квятковский DINS
Антон Квятковский
DINS 
День 1 / 13:45  / Зал 3 / RU /

Закрытие

Юлия Головчанская Системы компьютерного зрения
Юлия Головчанская
Системы компьютерного зрения 
День 1 / 13:45  / Зал 2 / RU /

Закрытие

Георгий  Грибков PVS-Studio
Георгий Грибков
PVS-Studio 
День 1 / 12:15  / Зал 3 / RU /

Онлайн-использование PVS-Studio с помощью Compiler Explorer

Георгий  Грибков PVS-Studio
Георгий Грибков
PVS-Studio 
День 1 / 12:15  / Зал 2 / RU /

Онлайн-использование PVS-Studio с помощью Compiler Explorer

Кирилл Тихонов DINS
Кирилл Тихонов
DINS 
Антон Квятковский DINS
Антон Квятковский
DINS 
День 3 / 13:45  / Зал 3 / RU /

Закрытие

Евгений Захаров Wargaming
Евгений Захаров
Wargaming 
День 4 / 18:30  / Зал 2 / RU /

ECS в UI — правда или вымысел?