Wszystko zależy od problemu, który próbujesz rozwiązać. Oczywiście możesz rozwiązać każdy problem w dowolnym stylu (proceduralnym lub OO), ale zazwyczaj możesz dowiedzieć się na etapie planowania, zanim zaczniesz pisać kod, który najlepiej pasuje do ciebie.
Niektórzy ludzie lubią pisać przypadki użycia i jeśli widzą wiele takich samych rzeczowników pojawiających się w kółko (np. Osoba wypłaca pieniądze z banku), to idą trasą OO i używają rzeczowników jako ich obiekty. I odwrotnie, jeśli nie widzisz wielu rzeczowników i jest naprawdę więcej czasowników, to procedura proceduralna lub funkcjonalna może być drogą do zrobienia.
Steve Yegge ma great but long post jak zwykle, który porusza ten temat z innej perspektywy, co może okazać się pomocne.