Data Types

Built-in data types are often the fundamental building blocks of a modern programming language. They form the base of other higher-level or more complex constructs you may create to represent domain-specific concepts for your applications. Many modern high-level languages provide a rich set of data types and utilities (either as generic operations span multiple types or as methods of specific types) to operate on and manipulate these base types, either as part of the language core or as external libraries and packages, so there is often no need to create your low-level data types.

Some languages are dynamically typed, and some are statically typed. Dynamically typed language means that you do not have to declare the types of your objects; the type checking is performed at runtime, and the runtime will automatically keep track of the object types throughout their lifecycle. In statically typed languages, subtype and supertype relationships are often more prominent.

Languages can also be classified as strongly typed or loosely typed. The former means only legitimate type-specific operations are allowed for objects of that type.

Many built-in data types can be created by literals - a shorthand syntax to speed up the development and make the code concise.