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
unNmero
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.