xfb52 at dial.pipex.com
Thu Apr 27 09:21:57 UTC 2006
Gary Kline wrote:
> I am NOT trying to start any kind of flame debate, but would
> like to know what real advantage perl has over the newer
> so-called all-in-one language, ch. (Other than the obvious
> fact that there are literally billions of lines of perl existant.)
I don't know ch from Adam so can't comment on that but really, the
questions what are you trying to do? Is this for a pet programming
project? For work? Maintained just by you? By others? What's your
Perl has the advantage that it is ubiquitous and has loads of library
modules at CPAN. There are reasonable(*) books about it and you should
never be short of someone who can read perl if your software needs
maintaining. Perl has the disadvantage that it's a cobbled together,
vile little language that teaches bad programming habits(**) and has the
worst thread support ever. I could go on with it's flaws, but as
someone who has to program in it daily, suffice to say that I loathe
it. Perl is the new Basic.
There are plenty of more modern interpreted languages which have much
better design (they *have* a design which is one up from Perl). With
the availability of rpms, ports, package systems, and downloadable
binaries for Windows, installing most of them should be easy-peasy.
They'll encourage you to write better programs; most have a growing
collection of library software and may even have decent documentation.
My own fave would be python (www.python.org) and I suspect ruby of being
worth a look but just never had the time.
Just my $2.00 (hey, it's a good opinion :-))
(*) The so-called "Camel book" ("Programming Perl" from O'Reilly), at
least in the edition I have, is the second worst programming book I have
ever read. Poorly organised, poorly indexed, missing details and full
of poor examples. "Advanced Perl Programming", also O'Reilly, is much
better but does assume you know the basics and isn't really a reference
(**) If you do start learning Perl, the this is my one piece of advice.
Start every script and module with "use strict". It catches the worst
mistakes that you might make and at least forces a small amount of
decent programming on you.
(**) If you do start programming in Perl, then this is my other one
piece of advice. Start your scripts with "/usr/bin/env perl -w" which
catches some of the other worst mistakes, but also whinges on about
things that aren't actually a problem. (OK, that has windows
portability problems; tough; install Cygwin :-)).
More information about the freebsd-questions