Re^2: Is Perl the right language for a large web application?by Zzenmonk (Sexton)
|on Apr 24, 2013 at 07:48 UTC||Need Help??|
I am writing PERL web applications for over 10 years now. A video one of them is here: http://youtu.be/nHXZ-44nOUo.
My way of building them
Install an Apache versrion >2, mod_perl, DBI/DBD, CGI, CGI::session, create a set of directories: cgi, css, js, lib, img and tmp, RTFM about PERL and CGI (http://oreilly.com/catalog/cgi2/chapter/ch08.html) and build your application. Scale out with the Apache features (mpm and cluster), set up your database as a cluster and your corporate application is alive.
The way to build them which pleases your manager
Install Catalyst. During the time you will read the Catalyst books, my application will be in production. However Catalyst has a lot of tools and your boss will definitely like it. It might even become strategic.
In both case you will have with a state of the art application, which will be built at reasonable, if not record breaking costs. Provided you write proper code, your application will run over 10 years without any problem.
Major projects written in PERL
Switzerland, state of Geneva, Justice department: This department is using PERL to realize a web application to manage all court procedures. The project manager introduced it to me and is happy about his choice regarding PERL. It is the biggest PERL project I know.
Metadot: Metadot is portal written in PERL. At the time I used it, it did not work under mod_perl and had a lousy performance. It is however a good portal.
Amanda: Amanda is the backup system I use. It is an open source software delivered with most Linux distributions. It is also the example of what you should not do. The PERL code was badly written and issue arose as PERL 5 was introduced. If I remember it correctly foreach $tmp @list is legal in PERL 4 but not PERL 5. So Amanda was not working any more! Accordingly avoid cheap code in PERL! In other words: best practices are a must!
Alternatives listed in your post.
Ruby: Forget it. The only time I had to use Ruby the code did not work because of deprecated method usage. Such a language can definitely not be used at corporate level.
Python: No clue! Never used! Notice I heared of Python allready in 1993! In fact it was released in the late 1980s!
You state the problem yourself. PERL is badly perceived mostly because too much lousy code was written with it and security issues appeared. An article I read in 2000 about it was cited to me again during a security review in 2008! Now make a guess of your major issue: the management:
These are your problems and the problems I faced and still face after 15 years of freelance consulting for major international corporations. Notice a multi with over 40'000 employees did not want to used it because PERL is open source, but it was installed on the corporate laptop I got as part of the operating system!
The best medicine against depression is a cold beer!