Mittwoch, 9. September 2020

October Talk: Markus Klemm "The reality of C++ combined JavaScript for modern GUI development"

Hello to all C++ followers,

Fortunately Markus jumped in to give a talk in October.


While native nodejs modules are nothing new and web based GUIs are getting used in domains that were considered reserved to native non garbage collected languages, as the recent SpaceX spacecraft control UIs for example, little knowledge seems to be shared about the pitfalls and required learnings for actual scaled down application development in this mixed environment.

This talk focuses on the learnings and code based on a small real productive project which uses C++ for USB device control and core application logic combined with react and electron for responsive, default good looking GUIs as presentation layer. From general project setup and build structure, encountered challenges, to needed and recommended C++ patterns, C++20 outlook, up to JavaScript i.e. web ideas that might be a worthy consideration for future library and language development. Unpleasant but solved surprises included.

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

Date: Thursday, 8. October 2020
Start: 19:00
End: 21:00
Place: Goto Meeting

Please consider submitting your talk.


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!