On September 26th we'll have the pleasure of a double-feature: Andreas Weis and Klaus Iglberger will give us a preview of their upcoming conference talks.
***
Title: C++ Modules - Getting Started Today
Presenter: Andreas Weis. Andreas has been writing C++ code in many different domains, from real-time graphics, to distributed applications, to embedded systems. As a library writer by nature, he enjoys writing portable code and exposing complex functionalities through simple, richly-typed interfaces. Both of which C++ allows him to do extensively. Andreas is also one of the co-organizers of the Munich C++ User Group, which allows him to share this passion with others on a regular basis.
He currently works for Woven by Toyota, where he focuses on building modern software for use in safety critical systems.
Abstract: Modules have been one of the most highly anticipated features of C++20. Unfortunately, it was also the language feature that took the longest to become widely available for developers to use. This year, for the first time, we see broad support for the feature in all major compilers and mainstream build system support through CMake. The goal of this talk is to provide you with all the basic knowledge to allow you getting started with C++20 modules today.
We will take a look at how modules change the build process and why it took so long to implement them. We will take a tour of the essentials of the named modules mechanism and explore the new best practices for physical code structure in a modules-based code base, including how to set up a build with CMake. And last but not least, we will discuss different options for interacting with existing header-based code.
The talk will focus above all else on practicality: We will only be covering features that are widely available for use today with the latest compilers and build tools. We will give special attention to the areas where the design practices for modules differ from the familiar header-based approach and address common misconceptions and pitfalls that are typical among developers first encountering the feature. No prior knowledge of modules is required.
***
Title: Design Patterns - The Most Common Misconceptions (1 of N)
Presenter: Klaus Iglberger
Abstract: Design patterns are everywhere, as they are the key to managing dependencies between software entities.
But despite their fundamental importance, there are some common misconceptions about them, in particular about several of the most often used design patterns:
- The Builder design pattern is often associated with the implementation of constructors
- Factory functions are frequently mistaken for the Factory Method design pattern
- The Bridge and Strategy design patterns are regularly mixed-up
- The modern form of the Visitor design pattern, std::variant, is often considered a replacement of virtual functions
In this talk I'll shed some light on these misconceptions and explain why they obstruct the proper communication about software design and architecture. Additionally, I’ll address the biggest misconception of all: design patterns are a tool for object-oriented programming.
***
Schedule:
18:00 -- Welcome with snacks and drinks
18:30 -- Welcome by the MUC++ Organizers (start of live stream)
18:35 -- Talk by Andreas Weis
~19:45 -- Break with Catering
~20:30 -- Talk by Klaus Iglberger
~22:00 -- Official End
***
Sponsor: Volkswagen Group (thank you very much!). The entrance will be at Walter-Gropius-Str. 21. If you need a parking spot, please use the entrance between Walter-Gropius-Str. 19 and 21. Select "MAN" or "CARIAD" and choose one of the spots labeled with "VW Group".