Concepts and semantics of programming languages 2 : modular and object-oriented constructs with Ocaml, Python, C++, Ada and Java /: modular and object-oriented constructs with Ocaml, Python, C++, Ada and Java. (2021)