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