SlideShare a Scribd company logo
1 of 30
Download to read offline
1 / 30
C++Now 2017
Trip report
2 / 30
Что это такое?
●
Одна из популярняйших С++ конференций
●
Бывший BoostCon
●
Много докладов со всякими безумностями
●
Очень много общения между участниками
●
Крайне лояльная программа для студентов
3 / 30
Место проведения
●
Аспен, Колорадо, США.
4 / 30
Волонтёрство
●
Покрывает все расходы (все значит ВСЕ)
●
Попасть туда сложно без ачивок
●
Работа несложная
●
Организаторы помогают абсолютно со всем
●
Цель: привлечь людей в Boost
5 / 30
План мероприятия
●
Приехали, получили ништяки, говорим
●
LiTW, key talk, доклады, lightning talks, бар
●
Пикничок :-) (жаль, что только 1 раз...)
●
LiTW, key talk, доклады, lightning talks
●
Уезжаем/улетаем
6 / 30
Library in the week
●
Начинается в 8 утра - приходят самые
целеустремлённые
●
Веселья нет (в 8 утра никогда веселья нет)
●
Цель: генерация идей и поиск помощников
7 / 30
Какие библиотеки были?
●
Boost.Algorithm: apply_permutation,
weighted_shufe, search algorithms
●
std::unit
●
Ranges
●
Остальные мейнтейнеры просто не смогли
проснуться :-)
8 / 30
Boost.Algorithm
●
apply_permutation
– Применяет перестановку к вашим данным
●
weighted_shufe
– Взвешенный shufe, где веса задаются
пользователем
●
approximate_search prototypes
– Прототипы интерфейсов, набор алгоритмов
для бенчмаркинга
9 / 30
Примеры
vec{1, 2, 3, 4, 5}, order{4, 2, 3, 1, 0}
apply_permutation(vec, order)// vec:{5, 3, 4, 2, 1}
shufe_weighted(vec, order /*URBG*/)
// Some weighted shufe result
10 / 30
std::unit
●
Библиотека для работы с типами системы СИ
(Система Интернациональная)
●
Compile-time проверки при работе с типами
●
Корни от Boost.Units
●
Вестей с фронта пока что не слышно :-(
11 / 30
Ranges
●
Реклама
●
Пополнение примеров в библиотеке
12 / 30
О чём говорили?
●
Алгоритмы
●
Новые библиотеки
●
Билд-системы и генераторы
●
Эффективность кода
●
Особенности компиляторов и стандартных
библиотек
●
Как жить в Аспене с такими ценами???
13 / 30
Key talks
●
Что C++ может почерпнуть у других языков?
●
А что они могут почерпнуть у C++?
14 / 30
C++ vs Rust
●
Есть пакетный менеджер
●
Активно развивается
●
Borrow checker
●
Фичи появляются быстрее
15 / 30
C++ vs D
●
Отключаемый сборщик мусора
●
Compile-time вычисления
●
Язык „работа над ошибками“ C++
16 / 30
C++ vs Haskell
●
Легко параллелить
●
Меньше кода
●
???
17 / 30
Топовые доклады (ИМХО)
●
Constexpr ALL things
●
Local („Arena“) memory allocators
●
C++20 Language Features for a new library
●
Effective CMake
●
C++11‘s Quiet Little Gem: <system_error>
●
Fun with Boost.Hana
●
Sorting in less than O(n log n)
18 / 30
Constexpr ALL things
●
Пишите везде constexpr
●
Ай-яй-яй, в STL не хватает constexpr
●
А мы вот сделали очередной constexpr_string,
constexpr_map, и т.д.
●
А ещё даже написали constexpr JSON парсер!
●
Кхм-кхм, кто-то смог сделать
constexpr_allocator и мы зря старались???
19 / 30
Аллокаторы
●
Аллокаторы нужны и важны
●
Показали, чего можно достичь и какими
путями
●
А самое главное – показали адекватную
методологию сравнения аллокаторов
20 / 30
std2
●
Аж 3 доклада
●
Рассадник холивара
●
Чего именно хотим от std2
●
Боязнь повторения истории Python 2/3
21 / 30
Efective Caake
●
Cmake становится родным для С++
●
Очень много людей не умеет с ним работать
●
Даже Boost перекатывается на Cmake
●
После доклада вы будете уметь готовить
CMake
22 / 30
<system_error>
●
Боитесь исключений?
●
Нет исключений?
●
Приходится работать с кодами ошибок?
●
Тогда это ваш выбор!
23 / 30
Boost.Hana
●
Посмотреть на метапрограммиста вживую
●
Попытаться поговорить с ним
●
Попытаться понять, что он говорит
●
Выйти на свежий воздух отдохнуть от его
страшной магии
24 / 30
Sorting
●
Доклад для „алгоритмистов“
●
Познакомиться с более быстрыми методами
сортировки
●
Понять, что даже Boost.Sort далеко не идеал
25 / 30
Разговоры про Boost
●
Тотальная CMake‘фикация Boost
●
Boost.Beast
●
Boost 2.0 (наслушались про std2)
●
Вливание новых разработчиков
●
Поддержка инфраструктуры
26 / 30
Обсуждение предложений в
Стандарт
●
Было много
●
Было интересно
●
Шанс побыть на мини-заседании комитета
27 / 30
Lightning talks
●
Безудержное веселье!
●
За 5 минут тоже можно что-то рассказать
●
В основном для отдыха после тяжёлого дня
сплошных докладов
28 / 30
Почему стоит посетить
●
Уютная атмосфера маленькой конференции
●
Познакомиться с очень интересными людьми
●
Отдохнуть
●
Научиться чему-то новому
●
Посмотреть на медведей в дикой природе
29 / 30
Полезные ссылки
●
http://cppnow.org/
●
Cpplang.slack.com - обсуждалочка
●
Google (keywords: open-std, youtube cppcon)
30 / 30
Внимание!
Спасибо за внимание :-)

