Fear and loathing of the "perlification" of Smalltalk
Blake
blake at kingdomrpg.com
Fri Sep 7 08:58:50 UTC 2007
Jason,
Of course, the problem with e-mail lists is that sometimes (often?
always?) one's sarcasm is completely and utterly missed. Which, of course,
encourages one NOT to employ it. But as hypocrisy is the tribute vice pays
to virtue, and let's just say a very large tribute was paid here.
>> What's the point of having a context if you don't use it?
>
> Context means having to keep extra things in your head and it makes
> the code more complex. Didn't the Perl experiment teach you anything?
> ;)
This I was serious about. Why should an object's code need to reference
its own context? If it's too hard for YOU to keep track of your object's
context, how do you expect CLIENTS to do so?
>> self position: (self position + newPos - self center)
>> asIntegerPoint.
>> versus:
>> position: (position + newPos - center) asIntegerPoint
>>
>> Yes. I see how that's not only clunky and confusing BUT tasteless. Worse
>> than combining plaid with stripes.
>
> Clunky and confusing? It's uniform and obvious for me. An object
> always receives a message in every case. No stupid special cases to
> remember. But if you don't like Smalltalk there are thousands of
> other languages out there to try, no need to torture yourself with
> this one you find so ugly.
Tim is the one who used the word "tasteless" to describe a situation
where one doesn't constantly need to explicitly reference the current
context. I found that amusing and ran with it. I think it's clear that the
Smalltalk version, with its constant "self"s is very obviously clunkier
than the one with the implicit self. (However, I concede that there are
other issues, i.e., that it's not as simple as just making the self
implicit.)
>> Here's another horrid example from the Wiki entry on the abomination
>> known as "Self":
>> valid: base bottom between: ligature bottom + height And: base
>> top / scale factor.
>> and here we see the oh-so-elegant improvements ST-80 makes:
>> valid := self base bottom between: self ligature bottom + self
>> height and: self base top / self scale factor.
>>
>> Mmmmmm. =Tasteful=!
>
> You also don't like Self, one of the most important languages for
> research of our time?
Well, no, I was advocating for a more Self-like approach precisely
=because= it is well-respected and more-or-less exactly what I'm talking
about. (See, if context is so horrible, Self is an abomination.)
I'm sorry; I thought I was sufficiently broad so as not to have my
intentions be missed, but there really is no such thing.
===Blake===
More information about the Squeak-dev
mailing list
|