in reply to
Is Perl the right language for a large web application?
Well, you could ask The Washington Post what they think of Python ... their system is a super-set of what we know as Django. On the other hand, you could ask The Huffington Post what they think of Perl ... their system is built on Movable Type.
All of these languages (with the possible exception of Java ;-) ) are more than powerful enough to do the job that they do every day. All of them are very much in common use. And, so, this should be your take-away:
Most of the software in the world is existing (“legacy”) code. It exists, it pulls the freight, it pays the bills, it works. Uhh, more or less. It almost never makes sense to re-write anything. (And, even if you did, the re-write would immediately join “the legacy.”) You should therefore make it your business to study many programming-tools and to try to maneuver your experience to include many of them. It is highly prized to be able to encounter a system that you have never seen before, yet in a matter of days to be truly productive in it because you have encountered “similars” before.
Python, for example, has a very strong influence from Common LISP. Perl, to this day, shows the influence of awk. Java shows you what happens when a committee tries to design anything at all. Prolog shows you how to solve a problem by describing it. HaXe ... Ruby ... And so on, and on, and on. Never stop learning and exploring programming-language tools. Write one yourself, someday, and/or involve yourself in an existing project that is now doing so. Personally, I find this to be one of the most engaging and stimulating aspects of our profession. We’re not only using the tools that we have, but constantly inventing more. Every existing language “champions” something, and it’s very important to learn what that “something” is. You know, say, how Perl does it .. now go see how Python does it very differently. They see the problem differently and approach it in a different way, yet it is the same problem. One day, you will encounter a new and difficult-to-solve problem that is being a conundrum to the team that you are now working with, and, bing! you recall something that the others have not (yet) encountered .. or vice-versa.