More Related Content

Viewers also liked

(Не)чёткий поиск
(Не)чёткий поиск(Не)чёткий поиск
(Не)чёткий поискcorehard_by
 
Ускоряем сборку С++ проектов. Практика использования unity-сборок
Ускоряем сборку С++ проектов. Практика использования unity-сборокУскоряем сборку С++ проектов. Практика использования unity-сборок
Ускоряем сборку С++ проектов. Практика использования unity-сборокcorehard_by
 
Analysis and interpretation of monitoring data
Analysis and interpretation of monitoring dataAnalysis and interpretation of monitoring data
Analysis and interpretation of monitoring datacorehard_by
 
Restinio - header-only http and websocket server
Restinio - header-only http and websocket serverRestinio - header-only http and websocket server
Restinio - header-only http and websocket servercorehard_by
 
MxxRu::externals: Repositoryless Dependency Manager
MxxRu::externals: Repositoryless Dependency ManagerMxxRu::externals: Repositoryless Dependency Manager
MxxRu::externals: Repositoryless Dependency Managercorehard_by
 
C++ в играх, больших и не очень
C++ в играх, больших и не оченьC++ в играх, больших и не очень
C++ в играх, больших и не оченьcorehard_by
 
Субъекторная модель
Субъекторная модельСубъекторная модель
Субъекторная модельcorehard_by
 
Actors for fun and profit
Actors for fun and profitActors for fun and profit
Actors for fun and profitcorehard_by
 
Обработка потока данных на примере deep packet inspection: внутренняя архитек...
Обработка потока данных на примере deep packet inspection: внутренняя архитек...Обработка потока данных на примере deep packet inspection: внутренняя архитек...
Обработка потока данных на примере deep packet inspection: внутренняя архитек...corehard_by
 
Abseil - let the savior come?
Abseil - let the savior come?Abseil - let the savior come?
Abseil - let the savior come?corehard_by
 
The beast is becoming functional
The beast is becoming functionalThe beast is becoming functional
The beast is becoming functionalcorehard_by
 
C++ in kernel mode
C++ in kernel modeC++ in kernel mode
C++ in kernel modecorehard_by
 
Mixing C++ & Python II: Pybind11
Mixing C++ & Python II: Pybind11Mixing C++ & Python II: Pybind11
Mixing C++ & Python II: Pybind11corehard_by
 
C++ and Assembly: Debugging and Reverse Engineering
C++ and Assembly: Debugging and Reverse EngineeringC++ and Assembly: Debugging and Reverse Engineering
C++ and Assembly: Debugging and Reverse Engineeringcorehard_by
 
Battle: BDD vs notBDD
Battle: BDD vs notBDDBattle: BDD vs notBDD
Battle: BDD vs notBDDCOMAQA.BY
 
Слои тестового фрамеворка. Что? Где? Когда?
Слои тестового фрамеворка. Что? Где? Когда?Слои тестового фрамеворка. Что? Где? Когда?
Слои тестового фрамеворка. Что? Где? Когда?COMAQA.BY
 
