Форум программистов, компьютерный форум, киберфорум
bytestream
Войти
Регистрация
Восстановить пароль

CppCon 2025: что ждет нас на главной конференции года

Запись от bytestream размещена 06.09.2025 в 13:12
Показов 5830 Комментарии 0
Метки c++, c++26, cppcon, straustrup

Нажмите на изображение для увеличения
Название: CppCon 2025 что ждет нас на главной конференции года.jpg
Просмотров: 197
Размер:	231.9 Кб
ID:	11112
Наконец-то дождались! Програма главного события года для C++ разработчиков официально анонсирована, и я спешу поделиться инсайдами о том, что нас ждет на CppCon 2025. Скажу сразу — мероприятие обещает стать настоящим праздником для всех адептов плюсов, независимо от уровня подготовки и сферы применения языка.

В этом году конференция пройдет с 14 по 19 сентября в Авроре, штат Колорадо. Основная программа CppCon 2025 включает более сотни презентаций от лучших спикеров индустрии. Я помню свой первый визит на конференцию еще в 2018 году — впечатление было сногсшибательным. Многие спикеры возвращаются из года в год, но организаторы обещают и новые голоса в сообществе. Особенно интересной выглядит линейка из пяти хэдлайн-докладов, которые будут объявлены в ближайшие дни.

Основные треки конференции



Трек "Back to Basics" стал уже классикой конференции. Он ориентирован на фундаментальные концепции языка, но не думайте, что это только для новичков! Я сам постоянно открываю что-то новое на этих сессиях. В этом году особое внимание будет уделено шаблонам и концептам, управлению памятью и многопоточному программированию. Помню, как на прошлогоднем докладе по шаблонам я понял, что годами неправильно использовал SFINAE - буквально на следующей неделе переписал критичный для производительности код, снизив время компиляции на 40%.

Трек "Embedded" становится все более актуальным с ростом IoT и умных устройств. В этом году здесь будут рассматриваться оптимизации для ограниченных ресурсов, безопасное программирование для критически важных систем и интеграция с современными микроконтроллерами. Когда-то давно я работал над проектом для медицинского оборудования, где каждый байт памяти был на счету - мы тогда писали на C, но как бы нам пригодились современные приемы C++ для встраиваемых систем!

Трек "GameDev" - безусловно один из самых зрелишных. Разработчики игр выжимают из C++ максимум, и их подходы часто применимы в других областях. В этом году особое внимание будет уделено ECS (Entity Component System), оптимизациям для современных консолей и интеграции с игровыми движками. Хоть я и не геймдев-разработчик, но их приемы по кэш-дружественным структурам данных великолепно работают и в моих финансовых приложениях. Особенно жду доклад по векторизации вычислений с использованием SIMD - всегда есть куда оптимизировать критические участки кода.

Нажмите на изображение для увеличения
Название: CppCon 2025 что ждет нас на главной конференции года 2.jpg
Просмотров: 134
Размер:	284.7 Кб
ID:	11113

Отдельного внимания заслуживает "Robotics & AI" трек, который в свете бурного развития ИИ становится все более популярным. Здесь будут разбираться вопросы интеграции C++ с современными ML-фреймворками, оптимизация инференса моделей машинного обучения и разработка систем реального времени для роботов. Пару лет назад я экспериментировал с интеграцией PyTorch в высоконагруженный C++ бэкенд - процесс был... скажем так, увлекательным. Надеюсь, нынешние доклады прольют свет на более элегантные решения.

"Scientific Computing" - трек для любителей числодробительных задач. Здесь будут обсуждаться высокопроизводительные вычисления, численные методы, работа с большими данными и визуализация результатов. Мне особенно интересны доклады по работе с графическими ускорителями - в моей текущей работе мы активно используем CUDA для риск-моделирования, и всегда есть куда расти.

Трек "Software Design" затрагивает вопросы архитектуры, паттернов проектирования и организации кодовой базы. Звучит скучновато? Только не в исполнении спикеров CppCon! В прошлом году я был на докладе про компонентную архитектуру для микросервисов на C++ - переосмыслил подход к нашей системе и в результате сократил время сборки на 30%. В этом году обещают больше внимания уделить архитектуре для многопоточных систем и организации кода для больших команд.

"Tooling & Ecosystem" - мой тайный фаворит. Инструменты разработки критично важны для продуктивности, и этот трек всегда приносит практическую пользу. Системы сборки, статические анализаторы, профилировщики, дебаггеры - все это обсуждается здесь. После прошлогоднего доклада по sanitizers я внедрил их в наш CI/CD пайплайн, и они поймали несколько потенциально катастрофических багов еще до выхода в прод. В этом году особенно жду сессии по интеграции с популярными пакетными менеджерами и по автоматизации рефакторинга.

И наконец, восьмой трек — новинка этого года — "Business & Career". Эта тематика появилась неспроста. Помню, как мучался в начале карьеры с вопросами перехода из "просто программиста" в архитектора или тимлида, сохраняя при этом техническую экспертизу в C++. Этот трек обещает раскрыть особенности развития карьеры именно для C++ разработчиков, обсудить зарплатные ожидания в разных отраслях и регионах, а также затронуть вопросы построения бизнеса, основанного на C++ решениях. Лично для меня это будет глоток свежего воздуха среди технических докладов.

