Главная » Хабрахабр » Обзор программы C++ Russia 2019. Что день грядущий нам готовит?

Обзор программы C++ Russia 2019. Что день грядущий нам готовит?

Кто-то этим восхищается, кого-то это раздражает, но факт остаётся фактом. Современный мир C++ серьёзно отличается от того, что был привычен нам во времена C++ 98. Вот какие темы будоражат умы разработчиков сегодня:

  • Современные и новые возможности языка C++
  • Функциональное программирование
  • Метапрограммирование
  • Многопоточность, параллелизм, асинхронность и все-все-все
  • Как жить с имеющимися инструментами

Давайте коротко взглянем, как это у неё получится. Меньше чем через месяц пройдёт конференция, которая старается ответить на эти вопросы: C++ Russia 2019.

Во-первых, C++ активно улучшается, набор важных и полезных инструментов продолжает пополняться. Здесь нам очень повезло сразу по нескольким направлениям. Не всем языкам так повезло — например, в вышедшей недавно Java 12 вообще не было ни одной production ready фичи языка или серьезного изменения в библиотеках.

Уверены ли вы, что используете свои инструменты правильно, и это не аукнется в будущем? С другой стороны, все ли чётко представляют в голове всеобщую картину всех улучшений C++?

У них работа такая — держать в голове картину всего. И тут оказывается, что у нас на конференции оба кейноута (открывающих и закрывающих доклада) — от людей, участвующих в комитете годами. Кроме отличных докладов с ними можно ещё и пообщаться в дискуссионной зоне.

С ним мы недавно публиковали интервью на Хабре. Первый — Антон Полухин с рассказом о сферах, где C++ считается незаменимым, и дополнительных вещах, которые неплохо бы иметь в C++. Можно сходить stdcpp.ru и увидеть список представителей, сейчас это: Антон Полухин, Антон Бикинеев и Александр Фокин.
Вообще, тема участия россиян в комитете уже довольно широко обсуждалась и на Хабре, и везде (глядите, Яндекс даже в VK написал про это пост).

Автор тех самых книг «The C++ Standard Library» и «C++ Templates» и член комитета стандартизации в течение почти двадцати лет. Второй участник — это Nicolai Josuttis. Его доклад, наверное, будет одним из самых топовых по теме «будущего и современного»: «C++17 — the biggest traps» призван рассказать о проблемах, лежащей за ними архитектуре, кто виноват и что делать.

На Хабре эта тема представлена достаточно широко. Следующая тема, от которой горит часть сообщества — ФП.

Ещё не отгорели костры по поводу отладочной производительности ренжей и статьи Араса Пранкевичиуса. Не все в сообществе считают, что игра стоит свеч. Кто-то уже точит кинжал и ворчит «превратили мой чудесный C++ в Haskell какой-то». Многие всё ещё задаются вопросами, что такое монады, зачем они нужны и требуют статьи с яркими картинками.

Все его любят изучать, а вот чтобы реально применять — с этим проблемы. Одна из важнейших проблем с ФП в том, что по нему не так много специалистов. Есть всякие крайности, когда человек, ознакомившийся с наличием лямбд сразу же считает себя царём функционального программирования. Есть полная профнепригодность, когда человек искренне верит, что понимает ФП, но не может написать с помощью него Hello World. Или наоборот — перед написанием хэлловорлда, он удаляется в пещеру на заучивание наизусть «Categories for the Working Mathematician» и все книги и методички Окасаки с начала времён.

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

Вначале, можно ознакомиться с неплохим хаброинтервью с Иваном Чукичем и Александром Граниным. Итак, индустрии нужен кто-то разбирающийся в ФП в C++, и у нас они есть. И да, оба будут на C++ Russia.

Иван расскажет про «Move-only C++ design» и проведёт один из трёх больших тренингов — «Applied functional programming in C++». Александр расскажет про монадические парсеры.

Какой такой postmodern? А ещё есть «Higher-order functions and function_ref» от Vittorio Romeo из Bloomberg и «Postmodern immutable data structures» от Juan Pedro Bolívar Puente. А вот приходите и узнаете.

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

На C++ Russia есть целый большой блок, посвященный этой теме:

