C++ техрадар 2025: почему CMake доминирует и что выбирают разработчики
В мае 2025 года на конференциях C++ Russia и HolyJS компания «Лаборатория Касперского» представила результаты масштабного опроса среди участников, предложив оценить технологии, инструменты и инженерные практики, с которыми они работают или за которыми следят. На основе этих данных были составлены дв

В мае 2025 года на конференциях C++ Russia и HolyJS компания «Лаборатория Касперского» представила результаты масштабного опроса среди участников, предложив оценить технологии, инструменты и инженерные практики, с которыми они работают или за которыми следят. На основе этих данных были составлены два технических радара: один по экосистеме C++, другой по JavaScript. Экспертом по C++-части выступил Виктор Новиков, руководитель группы разработки в «Лаборатории Касперского». Его анализ раскрывает, какие инструменты действительно приживаются в индустрии, а какие остаются на периферии. Главный вывод: CMake стал безусловным лидером среди систем сборки, и это не случайно — он эволюционировал в мощный стандарт, который поддерживает современные практики разработки.
Почему CMake стал безусловным лидером
Одним из самых ярких результатов исследования стало уверенное доминирование CMake среди систем сборки. По словам Виктора Новикова, CMake фактически стал стандартом де-факто в C++-сообществе, и это не случайно. За последние годы CMake значительно эволюционировал: современные версии поддерживают чистый синтаксис, лучшую интеграцию с пакетными менеджерами и удобную работу с зависимостями. Разработчики, которые когда-то жаловались на его сложность, теперь отмечают, что после перехода на CMake 3.12+ процесс сборки стал предсказуемым и управляемым.
В опросе CMake набрал подавляющее большинство голосов как инструмент, который респонденты используют в работе. Это контрастирует с альтернативами вроде Meson или Bazel, которые остаются нишевыми. Новиков объясняет это тем, что CMake поддерживается практически всеми IDE, интегрируется с крупнейшими пакетными менеджерами (vcpkg, Conan) и имеет огромное сообщество. Даже те, кто критикует CMake за порог входа, признают, что альтернативы не предлагают достаточных преимуществ, чтобы оправдать миграцию.
Интересно, что популярность CMake коррелирует с ростом использования Conan как менеджера зависимостей. Conan, в свою очередь, также показал высокие результаты в радаре, что свидетельствует о тренде на централизованное управление библиотеками. Похоже, что экосистема C++ движется к зрелости, аналогичной той, что давно есть в языках вроде Rust или Go.
Предыстория и контекст: как мы пришли к текущему состоянию
Чтобы понять, почему результаты опроса выглядят именно так, стоит оглянуться на несколько лет назад. Ещё в 2018–2019 годах C++-сообщество было фрагментировано: одни использовали Makefile, другие — Autotools, третьи — собственные скрипты. CMake воспринимался как необходимое зло, а не как стандарт. Переломным моментом стал выход CMake 3.12 в 2018 году, который ввёл поддержку C++20 и улучшил работу с модулями. С тех пор CMake начал активно вытеснять конкурентов, а пандемия 2020 года ускорила цифровизацию и переход на удалённую работу, что потребовало более стандартизированных процессов сборки.
Параллельно с этим развивались компиляторы. Clang и GCC активно внедряли новые стандарты C++, и к 2025 году поддержка C++20 стала мейнстримом, а C++23 — быстро набирает обороты. В радаре это отразилось в высоком интересе к новым стандартам, особенно к модулям и корутинам. Однако Новиков отмечает, что реальное внедрение модулей в продакшене остаётся ограниченным: многие компании всё ещё полагаются на заголовочные файлы из-за проблем совместимости с существующим кодом и инструментами.
Ещё один важный контекст — рост популярности языков с автоматическим управлением памятью, таких как Rust. Это давление заставляет C++-сообщество активнее развивать инструменты для безопасности памяти, например, умные указатели и статические анализаторы. В опросе такие инструменты, как AddressSanitizer и Clang-Tidy, получили высокие оценки, что подтверждает тренд на повышение надёжности кода.
Чем отличается техрадар от обычного опроса?
Техрадар — это не просто статистика по использованию технологий. Это карта, на которой технологии распределены по четырём категориям: «Adopt» (использую в работе), «Trial» (пробую), «Assess» (изучаю) и «Hold» (слежу, но не планирую использовать). Такой подход позволяет увидеть не только текущее состояние, но и динамику: что на подъёме, что стагнирует, а что уходит в тень. В отличие от ежегодных отчётов вроде JetBrains DevEco, техрадар Касперского фокусируется на практическом опыте инженеров, которые непосредственно работают с этими технологиями.
Технические подробности: что показал радар по C++
Помимо CMake, в радаре выделились несколько ключевых технологий. Например, PostgreSQL оказался в центре внимания: аудитория раскололась примерно пополам. Одна половина активно использует PostgreSQL в production, другая — только присматривается или предпочитает альтернативы вроде SQLite или MySQL. Виктор Новиков связывает это с тем, что PostgreSQL становится всё более мощным, но его внедрение требует определённой квалификации. Для простых проектов многие выбирают SQLite, а для высоконагруженных — специализированные решения.
Среди компиляторов лидирует GCC, но Clang быстро догоняет, особенно в средах, где важна интеграция с IDE и инструментами статического анализа. Новиков отмечает, что Clang стал выбором многих стартапов и проектов, ориентированных на современные практики, тогда как GCC остаётся надёжной рабочей лошадкой в крупных корпорациях. Интересно, что MSVC, несмотря на ограниченную кроссплатформенность, сохраняет позиции благодаря Windows-экосистеме.
Что касается библиотек, то STL остаётся базой, но растёт интерес к альтернативам вроде Abseil и Boost. Однако Новиков предупреждает, что использование таких библиотек требует осторожности: они могут увеличить время компиляции и усложнить переносимость. В радаре также отмечен рост интереса к фреймворкам для асинхронного программирования, таким как Boost.Asio и libuv, что связано с развитием высоконагруженных сервисов.
Кого затронет и как: влияние на разработчиков и бизнес
Для разработчиков результаты техрадара — это сигнал о том, какие навыки стоит развивать. CMake и Conan уже стали обязательными в вакансиях C++-разработчиков, и те, кто не владеет ими, рискуют отстать. Новиков советует молодым специалистам обратить внимание на современные инструменты сборки и менеджеры зависимостей, а также на практики непрерывной интеграции, которые в радаре получили высокие оценки.
Для бизнеса, особенно в России и СНГ, техрадар показывает, что экосистема C++ продолжает развиваться, несмотря на геополитические сложности. Многие компании, включая «Лабораторию Касперского», активно инвестируют в C++-инструменты и обучение сотрудников. Это подтверждает, что C++ остаётся критически важным языком для системного программирования, встраиваемых систем и высоконагруженных приложений.
Однако есть и тревожные сигналы. Радар показал, что некоторые технологии, которые ещё недавно были на пике, например, некоторые фреймворки для GUI, переходят в категорию «Hold». Это может означать, что разработчики всё чаще выбирают веб-технологии для интерфейсов, оставляя нативные решения для узких задач.
Что будет дальше: перспективы C++ экосистемы
Судя по радару, в ближайшие годы мы увидим дальнейшее укрепление CMake как стандарта, а также рост популярности Conan и vcpkg. Новиков прогнозирует, что модули C++20 начнут активнее внедряться в новых проектах, особенно после выхода стабильных версий компиляторов с полной поддержкой. Это может упростить сборку и уменьшить время компиляции, что критически важно для больших кодовых баз.
Также стоит ожидать усиления конкуренции между GCC и Clang. Clang уже доминирует в средах разработки, и если его производительность при компиляции крупных проектов продолжит улучшаться, он может вытеснить GCC из многих сценариев. Но GCC имеет преимущество в поддержке новых стандартов и оптимизации для специфических архитектур, что сохранит ему нишу.
Наконец, важным трендом станет интеграция C++ с другими языками. Например, рост популярности WebAssembly открывает новые возможности для запуска C++-кода в браузере, и радар показывает интерес к этой технологии. Это может привести к появлению гибридных приложений, где критические части написаны на C++, а интерфейс — на JavaScript.
Итог
Техрадар C++ от «Лаборатории Касперского» — это не просто набор цифр, а ценный инструмент для понимания того, как развивается одна из самых консервативных экосистем в программировании. Он показывает, что даже в зрелых языках есть место для инноваций и стандартизации. Для разработчиков это руководство к действию: осваивайте CMake, следите за Clang и не игнорируйте новые стандарты. Для бизнеса — сигнал, что инвестиции в C++-инструменты оправданы, а язык остаётся надёжным выбором для критически важных систем. Будущее C++ выглядит стабильным, но динамичным, и техрадар помогает не упустить ключевые изменения.