WantedMethodMissing
I am listening to this webcast, talking about dynamic dispatch on the JVM, and 19:30 it starts to get really interesting. The JVM is getting support for MethodMissing. As far as I understand, this is most relevant for compiler writers, but it is something that I really would like to have on the CLR (and exposed for C# & VB).
The reason for wanting this is very simple, it lets me handle advance scenarios very easily. Take a look at Boo's duck typing capabilities to see some of the stuff that can be done with it.
More posts in "Wanted" series:
- (30 Mar 2007) MethodMissing
- (27 Dec 2004) Explanation about Word
Comments
One of the main reasons I am interested in method_missing style features in the CLR is that you can emulate the way that ActionScript 3 handles XML documents, which is, I think, pretty awesome.
Wow! JVM rules!
It can be abused, though. In Ruby land, many projects like Camping and RSpec (and even Rails) were reaching a point of collisions and nearly impossible debugging. RSpec is being redesigned to have only a couple of method_missing handlers rather that hundreds.
Do you really want to see the code where the whole application is nothing but anonymous delegates and operations on anonymous delegates?
There is not doubt that it can be abuse. Hell, just recently Rhino Mocks, NUnit and MbUnit had to do some name space shuffling because all of us wanted the "Is" class for fluent interfaces (but I was there first :-) ).
I still want this feature.
You mean like Functional Programming? Yeah, it's hard to look at but very powerful. Not for the meek.
I want method_missing too! Better to empower the developer than disable them. I'm just saying that method_missing is "the nuclear option" - use sparingly if you want to stay sane. How you have stayed sane in all the the über-coding you do is amazing. :)
No, I am not talking about functional programming, I am talking about functional programming using anonymous delegates, there is a big difference.
I don't agree that it is the nuclear option, I consider run time code generate to the 2nd degree that.
And I don't think that I ever claimed to be sane :-)
Comment preview