3.3.3 Синтаксис языков программирования

В большинстве случаев задача решаема при помощи как процедурного, функционального, так и объектно-ориентированного подходов. Просто необходимо подумать, что является наиболее подходящим. В процедурном случае возможно и принято описывать все действия этапами после этого использовать их в нужном порядке. В функциональном случае некоторые места можно описать покороче. Также можно решить, что функция с одним и тем же именем будет в разных случаях вести себя по-разному. Объектно-ориентированный подход даёт более основательные возможности, однако в то же время с его помощью не удаётся найти короткого решения в большинстве случаев. В случае, когда дело доходит до множества маленьких вспомогательных инструкций, нужно быть осторожным в отношении объектно-ориентированного подхода. В то же время он даёт гибкую возможность для роста приложения, когда можно в большом количестве дополнить ПО без изменения его структуры.
Дополнительное чтение: http://metshein.com/content/view/587/32/