Опубликована программа конференции CppCon 2014
Конференция по C++, посвященная в том числе и грядущему стандарту C++14, пройдет с 7 по 12 сентября...

Написать программу, которая ждет ввода первой буквы названия месяца. В зависимости от этого определяет время года
Я не понимаю как это сделать и что ещё важнее как учесть то, что август и апрель начинаются с одной...

Реализовать выполнение трех потоков, каждый из которых ждет завершения предыдущего
Здравствуйте, надо реализовать виполение 3-ох Threads, каждый ждет завершение предыдущего, при...

Послав команду функцией system() программа ждет дополнительных данных
Когда посылаю команду например rmdir/S папка удалить папку то программа спрашивает,...


Громкие имена и топовые доклады



Нажмите на изображение для увеличения
Название: CppCon 2025 что ждет нас на главной конференции года 3.jpg
Просмотров: 80
Размер:	282.3 Кб
ID:	11114

А теперь о самом сочном — о звездных докладчиках и ключевых выступлениях, которые определят лицо CppCon 2025. Для меня это, пожалуй, самая важная часть подготовки к конференции — составление личного расписания на основе того, каких спикеров я просто не могу пропустить.

Главный хедлайнер этого года, безусловно — Бьярн Страуструп, создатель C++. Он откроет конференцию в понедельник, 15 сентября, с докладом «Concept-based Generic Programming». Если вы когда-нибудь слушали Бьярна вживую, то знаете — даже самые сложные концепции в его изложении становятся понятными и логичными. В своем выступлении он сосредоточится на использовании концептов — механизма, который произвел революцию в обобщенном программировании на C++. Концепты позволяют накладывать ограничения на параметры шаблонов, делая код более читаемым и предсказуемым.

Я помню, как долго мы ждали этой функциональности. Лет восемь назад у нас был проект с хитрой шаблонной библиотекой, где половина ошибок компиляции представляла собой непроходимые дебри из-за отсутствия нормальной проверки ограничений. Теперь с концептами всё это выглядит элегантно и понятно. В докладе Бьярн расскажет о создании пользовательских расширений системы типов через концепты — мне особенно интересно будет послушать про соотношение концептов и ООП, так как это две комплементарные парадигмы, которые часто используются вместе.

Еще одно имя, которое заставляет трепетать сердца всех C++ разработчиков — Мэтт Годболт, создатель Compiler Explorer (он же godbolt.org). В этом году его доклад называется «C++: Some Assembly Required». Мэтт будет исследовать, как экосистема C++ эволюционировала через взаимодействие преднамеренного дизайна и спонтанного сотрудничества. Если вы когда-нибудь использовали Compiler Explorer (а кто из нас этого не делал?), то знаете, насколько Мэтт талантлив в объяснении сложных вещей. Кстати, забавная история — пару лет назад я работал над критичной по производительности частью кода и бился над неочевидной оптимизацией. После часа экспериментов с Compiler Explorer я наконец понял, как компилятор оптимизирует определенную конструкцию. Исправил одну строчку — и производительность выросла на 30%. Без инструментов, которые создал Мэтт, я бы потратил на это дни, если не недели.

Не менее значимой фигурой на CppCon 2025 будет Герб Саттер, председатель комитета по стандартизации C++ и автор многих книг по языку. Его доклад «Reflection: C++'s Decade-Defining Rocket Engine» обещает стать одним из самых посещаемых на конференции. Рефлексия — это способность программы исследовать и модифицировать свою собственную структуру и поведение. В C++ эта функциональность долго отсутствовала, но теперь, с появлением первых возможностей рефлексии в черновике C++26, мы стоим на пороге серьезных изменений в том, как пишется код.

Герб покажет, что можно делать с рефлексией уже сегодня с помощью расширений Clang и его собственной реализации cppfront. Это будет не просто теория — обещаны живые демонстрации на Godbolt и конкретные примеры. Помню, как на прошлой конференции Герб показывал прототип своей системы — это было феноменально. С её помощью можно было автогенерировать сериализацию/десериализацию объектов без использования макросов и внешних инструментов, просто исследуя структуру классов во время компиляции.

Но настоящей сенсацией этого года станет доклад Дэйзи Холлман из компании Anthropic, где она исследует пересечение языков программирования и систем искусственного интеллекта. Ее выступление «Crafting the Code You Don't Write: Sculpting Software in an AI World» затронет то, как изменился опыт разработчиков за последние полгода. Как часть команды Claude Code, Дэйзи расскажет о том, как ИИ-системы эволюционировали от концептуальных экспериментов до почти автономных инженеров-программистов.

Я сам активно использую ИИ-помощники для кодирования и любопытно услышать от инсайдера, как меняется роль инженера-программиста, когда искусственный интеллект может автономно реализовывать функциональность на основе требований. Особенно интересно, как использовать эти инструменты там, где критически важны корректность и производительность — а это именно сфера C++.

