Workshop: C++ ecosystem and Modern C++ tooling

When legacy code is mixed with modern language features and patterns, when the rich heritage of C++ and its compatibility restrictions co-exist with the adoption of best practices from other languages and technologies, some of us C++ developers become lost and need to follow and stick to a more conservative path. Recent independent research studies show that developers are still staying with C++11, slowly adopting any new standards. Will C++20 change that? And from the practical perspective, what does it mean to be productive when developing in Modern C++? Can a tool help us become a language guru? Are there tricks my IDE can teach me to make C++ coding a bit easier? In this workshop we’ll cover the modern C++ technological landscape, as well as learn how a modern IDE can help dealing with the language and adopting to the changes. As a bonus, you’ll learn a few tips on how you can get the most out of CLion, a cross-platform C++ IDE by JetBrains!

Outline:

  1. Snapshot of a technological landscape for C++. What are the researches behind this effort.
  2. Overview of key trends in the community in 2020. C++ standards & Tooling.
  3. Modern C++ IDE. What are the challenges of creating such a tooling.
  4. Introducing CLion, a cross-platform C++ IDE by JetBrains. Then goes the demo teaching intermediate and advance tips&tricks.
  5. Writing C++ code at a speed of thought.
  6. Reading the modern C++ code and navigating through the huge code bases.
  7. Reading the code in the IDE as preprocessor sees it.
  8. Code quality tools: static code analysis.
  9. Code quality tools: code style and naming conventions.
  10. Code quality tools: refactorings.
  11. Code quality tools: unit testing.
  12. Debug, from local to remote.
  13. Remote development in the modern remote world.
  14. Profiling the code, detecting memory issues.
  15. C++ projects models. A few words on them.
  16. Q&A