About
A primitive data type is the basic data type that a language offers.
A primitive type is a type without any substructure. It is then data:
- that is not an class/object
- and has built-in operation (no object methods)
Most of the time:
- a primitive value is represented directly at the lowest level of the language implementation.
- primitives are immutable (cannot be changed).
They are also scalar.
Articles Related
List
Most primitive data type fall under one of this category:
- Character String Types: character
- Numeric types: numeric
- Date-Time Types: date
- Binary Types: Byte (Bit Octet) - Computer storage Unit (8bit)
- Spatial Types: Spatial - Geo (Map|Chart) - Topology
Others:
Example
- boolean,
- byte,
- short,
- int,
- long,
- char,
Obsession
Primitive obsession is the overuse of primitive types to represent higher-level concepts.
Example with a bounding box represented with:
- primitives
vector<pair<int, int>> polygon = ...
pair<pair<int, int>, pair<int, int>> bounding_box = GetBoundingBox(polygon);
int area = (bounding_box.second.first - bounding_box.first.first) *
(bounding_box.second.second - bounding_box.first.seco
Polygon polygon = ...
int area = polygon.GetBoundingBox().GetArea();