Лекционный зал. За столом преподавателя сидит обворожительная девушка модельной внешности. Я сижу перед ней за первой партой.
— Молодой человек, сколько уже можно? Вы будете отвечать, в чём отличие декларативного подхода к программированию от императивного?
— (Про себя.) Думай, думай, думай…
— Ох, это ужасно! Императивный подход описывает процесс вычисления в виде инструкций. Это последовательность команд для исполнения компьютером. А вот декларативный подход описывает, что вам нужно в конечном итоге получить, а не как выполнять программу. Это набор логических правил.
— Ну поймите, я не могу всё помнить!
— Да чего тут помнить? Это нужно понимать! Какой же ты, Дима, всё-таки у меня глупый!
Просыпаюсь в жутком поту от осознания, что во сне моя девушка объясняла мне материал по программированию. И всё бы ничего, но я до этого сна и понятия не имел о существовании такой классификации подходов.