Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options

Perl, children and foreign languages

by t0mas (Priest)
on Sep 11, 2000 at 16:07 UTC ( #31863=monkdiscuss: print w/replies, xml ) Need Help??

I've been thinking about a couple of post for a while (...I agee, I don't think fast, but I'm persistant...) : Understanding the difficulties of raising a young perl coder... and Perl as a first language.

My oldest son is now 10 years old and I'm thinking of teaching him the noble art of programming. In Sweden where we live, children start learning English at the age of 10, so my son is just a beginner, which would give him a handicap if I were to teach him a programming language with English syntax. The only programmaing language I know of available in Swedish is Visual Basic :( but I would rather teach him perl.

To get around this problem, I thought of writing a perlfilter, that translated "Swedish" perl commands to English, like if you write "skriv" in your code, the perlfilter will translate that to "print". I've got a working prototype for this.

Now my question is this: Have any of you had experience with teaching young children to write code in other languages than English? If so, Have they had trouble "porting" themselves to English later?

Thanks for your time.

/brother t0mas

Replies are listed 'Best First'.
RE (tilly) 1: Perl, children and foreign languages
by tilly (Archbishop) on Sep 11, 2000 at 16:24 UTC
    I threw out a suggestion to the Perl 6 people that Perl have pluggable parsers that can be swapped, allowing you to have a Swedish version of Perl but still use standard Perl modules. I don't think people liked the idea that much.

    But a better first language is probably Smalltalk, recommended by the likes of merlyn at RE: Perl as a first language. And I have been told that that is also available in language specific versions. I don't know whether a Swedish version exists, but if it doesn't it should not be that hard to produce one.

RE: Perl, children and foreign languages
by Jouke (Curate) on Sep 11, 2000 at 17:25 UTC
    I was 10 when I started learning English, and I was 16 before i wrote my first C64 Basic 'program', so my own experience doesn't count.
    I did however teach a bit of Pascal programming to a boy aged 11, who hadn't learned any English at school, but perfectly understood which commands to use.

    The point I'm trying to make here is that in my opinion it doesn't matter that the programminglanguage doesn't resemble your own language. In fact, I think it's even better if you start learning an 'English' programminglanguage rightaway, because that's what you eventually have to use anyway.

    Jouke Visser, Perl 'Adept'
RE: Perl, children and foreign languages
by little (Curate) on Sep 11, 2000 at 18:33 UTC
    Hi t0mas, I've been trying to teach bosnian children and adults on Win and DOS a while ago. We had the same problem, but we've instructed them to learn the english command's names and write help doc's on these. Though they've learned the commands as they are, but knew what they do in their own language, thus they didn't need to be native english speakers. Even while they learned English in parallel courses. And I think, you don't have to understand the name of that command, but you need to know what it means, or in other words: How did you learn things like : ls -r. b.t.w. if you teach your son swedish perl you will have to teach him the english one later on anyway.
      Hi little, I learned to write computer programs after I learned English. As for ls -r, I know ls is short for list and -r is short for reverse, and that makes sense and is easy to remember. I think not knowing what a word or acronym means makes it harder to learn.

      /brother t0mas

        I am a dane, who had my first programming experience in logo back in 1984 which was before i had learned any english... it did not pose any problems to me!

        The brain of a child at around 10 years of age, is probably better at pattern recognition than most people think.

RE: Perl, children and foreign languages
by Corion (Pope) on Sep 11, 2000 at 16:36 UTC

    I did learn english myself at that age (through a dictionary and furious playing of the superb Infocom adventures), and I don't think that using an english programming language is too hard, as it will give your son the possibility to exercise english a bit more.

    Having different language versions of one programming language in general is a very bad thing, as it breaks portability - I've seen a lot of Word macros break horribly when they were moved from a german copy of Word to a version with a different language.

RE: Perl, children and foreign languages
by redmist (Deacon) on Sep 11, 2000 at 23:27 UTC
    Ilam currently learning Perl as my first language, and enjoy it immensely. Of course I learned English as my native toungue, which makes it a bit different.

    My question for you t0mas, is why is it neccessary for your child to understand the meaning of a word/function/subroutine/operator in order to use it? If the "word" 'dsfg' did the same thing as 'print', it wouldn't make any difference to me besides the fact that it would take a little more effort to remember what exactly it did.

      In my experiense, knowing what the word means makes it easier to remember. When you first start learning, for example, *nix commands, pwd is an acronym for 'print working directory', cd is an acronym for 'change directory' and that's easy to remember. The strange word or acronym is nailed to an explanation in your brain.

      The command names make sense, thus making them easy to remember. If you don't know what print means it's hard to use it in the right context. You start wondering "What was that command I had to use to output the variable?" instead of "How do I solve the problem faced?"

      My concern is that it doesn't take a little more effort, but rather much more effort, to remember that dsfg should be used rather that print. I think that no one would want to learn a programming language where the syntax didn't make sense.

      /brother t0mas
Re: Perl, children and foreign languages
by beretboy (Chaplain) on Aug 17, 2001 at 13:34 UTC
    I started the noble art of coding when I as eight or so with javascript and playing around with variations of basic, *COUGH* batch programming, and anyting else I could find a interpreter/compiler for. I am now twelve and have been working with the far nobler art of perl for what will be a year now in november. I would reccommend that you let him use the parser but don't let him grow to dependent on it force him to try to port some of his parser scripts over to normal perl. oh well thats the end of my little rant. It looks like my title of youngest monk will soon be challenged :-)

    "Sanity is the playground of the unimaginative" -Unknown
Re: Perl, children and foreign languages
by tadman (Prior) on Jun 12, 2001 at 12:17 UTC
    You could say I'm a strong advocate of internationalization of Anglo-centric programming languages. Earlier, I suggested that learning languages with English words adds an extra level of difficulty, or two if you don't even know the Latin character set. Mirod even posted a French "translator" code which would remap basic commands.

    Of course, you can almost hear merlyn telling you how difficult it is to parse Perl properly. Certainly, something more robust should be developed, perhaps even as a module at the parser level, which would simplify implementation somewhat, although at the expense of compatibility, and the cost of re-working several low-level components to allow such flexibility. As such, you could make a patch to the lexer, re-compile, and have a customized "frperl", "deperl", or "jperl".

    A lot of people commented that "English is easy to learn", but I'm skeptical. Learning Perl and English at the same time can't be all that easy, and regardless of how "easy" it is to learn English, learning Perl should be easier. Consider trying to learn something like Ruby, but where all the good documentation happened to be in Japanese only.

    These "translated" languages are intended to be like training wheels, to be used where required and discarded when no longer necessary. Once you have a good handle on English, it would be fairly trivial to port any old native language code to regular plain-old Perl.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: monkdiscuss [id://31863]
Approved by root
[Discipulus]: Corion are you would able to realize such thing? O_O
[Corion]: In the same vein I have a script that automates Firefox to enter some data into another system. It's not faster than the people using the script if they were to do it manually, but they prefer not having to check the data and not having typos when ...
[Corion]: ... entering the data
[Corion]: Discipulus: I don't know whether I could really do that, but the init process itself mostly launches other processes, and the whole startup is just following a path of dependencies and making sure they are all running. Which basically is what ...
[Discipulus]: when at work my time is (temporarly) owned by the firm, so i do not care (coworkers whatch movies.. I code Perl)
[Corion]: ... make already does, except for files instead of programs. But maybe with some /proc hackery, that could be eliminated and one could use plain make :-D
[choroba]: systemd just makes is asynchronous
[choroba]: so, make -j
[Corion]: Discipulus: Yeah - but when writing Perl to save time (instead of having fun), it helps to look whether you're actually saving time ;) Why spend 5 minutes doing manually what you can spend three years automating? ;)
[Corion]: choroba: Oh, yeah :-D

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (4)
As of 2017-07-27 09:30 GMT
Find Nodes?
    Voting Booth?
    I came, I saw, I ...

    Results (408 votes). Check out past polls.