Метаданные для кластера: гонка key-value-героев / Руслан Рагимов, Светлана Ла...
Метаданные для кластера: гонка key-value-героев / Руслан Рагимов, Светлана Ла...Метаданные для кластера: гонка key-value-героев / Руслан Рагимов, Светлана Ла...
Метаданные для кластера: гонка key-value-героев / Руслан Рагимов, Светлана Ла...Ontico
 
Честное перформанс-тестирование / Дмитрий Пивоваров (ZeroTurnaround)
Честное перформанс-тестирование / Дмитрий Пивоваров (ZeroTurnaround)Честное перформанс-тестирование / Дмитрий Пивоваров (ZeroTurnaround)
Честное перформанс-тестирование / Дмитрий Пивоваров (ZeroTurnaround)Ontico
 
Развитие или смерть
Развитие или смертьРазвитие или смерть
Развитие или смертьCOMAQA.BY
 

Viewers also liked (20)

(Не)чёткий поиск
(Не)чёткий поиск(Не)чёткий поиск
(Не)чёткий поиск
 
Ускоряем сборку С++ проектов. Практика использования unity-сборок
Ускоряем сборку С++ проектов. Практика использования unity-сборокУскоряем сборку С++ проектов. Практика использования unity-сборок
Ускоряем сборку С++ проектов. Практика использования unity-сборок
 
Analysis and interpretation of monitoring data
Analysis and interpretation of monitoring dataAnalysis and interpretation of monitoring data
Analysis and interpretation of monitoring data
 
Restinio - header-only http and websocket server
Restinio - header-only http and websocket serverRestinio - header-only http and websocket server
Restinio - header-only http and websocket server
 
MxxRu::externals: Repositoryless Dependency Manager
MxxRu::externals: Repositoryless Dependency ManagerMxxRu::externals: Repositoryless Dependency Manager
MxxRu::externals: Repositoryless Dependency Manager
 
C++ в играх, больших и не очень
C++ в играх, больших и не оченьC++ в играх, больших и не очень
C++ в играх, больших и не очень
 
Субъекторная модель
Субъекторная модельСубъекторная модель
Субъекторная модель
 
Actors for fun and profit
Actors for fun and profitActors for fun and profit
Actors for fun and profit
 
Обработка потока данных на примере deep packet inspection: внутренняя архитек...
Обработка потока данных на примере deep packet inspection: внутренняя архитек...Обработка потока данных на примере deep packet inspection: внутренняя архитек...
Обработка потока данных на примере deep packet inspection: внутренняя архитек...
 
Abseil - let the savior come?
Abseil - let the savior come?Abseil - let the savior come?
Abseil - let the savior come?
 
The beast is becoming functional
The beast is becoming functionalThe beast is becoming functional
The beast is becoming functional
 
Benchmark it
Benchmark itBenchmark it
Benchmark it
 
C++ in kernel mode
C++ in kernel modeC++ in kernel mode
C++ in kernel mode
 
Mixing C++ & Python II: Pybind11
Mixing C++ & Python II: Pybind11Mixing C++ & Python II: Pybind11
Mixing C++ & Python II: Pybind11
 
C++ and Assembly: Debugging and Reverse Engineering
C++ and Assembly: Debugging and Reverse EngineeringC++ and Assembly: Debugging and Reverse Engineering
C++ and Assembly: Debugging and Reverse Engineering
 
Battle: BDD vs notBDD
Battle: BDD vs notBDDBattle: BDD vs notBDD
Battle: BDD vs notBDD
 
Слои тестового фрамеворка. Что? Где? Когда?
Слои тестового фрамеворка. Что? Где? Когда?Слои тестового фрамеворка. Что? Где? Когда?
Слои тестового фрамеворка. Что? Где? Когда?
 
Метаданные для кластера: гонка key-value-героев / Руслан Рагимов, Светлана Ла...
Метаданные для кластера: гонка key-value-героев / Руслан Рагимов, Светлана Ла...Метаданные для кластера: гонка key-value-героев / Руслан Рагимов, Светлана Ла...
Метаданные для кластера: гонка key-value-героев / Руслан Рагимов, Светлана Ла...
 
Честное перформанс-тестирование / Дмитрий Пивоваров (ZeroTurnaround)
Честное перформанс-тестирование / Дмитрий Пивоваров (ZeroTurnaround)Честное перформанс-тестирование / Дмитрий Пивоваров (ZeroTurnaround)
Честное перформанс-тестирование / Дмитрий Пивоваров (ZeroTurnaround)
 
