On Thu, 13 Jul 2006, jay wrote: > > Just curious if anyone here could give me some advice on if there's > any schools around here that have good Perl classes? I've done a few > Perl programs but not many (and I'm very, very thankful for this list > and the many helpful people that helped me out when I got stuck). I > looked on-line today at a few schools (Penn Valley, ITT, DeVry, > etc.). None looked real promising. I know JCCC has a Perl class but > I'm not sure if it's what I'm looking for.
A google search on "perl" "training" "kansas city" turns up a few courses. Those might give you access to other real world programmers. But I imagine the people in your class won't have a lot of real world perl experience. Perl doesn't have the pedigree to make it popular in academic circles. I remember reading how Damian Conway's peers told him he'd ruin his academic career if he continued pursuing his interest in Perl. So while you might find the occassional good Perl course at a college, I think you'll usually find that Perl is given short shrift. I think taking some general principles computer science classes on programming languages, data structures, algorithms, etc. will help your Perl programming as much as whatever language they're using for instruction. Other than that, I'd suggest that you pursue Perl learning opportunities through mailing lists and peer groups like KC.PM. That will bring you directly into contact with "real world" perl programmers. If you haven't already, I would start at: http://learn.perl.org/. On the right-hand column is a list of mailing lists for beginners. You might also check out the master list at: http://lists.cpan.org. The beginners mailing list archive is found at: http://www.mail-archive.com/beginners%40perl.org/ I think the standard good citzen practice is to ask and learn from your peers on those lists... supplemented primarily by purchasing and working through the current editions of the more highly recommended Perl books. Learning Perl, Intermediate Perl, Programming Perl. Once you've got those 3 books under your belt, where you go next depends greatly on what you are interested in doing. I'd also recommend an oldie but goodie: Mastering Algorithms with Perl. Back to the beginner mailing lists... Once your Perl skills have matured to the point where you no longer need the list, stick around and return the favor by helping to answer the new newbies' questions. At the same time, start subscribing to other Perl related mailing lists in areas of your interest and continue learning from your real-world perl peers. [The rest of this email rapidly deteriorated into a "Why Perl?" rant] I'm sure others can add to the list. But to my knowledge, Perl is used most extensively in systems administration and web development. And to a limited degree it has an established niche in Bio-informatics and mathematics. In the "real world" of software development, Perl is often relegated to banging out quick proto-types, munging data from legacy systems, and providing the ducktape, chewing gum, and glue to tie different systems together. I.e. the stuff that "better" languages are often worse at. In the end, programming languages are tools. And different tools are appropriate to different problem domains. The thing that makes Perl good at many problem domains is the philosophy behind it: laziness, hubris and no grinding of philosophical axes. What this translates into in practice is a very concise syntax, which has the gall to steal the best ideas it can find in other languages without forcing you to do things "the one true way". I.e., TIMTOWTDI: There is more than one way to do it. Perl also stands out from the pack in that it is a language that allows novice programmers to solve their problems without having to understand the whole language. I.e., you can baby speak in Perl. While expert programmers feel right at home too. It strives to make mundane tasks simple, and impossible tasks possible. When many "real world" programmers hear "Perl", they still think of it in terms of Perl 4.0... i.e. shell scripting on steroids. Perl has grown up considerably in the intervening years. The syntax is more consistent and the semantics are richer. I.e., the stuff you used to use it for has gotten easier, and if you care to dig deeper, you can now use it as an effective tool for more problem domains. Others will tell you that Perl is a write-only language. I.e., what one programmer writes, no one else will be able to decipher. And extended form of this is the complaint by some that Perl isn't appropriate for large projects involving many developers. This is a fall out of TIMTOWTDI. And the answer to that is that the developers need to agree on best common practices, and use a tool like Perl::Critic or lint to help enforce it. Other languages force bondage and discipline on the programmer, whereas Perl allows you to opt-in and opt-out as desired. Perl is fun. So while it hasn't always been the most often used tool in my tool chest. It is one of my favorites. cheers, Garrett _______________________________________________ kc mailing list [email protected] http://mail.pm.org/mailman/listinfo/kc
