[Squeakfoundation]Re: Proposal for TWO official releases

Maarten Maartensz squeakfoundation@lists.squeakfoundation.org
Sat, 20 Apr 2002 17:20:26 +0200


Hello Joshua,

At 09:22 20-4-02 -0400, you wrote:

<snip of part of earlier mail>

>> >> O, and please do not write Comments on the line of "I (this piece of
>> >> comment on this piece of code) am ... " etc. For this is just
categorical
>> >> nonsense: Prose is not animated. 
>> >
>> >I have no problem with classes commenting on themselves in the first
>> >person.  I think that it encourages you to think in an object-oriented
>> >manner.
>> 
>> I do have serious problems here. Indeed, I believe one of the reasons
>> Smalltalk is less popular and less well known than it should be is just
>> this style of writing about it. Now I am sure this is in fact a large
>> topic, so I just give one brief example from very many: Here is the first
>> statement of the Class Number (and the rest of the Comment doesn't make
>> things clearer for a newbie, and also not for newbies with lots of
>> mathematical knowledge):
>> 
>> "I am an abstract representation of a number."
>> 
>> Taken literally - and if one describes code, this seems a fair approach:
>> code is a kind of text - here we have, it would seem from the very words
>> used, THE Platonic Form Number Itself personally expounding the deepest
>> Pythagorean Mysteries. Now whatever thinking "in an object-oriented manner"
>> means, it should not mean having to write nonsensical, metaphysical or
>> theological English.
>> 
>> Take the just the initial two words "I am" that occur likewise in many
>> Comments: What IS meant but NOT said is: "The code this comment is about is
>> intended to ...". (Note that a Comment in Smalltalk IS a piece of text
>> explaining a piece of code.) 
>> 
>> Now what is wrong ("non-object oriented"?) about writing e.g. instead:
>> 
>> "(The Class) Number consists of the most general methods for dealing with
>> numbers."
>> 
>
>Nothing is wrong with it, and I agree that this is much better than
>the existing comment, but not because you replaced the "I am".

Well, more on the "I am" below, but it is pleasant to see that we agree on
the rest of that statement, presumably on the basis of a shared
understanding of English.

>"I specify the most general methods for dealing with numbers." 
>
>is, in my opinion, just as good as your comment.  It is certainly better
than:
>
>"(The Class) Number is an abstract representation of a number".
>
>
>> And similarly in ALL the other cases of "I am ..." ALL of which (1) make a
>> piece of comment present itself as animated entity
>
>No, the piece of comment presents the _class_ as an animated entity.
>When I write "I am a human", the paper I write it on is not saying
>that it is a human.  It is communicating on behalf of another entity,
>me.  Similarly, a class comment is communicating on behalf of the
>class.  I personally have had no problems with this, right from the
>first time I started Squeaking.

I agree that is the intent, but I started with "Taken literally". And there
are all manner of quite subtle problems here. For example, what about

(*) "I am a piece of text that says something about itself but didn't write
itself" ?

In (*) the denotation of "I" presumably is (*) and not the writer of the text.

Since I am quite aware of these and related problems, I had right from the
first time of Squeaking problems with this. Perhaps this is mostly
personal, but even so that doesn't change the oddity of the "I am" Comments.

>> (2) that mistakenly
>> describes itself as the code it attempts to comment
>
>I suppose that this is true if you consider a class to be nothing more than
>code (which is correct, in a certain sense).  However, a class might also 
>be understood as a platonic concept.

Yes, and I myself am a realist - but the problem here is that the whole
issue of universals (and particulars and what Plato might have meant etc.)
is far from clear. (For good recent books: Put "D.M. Armstrong" +
"universals" in a websearch machine).

>> (and very misleadingly
>> suggests a piece of code running on a computer is or could be a living
>> entity).
>
>I suppose that it does.  Again, I don't see a problem.  What about
>MorphicWrappers, where you type over a morph to send it a message
>directly.  You are talking directly to it, and it answers directly.
>This is an interesting UI approach that anthropomorphizes the objects
>in the system to an even greater degree than a static class comment.

I much like the MorphicWrappers, but I do not at all see it as
anthropomorphizing the objects, just as I don't anthropomorphize my
computer when I "send it messages" using the keyboard. 

>Are you suggesting that people might become confused about this point, and
>believe that the computer is alive?  This might be a valid criticism if
>EToys were to present itself in this way, but presumably by the time you
>are hacking Smalltalk, you understand computers well enough to recognize
>this as a manner of speaking.

