Structured (Procedural) Programming
Algorithm then data structure
Program is separated to many procedures (functions)
Good for small problems
OOP
Data structure (class) then algorithm
Program is broken down to many classes. Each class has data and methods
Good for large problems