Renaming identifiers & debugging
lucat at despammed.com
Fri Feb 26 01:06:10 CET 2010
> a pragmatic approach might be to preprocess the source code
> and keep the original version as comments above the translated line.
> (for debugging)
Not very nice to see though. This change should be transparent to the
kid, he/she should not be aware of this "translation".
> or to preprecess the input line before the 'exec'.
This could be a solution, yes, but then i would also need to figure out
a way to show the original line when debugging (still, i know nothing
about pdb, maybe it is possible in a easy way).
> It might be, that kids are flexible enough to use English words without
> understanding them.
> My younger brother could write Pascal before he learnt any English and
> he never cared, what 'if' 'then' 'else' 'for', etc. meant.
I had a similar experience. When i was a middle schooler i knew nothing
about English and so i learned Basic and then Pascal without actually
knowing that those words had a meaning at all. For me they were just
kind of "magical words" that i could use to tell the computer what to
do. So i know for sure that this is possible. But... imagine the use of
this language in a elementary school. Some kids, like me or you or your
brother would be interested enough to find it easy to learn the new
words. For others it would only be a pain. Another lesson among others
that to them makes no sense at all. If we could make it easier for them
to understand the words used in the language the teacher would have an
easier time to explain some concepts and maybe even these kids could
have fun and begin to love it.
I understand that this "breaks" the language, that it would be better if
they would just learn the "original" language... but most teachers would
ask "then why not use Logo instead? it is already in our language..."
I have nothing against logo of course, i have learned it myself even
before Pascal and i had lots of fun with it. But python is much more
widespread than logo and i think in some ways it makes "more sense" than
logo and it is not much harder. The only problem that i see is that Logo
does have its commands translated while python doesn't nor, it seems,
there is an easy way to add this functionality.
> It might be useful though to internationalize the python errror messages
> if that's not something already done.
Yes, this would be very important... but still, it should be easy for
the teacher to translate the messages to make them more understandable
to the kids.
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'draw' is not defined
I don't know how to draw
Logo's message, while maybe too simple for a professional developer, is
certainly much more easy for a kid. So you see, it is not just a matter
of internationalization... it is also a matter of users-target. If i am
talking to a young kid i should use words and concepts that are easy for
him/her to understand... so, for my target, it would be very important
not only a correct translation in my language, but also the use of words
and concepts that are familiar to a kid.
More information about the Python-list