in reply to Re^2: looking towards learning OOP
in thread looking towards learning OOP

Just to take the opposite side of this argument: it is not at all clear to me that the doctrine of "Object-Oriented Design" has anything going for it -- this isn't the sort of thing anyone ever takes the trouble to do studies of, so instead we're all left shouting our anecdotes and personal impressions at each other. Notably, what exactly OO Design is is somewhat up for grabs, and has certainly changed over the years (any failures in OO designs, you see, can never be the fault of OO design itself, but instead must be the result of a poor implementation... and so we have ancilliary doctrines accumulating around the original doctrine, e.g. "design patterns").

One could make the case that using objects in perl is a little less onerous than in a more fundamentally object-oriented language, because you can be a little sloppier about it and let the abstractions leak when they need to.

My own take would be that pursuing some grand understanding of the fundamental principles of objects before you proceed with actually using them would be totally crazy: you'll never be done with it, and never get down to the concrete-level to see if using objects actually does anything for you. Most likely you'll need to pursue both levels at the same time, and a good way to start may very well be to think about object classes as a collection of routines that share data via a blessed hashref.

Some of my own suggestions (for what they're worth, and I'm not sure how much they are):