Fellow Monks,

We all love Perl for what it can do. However, what it "can do" may be fuzzy. I'm not talking about is it right for a particular job, what's actually running through my head is Perl as a first language for someone just learning to code.

I currently don't have any kids old enough to start learning to program, so it's still academic for me. Is the fact that there is more then one way to do anything good or bad for someone who is just learning to code?

A lesson I learned a long time ago in a different light was "You have to know the rules before you can break them". One of the reasons I like Perl is because it is always trying to do The Right Thing, but could this actually hurt a new coder as they try and learn? Could what they need really be the heavy structure of a different language, so that they "know the rules" before they use Perl?

On the other hand, Perl is very easy to pick up, which leads to some instant gratification. That in turn may keep young minds interested since they can actually see results. Which leads them to using it more in a wonderful self-fulfilling prophecy of being better coders.

So, besides whispering regexs over their cribs, how good of a job do you think Perl would do as a first language for children to learn?

--Jim "Blue" Carstensen