Andreas Weis


Andreas has been writing software professionally for more than 10 years, working in areas ranging from real-time graphics to distributed systems to embedded systems. He enjoys hiding complex functionalities behind powerful type-rich interfaces and likes it very much when the compiler finds his bugs for him. Andreas is one of the co-organizers of the Munich C++ user group, where he gets to discuss these topics with others on a regular basis.

He currently works for BMW, where he tries to make cars smarter than humans.



Howling at the Moon: Lua for C++ Programmers (2017)

C++ is a great tool for solving complex problems in a thorough way. But every once in a while, the desire for a simpler language emerges. For those parts of our code where performance is of secondary concern, but the ability to perform rapid iterations over the code is paramount, a scripting language might be a tempting choice. But integrating a second language besides C++ and managing the interaction between the two is also scary.

Lua is a light-weight, dynamic language that was designed to be used as an embedded language within existing applications. It is easy to learn, has very reasonable runtime performance, and a memory footprint small enough that it is usable even on embedded systems. Furthermore, it is almost trivial to integrate with C++.

This talk will give a brief introduction to the Lua scripting language, highlighting specifically how it can complement C++'s language features to enrich a developer's toolbox. In the second part of the talk we will look at Lua's C API and give suggestions how to integrate it with a modern C++17 codebase. In particular we will focus on how to interface with the dynamic language Lua without compromising the benefits of C++'s strong type system.