When you start to define programming as the job of developing and implementing elegant languages for expressing domain intent, you see both the strengths and weaknesses of OOA&D. Objects as nouns with methods as verbs is one quite useful approach to language design, but there are clearly languages that are not most elegantly expressed using that kind of grammar. From simple utilities (which should really be language extensions) for creating structures or operating on collections to imperative flow driven requirements (like workflows), OOP provides the best single structure for simplifying language design to date, but the future of programming must support a wider range of concrete syntaxes for expressing language design.
Really just a random musing, but I have a feeling that some interesting concepts may come out of pondering this further. Is that making sense to ANYONE out there?! :->