オブジェクト指向のメリットは知識がなくてもコード↔現実世界を連想しやすいってことでは
とにかく、物に名前をつけていけば形が出来上がるからね
ただし、現実世界に存在しないものに名前を付けてしまうと妖精さんが量産されておかしなことになりがち
twoGetter sageSetter nullPointer
みたいに物と結び付けないならそれは関数と同じ

逆に関数指向は名前から物を連想し難いところがデメリット
名前が指しているのが物なのか行動なのか関係なのか形態なのか解り難い
<$> >>= <*
こういうのが並んでても何も思い浮かばない
それらがどういう意味であるかを「覚えて」初めて解る
「覚える」コストが大きいのがデメリット

オブジェクト指向と関数指向はGUIとCUIの関係に似てる
物を意識した方が良いシーンではオブジェクト指向、物の境界を意識すべきでないシーンでは関数指向
コインの表裏だからどっちが役に立たないとかない
技術者であれば片方しか使えない人より両方使いこなせる人の方が優れていると言える