[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

RE: script languages



Marcelo wrote:
> I wonder what scrip language is better: Perl or Phyton?

I've been using Perl for 7+ years and have found it to be very useful.


The key concept is Perl's slogan -- "There's more than one way to do it" -- TIMTOWTDI, pronounced "Tim Toady".  Perl is a very
flexible language -- the "duct tape of the Internet".  Perl was developed by a trained linguist (Larry Wall), so Perl writes easily
and allows you to express algorithms clearly and succinctly.  Whether or not the code is easily understood, and by whom, is up to
you.


If you know a traditional procedural programming language, such as BASIC, FORTRAN, C, Pascal, Bourne shell, etc., learning Perl
should be simple enough.  If you know an OO language, or OO concepts, learning the mechanics of OO in Perl will be straight-forward.
The advanced stuff is, well, advanced, and will require more effort and background.  You should be able to accomplish the goals you
outlined with basic to intermediate Perl skills.


There's another saying around Perl -- "simple things should be simple, and hard things should be possible".  You can do anything in
Perl from shell one-liners to full-blown OO N-tier database web AJAX applications running on distributed clusters (or so I've
heard).  Many commonly-known web sites use lots of Perl (Google?).  The most complex Perl applications I've written were custom
tools and applications for microprocessor and embedded systems development and validation.  On a simpler scale, my Windows and
Debian GNU/Linux machines are backed up nightly, the images are replicated to a central store, and status reports are mailed to me
by Bash and Perl scripts wrapped around ssh, ntbackup, tar, gzip, rsync, and email.


I like to say Perl is "buzzword-compliant", meaning that if you name any given computer science buzzword, most likely somebody has
figured out how to do it in Perl.  That said, it's also okay to be a beginner and to write simple programs.  The Perl community is
very helpful, and there are lots of learning resources available.


The TIMTOWTDI slogan also applies to the Perl community.  People can and do write Perl in very different ways, each according to
their needs and abilities.  Many people share their software in the form of reusable library modules via the Comprehensive Perl
Archive Network (CPAN).  The benefit is that when you're shopping for a module to use in your software, CPAN contains thousands of
modules total and the common tasks are likely to have multiple modules to choose from.  The cost is that you have to narrow the
choices, evaluate them in light of your needs and abilities, and then pick one.  Some modules are simple, some are very
sophisticated (Ph.D. stuff), and most are somewhere in the middle.  There is no "unified framework"; the CPAN library is more of an
"ecosystem" with critters of all shapes, sizes, and niches.


One last advantage of Perl -- it is widely accepted.  Many GNU/Un*x platforms/tool chains include the base Perl distribution by
default (because they use and depend upon Perl).  So, if you can get to a shell prompt, it is likely that you can run your Perl
scripts without having to figure out how to install any additional software.


If you want to learn more about Perl, take a look at the creator's web page on the subject:

    http://www.wall.org/~larry/perl.html


If you want to learn Perl, I'd recommend the Llama book:

    http://www.oreilly.com/catalog/learnperl4/index.html


HTH,

David



Reply to: