Dominic said:
As a programmer who is addicted to Perl, I am curious as to why Perl is
losing ground to another bunch of languages, namely: Python, PHP and
Ruby. I'd like to hear your opinions. Is Perl just not "trendy" anymore?
Does it still scare programmers who haven't used it? Or do the other
languages have any major advantages over Perl? I haven't worked in these
other languages, so I'm not qualified to have much of an opinion here.
What do you think?
This is an interesting thread.
For _me_ I find perl to be horrible when it comes to large scale stuff. It's
alright if you're the only developer, but if 2 or more people need to work
on it, then it's kind of tough. Java is more "corporate friendly" perl is
seen as more "script kiddie" stuff to some. (hey, I'm trying to be objective
here, I *do* actually like perl)
For the web, I used to like perl, I think all of us have written our own
template engines at some point. (I've written a few..) but perl falls apart
when it comes to big-ticket web stuff because you have to load it each time
OR involve yourself with a bunch of 'AUTOLOAD' code OR use mod_perl which
crashes and burns if there are a lot of modules and such, and anyhow, most
ISP's won't give you mod_perl anyway.
PHP fills this nicely. One thing I can't understand is why the PHP folks are
trying to design PHP to write stuff like graphical interfaces or command
utilities. If they just kept PHP a simple, web-oriented language it'd be
great.
PHP (when I last used it, they may have changed since then..) falls
on it's a** when it comes to exception handling, though. I don't trust PHP
to complex databases that have lots of relations that need updating. The
proliferation of mysql + PHP has some how made a lot of people oblivious to
the need of transaction handling.
They'll find out when the customer gets billed, but the code craps out
before the database was able to insert the customers shipping address..
Perl + DBI + eval { .... }; handles this problem rather nicely. (as does
java and it's try {} stuff)
Java is really seen more as a profesional language. It's not very fun to
program in, takes 5X more time to do the same thing in perl, but it enforces
a lot of strict rules, so you're less likely to shoot yourself in the foot.
Something about corporations that says "Creativity is a bad thing" java
fills this "strictly no creative processes allowed" void nicely. Perl's
probably loosing ground to java because managers want to make sure their
employees aren't having any fun. (the resourceful perl coder can get around
java's lack of creative abilities by making extensive use of the reflection
API, but Shhhh don't tell Mr. BigWig.
)
As for Python or Ruby, has that really taken a bite out of perl?
Jamie