Выделяют два основных подхода к программированию:
- ориентированный на процессы
- ориентированный на данные
Примером подхода ориентированного на процесс (функциональность) является так называемое процедурное программирование (например, язык Pascal - Паскаль), а примером подхода, ориентированного на данные - объектно-ориентированный подход, например в Java.