Squeak book

sqrmax at cvtci.com.ar sqrmax at cvtci.com.ar
Thu Dec 31 13:50:51 UTC 1998


Hi.

>IMHO the Smalltalk system is very difficult to learn. For one reason this
>is because it's so different to all other languages, people might already
>know.  But the main problem is that you must understand the full picture
>before you can start.  This is a big disadvantage compared to other
>languages.  Once you got it right, it's a very powerful environment but
>until then, people might give up.

Yes, there's a much bigger than usual critical mass needed to start 
understanding what's going on. But Dan Ingalls' '81 Byte article is a great 
compendium that anyone can read in little time. Still ok, you first need to 
assimilate a new set of axioms and start using them right away.

This looks like church history... either the patch shutting up Galileo 
(easy) or the revolution that allowed scientific work (hard, now you have to 
study). Not that I objectively mean Smalltalk is right and the others are a Bad 
Thing, I feel that but it's my personal opinion. After all, the results of 
this revolution are to be seen...

>A console
>window which allows to evaluate expressions without doIt menu but just by
>pressing return would be also useful.

Workspace and alt-d, alt-p is not that traumatic! And notice that with 
enter... what would you like? Printit or showit?

>The browser needs wizards to create classes and methods.

Nahhh...

>Then the debugger: Stepping by menu is a pain (we need buttons here).
>Stepping over and in blocks also.  I think, Microsoft's and Inprise's 
IDE's 
>show how a debugger should look like.  Where are real break points?

Break points I don't know... maybe not. I guess they're most probably 
conflictive. On the other hand, Visual Smalltalk's debugger is a nice debugger 
with buttons and variable inspectors that update themselves with each step or 
trace. I miss that from Visual Smalltalk... if I understood better the 
debugger, I would do one for myself in Morphic. Maybe in some time...

>If you target Smalltalk to children, don't forget that english isn't the
>native language of all children, what means, it would be good if the
>enviroment had national language support (including class and method
>comments!).

Several attempts to obtain translated Smalltalk systems to Spanish and 
Portuguese failed miserably because of gender. In addition, in Spanish almost 
every word translated from English is longer. For instance, consider Array new. 
First, most computer words were created in english speaking environments so 
translations look hopelessly horrible. Let's say we use Arreglo, which is 
masculine. Ok, then

Arreglo nuevo

where nuevo is the masculine version of new in Spanish. Array is kind of 
Collection, and then what happens? The selector #new is also understood by 
Collection, but collection in Spanish is female, so the #new in Collection turns 
out to be #nueva! Inheritance breaks down with stuff like this. And 
Collection is subclass of Object, which in Spanish is masculine... you could choose to 
use words with equal gender (masculine because of Object) until you want 
female classes. Moreover, the simple printOn: for Object won't work any more.

anObject should be unObjeto
aCollection should be unaColeccion (because fraction is female)
aNumber should be unNumero (notice the nN)

And from Spanish you have the character Ò and accented vowels. And for 
instance, in Spanish these words have different meanings:

si and sÌ, if and yes
te and tÈ, "to you" and tea
mate and matÈ, "an argentinian beverage or would killed or chess' mate" and 
"killed"

So the previous ones should be

unaColecciÛn
unN™mero

Accented vowels are extremely irritating in any programming environment. So 
spelling is also broken on the way. Simple words as child, year, tomorrow, 
morning and even Spanish in Spanish contain Ò. And by the way, in Spanish some 
kernel selectors simply don't have a translation to allow receiver then 
messages order. For instance, in Spanish this is awkward:

Objeto nuevo
Matriz nueva
Numero nuevo

English doesn't complain about this... furthermore Spanish alone has many 
different variants, and what's nice for one is unacceptable for the other. For 
instance, in Spain this is fine:

hand grab: anObject
mano cogÈ: unObjeto

But here #cogÈ: would be obscene to the max! And imperative doesn't apply 
to the first person. For instance, it's quite common to see:

self doSomething

Self is another big problem to translate. First, because no word really 
matches self. And second because conjugation of the verbs changes from person to 
person, not just by an s. Then self doSomething is impossible in Spanish. 
Suppose you don't use imperative. Then the verb do, hacer, conjugates like this 
in simple present tense:

[I] Yo hago
[You] Tu haces, or Vos hacÈs informally
[He/She] Ella hace, El hace
[We] Nosotros hacemos, Nosotras hacemos
[You] Vosotros hacÈis, Vosotras hacÈis
[They] Ellos hacen, Ellas hacen

The verb to go, ir, is even uglier:

Yo voy
Tu vas
Ella va, El va
Nosotros | Nosotras vamos
Vosotros | Vosotras v·is
Ellos | Ellas van

The verb to be is one of the worst ones:

Yo soy
Tu eres
El | Ella es
Nosotros/as somos
Vosotras/os sois
Ellos/as son

To be in simple past

Yo fui
Tu fuiste
El | Ella fue
Nosotros | as fuimos
Vosotros | as fuisteis
Ellos | as fueron

Decent translation of Smalltalk to Spanish and Portuguese, along with 
similar languages as French, Italian, Latin and Rumanian should be extremely 
difficult if not impossible.

Andres.





More information about the Squeak-dev mailing list