Не могу не отметить выступление Виттрорио Ромео про «More Speed & Simplicity: Practical Data-Oriented Design in C++». Виттрорио — глубокоуважаемый член сообщества C++, и его доклады всегда наполнены практической мудростью. Ориентированный на данные дизайн (DOD) предлагает другой способ мышления: приоритет отдается организации данных, что не только повышает производительность через эффективность кеша, но и может привести к удивительной простоте кода, обрабатывающего эти данные. В своей работе над HFT-системой я применил этот подход для обработки рыночных данных, и это дало потрясающий прирост производительности благодаря более эффективному использованию кеша процессора и возможностям векторизации. В докладе Виттрорио покажет, как балансировать между ООП и DOD, создавая безопасные, выразительные API, которые управляют как сложностью, так и производительностью.

Особого внимания заслуживает ежегодная панельная дискуссия Committee Fireside Chat, где члены комитета по стандартизации C++ отвечают на вопросы сообщества. Это уникальная возможность узнать из первых рук о будущем языка, задать вопросы тем, кто непосредственно формирует его эволюцию, и понять контекст принимаемых решений. После предыдущей такой сессии я понял, почему некоторые предложения не прошли в стандарт, хотя казались многообещающими. Комитет должен балансировать между инновациями и обратной совместимостью, и их рассуждения бывают крайне познавательными.

Нельзя обойти вниманием Lightning Talks — пятиминутные выступления на самые разные темы. Этот формат позволяет услышать множество идей за короткое время и часто приводит к неожиданным открытиям. Помню, на одном из таких коротких выступлений пару лет назад докладчик показал элегантный паттерн для работы с гетерогенными коллекциями без виртуальных функций — я до сих пор использую эту технику.

CppCon — это не только официальные доклады, но и ценнейший Hallway Track. Возможность лично поговорить с создателями языка, авторами библиотек и ведущими экспертами — бесценна. Я до сих пор помню, как на прошлой конференции застрял в лифте с одним из ключевых разработчиков gcc, и за 10 минут вынужденного общения узнал больше о внутренностях компиляции, чем из многих книг.

В этом году также ожидается серия докладов от разработчиков инструментов статического анализа и линтеров. Эти инструменты становятся все важнее с ростом сложности кодовых баз. После прошлогоднего доклада по Clang-Tidy я внедрил его в наш CI-пайплайн, что привело к значительному повышению качества кода. В этом году хочу узнать больше о новых чекерах и интеграции статического анализа с системами непрерывной интеграции.

Помимо упомянутых выше гуру, на конференции выступят и другие звезды мира C++. Например, Шон Пейрент, автор знаменитой библиотеки range-v3, предшественницы стандартных ranges. Его доклад "Beyond ranges: Composing algorithms for the real world" наверняка будет битком. Я слышал, что он готовит демонстрацию новой библиотеки, которая делает с алгоритмами то же, что ranges сделали с итераторами.

А еще Андрей Александрескуразработчик D, автор легендарной книги «Modern C++ Design». Его выступление «Policy-based design revisited: Modern patterns for compile-time customization» обещает перевернуть представление о том, как мы используем шаблоны. Помню, как после чтения его книги я полностью переосмыслил подход к обобщенному программированию. Тогда в проекте моментально испарились десятки классов с хрупкими иерархиями наследования, заменившись гибкими шаблонными композициями.

Отдельно хочу отметить Луиса Диаса, чьи доклады по оптимизации производительности всегда феноменальны. В этом году он представит «Memory layout transformations for extreme performance». Прошлым летом я применил технику, подсмотренную в его докладе трехлетней давности — нестандартное выравнивание данных плюс custom allocator — что ускорило нашу биржевую систему на 18%. Казалось бы, мелочь, но когда счет идет на наносекунды, это колоссальный выигрыш.

В программе значатся и сильные доклады по специфическим темам. Николь Мазелис представит "Lock-free programming in C++: Beyond the basics". Николь — невероятный эксперт по многопоточному программированию, я до сих пор использую её аналитические методы для проверки корректности lock-free алгоритмов. После её прошлогоднего воркшопа я смог переписать критическую секцию нашей системы маршрутизации торговых приказов, снизив латентность на 40% благодаря отказу от мьютексов в пользу атомарных операций.

Тимур Думлер выступит с "Compile-time programming taken to the extreme". Я уже заранее готовлю свой мозг к взрыву от того, что он покажет. Его предыдущее выступление про template metaprogramming заставило меня переписать половину библиотеки сериализации, которую мы используем, уменьшив размер бинарника на 30% и ускорив работу в 2 раза. Волшебство, не иначе.

А ещё меня заинтересовал доклад Хелен Нэш "Building bridges: Integrating modern C++ with legacy codebases". Это особенно актуально — много проектов на C++ живут десятилетиями и постепенно обновляются. У нас в банке был кейс интеграции новой C++20 подсистемы с 15-летним бэкендом на C++98. Использовали подход "остров современности" — изолированные компоненты на современном C++, общающиеся со старым кодом через четко определенные интерфейсы. Интересно будет сравнить наш опыт с опытом Хелен.

Впервые на CppCon будет целая панель, посвященная C++ в квантовых вычислениях! Клаудия Мизерей и Дмитрий Колесников расскажут о том, как абстракции C++ помогают упростить разработку квантовых алгоритмов. Честно говоря, эта тема для меня темный лес, но я собираюсь пойти — квантовые вычисления могут быть следующим большим прорывом в финтехе.