Развитие или смерть
Развитие или смертьРазвитие или смерть
Развитие или смерть
 

More from corehard_by

C++ CoreHard Autumn 2018. Создание пакетов для открытых библиотек через conan...
C++ CoreHard Autumn 2018. Создание пакетов для открытых библиотек через conan...C++ CoreHard Autumn 2018. Создание пакетов для открытых библиотек через conan...
C++ CoreHard Autumn 2018. Создание пакетов для открытых библиотек через conan...corehard_by
 
C++ CoreHard Autumn 2018. Что должен знать каждый C++ программист или Как про...
C++ CoreHard Autumn 2018. Что должен знать каждый C++ программист или Как про...C++ CoreHard Autumn 2018. Что должен знать каждый C++ программист или Как про...
C++ CoreHard Autumn 2018. Что должен знать каждый C++ программист или Как про...corehard_by
 
C++ CoreHard Autumn 2018. Actors vs CSP vs Tasks vs ... - Евгений Охотников
C++ CoreHard Autumn 2018. Actors vs CSP vs Tasks vs ... - Евгений ОхотниковC++ CoreHard Autumn 2018. Actors vs CSP vs Tasks vs ... - Евгений Охотников
C++ CoreHard Autumn 2018. Actors vs CSP vs Tasks vs ... - Евгений Охотниковcorehard_by
 
C++ CoreHard Autumn 2018. Знай свое "железо": иерархия памяти - Александр Титов
C++ CoreHard Autumn 2018. Знай свое "железо": иерархия памяти - Александр ТитовC++ CoreHard Autumn 2018. Знай свое "железо": иерархия памяти - Александр Титов
C++ CoreHard Autumn 2018. Знай свое "железо": иерархия памяти - Александр Титовcorehard_by
 
C++ CoreHard Autumn 2018. Информационная безопасность и разработка ПО - Евген...
C++ CoreHard Autumn 2018. Информационная безопасность и разработка ПО - Евген...C++ CoreHard Autumn 2018. Информационная безопасность и разработка ПО - Евген...
C++ CoreHard Autumn 2018. Информационная безопасность и разработка ПО - Евген...corehard_by
 
C++ CoreHard Autumn 2018. Заглядываем под капот «Поясов по C++» - Илья Шишков
C++ CoreHard Autumn 2018. Заглядываем под капот «Поясов по C++» - Илья ШишковC++ CoreHard Autumn 2018. Заглядываем под капот «Поясов по C++» - Илья Шишков
C++ CoreHard Autumn 2018. Заглядываем под капот «Поясов по C++» - Илья Шишковcorehard_by
 
C++ CoreHard Autumn 2018. Ускорение сборки C++ проектов, способы и последстви...
C++ CoreHard Autumn 2018. Ускорение сборки C++ проектов, способы и последстви...C++ CoreHard Autumn 2018. Ускорение сборки C++ проектов, способы и последстви...
C++ CoreHard Autumn 2018. Ускорение сборки C++ проектов, способы и последстви...corehard_by
 
C++ CoreHard Autumn 2018. Метаклассы: воплощаем мечты в реальность - Сергей С...
C++ CoreHard Autumn 2018. Метаклассы: воплощаем мечты в реальность - Сергей С...C++ CoreHard Autumn 2018. Метаклассы: воплощаем мечты в реальность - Сергей С...
C++ CoreHard Autumn 2018. Метаклассы: воплощаем мечты в реальность - Сергей С...corehard_by
 
C++ CoreHard Autumn 2018. Что не умеет оптимизировать компилятор - Александр ...
C++ CoreHard Autumn 2018. Что не умеет оптимизировать компилятор - Александр ...C++ CoreHard Autumn 2018. Что не умеет оптимизировать компилятор - Александр ...
C++ CoreHard Autumn 2018. Что не умеет оптимизировать компилятор - Александр ...corehard_by
 
C++ CoreHard Autumn 2018. Кодогенерация C++ кроссплатформенно. Продолжение - ...
C++ CoreHard Autumn 2018. Кодогенерация C++ кроссплатформенно. Продолжение - ...C++ CoreHard Autumn 2018. Кодогенерация C++ кроссплатформенно. Продолжение - ...
C++ CoreHard Autumn 2018. Кодогенерация C++ кроссплатформенно. Продолжение - ...corehard_by
 
