Экосистема языка C++, в болезни и в здравии

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

По многим современным исследованиям, большинство разработчиков на C++ используют стандарт C++11, потом идет C++14, и лишь небольшая часть C++17 (спойлер: в этом году последних уже не так мало!). А еще в мире C++ избегают фреймворков для юнит-тестирования, стараются не кидать исключения, а зависимостями управляют вручную. При этом во многих топовых областях использования языка C++ есть свои специфические ограничения на используемое подмножество языка, а также интересные обходные пути для тех необходимых возможностей, которые в язык до сих пор не попали. Каждую такую область мы коротко проанализируем отдельно.

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

Анастасия Казакова

Анастасия Казакова JetBrains

St.Petersburg C++ User Group