> 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.
signature.asc
Description: Digital signature
_______________________________________________ List: [email protected] Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/[email protected]/ Dev site: http://dev.catalyst.perl.org/