C++ CoreHard Autumn 2018. Concurrency and Parallelism in C++17 and C++20/23 -...
C++ CoreHard Autumn 2018. Concurrency and Parallelism in C++17 and C++20/23 -...C++ CoreHard Autumn 2018. Concurrency and Parallelism in C++17 and C++20/23 -...
C++ CoreHard Autumn 2018. Concurrency and Parallelism in C++17 and C++20/23 -...corehard_by
 
C++ CoreHard Autumn 2018. Обработка списков на C++ в функциональном стиле - В...
C++ CoreHard Autumn 2018. Обработка списков на C++ в функциональном стиле - В...C++ CoreHard Autumn 2018. Обработка списков на C++ в функциональном стиле - В...
C++ CoreHard Autumn 2018. Обработка списков на C++ в функциональном стиле - В...corehard_by
 
C++ Corehard Autumn 2018. Обучаем на Python, применяем на C++ - Павел Филонов
C++ Corehard Autumn 2018. Обучаем на Python, применяем на C++ - Павел ФилоновC++ Corehard Autumn 2018. Обучаем на Python, применяем на C++ - Павел Филонов
C++ Corehard Autumn 2018. Обучаем на Python, применяем на C++ - Павел Филоновcorehard_by
 
C++ CoreHard Autumn 2018. Asynchronous programming with ranges - Ivan Čukić
C++ CoreHard Autumn 2018. Asynchronous programming with ranges - Ivan ČukićC++ CoreHard Autumn 2018. Asynchronous programming with ranges - Ivan Čukić
C++ CoreHard Autumn 2018. Asynchronous programming with ranges - Ivan Čukićcorehard_by
 
C++ CoreHard Autumn 2018. Debug C++ Without Running - Anastasia Kazakova
C++ CoreHard Autumn 2018. Debug C++ Without Running - Anastasia KazakovaC++ CoreHard Autumn 2018. Debug C++ Without Running - Anastasia Kazakova
C++ CoreHard Autumn 2018. Debug C++ Without Running - Anastasia Kazakovacorehard_by
 
C++ CoreHard Autumn 2018. Полезный constexpr - Антон Полухин
C++ CoreHard Autumn 2018. Полезный constexpr - Антон ПолухинC++ CoreHard Autumn 2018. Полезный constexpr - Антон Полухин
C++ CoreHard Autumn 2018. Полезный constexpr - Антон Полухинcorehard_by
 
C++ CoreHard Autumn 2018. Text Formatting For a Future Range-Based Standard L...
C++ CoreHard Autumn 2018. Text Formatting For a Future Range-Based Standard L...C++ CoreHard Autumn 2018. Text Formatting For a Future Range-Based Standard L...
C++ CoreHard Autumn 2018. Text Formatting For a Future Range-Based Standard L...corehard_by
 
Исключительная модель памяти. Алексей Ткаченко ➠ CoreHard Autumn 2019
Исключительная модель памяти. Алексей Ткаченко ➠ CoreHard Autumn 2019Исключительная модель памяти. Алексей Ткаченко ➠ CoreHard Autumn 2019
Исключительная модель памяти. Алексей Ткаченко ➠ CoreHard Autumn 2019corehard_by
 
Как помочь и как помешать компилятору. Андрей Олейников ➠ CoreHard Autumn 2019
Как помочь и как помешать компилятору. Андрей Олейников ➠  CoreHard Autumn 2019Как помочь и как помешать компилятору. Андрей Олейников ➠  CoreHard Autumn 2019
Как помочь и как помешать компилятору. Андрей Олейников ➠ CoreHard Autumn 2019corehard_by
 
Автоматизируй это. Кирилл Тихонов ➠ CoreHard Autumn 2019
Автоматизируй это. Кирилл Тихонов ➠  CoreHard Autumn 2019Автоматизируй это. Кирилл Тихонов ➠  CoreHard Autumn 2019
Автоматизируй это. Кирилл Тихонов ➠ CoreHard Autumn 2019corehard_by
 

More from corehard_by (20)

C++ CoreHard Autumn 2018. Создание пакетов для открытых библиотек через conan...
C++ CoreHard Autumn 2018. Создание пакетов для открытых библиотек через conan...C++ CoreHard Autumn 2018. Создание пакетов для открытых библиотек через conan...
C++ CoreHard Autumn 2018. Создание пакетов для открытых библиотек через conan...
 
C++ CoreHard Autumn 2018. Что должен знать каждый C++ программист или Как про...
C++ CoreHard Autumn 2018. Что должен знать каждый C++ программист или Как про...C++ CoreHard Autumn 2018. Что должен знать каждый C++ программист или Как про...
C++ CoreHard Autumn 2018. Что должен знать каждый C++ программист или Как про...
 
