From: James Britt Date: 2006-01-09T13:04:09+09:00 Subject: Re: Ideas on "Why Living Dangerous can be A Good Thing" in Ruby? Gregory Brown wrote: > On 1/8/06, Steve Litt 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