A big teacher wish

Richard A. O'Keefe ok at cs.otago.ac.nz
Thu Nov 28 02:16:43 UTC 2002


"Diego Gomez Deck" <DiegoGomezDeck at ConsultAr.com> wrote:
	Conclusion, my proposal is:
	
	  Morph
	     subclass: #MyMorph
	     instanceNames: ' myTarget lastTime '
	     sharedNames:   ' CloseBoxImage '
	
This simply won't do for native speakers of English.
"instance names" sounds like "names *OF* instances",
so I am compelled to read this as
    "There are precisely two MyMorph objects.
     One of them is named myTarget.
     The other is named lastTime.
     They are also both named CloseBoxImage."

	1) For programmers:  We avoid the match between the word
	"variables" and the meaning this word has in the other languajes.

Why should we avoid the match?  It is *precisely* 100% the same concept.
I grant you that variables in a pure functional language like Haskell
are not quite the same thing, and that logical variables in a logic
programming language like Prolog or Mercury are not quite the same
thing, but Smalltalk variables act exactly the same as Pascal variables,
as Eiffel variables, and as Java variables.  I mean, why talk to
somebody about walking on pedal extremities when they already know
about feet?

	2) For non programmers: You get the feeling of "I know it"
	
Yeah, but they _don't_.  "It's not what we don't know that's the
problem, it's what we DO know that isn't so."  In French class at
school I was taught to beware of 'faux amis', words that _look_ like
English words but mean something completely different.
(A beautiful English/Maori 'faux ami':  AI stands for Artificial
Intelligence, but 'ai' is the verb 'to copulate with'.)

Smalltalk variables AREN'T natural language names and don't behave
like them.




More information about the Squeak-dev mailing list