C++ CoreHard Autumn 2018. Actors vs CSP vs Tasks vs ... - Евгений Охотников
C++ CoreHard Autumn 2018. Actors vs CSP vs Tasks vs ... - Евгений ОхотниковC++ CoreHard Autumn 2018. Actors vs CSP vs Tasks vs ... - Евгений Охотников
C++ CoreHard Autumn 2018. Actors vs CSP vs Tasks vs ... - Евгений Охотников
 
C++ CoreHard Autumn 2018. Знай свое "железо": иерархия памяти - Александр Титов
C++ CoreHard Autumn 2018. Знай свое "железо": иерархия памяти - Александр ТитовC++ CoreHard Autumn 2018. Знай свое "железо": иерархия памяти - Александр Титов
C++ CoreHard Autumn 2018. Знай свое "железо": иерархия памяти - Александр Титов
 
C++ CoreHard Autumn 2018. Информационная безопасность и разработка ПО - Евген...
C++ CoreHard Autumn 2018. Информационная безопасность и разработка ПО - Евген...C++ CoreHard Autumn 2018. Информационная безопасность и разработка ПО - Евген...
C++ CoreHard Autumn 2018. Информационная безопасность и разработка ПО - Евген...
 
C++ CoreHard Autumn 2018. Заглядываем под капот «Поясов по C++» - Илья Шишков
C++ CoreHard Autumn 2018. Заглядываем под капот «Поясов по C++» - Илья ШишковC++ CoreHard Autumn 2018. Заглядываем под капот «Поясов по C++» - Илья Шишков
C++ CoreHard Autumn 2018. Заглядываем под капот «Поясов по C++» - Илья Шишков
 
C++ CoreHard Autumn 2018. Ускорение сборки C++ проектов, способы и последстви...
C++ CoreHard Autumn 2018. Ускорение сборки C++ проектов, способы и последстви...C++ CoreHard Autumn 2018. Ускорение сборки C++ проектов, способы и последстви...
C++ CoreHard Autumn 2018. Ускорение сборки C++ проектов, способы и последстви...
 
C++ CoreHard Autumn 2018. Метаклассы: воплощаем мечты в реальность - Сергей С...
C++ CoreHard Autumn 2018. Метаклассы: воплощаем мечты в реальность - Сергей С...C++ CoreHard Autumn 2018. Метаклассы: воплощаем мечты в реальность - Сергей С...
C++ CoreHard Autumn 2018. Метаклассы: воплощаем мечты в реальность - Сергей С...
 
C++ CoreHard Autumn 2018. Что не умеет оптимизировать компилятор - Александр ...
C++ CoreHard Autumn 2018. Что не умеет оптимизировать компилятор - Александр ...C++ CoreHard Autumn 2018. Что не умеет оптимизировать компилятор - Александр ...
C++ CoreHard Autumn 2018. Что не умеет оптимизировать компилятор - Александр ...
 
C++ CoreHard Autumn 2018. Кодогенерация C++ кроссплатформенно. Продолжение - ...
C++ CoreHard Autumn 2018. Кодогенерация C++ кроссплатформенно. Продолжение - ...C++ CoreHard Autumn 2018. Кодогенерация C++ кроссплатформенно. Продолжение - ...
C++ CoreHard Autumn 2018. Кодогенерация C++ кроссплатформенно. Продолжение - ...
 
C++ CoreHard Autumn 2018. Concurrency and Parallelism in C++17 and C++20/23 -...
C++ CoreHard Autumn 2018. Concurrency and Parallelism in C++17 and C++20/23 -...C++ CoreHard Autumn 2018. Concurrency and Parallelism in C++17 and C++20/23 -...
C++ CoreHard Autumn 2018. Concurrency and Parallelism in C++17 and C++20/23 -...
 
C++ CoreHard Autumn 2018. Обработка списков на C++ в функциональном стиле - В...
C++ CoreHard Autumn 2018. Обработка списков на C++ в функциональном стиле - В...C++ CoreHard Autumn 2018. Обработка списков на C++ в функциональном стиле - В...
C++ CoreHard Autumn 2018. Обработка списков на C++ в функциональном стиле - В...
 
