Although "learning Perl" comes up occasionally for discussion, learning Perl as a first language comes up less frequently and I was wanting to learn of other people's experiences on the issue. I'm occasionally approached by individuals who have never indulged in the bittersweet area of computer programming, but people who nonetheless want to try the forbidden fruit of coding. These are people who want to learn programming on their own for their own perfectly legitimate reasons (it usually has something to do with game programming). My old suggestion was to start him or her on Visual Basic (mentioning that blasphemous word in a post will certainly get me some down-votes). But just to test an insane idea, I recently suggested that someone tackle Perl as a first language and the results were incredible. He learned the language quickly and actually wrote a simple text parsing program in perl that he was able to use on his job. I realize there are many variables that contribute to how well someone will learn programming in general (ambition, previous experiences, etc) no matter what language he or she starts with, but I was still surprised at how fast he learned perl and at the same time learned some of the important concepts of programming (variables, looping, conditionals, etc). I have heard from many sources that Perl is not a good starting language and that many beginners have problems coding in it. I never have found that easy to believe, but I still see that mentality surface all the time.

Please allow me digress for a moment (you can skip this paragraph if you have a low tolerance for too much information). Before I start getting responses on why I'm recommending Perl or that other language for someone interested in game programming, please allow me to say that if someone needs something with a little more pizzazz than a "level designer" for a game to satisfy their craving for game creation, I would recommend c/c++. But it just doesn't feel right recommending c/c++ as a first language (although I have been guilty of that more than once with less than dramatic results so I've had to modify my approach.) My idea is to suggest a beginning language that allows someone to learn some of the basic concepts of programming and then hopefully move on to c/c++ later in the game (npi).

My question is how easy is it for someone to learn programming by learning Perl as a first language? What are your personal experiences if you've started with Perl, or how well have others around you learned Perl as a first language? If you don't think perl is the best language to start off with, what language(s) would you recommend for a beginner. For the record, Perl is the 4th language that Iíve used on an ongoing basis. Iíve tinkered with countless other languages though.