A strange Squeak bug

Samir Saidani saidani at info.unicaen.fr
Mon Feb 7 16:45:45 UTC 2005


"Lex Spoon" <lex at cc.gatech.edu> writes:

> I have mixed feelings on how to fix such things, though.  On the one
> hand, I hate to see students stumble into mines like this.  On the other
> hand, it is really nice that Squeak gives you access to everything, that
> everything is exactly what it looks like.  

Hi Lex,

Something important for me is that a beginner can figure out by itself
what is the *nature* of an error (and not simply the error), and
Squeak Debugger could say : "Hey, you can do that but you are binding
the name of a class with an object, which is quite weird. But do what
you want, guy :-) ". Then the student has a question to explore : why
Squeak says to me that it is weird *to bind the name of a class with
an object* ?

But at this point, the message is not understandable, Squeak only
tells what you do is weird and the beginner is left with this poor
question : why Squeak says to me that it is weird ? 

Maybe could we modify the debugger to add a more user-friendly message
(euh let's not say "just do it", we are exploring for the moment
;-). For instance, take the example you gave, I tried it and discover
that OrderedCollection := nil become OrderedCollection value: nil and
the debugger message says that this class method does not exist, but
it's quite hard for a beginner to figure out that := become a class
method, and the message "MessageNotUnderstood OrderedCollection
class>> value:" is quite rough ! How can it relate the := and value: ?
Note that if I replace OrderedCollection := nil by OrderedCollection
value: nil, the error message are indistinguishable. 

So I think that there is a finite numbers of typical misunderstanding
from beginners, and allowing beginners understanding their own
misunderstanding is a kind of bootstrap, I mean a bootstrap towards a
feeling or insight of the language where the beginner is no longer a
beginner ; and thus can figure out more deeply its own error without a
beginner help. I feel that the debugger tool is the right tool to
implement these views, but how ? Ideas ?

Regards,
Samir

-- 
Samir SAIDANI				
PhD Student in CS / Doctorant en informatique 	web : http://www.info.unicaen.fr/~saidani
Universite de Caen - Laboratoire GREYC          tel : 02-31-56-74-30
Equipe MAD - Campus II - 14032 Caen Cedex       fax : 02-31-56-76-30



More information about the Squeak-dev mailing list