C++ Corehard Autumn 2018. Обучаем на Python, применяем на C++ - Павел Филонов
C++ Corehard Autumn 2018. Обучаем на Python, применяем на C++ - Павел ФилоновC++ Corehard Autumn 2018. Обучаем на Python, применяем на C++ - Павел Филонов
C++ Corehard Autumn 2018. Обучаем на Python, применяем на C++ - Павел Филонов
 
C++ CoreHard Autumn 2018. Asynchronous programming with ranges - Ivan Čukić
C++ CoreHard Autumn 2018. Asynchronous programming with ranges - Ivan ČukićC++ CoreHard Autumn 2018. Asynchronous programming with ranges - Ivan Čukić
C++ CoreHard Autumn 2018. Asynchronous programming with ranges - Ivan Čukić
 
C++ CoreHard Autumn 2018. Debug C++ Without Running - Anastasia Kazakova
C++ CoreHard Autumn 2018. Debug C++ Without Running - Anastasia KazakovaC++ CoreHard Autumn 2018. Debug C++ Without Running - Anastasia Kazakova
C++ CoreHard Autumn 2018. Debug C++ Without Running - Anastasia Kazakova
 
C++ CoreHard Autumn 2018. Полезный constexpr - Антон Полухин
C++ CoreHard Autumn 2018. Полезный constexpr - Антон ПолухинC++ CoreHard Autumn 2018. Полезный constexpr - Антон Полухин
C++ CoreHard Autumn 2018. Полезный constexpr - Антон Полухин
 
C++ CoreHard Autumn 2018. Text Formatting For a Future Range-Based Standard L...
C++ CoreHard Autumn 2018. Text Formatting For a Future Range-Based Standard L...C++ CoreHard Autumn 2018. Text Formatting For a Future Range-Based Standard L...
C++ CoreHard Autumn 2018. Text Formatting For a Future Range-Based Standard L...
 
Исключительная модель памяти. Алексей Ткаченко ➠ CoreHard Autumn 2019
Исключительная модель памяти. Алексей Ткаченко ➠ CoreHard Autumn 2019Исключительная модель памяти. Алексей Ткаченко ➠ CoreHard Autumn 2019
Исключительная модель памяти. Алексей Ткаченко ➠ CoreHard Autumn 2019
 
Как помочь и как помешать компилятору. Андрей Олейников ➠ CoreHard Autumn 2019
Как помочь и как помешать компилятору. Андрей Олейников ➠  CoreHard Autumn 2019Как помочь и как помешать компилятору. Андрей Олейников ➠  CoreHard Autumn 2019
Как помочь и как помешать компилятору. Андрей Олейников ➠ CoreHard Autumn 2019
 
Автоматизируй это. Кирилл Тихонов ➠ CoreHard Autumn 2019
Автоматизируй это. Кирилл Тихонов ➠  CoreHard Autumn 2019Автоматизируй это. Кирилл Тихонов ➠  CoreHard Autumn 2019
Автоматизируй это. Кирилл Тихонов ➠ CoreHard Autumn 2019
 

