Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris

comment on

( #3333=superdoc: print w/replies, xml ) Need Help??
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.

In reply to Learning Perl as a First (programming) language by japhif

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, 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, 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.
  • Log In?

    What's my password?
    Create A New User
    and the web crawler heard nothing...

    How do I use this? | Other CB clients
    Other Users?
    Others chilling in the Monastery: (3)
    As of 2020-03-31 08:12 GMT
    Find Nodes?
      Voting Booth?
      To "Disagree to disagree" means to:

      Results (180 votes). Check out past polls.