On Friday of last week, I became a father! My wife gave birth to a beautiful baby boy we named Alexander. Check out our baby Web site for pictures and more information. As any father ought to be, I'm very proud, excited, and tired. There are a lot of thoughts going around my head at this point. The experience is very surreal. However, there are a lot of decisions I need to make in the near and distant future regarding my son and how he's raised. A small, but important question that came to mind was regarding my son's programming education.

When is it best to start teaching Perl? When is it too soon? (Is it ever too soon?) On Sunday, I talked with Alexander about Perl and a few other languages. He seemed to respond well to a piece of paper that said #!/usr/bin/perl by waving his hands and smiling. Shortly thereafter I showed him a piece of paper with ReDim MyArray(0 To 100) as Varient and he started fussing and pooped. Obviously he prefers Perl to Visual Basic, but does that mean I should start teaching him OOP Perl now or just the basics?

In all seriousness, though, I am interested in when such learning is good. I started taking violin lessons using the Suzuki method when I was five years old. I really loved it, and I still play to this day. The method teaches that the only reason why children shouldn't take lessons prior to age five is because they typically don't yet have the fine motor control required to play the instrument. However, they certainly have the mental capacity. Perl programming does require typing on a keyboard, so perhaps this physical requirement would limit learning to a particular age.

However, I don't see why a child of younger than five couldn't learn the basics of linear non-procedural programming. I remember learning a form of BASIC somewhere around the age of 8 or 9. I didn't have any problems with it at all, and it was entirely self-taught. It seems fairly apparent that a child of age 3 could learn the basics of BASIC.

The other thought I had was what if Alexander wants to learn a lesser language over Perl? Should I let him try and get frustrated, or should I encourage Perl first? I'm not sure which is the best approach, and I see advantages and disadvantages to each side. However, I think at this point I would encourage Perl as a first language, but support Alex in whatever language he decided he wanted to learn first. Perl is typically a utilitarian language, very powerful, but not visually impressive at the simple learning layer. Visual Basic, while a terribly annoying language, does allow for rapid and impressive GUI development with little effort. I can see how Alexander might be drawn to the visual aspects of VB at a young age.

Taking into account these issues, I'm probably going to start Alex on Chess long before learning any programming languages. And I'll probably start him off with HTML as his first "language" once he reaches a basic familiarity with computers and the Web.

-gryphon
code('Perl') || die;


In reply to When is it too soon to learn Perl? by gryphon

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.