Welcome to the wonderful zoo that is C++! Known to be closer to a federation of languages than a single language, C++ is a complex beast mystifying the most seasoned of software engineers. However, 35 years into the making, it is still a cornerstone of software engineering. How to find our way among the wild constructs, between the old and the new, without leaving a leg to the alligator?
The answer is simple: by taking a tour and exploring the language yourself! Metaphors aside, the goal of this talk is to provide an overview of C++ with emphasis on the modern features of the language and how to adopt the latest common practices. We will look at some of the defining features of C++, like templates, but will focus on the latest additions, like move semantics and r-value references, compile-time type inference, lambdas, const expressions, changes to memory management, and even some of the experimental features, like concepts and modules. To understand how they belong in the large federation that is C++, we will look at all its major eras: pre-ISO, C++03, C++11, C++14, C++17, and the still being designed C++20.
Dr. Thierry Lavoie is a former senior engineer turned manager in the static analysis group at Synopsys. He holds a Master's degree and a Ph.D. in static analysis from the University of Montreal, where he also lectured on compilers and data structures for several years. He is currently the principal voter on the ISO C++ Standard Committee for Synopsys. He has implemented parsers for PHP and Java, as well as island-parsers for C and C++.
Snacks at 17:30. Meeting begins at 18:00.
Attendance is free for CUUG members, or $10 (cash only) at the door for non-CUUG members.
See the main CUUG web page for general information about CUUG.