Generics and Templates
A “type system” in a programming language is the foundation over which “richer” and “more general” constructs of modules, functions, expressions and variables can be expressed.
What is also needed is a way to enforce “constraints” (ie. ) and perform “checking” (ie. ) on the types at “compile time” and/or “run time”, to ensure that parts of the program work together consistently.
Today both Java 8/9 and C++ 11/14 provide rich and sophisticated approaches to express types within the language constructs (even though they adopt different approaches). The re-designed and re-fitted “Collections” and “Template” library attest to the importance of generic programming capabilities.
The focus of the talk is to
which can be profitably adopted while engineering enterprise, infrastructure or resource constrained software.
Programmers, Software engineers and software architects.
Types and Programming Languages, Benjamin C. Pierce.
Session difficulty level: In-depth talks
Share this session: