Если вы опытный плюсовик, занимаетесь промышленным программированием и хотите, чтобы ваш код выглядел лучше и работал эффективнее, посмотрите нашу подборку докладов по C++. Большая часть из них от Антона Полухина — старшего разработчика в Такси, главного эксперта Яндекса по C++ и сооснователя РГ21 в комитете по стандартизации языка C++.
1. Незаменимый С++ — Антон Полухин
https://youtu.be/fT3OALUyuhs
Каждый новомодный язык программирования стремится заявить о том, что он быстрее, надёжнее и по всем параметрам в несколько раз лучше C++. Антон разбирается, так ли это, и рассказывает о популярных заблуждениях, которые относятся к С++. Где правда, а где вымысел? Почему С++ по-прежнему остаётся одним из главных языков в серьёзном продакшене? Антон показывает преимущества «плюсов» и устраивает битву между C++ и Asm/Rust/Go/Java/C#. Несмотря на некоторые недостатки, С++ всё же во многом выигрывает.
2. C++17, который мы заслужили — Александр Фокин
https://youtu.be/I0oerm0MYQY
Саша, как и Антон, — один из лучших российских экспертов по С++ и тоже представляет Россию в комитете по развитию языка. Сейчас, в феврале 2020-го, мы на финишной прямой принятия стандарта C++20. Давайте вернёмся на два с половиной года назад, когда был принят предыдущий стандарт, и посмотрим, какие фичи языка вошли в него.
3. C++ на практике — Антон Полухин
https://youtu.be/g2iyNH2Gh1k
C++ практически незаменим для высоконагруженных сервисов и приложений, чувствительных ко времени выполнения. Но все ли необходимые библиотеки и инструменты доступны из коробки? Во время доклада Антон приводит пример пошагового создания приложения на самой современной ревизии С++. Также из видео вы узнаете, насколько приятно пользоваться «плюсами» в повседневной жизни.
4. C++ трюки из Такси — Антон Полухин
https://youtu.be/_AkF8SpUV3k
При написании больших фреймворков приходится сталкиваться с типовыми задачами, решения для которых давно известны. Однако они недостаточно эффективны, и можно сделать намного лучше. Как именно? Антон рассказывает о Pimpl без динамических аллокаций, логировании без std::locale, удобных точках кастомизации и других эффективных трюках из своей практики. Это наиболее актуальный доклад с самыми свежими лайфхаками для С++-разработчиков.
5. Доклады со встречи российской рабочей группы по стандартизации С++ в Кёльне
https://youtu.be/9cgIbXB3DFA
Здесь сразу два доклада — от Антона Полухина и Саши Фокина. В первом Саша рассказывает про метаклассы в С++: от constexpr и reflection он постепенно переходит к «метапрограммированию для людей» и непосредственно к метаклассам. А выступление Антона полностью посвящено последним новостям про std::jthread, контракты и std::format.
6. Интервью Скотта Мейерса в Яндексе. О настоящем и будущем C++
https://habr.com/ru/company/yandex/blog/241601
Скотт Мейерс — один из самых известных и признанных экспертов по C++. Он автор серии книг «Эффективное использование C++», которые наверняка читал почти каждый плюсовик и которые повлияли на всю экосистему и качество использования языка. Это интервью о том, каким Скотт видит будущее C++ и программирования вообще, как отличаются разработчики в разных странах и в разных индустриях, и немного о нём самом. Внутри хабрапоста вы найдёте видео и текстовую расшифровку интервью. Прошло уже шесть лет с момента нашего со Скоттом разговора — можно проверить, что из его предположений сбылось, а что нет.
7. Эволюция метапрограммирования: как правильно работать со списками типов — Олег Фатхиев
https://youtu.be/ZUmc45Njs9U
Олег занимается разработкой сетевого балансера запросов, а также некоторых базовых C++-библиотек Яндекса. Но его доклад — это глубокий рассказ о метапрограммировании в ретроспективе. От общего подхода в метапрограммировании он плавно переходит к спискам типов. Он показывает, как шаг за шагом можно написать небольшую библиотеку для работы со списками типов, похожую на Boost.Hana. Для каждой проблемы, которая возникает в процессе написания, Олег рассматривает несколько возможных решений: от использования устаревших, но не менее интересных подходов из C++98/03 до применения продвинутых техник из C++17 и немного из C++20.