Alright, I used to be a major ruby fan boy.  I would never consider programming 
perl, ever.  Then I graduated and had to get a job.  Guess what?  The only job 
at the time was a job writing a web app with perl.  So guess what, I now know 
perl a lot better than ruby.  I still love ruby and use it wherever I can.  But 
I have a problem with it, I don't want to install an interpreter just to use a 
script.  You see, I wouldn't have a problem with that if I worked on a small 
set of Linux machines, but I work with AIX, HPUX, and OpenVMS.  Thankfully the 
VMS is deprecated, but I still have to use it.  Guess which languages are 
available to use on all those platforms by default?  NONE.  Perl and Korn shell 
are on all the Unix boxen.   DCL is the only thing available by default on VMS. 
 Thankfully, the admins here put perl on VMS.  Oh yeah, did I mention I have to 
run these scripts on 10s-100s of these machines, most of which I don't have 
root access to?  So you see, your choices should be limited to that which you 
have available.  If you know for sure you will always have a python or ruby 
interpreter on the machines you have to use, then use them by all means.  In 
the real world, they frown on developers installing language interpreters for a 
few scripts.  Bosses have mostly heard of perl and so you generally get 
management on your side to include lots of perl scripts.  But try selling the 
merits of Ruby and Python to a few PHBs that don't grok tech the way you do, 
you will soon start using what you have and focus your efforts on pushing for 
really important things like unit testing frameworks, refactoring projects, 
etc...

In the end, when I want/need to do something at work, I use perl.  Not because 
I prefer the language, but because its the most practical choice.  I have used 
Ruby for about 5 years, but I use perl everyday instead of pushing ruby.  Its 
easier and better supported and it looks good on a resume.  With perl I have 
written an automated cross platform C++ build system, a cscope web front-end, 
dependency graphing tool and other stuff.  All in my spare time, which is rare 
around here.

I most heartily second the "Perl Best Practices" book!  It is a very well 
written book.  It also contains A LOT of non-perl specific best practices.  I 
recommend it to everyone, whether you use perl or not.  My programming-fu 
skills greatly benefitted from reading it.

So I guess I recommend perl purely for the practicality.  If your criteria is 
less practical, I very highly recommend ruby.  It is a very clean language, and 
very easy to work with.

-Michael

----- Original Message ----
From: Jesse Stay <[EMAIL PROTECTED]>
To: Provo Linux Users Group Mailing List <plug@plug.org>
Sent: Wednesday, February 14, 2007 3:57:54 PM
Subject: Re: I want to learn a new language...

On 2/14/07, Bryan Sant <[EMAIL PROTECTED]> wrote:
> Perl.  I like the fact that Perl is everywhere.  You can't swing a
> dead cat by the tail without hitting into a Perl interpreter.  I like
> that Perl is mature.  One word, CPAN.  All of this is great, but I
> DON'T like the whole, "there's more than one way to do it" deal.  More
> than one way?  That's a I nice way of saying that every Perl program
> is as unique as a snow flake.  I'd like to use a language that others
> (and even ME after 6 months) can read.  My own experience backs up the
> claims that Perl is a "write only" language.  This may be overly
> dramatic, and Perl may be more readable than I think if I spent some
> more time with it.  Help me learn to love Perl.

One good book that will help you love perl:

Perl Best Practices by Damian Conway

Also:

Higher Order Perl, by Mark Jason Dominus

The first is one every Perl programmer should read.  There are Perl
programmers, and then there are Perl programmers that have read Perl
Best Practices - you will see a firm standard in writing code by those
that have read it.  Their code will be much easier to read.

The second has some excellent examples of why OO is not always the
best way to do things.  It goes over recursion, writing programs that
can be "programmed", and other great methods of using Perl to write
great programs.

Jesse

-- 

#!/usr/bin/perl
$^=q;@!>~|{>krw>yn{u<$$<Sn||n<|}j=<$$<Yn{u<Qjltn{ > 0gFzD gD, 00Fz,
0,,( 0hF 0g)F/=, 0> "L$/GEIFewe{,$/ 0C$~> "@=,m,|,(e 0.), 01,pnn,y{
rw} >;,$0=q,$,,($_=$^)=~y,$/ C-~><@=\n\r,-~$:-u/
#y,d,s,(\$.),$1,gee,print

/*
PLUG: http://plug.org, #utah on irc.freenode.net
Unsubscribe: http://plug.org/mailman/options/plug
Don't fear the penguin.
*/




/*
PLUG: http://plug.org, #utah on irc.freenode.net
Unsubscribe: http://plug.org/mailman/options/plug
Don't fear the penguin.
*/

Reply via email to