Gregory Brown wrote:
> On 1/8/06, Steve Litt <slitt / earthlink.net> wrote:
> 
> 
>>If someone can show me an advantage to adding methods and instance variables
>>in real time, and that advantage can't be realized with normal OOP
>>techniques, I'll keep an open mind. But unless it offers me a unique benefit
>>that I need, I wouldn't do it.
> 
> 
> Well, that's kind of what this whole thread is about.  There are a lot
> of really great ruby applications that take advantage of this kind of
> dynamicity, and we're trying to come up with a decent explanation of
> exactly that... why it's advantageous. But...
> 
> 
>>It's easy to use Ruby in a manner that respects encapsulation and a known
>>state, and if used that way, I'll leave my goggles at home :-)
> 
> 
> This is a good point.  The language doesn't force you to go
> willy-nilly.  It just grants you that freedom, which can be VERY nice,
> if you know what you're doing.

I think my message-oriented programming post on O'Reilly demonstrates 
the sort of thing metprogramming and reflection/introspection affords a 
developer, or at least the sort thing it leads some of us to do.

http://www.oreillynet.com/ruby/blog/2006/01/moping_up_with_herbal_cialis.html

Without Ruby's degree of developer freedom, it becomes 
hard-to-impossible to rearrange the language to best express your 
intentions.

The B&D languages may make claims to a certain amount of security, but 
code that is hard for humans to read and understand is code that is 
harder to maintain without introducing subtle bugs.  The code may 
compile and run without errors, but it may not be doing quite what it is 
supposed to.

James


P.S. Looks like rubyurl.com is having issues, if Robby is lurking.


-- 

http://www.ruby-doc.org       - Ruby Help & Documentation
http://www.artima.com/rubycs/ - Ruby Code & Style: Writers wanted
http://www.rubystuff.com      - The Ruby Store for Ruby Stuff
http://www.jamesbritt.com     - Playing with Better Toys
http://www.30secondrule.com   - Building Better Tools