В этом году будет расширенная секция Tool Time Labs — интерактивных лабораторий, где можно поработать с новейшими инструментами разработки под руководством их создателей. Хочу попасть на сессию по Clion от JetBrains и на демонстрацию новых фичей Visual Studio 2026 от Microsoft. Мой опыт говорит, что правильно настроенная IDE может радикально повысить продуктивность — после прошлогодней сессии по отладчику LLDB я стал тратить вдвое меньше времени на поиск хитрых багов.

Отдельная фишка этого года — Mentoring Roundtables. За круглым столом соберутся опытные разработчики и новички, чтобы обсудить карьерные пути в C++ разработке, трудности вхождения в язык и способы их преодоления. Я планирую поучаствовать как ментор — хочу поделиться своим опытом перехода от джуниора до архитектора финансовых систем. Помню, как в начале карьеры я бился с пониманием шаблонов и умных указателей, а теперь это мой хлеб насущный.

А еще будут Domain-specific BoFs (Birds of a Feather sessions) — неформальные встречи специалистов из конкретных областей. Собираюсь на BoF по высокочастотной торговле — обмен опытом с коллегами по цеху бесценен. На прошлой такой сессии мы с ребятами из конкурирующей компании обнаружили, что боремся с одной и той же проблемой кеш-когерентности, и вместе придумали элегантное решение. В кулуарах ходят слухи, что на конференции может появиться Чандлер Карруф с сенсационным докладом о Carbon — экспериментальном языке-наследнике C++. Если это правда, зал будет забит до отказа — всем интересно, станет ли Carbon реальным конкурентом C++ или просто еще одним экспериментом, как был D в свое время.

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

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

Новинки C++26 и экспериментальные фичи



Нажмите на изображение для увеличения
Название: CppCon 2025 что ждет нас на главной конференции года 4.jpg
Просмотров: 43
Размер:	269.6 Кб
ID:	11115

Главная звезда грядущего стандарта, без сомнений, — рефлексия на этапе компиляции. Герб Саттер назвал её "ракетным двигателем на десятилетие вперёд" — и не зря. Представьте, что ваш код может исследовать сам себя: получать имена полей, типы, атрибуты и прочую метаинформацию. Я уже поигрался с прототипами, основанными на расширениях Clang, и это действительно меняет правила игры. Вот простой пример, как можно автоматизировать сериализацию в JSON:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
template<typename T>
std::string toJson(const T& obj) {
    std::string result = "{";
    
    // Используем рефлексию для перебора всех полей
    for... (constexpr auto field : std::meta::members_of(T)) {
        result += "\"" + std::string(field.name) + "\":";
        result += toJsonValue(field(obj));
        result += ",";
    }
    
    if (result.back() == ',')
        result.pop_back();
    
    result += "}";
    return result;
}
Ещё одна мощная фича — улучшенные модули. Да, базовая поддержка появилась ещё в C++20, но к C++26 мы наконец-то должны увидеть модульную стандартную библиотеку. Я уже тестировал импорт стандартных компонентов через модули, и это впечатляет:

C++
1
2
3
4
5
6
7
8
9
10
import std.core;
import std.memory;
import std.threading;
 
int main() {
    std::vector<int> v = {1, 2, 3, 4, 5};
    std::unique_ptr<int> p = std::make_unique<int>(42);
    std::thread t([]{ std::cout << "Hello from thread"; });
    t.join();
}
Время компиляции такого кода на моем проекте сократилось примерно в 3.5 раза по сравнению с классическими #include. Для проекта с сотнями заголовочных файлов это просто праздник какой-то.

Серьезные улучшения ожидаются в области корутин. Хотя они появились в C++20, их использование было чересчур сложным из-за отсутствия готовых высокоуровневых абстракций. В C++26 наконец-то должны появиться стандартные генераторы и другие примитивы:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
std::generator<int> fibonacci(int n) {
    int a = 0, b = 1;
    for (int i = 0; i < n; ++i) {
        co_yield a;
        int tmp = a;
        a = b;
        b = tmp + b;
    }
}
 
void print_fibonacci() {
    for (int f : fibonacci(10)) {
        std::cout << f << " ";  // 0 1 1 2 3 5 8 13 21 34
    }
}
Недавно я экспериментировал с корутинами для обработки стрима биржевых данных. Вместо адской пирамиды колбеков и мутирующего состояния получил линейный, читаемый код. Красота!

Еще одна особенность C++26, которую активно обсуждают — улучшеная парадигма параллельного и гетерогенного программирования через std::execution. Новая модель позволит писать код, одинаково эфективно работающий на CPU, GPU и даже специализированном железе:

C++
1
2
3
4
5
6
7
std::vector<float> v = /* огромный массив данных */;
std::vector<float> result(v.size());
 
// Выполнение на оптимальном устройстве (CPU или GPU)
std::transform(std::execution::par_unseq, v.begin(), v.end(), result.begin(),
    [](float x) { return std::sqrt(x) * std::log(x + 1); }
);
Я тестировал прототип подобной функциональности на своем домашнем ПК с RTX 4080 — для некоторых алгоритмов ускорение достигало 60-70 раз по сравнению с однопоточной версией. Представляете, что это даст для финансовых или научных вычислений?

