http://qs321.pair.com?node_id=261984


in reply to Re: When to use perl
in thread When to use perl

I do see situations where it's easier to write "high quality applications" in another language. Let's say for instance I need to write applications that do a great deal of testing and measurement of a laboratory environment... well, could I write the application in Perl? Sure. But I'd probably use LabVIEW. Or lets say that I'm writing applications that require symbolic mathematics... I'd probably write it in Mathematica or Maple or Matlab. Or lets say I'm writing applications which have to do a ridiculous ammount of statistican analysis... could I do it in Perl? Of course, but I'd probably chose R... or let's say that I'm writing some kind of application that is, at it's core, a system for doing real-time analytics or timeseries analysis... well, I'd probably use K. Or let's say that I need to write an application for the telecommunications industry, say switching or converting protocols, could I use perl? Sure! But I might chose erlang. Let's say I've been asked to write a small windows application to interface with a MS-SQL server and an Excell spreadsheet... let's say, a simple decision support system... could I write it in perl? Sure, the Win32::* namespace rules... but realistically it would probably be easier (and a lot more deployable) in Visual Basic. Or let's say that I'm writing a banking application that has to support millions of transactions in a completely fault tolerant manner spread accross a geographically disparate cluster of E10k's, provide an understood environment in which I can hire commercial trainers to get my developers up to speed, as well as a pre-existing code library, accepted best practice design patterns, in order to minimize risk of an aborted development cycle (which would be massively detrimental to the bottom line.) Well, I may not like it, but I'd most likely chose a combination of Java, and J2EE. Let's say that I'm writing the worlds most advanced system for global airfare pricing and airfare shopping... I'd probably be these guys and implement the thing in Lisp.

Perl rules. I usually write code in Perl. Sometimes to my detriment, because other languages would have fit the problem domain better, but I'm human, and I'm confortable in my environment, and I'm loud and intimidating enough that if I want something, the other developers will let me get my way. But there is a nearly infinite number of domains in which chosing a language/platform/implementation strategy other than Perl is the right choice.

Replies are listed 'Best First'.
Re: Re: Re: When to use perl
by WhiteBird (Hermit) on May 31, 2003 at 03:48 UTC
    So, given 9 or 10 major projects, if you're a big shop and have the money you can hire 10 separate developers, skilled in 10 languages to do the coding; but if you're a little short on resources, you could just hire One Good Perl Hacker who could do it all.
Re: Re: Re: When to use perl
by Anonymous Monk on May 31, 2003 at 04:09 UTC

    I've haven't got much to add, except to say that Matlab and Labview are going to take over the world some day (if Perl6 doesn't do it first). (-:

    (P.S.: An insider at NI told me that they are pretty close to being able to write LabView with LabView - now thats an excitingly scary thought!)

Re: Re: Re: When to use perl
by perrin (Chancellor) on Jun 02, 2003 at 17:57 UTC
    You seem to be saying that given a set of very unusual requirements which Perl is obviously ill-suited for, you would use a specialized tool instead. I don't see how anyone could disagree with that. But the original poster didn't have these specialized requirements. He was concerned about using Perl to build a high-quality system. There is no problem with using Perl to do that.

    I also believe that the Java project you refer to stands a good chance of spending millions, taking years, and producing something unsatisfying, regardless of the language chosen. I don't think Perl is going to make it any harder to write than Java. (Java in a totally fault-tolerant system? That's madness.)