A Programming Paradigms that focuses on organizing and processing data rather than objects.
- Classes are used to make custom data structures with the sole purpose of storing and managing data.
- Data is treated as a First Class Citizen
- Just use maps
Used often in game development.

Ideas
- Separate Code from Data
- Represent data with generic data structures - (Hashmap, Tree, Queue)
- Treating data as immutable - new data must be created
- Separating data schema from data representation - Data should not be designed for function use