On his blog today, Quaint has this new post where he looks at one of the things that most developers struggle with at one time or another - "Object Oriented versus Procedural" code.
This is because the problem with procedural programmers learning OOP is that they tend to put their procedural code into classes/functions. This is however not the point (and the strength) of Object Oriented Programming. Writing good (useful) OOP requires developers to re-design their approach to writing software.
It was only relatively recent (1,5 years ago) that I was first introduced to the concept of Object Oriented Programming. This was when I first bought Harry Fueck's "PHP Anthology". At first I, like most (beginning) PHP programmers only used to procedural coding, couldn't see the advantage.
He continues on, talking about how the mindset needs to change for OOP versus procedural, and how code reuability is key. He also gives the example of PEAR for how OOP should be looked at...