Hello Carl,
At 08:57 19-4-02 -0700, you wrote:
As laudable a goal as a simpler/better documented image is, I think the extra work that comes with duplication of release streams will probably mean your proposal won't capture enough support.
You may be right, but I hope to achieve something this direction when SqueakFoundation gets finally incorporated. And if nobody tries, nothing much will happen. But I cannot do it alone, and few on the list can.
In my 14 years in Smalltalk the only mechanism I've seen work that leads
to well documented classes/messages is a rule by the image builder that a change file is ONLY accepted IF it leaves EVERY class touched by the changes FULLY documented (class + message comments). This causes a lot of cursing and swearing initially because it means to change even a single method you have to take on commenting the entire class. But its amazing how quickly the image gets documented, how much obsolete code gets found and removed, how many bugs are noted and fixed, and how quickly the system becomes more easily usable, reusable, and maintainable because the system is more understandable.
I have less than 1/14th of your experience with Smalltalk (but 14 years with Prolog, mostly, from which I have drawn a similar lesson about documenting and commenting code), but my initial reaction is: This sounds like a GREAT idea!
So I ask others - including the proverbial gurus and the Harvesters - for their comments for this idea:
Wouldn't it be wise - seeing also the state of even VW's comments! - to make it an absolute rule for the Harvesters to accept ONLY code with proper comments and at least one example, and to announce this publicly and insist on it? (If necessary, I could quote Donald Knuth on your and my side: He called this "literate programming". And as Göran pointed out, in a mail on the developer's list, and as I had found myself meanwhile, even such a fundamental Class as Set is without comment!)
Once the classes are documented as such and a system for naming method protocols is followed, I wrote an object that traversed target classes and a produced cross-referenced HTML pages documenting the public interfaces of the classes. Being able to instantly view the commented public interface for a class immensely helped reusability and respect for the public/private interface division.
Yes, I can well imagine it. I tend to learn by FAR the most using the diverse browsers and explorers and by studying the code, but one of my standard complaints is: O, this could have been SO much easier and quicker to understand if only the maker had provided a clear English comment and one or two good examples of the intended use.
This is also why I am MUCH in agreement with Göran's campaign to - I think the word is - "refactor" the Class Comments, and I hereby call on all Squeak gurus to do their bit there so that the official 3.2 release can, probably for the first time in 30 years of Smalltalk (!!), come with good Comments and Examples for all classes.
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. Simply name the code you comment on by its name, and tell what it is intended to do, what it uses and presupposes, and give an example for its use, and don't introduce very odd idiosyncratic and metaphysical English, that also has no clear point or sense whatsoever.
Carl Gable Watts
Maarten Maartensz wrote on 18/4/02 5:00 pm:
...I'd propose the following to both Squeak.org and the Squakfoundation:
- To maintain TWO releases as a standard policy: A. Developers' release B. Learning & Teaching release...
Regards,
Maarten.
------------------------------------------ Maarten Maartensz. Homepage: http://www.xs4all.nl/~maartens/ ------------------------------------------
On Fri, Apr 19, 2002 at 08:31:03PM +0200, Maarten Maartensz wrote:
Hello Carl,
At 08:57 19-4-02 -0700, you wrote:
<snip suggestion to accept only documented code>
I have less than 1/14th of your experience with Smalltalk (but 14 years with Prolog, mostly, from which I have drawn a similar lesson about documenting and commenting code), but my initial reaction is: This sounds like a GREAT idea!
I like it as well.
<snip>
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.
<snip>
Joshua
Hello Joshua,
At 01:39 20-4-02 -0400, you wrote:
On Fri, Apr 19, 2002 at 08:31:03PM +0200, Maarten Maartensz wrote:
Hello Carl,
At 08:57 19-4-02 -0700, you wrote:
<snip suggestion to accept only documented code>
I have less than 1/14th of your experience with Smalltalk (but 14 years with Prolog, mostly, from which I have drawn a similar lesson about documenting and commenting code), but my initial reaction is: This sounds like a GREAT idea!
I like it as well.
Good.
<snip>
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."
And similarly in ALL the other cases of "I am ..." ALL of which (1) make a piece of comment present itself as animated entity (2) that mistakenly describes itself as the code it attempts to comment (and very misleadingly suggests a piece of code running on a computer is or could be a living entity).
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").
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. 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) ..."?
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.
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 and the non-existence or unclarity of good comments to otherwise good code.
<snip>
Joshua
Regards,
Maarten.
------------------------------------------ Maarten Maartensz. Homepage: http://www.xs4all.nl/~maartens/ ------------------------------------------
On Sat, Apr 20, 2002 at 01:47:22PM +0200, Maarten Maartensz wrote:
Hello Joshua,
At 01:39 20-4-02 -0400, you wrote:
On Fri, Apr 19, 2002 at 08:31:03PM +0200, Maarten Maartensz wrote:
Hello Carl,
At 08:57 19-4-02 -0700, you wrote:
<snip suggestion to accept only documented code>
I have less than 1/14th of your experience with Smalltalk (but 14 years with Prolog, mostly, from which I have drawn a similar lesson about documenting and commenting code), but my initial reaction is: This sounds like a GREAT idea!
I like it as well.
Good.
<snip>
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".
"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.
(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.
(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.
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.
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.
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.
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.
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.
and the non-existence or unclarity of good comments to otherwise good code.
This is an entirely different issue. I agree with you whole-heartedly.
Best, Joshua
<snip>
Joshua
Regards,
Maarten.
Maarten Maartensz. Homepage: http://www.xs4all.nl/~maartens/
Squeakfoundation mailing list Squeakfoundation@lists.squeakfoundation.org http://lists.squeakfoundation.org/listinfo/squeakfoundation
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/ ------------------------------------------
Well! This has turned out to be an interesting conversation. Before I make a few short responses to what you've written below, let me say that you've convinced me not to use the first person in my class comments. You've made a good case that the confusion caused to some readers outweighs my mild pleasure in doing so.
On Sat, Apr 20, 2002 at 05:20:26PM +0200, Maarten Maartensz wrote:
<snip>
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.
One thing about "I am" comments in Smalltalk is that they are uniformly applied. "I am" never means the comment itself; it always refers either to the class the comment belongs to, or to a particular instance of that class. Once this is understood, the meaning is unambiguous.
However, I agree that confusion might result before this understanding is reached, and that a feeling of oddness might persist long afterwards.
<snip>
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.
Your point is taken.
<snip>
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.
<snip>
... 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.)
I agree that its early price was probably a large issue (although I am too young to have a first-hand impression). Also, it is not new, and nowadays, "new" is too often equated with "better". Once you've had your chance, people tend to be unwilling to give you another one. In many cases, this is a reasonable heuristic for dealing with the deluge of incoming information: "I saw that before, it wasn't what I was looking for, and it probably isn't now". However, in some cases (such as Squeak), something worthwhile is missed.
The good news is that Squeak has a community that may be able to improve it to the point that a large audience notices it again. Part of this process is adding new whiz-bang functionality, and the other part is smoothing rough edges. Thanks for pointing out places to improve.
Bye, Joshua
<snip of remaining text as dealing with another issue>
Regards,
Maarten.
Maarten Maartensz. Homepage: http://www.xs4all.nl/~maartens/
Squeakfoundation mailing list Squeakfoundation@lists.squeakfoundation.org http://lists.squeakfoundation.org/listinfo/squeakfoundation
Joshua 'Schwa' Gargus wrote:
One thing about "I am" comments in Smalltalk is that they are uniformly applied. "I am" never means the comment itself; it always refers either to the class the comment belongs to, or to a particular instance of that class. Once this is understood, the meaning is unambiguous.
No, it's not. It's still ambiguous as to whether it refers to the class or an instance of the class. It can be mildly irritating to waste a few extra moments deciding which of these is the case.
-Jesse
I recall being initially befuddled by the use of "I am..." statements in class comments. I also vaguely recall part of the justification for this approach being that the class name appearing only in code -the class definition and instantiating,... code- allows for a very malleable system. All the tools required for easily renaming a class are already provided within the system. Embedding the class name in the class comment would be undesirable since it would replicate that datum in a non-code location which is NOT accessed by the provided code management tools ('rename', 'all references',... .)
Now if a policy for including the class name in the class comment were adopted along with good tools for keeping code and comments in synch then this little argument would hold less weight. Just having tools and policy for better integrating code and comments would be nice. :-)
One historical point I'm compelled to raise is that of the linguistic context for the whole Smalltalk system. The choice of 'method' to replace 'subroutine'/'function' was confusing in its day and yet desirable for the sake of moving people out of one mode of thinking and into another. The use of "accept" rather than "save" for telling the 'live' system to both Save and Include as part of yourself this chunk of code was another -now seemingly quirky- choice made to convey what was really going on and shift ones thinking. The use of "I am..." in class comments was part of that same shifting. In a browser based environment it made sense to have a class (which was a first class object) describe itself (eg.'ClassDescription comment' messages the class 'ClassDescription' causing it to respond with a comment describing itself.) This actually implied that in fact the class was a legitimate entity unto itself and addressable in the same way as the system, 'Smalltalk', was addressable. It might seem quaint or even distracting now, but it was part of the subversive language that was chosen on purpose. Think in terms of objects as independent/interdependent entities that do their own things. Quirky? Yes. When introduced was it anymore difficult than grasping o-o concepts? No. Does it make as much sense now as the new names for minor changes in concept/implementation (eg. subroutine->method) ?
peace, donald
P.S. As far as I know, at the time class comments were introduced the idea of making comments (with templates non-the-less) an integral part of the system was new and bizzar.
squeakfoundation@lists.squeakfoundation.org