Guillaume Cottenceau <gc / mandrakesoft.com> wrote:
>"Guy N. Hurst" <gnhurst / hurstlinks.com> writes:
>
>
>[...]
>
>> Yikes! I hate "->"  much more than "<...>"
>
>Yes. "->" as an alternative to "." has very low advantages.
>
>First, and very important, it's one character less, and > is shifted on
>the qwerty keyboard. On the other side, "." is very easy to access.
>
>Second, as far as I know[1], "." is used in C++, Java, Python, Beta,
>Cecil, Delphi, Eiffel, Sather, Modula-3, Visual Basic, Icon, whereas "->"
>is only used in Perl, PHP and C++. Thus, Henry's argument that "." is
>unknown to programmers is false.
>
What do you mean by "use"?

Both "." and "->" are used in C.  "." to access a field in a struct,
and "->" to access a field in a struct through a pointer.  I believe
that any C-derived language should preserve this basic usage.  The
choice of "." or "->" for method calls should reflect your concept
of what an object is.

For instance Perl's objects are references (ie Perl's version of
a pointer) and OO operations operate through dereferencing.
Therefore it uses "->" for method lookups.  This analogy goes very
far.  For instance when you bless, the thing referred to is what is
blessed, and is what the method lookup will happen on.  (Yes, I
know perfectly well the string concatenation operator issue that is
usually quoted.  I am ignoring it on purpose.)

As of Perl 6 they will be making an effort to drop most of the
dereferencing that you used to do.  Part and parcel of this is that
Perl will drop the "->" syntax and switch to ".".

Given that in Ruby all things are objects, and Ruby does not
encourage people to think in terms of explicit dereferencing, I
absolutely believe that it should use a ".".  Not due to the fact
that programmers are used to seeing method calls written that way,
but because the syntax tells people something about what the
language's model for an object is.

Cheers,
Ben