Простой пример одного и того же кода в ООП, функциональном и процедурном стиле?
(Все это дико не академично, не корректно и воообще, но должно быть понятно):
Процедурный подход: есть последовательность команд. Каждая из них может содержать последовательность команд.возьми_кофемашину();
налей_воды_в_кофемашину();
нажми_кнопку();
подставь_кружку();
вылей_кофе_в_кружку();
наслаждайся();
ФП - акцент на действии. Одни действия влекут за собой другие.наслаждайся(
    своим_кофе(
        которое_сделала_кофемашина(
            в_которую_налили_воды())))
ООП - акцент на объектах. Любое действие совершает конкретный предмет есть кофемашина;
есть кружка;
есть ты;

ты.имеешь(кружку)
кофемашина.имеет(кружку)
кофемашина.поехали();
ты.возьми_свою_кружку();
ты.наслаждайся();
не пытайтесь понимать различие между стилями по текстам. )))
дело в том что различия в парадигмах. различия в том как некий аналитик моделирует предметную область.
пример
есть расчет заработной платы 
процедурный подход - считаем отработанные часы, вычисляем сумму по тарифу, вычисляем вычеты, вычисляем налоги, и проч и проч.процедуры состоят из под процедур.
объектный подход - есть табель, есть тарифная ставка, есть налоги, выплаты, вычеты. Это уже что-то похожее с чем работает бухгалтер. следовательно такой подход в этом случае близок к данной предметной области.
функциональный - можно представить так. есть поток данных. мы преобразуем в новый поток данных. затем еще преобразуем и т.д. есть часы.  сделаем из них сумму , уберем из них вычеты, уберем налоги, снова вычеты ... на выходе получим сумму выплат.
хотя в примере названия пересекаются, но не факт что сущности в одном подходе появятся и другом. Именно, поэтому не нужно сравнивать одну и туже предметную область в разных подходах.