Например, последний доклад игровые движки: в геймдеве совершенно свои требования ко всему стеку разработки, от инструментов до перформанса STL, а тут вам в руки в руки попался живой разработчик движка Encore для игры World of Tanks, который расскажет про Boost. Каждый доклад так или иначе интересен, и если начать его раскрывать, то никакого хабрапоста не хватит. В общем, стоит внимательно прочитать описания и понять, куда вы хотите пойти. Python, рефлексию параметров материалов для 3D-моделей и прочие специфические вещи.

Например, говоря про ФП, всегда интересно — насколько ФП помогает или усложняет писать многопоточность. Несмотря на то, что про это нет какого-то выделенного блока на десять докладов, эти темы так или иначе проходят по всем остальным докладам.

И хотя модель выполнения задаёт отдельную координату глубины всех остальных докладов, будет и парочка специализированных вещей: «Concurrency and parallelism in C++17 and C++20/23» от вероятно, известного вам Гримма Рейнера, и «Асинхронная разработка на C++».

В последнее время мир очень продвинулся в этом направлении, встроенные средства работы с асинхронностью появляются во всех языках из топа TIOBE, и C++ не оказался исключением, например TS C++ Extensions for Concurrency. Почему именно асинхронщина? На конференциях по JavaScript и Java «асинхронные» доклады иногда занимают треть программы. Как отделить зерна от плевел, когда некоторые евангелисты асинхронности пытаются продать нам асинхронность как самоценность? У нас же неплохо иметь хотя бы один хороший доклад по теме, именно этим и займётся Павел Новиков из Align Technologies.

Например, тема DevOps сейчас не менее горяча, чем описанная выше асинхронщина. Остальные доклады в программе не входят в перечисленные выше категории, но сами по себе являются маленькими жемчужинами. И культура эта строится на инструментах, с частью которых у нас всё ещё есть реальная боль. Как вы должно быть знаете, «девопс» — не человек и не профессия, но культура. Имеется в виду такие вещи как инструменты распределённой сборки, способы линковки, несчастные модули. Несмотря на то, что сам C++ быстр и как молния, его сборка медленная как черепаха, а классические инструменты, на которые должна бы полагаться культура DevOps — сложные и зачастую ненадёжные. Виктор Кирилов выступит с докладом «The hitchhiker's guide to faster builds» и возможно, немного поможет разобраться с этой болью.

Что я забыл? Какой-то вот такой обзор получился. Да, и они у нас есть, целых два доклада (раз, два). Умные указатели? Чего только нет на C++ Russia.

Каждый из них продлится много часов, коснётся одной конкретной темы, и поэтому одновременно с докладами их не провести. Если обычных докладов недостаточно, у нас есть полномасшатбные тренинги. Они состоятся за один день до основной программы, то есть 18 апреля.

Если вы пришли с главной страницы тренингов — щёлкайте кнопки «Подробнее» — именно там выбирается билет, и там написано, что нужно установить на свой ноутбук. Описания есть по ссылкам.

Всё-таки, ещё месяц остался (конференция пройдёт как положено, 19-20 апреля). Сетка докладов пока не окончательная. Там надо отметить доклады, на которые хочется пойти. Если вы — участник, то есть просьба — проверьте почту, мы вам опрос прислали. Этот опрос вполне интерактивный, ответы повлияют на распределение докладов по залам.

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

Обратите внимание, что билеты бывают нескольких типов, и, выбрав подходящий вам тип, можно серьёзно сэкономить. Там же можно приобрести билеты. Если вы не можете быть на конференции вживую, то есть возможность участвовать онлайн — для этого есть отдельная категория билетов.


Оставить комментарий

Ваш email нигде не будет показан
Обязательные для заполнения поля помечены *

*

x

Ещё Hi-Tech Интересное!

Слушаем SID-музыку через OPL3 на современных ПК

Кто-то может подумает, что это будет что-то ужасное, а оказывается если сделать простой маппер, то можно получить весьма хорошее звучание, как это сделали несколько разработчиков в программе LLSID ещё в далеком 2007 году. Наверное не все любители чиптюн музыки знают, ...

Пользователь в Docker

В новой статье он рассказывает, как создать пользователей в Docker. Андрей Копылов, наш технический директор, любит, активно использует и пропагандирует Docker. Правильная работа с ними, почему пользователей нельзя оставлять с root правами и, как решить задачу несовпадения идентификаторов в Dockerfile. Это кажется очень удобно, ведь ...