Számomra az OO programozás azt jelenti, hogy egy struktúrát építek fel bizonyos szabályok szerint,
amibe bele tudom kapcsolni az új feladatokat elvégző elemeket, tervezhető módon. Valójában eljut az ember arra a szintre, amikor a nyelv csak egy eszköz, és igazából struktúra szinten gondolkozik, nyelvi szinten csak megvalósítja azt. Erre vannak "épitési segédletek": design pattern-ek, illetve best practice-ok. 
Részemről a funkcionális nyelven programozás azt jelenti, hogy a nyelvet változtatom, a kérdés az, hogy egy gondolkodásmódjában alapvetően eltérő programozási nyelvnél ezeket a mintákat/sablonokat mennyire tudom jól/egyáltalán felhasználni...