This month we welcome Mathias Laurin to our user group. A long time open source contributor, Mathias became a software developer after an academic career as a physical chemist. He currently writes a cryptography library for Python on his spare time and enjoys reading
about clean code and agile management, personally tending
more towards XP and lean than SCRUM.
Abstract: Object-oriented programming (OOP) seems to mean different things to different people. Well, either the concept is largely misunderstood or it is not well defined.
It is indeed hard to find a simple definition of OOP. For example, SOLID are guidelines but not a definition. The big three "inheritance, encapsulation, and polymorphism" are not satisfying either: Inheritance is a language feature, and encapsulation and polymorphism can be achieved in non-OO code.
Starting with an historical approach, we aim at discovering this small and clean definition struggling to get out. Then, we show several ways to accomplish proper OOP in C++.
Sponsor: Brainlab AG