[Catalyst] Why I chose Perl and Catalyst

Daniel Hulme st at istic.org
Tue Feb 13 17:32:39 GMT 2007


> Any insight or advice as to why would one prefer a Perl stack over a
> Java or .NET one?
For me, one of Perl's big wins, particularly in an enterprise situation,
is testing. Test::More is still the easiest-to-use testing framework
I've experienced. Adding tests is easy, automating tests is easy, even
for web applications, and processing the results is easy. The Pugs smoke
server http://smoke.pugscode.org/ shows just what can be done when you
have a widely-used standard for test results, and existing modules to
analyse those results.

CPAN is the other killer. There is a load of free-to-use, often
free-to-distribute modules to do every task you ever wanted to do.
Compare this with .NET where you are often reduced to paying money for a
component you can use in your own software, often made by a no-name
company who could disappear and leave you with no source and no way to
get any bugs fixed.

> It seems that a lot of people (including my boss)
> think that Perl cannot compete when one is trying to do "enterprise"
> applications.  In some ways (please tell me if I am wrong) it might be
> true because Perl exhibits very few rules and standards and very little
> built-in control over how you write your code when compared to the Java
> and C# paradigm, syntax and compilation rules.
I find the opposite to be true. A combination of the right pragmata and
perlcritic can get you some reasonably tight coding standards, so people
can write code independently and have it mesh together nicely. Sure, if
your idea of coding standards is on the level of "use four-space
indents" or "use if ! rather than unless", then yes, you're going to
have to do more work to enforce that in Perl than in C#, where you just
don't get the option, but it's possible to write unreadable code in any
language.

As others have said, POD is another major enterprise feature for Perl.
There are standard tools to process POD comments into almost any format
you want, whereas with the MS C# XML comments you are very limited in
your choice of tool.  Javadoc may have more flexibility, but I have only
ever seen it used to produce those awful-to-navigate websites.

I suppose the recurring theme to these things is interfaces. Perl has an
interface to pretty much anything you would want to talk to, so when you
write a Catalyst app you're getting the ability to scale your
application to handle more complexity easily. Whether the system you're
interfacing with is a credit-card transaction processor, or an automated
test framework, being able to rapidly add new interfaces to your program
is a popular feature for a small programming team but an essential one
for anyone making a commercial product.

-- 
Pray remember that Bacchus was a warrior, and that his armies had little
fighting to do, because  wherever he appeared  he taught the cultivation
of the vine  to the grateful and  submissive natives.    --  J.B. Morton
http://surreal.istic.org/          Calm down, it's only ones and zeroes.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://lists.scsys.co.uk/pipermail/catalyst/attachments/20070213/8fba7355/attachment.pgp


More information about the Catalyst mailing list