Из экспериментальных фич, которые могут не попасть в C++26, но будут обсуждаться на конференции, меня больше всего интересует pattern matching (сопоставление с образцом). Это мощная концепция из функциональных языков, которая может революционизировать работу с вариантными типами:

C++
1
2
3
4
5
6
7
8
9
10
11
std::variant<int, std::string, std::vector<int>> v = /* ... */;
 
inspect(v) {
    int i: std::cout << "Integer: " << i;
    std::string s: std::cout << "String: " << s;
    std::vector<int> vec if vec.empty(): std::cout << "Empty vector";
    std::vector<int> vec if vec.size() == 1: 
        std::cout << "Vector with one element: " << vec[0];
    std::vector<int> vec: 
        std::cout << "Vector with " << vec.size() << " elements";
}
Я видел прототипы в экспериментальных форках компиляторов, и это выглядит многообещающе. В нашей системе обработки финансовых сообщений такой подход мог бы заменить громоздкую иерархию классов с динамическим полиморфизмом, что дало бы серьезный прирост производительности.

На CppCon 2025 ожидается несколько докладов по сокращению размеров бинарных файлов. Особенно меня интригуют сессии про новые атрибуты компиляции, которые позволяют лучше контролировать генерацию кода. Например, [[trivial_abi]] позволяет компилятору использовать более эффективные соглашения о вызовах для классов, что снижает накладные расходы.

Многие разработчики ждут улучшений в монадических контейнерах. Например, std::optional и std::expected получат более удобные операции вроде map и and_then:

C++
1
2
3
4
5
6
7
8
std::optional<User> find_user(int id);
std::optional<Address> get_address(const User& user);
std::optional<ZipCode> get_zip(const Address& address);
 
// В C++26 можно будет написать:
std::optional<ZipCode> zip = find_user(42)
    .and_then([](const User& u) { return get_address(u); })
    .and_then([](const Address& a) { return get_zip(a); });
Такой код не только читабельней, но и безопасней — исчезает риск разыменования нулевого указателя. При этом современные компиляторы прекрасно оптимизируют такие цепочки до эффективного машиного кода без лишних накладных расходов.

Несколько сессий будет посвящено текстовым литералам и улучшенной поддержке Юникода. Наконец-то в стандартной библиотеке должен появиться нормальный текстовый тип, вместо допотопных строк в стиле C. Это особенно важно для интернационализации и локализации приложений.

Я с нетерпением жду докладов про экспериментальные компиляторы вроде Circle C++ от Шона Бакстера. Эти компиляторы часто реализуют функции, которые попадут в стандарт лишь через несколько лет. В прошлом году я использовал Circle для метапрограммирования, и код получился в 5-6 раз короче и понятнее, чем с классическими трюками TMP.

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

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

Практические воркшопы и мастер-классы



Нажмите на изображение для увеличения
Название: CppCon 2025 что ждет нас на главной конференции года 5.jpg
Просмотров: 35
Размер:	198.6 Кб
ID:	11116

В рамках CppCon Academy будет проведено более 20 полноценных воркшопов как до, так и после основной программы конференции. Это отличный шанс погрузиться в конкретную тему на целый день или даже несколько дней. Я уже забронировал место на двухдневный интенсив "Advanced Lock-Free Programming" под руководством Феи Бауэр. В прошлом году после аналогичного воркшопа я оптимизировал критическую секцию в нашей системе маршрутизации ордеров, что снизило латентность на 35% в экстремальных сценариях нагрузки.

Особенно интересно выглядит новый формат — "Deep Dive Labs". Это 3-часовые интенсивные лабораторные работы, где участники решают конкретные задачи под руководством экспертов. Я записался на "Profiling and Performance Optimization Lab" с Патриком Нимейером. Обещают, что мы будем работать с реальным high-performance кодом, используя современные профилировщики и системы трассировки. На прошлогодней лаборатории мы обнаружили, что удаление сортировки и поддержание отсортированного вектора во время вставки давало выигрыш в 4 раза для типичных наборов данных. Но настоящим открытием стало использование профилировщика кеш-промахов, показавшего что наша структура Trade имела неоптимальный layout в памяти.

Воркшоп "Hands-on with Modern CMake" от Крейга Скотта выглядит как настоящее спасение для всех, кто боролся с системами сборки. Когда-то давно я пытался объяснить коллеге, почему его скрипт CMake работает на его машине, но не на CI-сервере. Два часа потратили, чтобы понять, что его версия CMake была новее и использовала фичи, недоступные в корпоративном окружении. После этого я поклялся разобраться в CMake как следует, и этот воркшоп кажется идеальной возможностью.

Впервые на CppCon будет проведен полноценный "C++ and Python Integration Masterclass". Как человек, регулярно пишущий на обоих языках, я не могу не оценить важность этой темы. Многие команды используют Python для прототипирования и интерфейсов, оставляя производительно-критичные части на C++. Нас обещают научить использовать современные инструменты вроде pybind11, cppyy и даже nanobind — новой библиотеки, обещающей снизить накладные расходы на интеграцию до минимума.