Well ... it depends. I do, and you do - but there are quite a few
philosophers (such as Hauser or Dennett, for example) who insist that
computers think, not as a manner of speaking, but like you and I do, if not
as good or as slow as we are on some cognitive tasks.

My general point, also about universals, is that such deep philosophical
issues should not be "settled" or "solved" in the way this is apparently
done in much Smalltalk prose I have read over the past nine months - for
there I have met all manner of presumably living animate  objects
inhabiting Smalltalking computers, that know (and occasionally wish) all
manner of things. I just cannot believe this, though I think Smalltalk code
is beautiful and elegant and contains some great insights.

The metaphysical status of these presumably living animate objects
inhabiting Smalltalking computers is usually quite unclear, but seems to be
mostly an article of faith to most Smalltalkers: "Everything is a object"
"Objects know how to do things" etc. etc. 

I am a philosopher, and I don't find this clear at all, and taken as
ordinary English, about pieces of code running on a computer, it seems
pertinent nonsense to me, that I also believe is not necessary at all for
the purpose of explaining Smalltalk code, even though I can understand
there is some metaphorical justification to sometimes write like this.

>> A Comment to a piece of code should be in clear English and not make all
>> manner of irrelevant or false assumptions (perhaps suggested by hitherto
>> unrealized ideals like "a Smalltalk object is - or is like - a living
>> entity that inhabits a computers' memory").
>
>This sort of language has been with Smalltalk from the beginning, as far
>as I can tell.  For example, when you send an object a message, it doesn't
>"return" a value, it "answers" you.  It seems to have been a conscious
>decision by the creators of Smalltalk.
 >
>> However, I am sure there is a large and sensitive theme here, and I for my
>> part feel sure that one major reason for Smalltalk having less of a
>> following than it deserves is the way Smalltalkers write about code. 
>
>I doubt that this is a major reason.

It would be nice to know.  What I wrote is definitely my impression, that
includes how some people I know who like me have some background in
mathematical logic, react to Smalltalk texts. That may be in part due to
prejudice and ignorance, but the standard Smalltalk prose is decidedly odd,
not merely as a piece of jargon (as is e.g. C), but because of many of the
philosophical statements that metaphorical prose makes.

>> To me
>> it would seem that in part this is justified by the way Smalltalk is
>> different from other languages, but mostly it is just not good English. And
>> it should be possible to explain code without writing what amounts to
>> (rather wild) metaphysics or theology, and in any case is wildly
>> misleading. After all, who would seriously start an e-mail with "I am an
>> e-mail that (is an abstract representation of) ..."?
>> 
>
>Nobody, because the email is a communication from you, not a self-referential
>piece of text.

Of course - but see my earlier remarks on the "I am" phrase - and "I, for
example, am definitely a statement in the present e-mail that Joshua
'Schwa' Gargus cannot possibly believe" is a interesting mindbender (for
suppose you believe it, Joshua, then it seems a miracle took place that
allows you to not believe what you do believe).

>> However, having partaken in other theological and metaphysical debates
>> about other subjects entirely .... what I am not at all sure about is
>> whether it makes sense to discuss this theme on this or another maillist. 
>> 
>> But yes: This is one of MY major gripes about Smalltalk: The CODE is
>> beautiful, but it is often talked about in VERY misleading animistic and
>> metaphorical English, that is totally unnecessary. 
>
>Unnecessary, yes.  Whimsical, yes.  Problematic, no, not in my opinion.

I hope you're right, but I doubt it. 

>> What converted me to Smalltalk and Squeak is the code itself plus the
>> coding environment; what made this FAR more difficult than necessary are
>> the style of talking about Smalltalk code 
>
>As I've stated, I see no problem, and actually find the style a bit quirky
>and appealing.  However, if it is generally perceived as a stumbling block
>for newbies, then I will not dogmatically insist that we should continue
>to write this way.  Again, I have _never_ found this style confusing.

I have. But I agree your and my personal reactions are just two personal
reactions. What supports my side of the issue, I think, is that we agree on
the beauties of Smalltalk and Squeak, and agree both are far less popular
and well-known than they deserve to be. This requires an explanation,
especially as regards Smalltalk, which exists for 30 years now and is
mostly unknown though beautiful. (My explanation in this mail is not
complete even if true: The price of Smalltalk in the 1980-ies also was
important in keeping Smalltalk small at that time. I certainly couldn't
afford it, though I first saw it around 1985 and was much  impressed both
by it and its hefty price.)

<snip of remaining text as dealing with another issue>

Regards,

Maarten.


------------------------------------------
Maarten Maartensz. Homepage:
http://www.xs4all.nl/~maartens/ 
------------------------------------------