On 9 Jan 2009, at 13:30, David A. Black wrote:

> Hi --
>
> On Fri, 9 Jan 2009, Tom Cloyd wrote:
>
>> Thanks Mike. I appreciated your post. I'm an awful Ruby programmer,  
>> and write tightly organized, well documented procedural Ruby. I'm  
>> only now, after probably 1.5 years of on and off work in the  
>> language, getting around to writing classes. I really couldn't see  
>> why I'd want to, until very recently. Then, thanks to some folks on  
>> this list, I "got it". I can't wait to dive in to using classes, now.
>
> Dave Thomas issued a challenge in a recent keynote address, where he
> suggested that when each of us writes our next Ruby program, we try to
> do it without writing any classes. It's an artificial exercise, of
> course, but it keeps the focus on the objects as opposed to the class
> hierarchy, which is all to the good in most cases.
>
> When I teach the Ruby language, I actually illustrate singleton
> methods before I talk about classes, because I consider the dynamism
> of objects (their independence from their classes) to be a more
> important foundational principle of Ruby than the fact that every
> object is an instance of a class. Mind you, like everyone else I write
> "class Thing" more often than "def thing.something" in my own code (I
> think :-) But it's still important, in my view, to get the hang of the
> fact that Ruby classes are not the center of gravity.
>
> So it sounds like you've done it in the right order :-) Keep modules
> in mind, too. They're very cool, especially when you #extend objects
> with them....

*Raises hand*

At the risk of looking very silly, could I ask you to say a bit more  
about this? As a newbie, I have automatically read "object" to mean  
"an instance of a defined class", and assumed that object orientation  
in Ruby leads to mostly thinking in terms of classes.

Thank you,

--
Stuart Ellis
http://www.stuartellis.eu