Chris, I can fully relate to your post. I trained as a programmer in the 80s when OOP was an accademic novelty, and didn't learn OOP untill around 2002. However now I find myself naturaly thinking in OOP terms, although I'm by no means an expert - I'm a sysadmin that writes the occasional utility. I found learning OOP with Python very easy because it has such a stripped-down and convenient syntax.
The advantages of OOP aren't in performance or memory, they're in the fact that OOP simplifies the ways in which we can think about and solve a problem. OOP packages up the functionality of a program into logical units (objects) which can be written, debugged and maintained independently of the rest of the programme almost as if they were completely seperate programmes of their own, with their own data and 'user inteface' in the form of callable functions (actualy methods). Here's a realy excellent tutorial on Python that's fun to follow. Downloading and installing python, and following this tutorial will probably take about as long as it took to write your post in the first place. At the end of it you'll have a good idea how OOP works, and how Python works. Learning OOp this way is easy and painless, and what you learn about the theory and principles of OOP in Python will be transferable to C++ if you end up going in that direction. I hope this was helpful. Simon Hibbs -- http://mail.python.org/mailman/listinfo/python-list