in reply to Beginning Programming with Perl

Having come from an engineering background originally, I had to learn Perl via books and online resources only.

I don't have any suggestions for your first question because I had some solid background on the basics of procedural programming, and so didn't ever have the need for the kind of resource you're looking for. Best of luck!

My personal feelings about it being a first language, however, will probably run counter to others here. I don't really think its the best starter language. If I were to lead people into programming, I'd move them through the web route: HTML->JavaScript (or something similar). Yes, yes, HTML isn't a language, blah blah. Its a good starter point to understand structure, which I've learned most people don't understand to begin with.

Perl is very Cish, which I find to be difficult to deal with. Sure, its FAR better than C for most daily tasks, but I think that the complexity of regular expressions is enough to chase off any newbie in programming, and that's one of the most widely used (and important) aspects of Perl. On the flip side are things like VB or Java, which force the programmer into long complex if/thens, or case statements, but also force structured thinking about what the person wants to happen.

Purdue University's (my employer) School of Technology is using VB as a starting language, but I believe their shift is going toward Java. To me, this is a pointer to the relative simplicity of the languages compared to others, and perhaps toward their perception of its relative usefulness. Perl is offered, and taken widely, but the other two have been given more weight.

So, take my comments as you like, and good luck in your endeavors.

Replies are listed 'Best First'.
Re: Re: Beginning Programming with Perl
by Adam Kensai (Sexton) on Aug 20, 2002 at 15:52 UTC
    The discussion of Perl as a beginning language I refered to is at node_id=187006. I've seen too many people in starting CS classes absolutely shellshocked by Java, and people in my collage's "Computer programming in C++ for Physicists" introduction can't get into it (C++) if they don't have prior background. In my opinion, it doesn't get much better than Perl for teaching the idea of programming (i.e. "Here we're going to take the problem's solution and break it down into the smallest steps possible...") and the time spent learning Perl more than pays for itself once you become proficient. Thanks again! ~Adam

      I have learned first programming at school with Pascal (and that seems to be common in germany) and although i learned Perl faster apart from school and i think Pascal is terribly ugly, it is a good language to learn the basics. You have to be explicit, you have to predeclare things, you see all stuff that happens. I think Perl is possible to learn as first language (and it's likely to be the last language then :), but you risk to learn a lot of Bad Things that Perl allows you (and beginners often don't see why they should tell perl to restrict them) and nasty Pascal would just not know. Learning Perl after such a scientific language helps you to start and you automatically avoid some mistakes.

      But the language you learn is only the one thing, it's also important how you learn it and how busy you are. There are a lot of those "Script Kiddies" around that have learned Perl (and more often their tool is PHP) from bad online tutorials or bad books or even worse scripts and do not know a bit of the CS background and don't want to know and think it's not necessary. I think it's most important.

      btw.: Learning Perl as a First (programming) language

      --
      http://fruiture.de
        Thanks for linking to the discussion I mentioned, I've neglected to learn how as of yet. I think that even though you can get into trouble learning Perl it is not a reason not not learn it first. There are horrible tutorials out there that make people practice awful habits - but this is not a reason to not develop a good tutorial that sets a student up with good habits that will mesh well with later learning. ~Adam