Wednesday, August 17, 2005

Touche Pussycat!

I overheard this on the ruby mailing list from Florian Groß:

Eric Mahurin wrote:
The biggest problem I have with being able to add/remove/modify methods of an object (using a meta class or directly in the object's class) is the future of optimization in Ruby. Adding methods may not cause too much of an issue, but modifying them sure could.

"Researchers seeking to improve performance should improve their compilers instead of compromising their languages."
-- An Efficient Implementation of SELF, a Dynamically-Typed Object-Oriented Language Based on Prototypes, July 1989

I love this reply! What a great quote. It ties in nicely with "premature optimization is the root of all evil." Amen, brother! Just remember, people used to think Lisp and Smalltalk were too slow as well. Virtual machines used to be a dirty word. Now, java and c# are two of the most popular corporate languages and they both run off VMs. I love the prototype parts of Ruby. They are especially great for debugging specific instances and other things. Let's make our languages more dynamic, not less. More is less.


Vincent Foley said...

That's a great quote. Ruby could improve a lot though. The first thing I would love to see is Ruby being self-hosted, that way we could have access to the parser and to the compiler directly from withing Ruby. I think that Factor can do it.

Florian Groß said...

Hehe, like I said -- there couldn't possibly have been a better opportunity to post that with SELF being a prototype based language and all that. :)