From: "Walter Pienciak" <wpien...@thunderdome.ieee.org>
I usually lurk on this list, but I could not disagree more with this assertion that perl is somehow harder to learn.
This might be because you are thinking to the american or western european market. But think about those many programmers that don't know english, and don't have books translated in their languages, but do have very many books for Java, PHP and DotNet translated. Do you still think that Perl is so easy to learn?
I'm not a language ideologue; I use Perl because it lets me get my job done with a minimum of baggage -- and because it's proven itself: it doesn't get in the way of getting actual work done.
I also use perl for this reason, but as I said, we, the perl programmers have good reasons for loving perl, so we are not very interesting in this discussion. What would be more interesting would be to find why the new kiddies that intend to learn programming are not extraordinary excited about Perl, but love more PHP, Ruby, Python.
I've not come across a language that is better at allowing someone to be quickly productive in it. I believe that's due to the flexibility of syntax that we all know. Declarative, object-oriented, sub main(), spaces/tabs, style -- hey, it's all good. Vi, emacs, pico, ex, Notepad, Eclipse -- whatever. Just pick up your favorite environment and go to work!
This is also true for C#, Java, PHP, Python, Ruby, but some of them have a nicer and powerful OOP, and they can be also used with Notepad and executed/compiled in a command line, but some of them also have better editors.
My experience is that a person's early Perl work is often structured and coded in ways that map closely to the person's background in other languages -- and leans heavily on constructs already familiar to them -- but that as time goes by, a "more Perlish" flow develops as they learn more details of the language. The Perl community is also an open one, and that culture is desirable to me as something consistent with our team culture.
Too bad that Perl's dependent on more other things like C code, because many cpan modules use C code, and it is hard to find their bugs if they can't pass all the tests. Perl also requires Unix knowledge even for those who use it only under Windows. There are very many programmers that know only to make programs with PHP, without even knowing how to configure crontab, and of course, without knowing C or too many things about Linux. They just know how to upload their code on an FTP site, and they can do their job fine. If a perl programmer would know just perl, and how to upload the files on an FTP server... I don't think that programmer will be able to do something useful. This is not an advantage of Perl. Perl is targeted to more inteligent programmers so for the others it is not a very good tool.
Is it all things for all folks? Oh, hell no. If I had to lead a multi-hundred-person team of widely varying or potentially dubious experience -- perhaps on another continent -- coding a single large project . . . well, at that point the flexibility arguably becomes an issue. If you need to rigoriously control the minutiae to keep a large team and its output consistent -- variable and method naming SHALL be done this exact way, for example -- or your CIO religiously/blindly follows some research firm that says this or that is "enterprise class," well, okay.
Aha. Well, very many (if not the majority) of the software companies in my country do outsourcing for other software companies from USA and other western european countries. They need to cooperate with the branches of those american companies from all over the world. They need to work in wide temporary teams with people they don't know, that have another native language, and make sure they all create a good product. I think it could be very hard to promote Perl in those companies. Octavian