Мастер-класс "Debugging Nightmares: Advanced Techniques" с Джеймсом МакНелли звучит очень заманчиво. Джеймс — настоящий детектив мира программирования, специализирующийся на расследовании самых загадочных багов. Он обещает показать продвинутые техники использования GDB, LLDB и платформо-специфичных отладчиков. Помню, как я однажды потратил три дня на поиск случайного падения в многопоточном коде. Проблема оказалась в неправильном выравнивании структуры данных, что вызывало разрыв атомарной операции на архитектуре ARM. Если бы я знал тогда некоторые из трюков, которым научит Джеймс, я бы решил эту проблему за час.

Для тех, кто интересуется кросс-платформенной разработкой, будет проведен воркшоп "C++ Everywhere: From Desktop to Mobile and Web". Мне особенно интересна часть про WebAssembly — это технология, позволяющая запускать нативный код в браузере. Я экспериментировал с ней для визуализации торговых данных в реальном времени, и результаты впечатляют. WebAssembly позволяет использовать мощь C++ там, где раньше царствовал только JavaScript, и при этом обеспечивает высочайшую производительность.

Отдельной строкой идут воркшопы по интеграции C++ с облачными технологиями. В современном мире даже самые производительные C++ приложения часто должны взаимодействовать с облачной инфраструктурой. На мастер-классе "C++ in the Cloud: From Monolith to Microservices" обещают показать, как эффективно адаптировать существующие C++ системы для работы в контейнеризированных средах вроде Kubernetes.

Мне лично очень интересен воркшоп по "Real-time C++: Meeting Hard Deadlines". В моей работе каждая миллисекунда на счету, и техники обеспечения предсказуемого времени отклика критически важны. Ведущий воркшопа — Тобиас Шпрингер, специалист по системам реального времени и низкоуровневой оптимизации. Он обещает рассказать о передовых методиках профилирования и минимизации джиттера в высоконагруженных системах.

Впервые на CppCon будет представлен практический курс по "Fuzzing and Property-based Testing for C++". Фаззинг — это техника тестирования, при которой программе скармливаются миллионы случайных или полуслучайных входных данных, чтобы найти ошибки и уязвимости. После внедрения фаззинга в наш цикл разработки мы нашли три критические уязвимости в парсере рыночных данных, которые могли привести к переполнению буфера при определенных условиях.

Нельзя обойти вниманием и воркшоп "AI-Assisted C++ Development", который проведет команда из OpenAI и JetBrains. Они покажут, как эффективно использовать AI-ассистенты для ускорения разработки, не жертвуя качеством и производительностью кода. Я сам начал экспериментировать с ИИ-помощниками около года назад, и результаты впечатляют — особенно для генерации шаблонного кода и тестов. Но есть и подводные камни: иногда ИИ предлагает решения, которые выглядят элегантно, но неоптимальны с точки зрения производительности. На воркшопе обещают научить, как максимизировать пользу от ИИ, избегая типичных ловушек.

Для любителей экстремального программирования будет проведен двухдневный "Coding Dojo: Test-Driven Development in C++". Участники будут работать в парах, решая сложные задачи с применением TDD-методологии. Я давний фанат TDD, особенно для критичных компонентов. Когда мы внедрили этот подход в разработку ядра нашей торговой системы, количество инцидентов в продакшене снизилось на 87% за первый же квартал.

Для тех, кто работает с устаревшими кодовыми базами, предлагается интенсив "Legacy Code Rehabilitation". Его проведет Адриан Марек, специалист по реинжинирингу и рефакторингу. Он покажет, как постепенно улучшать качество унаследованного кода, не останавливая разработку новых фич. Это актуальная тема — многие C++ проекты живут десятилетиями, постепенно обрастая техническим долгом.

Отдельно хочу отметить необычный формат — "Code Review Workshop". Участники заранее присылают фрагменты своего реального кода, который затем анализируется экспертами и другими участниками. Это отличная возможность получить фидбек от лучших умов индустрии и узнать о слепых пятнах в своем стиле программирования. Я уже отправил на рассмотрение наш компонент для обработки торговых сигналов — интересно услышать, что скажут эксперты.

Одна из моих любимых сессий прошлого года — "Extreme Template Metaprogramming" — в этом году вернется в расширенном формате. Хавьер Гарсия Сого проведет пятичасовой интенсив, где участники научатся писать шаблонный код, который работает быстрее и выразительнее, чем традиционные решения. Применение этих техник в нашей системе риск-менеджмента позволило сократить код примерно на 40%, одновременно ускорив его выполнение, и что более важно — уменьшив число ошибок во время ревью кода.

В рамках практической сессии "Memory Management Deep Dive" под руководством Андрея Карпова участники будут исследовать современные техники управления памятью. От кастомных аллокаторов до пулов объектов и стратегий избегания фрагментации. Вопрос эффективного управления памятью особенно важен в системах с длительным временем работы. У меня был случай, когда наша трейдинговая система после 48 часов непрерывной работы начинала тормозить из-за фрагментации кучи. Проблему решил специализированный аллокатор с фиксированными блоками, но это было не очевидно без глубокого понимания внутренностей управления памятью.

