Damian Conway <[EMAIL PROTECTED]> wrote:
> [an extremely well-thought-out explanation]

Thank you, Dr. Conway.  That was very enlightening, and I think I
agree with all of it.

Larry Wall <[EMAIL PROTECTED]> wrote:
> You guys are all ignoring that I said it could be set via pragma or macro.
> If you want ^, just say
> 
>     use self '^';
> 
> or some such.  Then we can let it be decided culturally.

I think this is one of those solutions that is elegant, accomodating, and wrong.

I don't think it's a good idea to have every Perl programmer choose
their own way of writing "the current object".  When I see an error
like "Use of undefined value at Foo/Bar.pm line 441", I want to be
able to jump to line 441 of Foo/Bar.pm and instantly understand what's
going on.  I don't want to check every line of code that falls before
Foo/Bar.pm line 441 to see what this programmer chose as his invocant.
 Even Perl 5 wasn't that bad--you just had to find the line that
unpacked the arguments.

I can understand that being required to get the power of syntax
modifications, but there's little power gained in choosing your own
'self'.  And I'm not even asking for self.pm to be removed--just for a
default to be provided.

Way back in Apocalypes 1, you said this:
"I was peeved by the approach taken by DEC when they upgraded
BASIC/PLUS to handle long variable names. Their solution was to
require every program using long variable names to use the command
EXTEND at the top. So henceforth and forevermore, every BASIC/PLUS
program had EXTEND at the top of it. I don't know whether to call it
Bad or Ugly, but it certainly wasn't Good."

Considering the tiny amount of power given by 'self', is it really a
good idea to require it whenever somebody wants to talk about their
own object?

Like the decision about which side of the road cars should drive on,
it really doesn't matter *which* choice is taken, as long as
*something* is decided.  I've seen other languages use "this", "self",
and even "me", and few people complain about a particular language's
choice.  (My suggestion would be "o" or "O", as suggested in another
thread, but I'm certainly not attached to those keywords.)

-- 
Brent 'Dax' Royal-Gordon <[EMAIL PROTECTED]>
Perl and Parrot hacker

Reply via email to