Императивный подход (от англ. imperative — «приказ») подразумевает программирование через строгую последовательность команд: компьютер или автономная система будут делать только то, что предписывает исполняемая программа. Событийное программирование, наоборот, описывает только те ситуации, в которых происходят изменения в системе и в которых требуется реакция. Поэтому императивный подход хорош для программ, которые реализуют конкретные известные шаги, а событийный — при управлении автономными системами в слабо определенном окружении, например в ситуации взаимодействия с человеком или другими автономными системами.