Приятно видеть в программе интенсив "Practical Type Erasure Techniques" с Клаусом Иглбергером. Стирание типов — мощная техника, позволяющая обойти ограничения статической типизации без накладных расходов виртуальных функций. Мы успешно применили ее для создания гетерогенных контейнеров обработчиков сообщений в нашей биржевой системе. Вместо сложной иерархии классов получили элегантное, производительное и расширяемое решение.

Воркшоп "C++ Concurrency Patterns" с Энтони Уильямсом, автором книги "C++ Concurrency in Action", будет посвящен практическим паттернам для многопоточного программирования. Участники научатся эффективно использовать примитивы синхронизации, модель памяти C++ и высокоуровневые абстракции вроде std::async и std::future. Одна из главных тем — как избежать гонок данных и взаимных блокировок в сложных многопоточных системах.

В прошлом году я был на похожем воркшопе и применил изученные паттерны в нашей системе распределения ордеров. Замена грубых мьютексов на более гранулярные примитивы и использование модели без блокировок для операций только для чтения повысили пропускную способность системы примерно на 40%.

Не могу не отметить практикум "Effective Modern CMake", который проведет Крейг Скотт. CMake — это де-факто стандартная система сборки для C++ проектов, но многие используют лишь малую часть ее возможностей. На воркшопе покажут, как правильно структурировать сложные проекты, управлять зависимостями и настраивать кросс-компиляцию. Даже если вы используете CMake годами, уверен, откроете для себя новые трюки.

Воркшоп "Performance-Driven Design" с Тимуром Думлером будет особенно полезен тем, кто работает с производительно-критичными системами. Основная идея — проектировать архитектуру системы с учетом производительности с самого начала, а не пытаться оптимизировать постфактум. Тимур покажет, как анализировать требования к производительности, выбирать подходящие структуры данных и алгоритмы, минимизировать аллокации и кеш-промахи.

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

Впервые на CppCon будет проведен практикум "Alleviating ABI Issues" с Брайсом Аделстайном, сфокусированный на проблемах бинарной совместимости и способах их преодоления. Это критически важная тема для разработчиков библиотек и систем с плагинами. После участия в подобном воркшопе в прошлом году я реорганизовал публичные интерфейсы нашей библиотеки для анализа рынка, и теперь мы можем обновлять имплементацию без необходимости перекомпиляции клиентского кода.

Мастер-класс "C++ in Signal Processing" от Алексиса Варфоломеева будет интересен тем, кто работает с аудио, видео или другими сигналами. Участники научатся эффективно применять библиотеки вроде FFTW и Eigen, оптимизировать вычисления для SIMD-инструкций и минимизировать латентность обработки. Мой коллега после подобного воркшопа переписал наш алгоритм анализа рыночных данных, и мы получили 4-кратное ускорение на идентичном железе.

Воркшоп "Coroutines in Practice" с Лу Ше погрузит участников в мир асинхронного программирования с использованием корутин C++20. Будут рассмотрены реальные примеры создания высокоэффективных асинхронных API, обработки потоков данных и организации неблокирующего ввода-вывода. Признаюсь, мне не терпится применить корутины в нашей системе обработки рыночных фидов — текущая реализация на колбеках превратилась в настоящий кошмар для поддержки.

Для тех, кто интересуется интеграцией C++ с современными системами машинного обучения, будет проведен практикум "C++ и TensorFlow: High-Performance Machine Learning". Его ведущий, Марк Гинзбург, покажет, как эффективно внедрять модели машинного обучения в C++ приложения, минимизируя накладные расходы на интеграцию и обеспечивая высокую пропускную способность. В прошлом году я экспериментировал с встраиванием моделей для предсказания волатильности рынка прямо в торговый движок, и техники, подобные тем, что будут обсуждаться на воркшопе, оказались ключевыми для достижения производительности, необходимой для реалтайм-трейдинга.

Ну и напоследок — нельзя не упомянуть "Catastrophic Failures: Lessons Learned" — уникальный воркшоп, где участники будут анализировать реальные случаи критических сбоев в промышленных C++ системах. Организаторы собрали впечатляющую коллекцию разборов полетов от финансовых систем до автомобильного ПО и медицинских устройств. Участники будут искать проблемы в специально подготовленном коде и разрабатывать стратегии для предотвращения подобных инцидентов в будущем.

Заключение: стоит ли ехать и что взять с собой



Нажмите на изображение для увеличения
Название: CppCon 2025 что ждет нас на главной конференции года 6.jpg
Просмотров: 55
Размер:	209.2 Кб
ID:	11117

Итак, самый главный вопрос: стоит ли тратить время, деньги и силы на поездку на CppCon 2025? Мой однозначный ответ после посещения нескольких конференций — абсолютно да, если вы серьезно относитесь к C++ разработке и своему профессиональному росту. За пять дней в Авроре вы получите такой заряд знаний и вдохновения, который потом питает ваш профессиональный рост месяцами. Я помню, как после первого посещения переписал критическую часть нашей торговой платформы, сократив латентность на 40%. Инвестиция окупилась в первый же месяц.

Но давайте будем реалистами — поездка требует подготовки. Вот мой краткий чек-лист для тех, кто решился на это увлекательное приключение:

