"Conrad Schneiker" <schneiker / jump.net> writes:

> > Rather than having <<, push, append, tackOnTheEnd, enQueue, and all
> > the rest, why not have just one (say <<) and then distribute a
> 
> Wait! Stop right there!
> 
> Don't ruin a Good Idea (tm(tm(...))) by distributing oxymoronic standard
> deviations (tm(tm(...))). To new Ruby users, that would be tantamount to
> implementing the principle of increasing surprises.
> 
> I prefer just one standard set of method names for the same reason I prefer
> just one standard set of keywords. (I realize that backwards compatibility
> will preclude achieving this until Ruby 3000, but this design goal should
> hold for everything new.)

I happen to agree 100% (particularly if you all let _me_ choose the
set of methods to keep ;-). However, I suspect matz won't be too happy 
with this idea -- I seem to remember a similar discussion a couple of
months back where he was in favor of having aliased methods.

<tongue-in-cheek>

Perhaps the answer is to have something like:

  module OnlyNecessaryNames
    class Array
      undef_method :<<
      undef_method :append
      # ...
    end
    class Hash
      # ...
    end
  end

And then let us purists start our code with

  include OnlyNecessaryNames

It could become a badge of honor, like 'use strict' in Perl.

</tongue-in-cheek>


Dave


(still waiting for c.l.r on his newsserver)