In object-oriented programming, programmers can think of a program as a collection of interacting objects, while in functional programming a program can be thought of as a sequence of stateless function evaluations.
В его работе «"Concepts and paradigms of object-oriented programming"» парадигмы определяются как «"правила классификации языков программирования в соответствии с некоторыми условиями, которые могут быть проверены"».