Писал мелкие скрипты на пхп, ессно в процедурном стиле (в программировании я "соболезнующий"), потом увидел руби и в процессе его изучения по книжкам привилось использование ООП.
В итоге дошёл до уровня: "методы класса - это те же самые функции, просто доступ к ним стал в разы удобнее и они приобрели гибкость", если не прав - буду только рад изменить своё мнение, потому что всё ещё пишу только вялые приложения, и значит что-то делаю не так :)
Ещё так уж сложилось, что пришлось бегло почитать Head First Java - там есть раздел посвящённый ООП, вот этот самый раздел и позволил лучше понять разницу этих технологии на примере явного сравнения: два программиста, одновременно решая одну и туже задачу, использовали разные подходы и сталкивались с разными проблемами - очень наглядный пример, я считаю.