C++Now Trip Report

  • 1. 1 / 30 C++Now 2017 Trip report
  • 2. 2 / 30 Что это такое? ● Одна из популярняйших С++ конференций ● Бывший BoostCon ● Много докладов со всякими безумностями ● Очень много общения между участниками ● Крайне лояльная программа для студентов
  • 3. 3 / 30 Место проведения ● Аспен, Колорадо, США.
  • 4. 4 / 30 Волонтёрство ● Покрывает все расходы (все значит ВСЕ) ● Попасть туда сложно без ачивок ● Работа несложная ● Организаторы помогают абсолютно со всем ● Цель: привлечь людей в Boost
  • 5. 5 / 30 План мероприятия ● Приехали, получили ништяки, говорим ● LiTW, key talk, доклады, lightning talks, бар ● Пикничок :-) (жаль, что только 1 раз...) ● LiTW, key talk, доклады, lightning talks ● Уезжаем/улетаем
  • 6. 6 / 30 Library in the week ● Начинается в 8 утра - приходят самые целеустремлённые ● Веселья нет (в 8 утра никогда веселья нет) ● Цель: генерация идей и поиск помощников
  • 7. 7 / 30 Какие библиотеки были? ● Boost.Algorithm: apply_permutation, weighted_shufe, search algorithms ● std::unit ● Ranges ● Остальные мейнтейнеры просто не смогли проснуться :-)
  • 8. 8 / 30 Boost.Algorithm ● apply_permutation – Применяет перестановку к вашим данным ● weighted_shufe – Взвешенный shufe, где веса задаются пользователем ● approximate_search prototypes – Прототипы интерфейсов, набор алгоритмов для бенчмаркинга
  • 9. 9 / 30 Примеры vec{1, 2, 3, 4, 5}, order{4, 2, 3, 1, 0} apply_permutation(vec, order)// vec:{5, 3, 4, 2, 1} shufe_weighted(vec, order /*URBG*/) // Some weighted shufe result
  • 10. 10 / 30 std::unit ● Библиотека для работы с типами системы СИ (Система Интернациональная) ● Compile-time проверки при работе с типами ● Корни от Boost.Units ● Вестей с фронта пока что не слышно :-(
  • 11. 11 / 30 Ranges ● Реклама ● Пополнение примеров в библиотеке
  • 12. 12 / 30 О чём говорили? ● Алгоритмы ● Новые библиотеки ● Билд-системы и генераторы ● Эффективность кода ● Особенности компиляторов и стандартных библиотек ● Как жить в Аспене с такими ценами???
  • 13. 13 / 30 Key talks ● Что C++ может почерпнуть у других языков? ● А что они могут почерпнуть у C++?
  • 14. 14 / 30 C++ vs Rust ● Есть пакетный менеджер ● Активно развивается ● Borrow checker ● Фичи появляются быстрее
  • 15. 15 / 30 C++ vs D ● Отключаемый сборщик мусора ● Compile-time вычисления ● Язык „работа над ошибками“ C++
  • 16. 16 / 30 C++ vs Haskell ● Легко параллелить ● Меньше кода ● ???
  • 17. 17 / 30 Топовые доклады (ИМХО) ● Constexpr ALL things ● Local („Arena“) memory allocators ● C++20 Language Features for a new library ● Effective CMake ● C++11‘s Quiet Little Gem: <system_error> ● Fun with Boost.Hana ● Sorting in less than O(n log n)
  • 18. 18 / 30 Constexpr ALL things ● Пишите везде constexpr ● Ай-яй-яй, в STL не хватает constexpr ● А мы вот сделали очередной constexpr_string, constexpr_map, и т.д. ● А ещё даже написали constexpr JSON парсер! ● Кхм-кхм, кто-то смог сделать constexpr_allocator и мы зря старались???
  • 19. 19 / 30 Аллокаторы ● Аллокаторы нужны и важны ● Показали, чего можно достичь и какими путями ● А самое главное – показали адекватную методологию сравнения аллокаторов
  • 20. 20 / 30 std2 ● Аж 3 доклада ● Рассадник холивара ● Чего именно хотим от std2 ● Боязнь повторения истории Python 2/3
  • 21. 21 / 30 Efective Caake ● Cmake становится родным для С++ ● Очень много людей не умеет с ним работать ● Даже Boost перекатывается на Cmake ● После доклада вы будете уметь готовить CMake
  • 22. 22 / 30 <system_error> ● Боитесь исключений? ● Нет исключений? ● Приходится работать с кодами ошибок? ● Тогда это ваш выбор!
  • 23. 23 / 30 Boost.Hana ● Посмотреть на метапрограммиста вживую ● Попытаться поговорить с ним ● Попытаться понять, что он говорит ● Выйти на свежий воздух отдохнуть от его страшной магии
  • 24. 24 / 30 Sorting ● Доклад для „алгоритмистов“ ● Познакомиться с более быстрыми методами сортировки ● Понять, что даже Boost.Sort далеко не идеал
  • 25. 25 / 30 Разговоры про Boost ● Тотальная CMake‘фикация Boost ● Boost.Beast ● Boost 2.0 (наслушались про std2) ● Вливание новых разработчиков ● Поддержка инфраструктуры
  • 26. 26 / 30 Обсуждение предложений в Стандарт ● Было много ● Было интересно ● Шанс побыть на мини-заседании комитета
  • 27. 27 / 30 Lightning talks ● Безудержное веселье! ● За 5 минут тоже можно что-то рассказать ● В основном для отдыха после тяжёлого дня сплошных докладов
  • 28. 28 / 30 Почему стоит посетить ● Уютная атмосфера маленькой конференции ● Познакомиться с очень интересными людьми ● Отдохнуть ● Научиться чему-то новому ● Посмотреть на медведей в дикой природе
  • 29. 29 / 30 Полезные ссылки ● http://cppnow.org/ ● Cpplang.slack.com - обсуждалочка ● Google (keywords: open-std, youtube cppcon)
  • 30. 30 / 30 Внимание! Спасибо за внимание :-)