Cal Henderson has a line that goes something like this: “The Web Application Scale of Stupidity goes from OGF (One Giant Function) to OOP (Object Oriented Programming), like this: OGF <——– sanity ———> OO”.
Really rings true. Going all the way OO has one unexpected disadvantage: loosing flexibility. Which always drove me crazy when working with Java programmers. “That takes a week to change” was a common answer, where with functions it might have taken a few hours.