in reply to Perl in the Enterprise

I'm making this a comment mostly because it touches on several previous posts and I'm not sure which it "belongs" with.

First off, whoever is making the point that it's insane for Perl to be used in military control systems (especially the example of submarine navigation) is absolutely right. No software is error-free, no matter what language it is written in or what platform it is running on, and indeed every commercial operating system expressly disclaims in its licensing agreement that it is not suitable for use in direct life-support systems, weapons systems, or any other application where an error could result in loss of life or catastrophic damage to property and equipment.

A professor of one of my computer science classes once gave us a real-world example of a control system he was asked to build, which was to run a chemical process which produced as byproducts metallic sodium and water, and in which pressures in a given vessel had to be controlled with great precision lest the sodium drop into the water and obliterate the plant. He declined the project, believing it to be too dangerous to ever implement, and opined that there are some processes that cannot be automated with computers and software.

But that's not what is meant by "enterprise-class" software (unless you're talking about a ship named the Enterprise. ;-) It's a horribly overloaded term, but what they are talking about, surely, is software that must operate continuously to meet a business need, and a failure of which would cost some $BIGNUM of money, but would not be implicated in loss of life, gross injury to persons, or destruction of plant and equipment.

Replies are listed 'Best First'.
Re^2: Perl in the Enterprise
by Scott7477 (Chaplain) on May 19, 2006 at 04:20 UTC
    If I understood the logic of your sodium system example, I think the point was that it would have been inappropriate to fully automate the control process and eliminate human oversight. There would always need to be a person overseeing the process and responding to information supplied by the control system. I completely agree with that concept. In spite of claims made by some regarding the state of artificial intelligence, software development has not reached the point where programs can be substituted completely for human oversight in systems where failure results in the serious consequences that you describe.

      I think he did mention something about having a human operator "in the loop" in this case (it's been a long time ago).

      Now if it had been a chemical engineering class, there might have been some discussion of how such a potentially catastrophic process came about in the first place and how to design the process itself to be safer, but that wasn't such a class.

Re^2: Perl in the Enterprise
by apotheon (Deacon) on May 20, 2006 at 18:15 UTC

    Conveniently, the Navy has Enterprise-class aircraft carriers.

    print substr("Just another Perl hacker", 0, -2);
    - apotheon
    CopyWrite Chad Perrin