It's beginning to firm up up in my mind.

OO treats data and methods as intertwined. An object has its data and 
its methods. Procedural treats methods and data as two groups on each 
side of the dance floor, changing partners as the night proceeds.

With procedural you can carry out data analysis and create a database 
based on the qualities of the data rather than any consideration of what 
methods are going to use them and in what way.

Similarly you can create a structure of procedures that describe how you 
are going to address the task of the program, without at that point 
considering data in any detail.

Eventually the procedures map onto the data structure but tend to share 
'objects' with other procedures. I guess often you could group data and 
procedures into 'classes' as they will have patterns of 'closed' usage, 
but you don't have to.

On a separate tack, procedural doesn't hide methods (because it doesn't 
have the language feature to do so) so a procedural program will trust 
other programmers not to abuse code.



-- 
Posted via http://www.ruby-forum.com/.