Sonntag, 12. Juli 2020

August Talk: Adam Tornhill "Behavioral Code Analysis in Practice: C++ edition"

Hello to all C++ followers,

For August we will have our meetup together with C++ Usergroup Karlsruhe.

Adam Thornwill will tackle understading legacy code bases with behavioral analysis methods. 


Many codebases contain code that is overly complicated, hard to understand and hence expensive to change and evolve. Prioritizing technical debt is a hard problem as modern systems might have millions of lines of code and multiple development teams — no-one has a holistic overview. In addition, there's always a trade-off between improving existing code versus adding new features so we need to use our time wisely. So what if we could mine the collective intelligence of all contributing programmers and start to make decisions based on information from how the organization actually works with the code?

In this presentation you get an introduction to behavioral code analysis which builds on version-control data to uncover the behavior and patterns of the development organization. A behavioral code analysis helps you prioritize the parts of your system that benefit the most from improvements, so that you can balance short- and long-term goals guided by data. The specific examples are from real-world C++ codebases like the .NET Core runtime, Protobuf, TensorFlow, and more. All analyses are completely automated and demonstrated using the CodeScene tool. This new perspective on software development will change how you view code.

We will try to use Goto Meeting again. You will get the chance to ask your questions directly through chat or voice.

Date: Wednesday, 12. August 2020
Start: 19:00
End: 22:00
Place: Goto Meeting (The URL will be here just before the meeting!)

We are looking for your talk submissions!


Dienstag, 16. Juni 2020

July Talk: Rainer Grimm "Concepts in C++20: An Evolution or a Revolution"

Hello to all C++ followers,

For July we will have online meetup together with C++ Usergroup Karlsruhe.
Rainer Grimm will give us his introduction to C++20 Concepts.
Photo of Rainer Grimm
The key idea of generic programming with templates is it to define functions and classes which can be used with various types. Often it happens that you instantiate a template with the wrong type. The result is typically a few pages of cryptic error messages. This sad story ends with concepts. Concepts empower you to write requirements for your templates which can be checked by the compiler. Concepts revolutionize the way we think about and write generic code. 
Here is why:
  • Requirements for templates are part of the interface.
  • The overloading of functions or specialization of class templates can be based on concepts.
  • We get improved error messages because the compiler compares the requirements of the template parameter with the actual template arguments.
However, this is not the end of the story:
  • You can use predefined concepts or define your own.
  • The usage of auto and concepts is unified. Instead of auto, you can use a concept.
  • If a function declaration uses a concept, it automatically becomes a function template. 
Writing function templates is, therefore, as easy as writing a function.
We will use Goto Meeting for our remote meetup. You will get the chance to ask your questions directly through chat or voice.

Date: Thursday, 9. July 2020
Start: 19:30
End: 22:00

We are looking for more talk submissions!


Montag, 18. Mai 2020

June Talk: Hendrik Niemeyer "Intro to C++20's Concepts"

Hello to all C++ enthusiasts,

Hendrik will use the opportunity to join our usergroup virtually and give us his introduction to concepts in C++20.
One of the biggest new features of C++20 are concepts. Concepts define requirements on template arguments which are enforced by the compiler. This leads to more readable code which clearly expresses intent. Error messages are improved since violations of the constraints defined by concepts can be detected in the early stages of the template instantiation.
This talked is aimed at people with little or no experience with concepts and will introduce generic programming with concepts (constraining templates, writing your own concepts and overloading functions which are constrained by concepts)
We will use Goto Meeting for our remote meetup. You will get the chance to ask your questions directly through chat or voice.

Date: Thursday, 11. June 2020
Start: 19:00
End: 22:00
Place: Goto Meeting (The recording on Youtube:

Please join before 19 o'clock. As we will start on time.