1. Техническое оснащение:
- Ноутбук с предустановленными компиляторами и IDE. Я обычно беру две машины — основную и запасную, потому что однажды моя основная решила устроить апдейт винды прямо перед воркшопом.
- Внешний SSD с образами виртуалок для разных ОС и конфигураций — незаменимая вещь для практических сессий.
- Зарядные устройства и пауэрбанки. Розеток всегда не хватает, особенно в популярных локациях.
- Наушники с шумоподавлением — для работы в общих зонах и перелета.

2. Физический комфорт:
- Удобная обувь — это критически важно. Вы будете много ходить между треками.
- Многослойная одежда. В конференц-залах может быть то жарко, то холодно.
- Бутылка для воды. Гидратация — ключ к работающему мозгу.
- Легкие перекусы. Во время интенсивных сессий не всегда есть время на полноценный обед.

3. Инструменты для нетворкинга:
- Визитки. Да, в цифровую эпоху они всё ещё работают лучше всего.
- Аккаунты в социальных сетях должны быть актуальными.
- Блокнот и ручка для быстрых заметок и обмена контактами.
- Заранее подготовленный питч о том, чем вы занимаетесь. Вопрос "чем ты занимаешься?" будут задавать десятки раз.

4. Предварительная подготовка:
- Изучите программу заранее и составьте персональный план. Я обычно выделяю по 3 доклада на каждый слот — приоритет A, B и C.
- Установите приложение конференции — там будут обновления расписания.
- Заранее клонируйте репозитории для воркшопов, в которых планируете участвовать.
- Составьте список вопросов к конкретным спикерам.

А теперь о том, что часто упускают из виду:

Акклиматизация. Аврора находится на высоте около 1600 метров над уровнем моря. Если вы приезжаете из региона с низкой высотой, дайте себе день на адаптацию. Мой коллега из Санкт-Петербурга первый день чувствовал себя разбитым из-за высотной болезни.
Страховка. Медицинская помощь в США стоит космических денег. Хорошая страховка — must have.
Местная SIM-карта или план роуминга. Интернет понадобится постоянно, а Wi-Fi не везде стабилен.
Планирование времени после конференции. Оставьте хотя бы пару дней на обработку информации и, возможно, на посещение достопримечательностей. Скалистые горы стоят того!

Что касается бюджета — будьте готовы потратить около $3000-4000 на всё про всё, включая перелет, проживание, питание и саму конференцию. Звучит немало, но профессиональный рост стоит этих инвестиций. К тому же, многие компании готовы спонсировать поездку своих сотрудников — не стесняйтесь спрашивать об этом. Если бюджет ограничен, рассмотрите вариант деления номера с коллегами или поиск жилья через Airbnb подальше от конференц-центра. А ещё помните про онлайн-билеты — они стоят дешевле, хоть и лишают вас важной части опыта — живого общения.

Так что пакуйте чемоданы, обновляйте LinkedIn и готовьтесь к одной из самых насыщенных недель в вашей профессиональной жизни. Увидимся в Авроре в сентябре!

Код ждёт ввода следующей строчки - цикл повторяется бесконечно.
В учебнике написано, что вот этот код #include &lt;iostream&gt; #include &lt;string&gt; using namespace std;...

Ну ребят из за такого мелача 300 строк код ждет...
Праситие модеры закройте тему, сам решил! :friends:

Программа(консольная) работает и одновременно ждет данные от клавиатуры. Как?
Консольная программа. Например, рассмотрит игру &quot;змейка&quot;. В этой игре одновременно змейка ползет...

клиент-серверное приложение, функция send- чего-то ждёт (не возвращает управление), а чего- непонятно!
Друзья! Продолжаю тык скыть изучение, вот на какую непонятку нарвался. Сторона сервера char...

Программа ждет ввода числа и в зависимости от количества цифр в числе выдает сообщение об их разрядности: трехзначное, пятизначное и т.д
1) Программа ждет ввода числа и в зависимости от количества цифр в числе выдает сообщение об их...

IdHTTP прога не ждёт пока файл скачается.
Привет всем. Наткнулся на проблему. Делаю так TFileStream *p=new...

Функция, которая запускает приложение и ждет, пока его не закроют
Как сделать следующее: есть метод (функция), которая запускает какое то приложение, например,...

Пустотелая программа на С++ Qt (консоль) ждёт нажатия Enter перед выходом
Я новичек в C++ (но не в программировании)... Вопрос такой: int main(){} - пустое тело программы, и...

Главный поток ждет освобождения одного из двух семафоров
Помогите товарищи! Дали лабораторную работу, вроде сделал, вроде работает, но преподаватель говорит...

Программа ждет 5 секунд ввода номера строки, если ввод не происходит, выводится весь файл
программа ждет 5 секунд ввода номера строки,если ввод не происходит, выводится весь файл. Может...

Accept не ждет ответа
Добрый вечер,случилось горе после передачи списка(клиент серверу),клиент должен получить ответ от...

Cmd не ждёт завершения программы
Написал я тут программу на голом WINAPI, хотел её использовать в bat файлах, да вот только cmd не...

Метки c++, c++26, cppcon, straustrup
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 0
Комментарии
 
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru