My 2 cents:
merlyn says:
- Perl is intuitive, but not for casual programmers. - This is very true I think.
Also, it should have been "but not for casual Perl programmers".
If you doubt that, compare some random Perl snippets that people post on this
site to some Python snippets. Python looks much cleaner.
The same holds for PHP. Perl (or Perl programmers) often trade(s) readability for expressivity.
- If you're needing to look up how to get the length of an array, Perl is not for you.
True. To make use of the strength of Perl, you just need to know the common idioms.
But that holds for all other languages, too. So it's not a point in favor of or against Perl specifically.
- Perl is an expert language: very powerful in the hands of experts, but perhaps dangerous to the casual programmer.
This is only partly true, I think. Perl gives you the rope to hang yourself, sure.
And it does not go out of its way to catch errors you make,
like Java does, if you don't ask it to do so. But also,
due the large set of built-in operators and
all those CPAN modules, Perl makes it very easy to do
very complicated tasks, so it is a big help for beginners.
Just think of how all those automatic type conversions in Perl will prevent
an awful lot of errors in custom-written conversion code,
or how the list operators simplify handling of lists.
Perl hides an awful lot of complexity very well. If this
means that it is intended for experts depends on your viewpoint -
if you think you should understand all of your code, then
it means yes. If you think that you just need to get the
job done, it means no.
- It's more like a chainsaw than a knife.
Funny - somehow these cutting-tool comparisons seem to occur naturally to programmers.
In The Practice of Programming, Kernighan and Pike compare
C to a razor - "C is a razor sharp tool, with which one can create an elegant and efficient program or a bloody mess.".
- You must be this tall to program in Perl.
No. You just need to be able to take the consequences of your actions.
Perl is not a guru language.
Christian Lemburg
Brainbench MVP for Perl
http://www.brainbench.com