Oh coding brethren, please stop the Monkey Knife Fight over Humane versus Minimalist Interfaces. I have a solution: let's write a minimalizer for Ruby, and a humanizer for Java. That way, we can all live in harmony, and program in the style of our choosing regardless of which language we use.
Here's the Ruby minimalizer.
def make_minimal(cls, *extraneous_methods)
extraneous_methods.each {|m| cls.send :undef_method, m}
end
You can pass parameters to selectively remove exactly the methods that bother you. Don't like those pesky first and last methods?
make_minimal Array, :first, :last
Now they're gone.
On to the Java humanizer. Hmm, I'm having a little trouble finding the methods I need here. I'll just go read the Javadoc for the SDK real quick and see if I find what I need. Thank goodness the Java API is minimalist! I expect to be back in just a few minutes with the answer...