This document discusses different data types in programming languages. It covers primitive data types like integers, floats, decimals, booleans and characters. It also discusses string types, user-defined types like enumerations and subranges, and array types. For each type it describes common implementations in languages and considerations in their design.