in reply to Re^2: Perl in the Enterprise
in thread Perl in the Enterprise

Sure. Hire someone who's perfect, and code will never have bugs. That works, in theory. But why stop there? Just write your train control systems in BrainFuck with Intercal extensions, and hey, if you're not a barely-trained monkey, the code will be "obvious", right?

Normal coders rely on structured programming, separation of concerns, and language guarantees to produce trusted code. Perl doesn't offer very much in the ways of guarantees about anything; everything is left to the programmer's discression. That principle can't scale: independent of the language you implement it in.

There's no typechecking, no array bounds checking, substr() emits the same warning for fatal as non-fatal errors, but otherwise silently fails on bad input. In a critical system, you don't want one programmer to assume that a dial goes to ten, while another programmer assumes it goes to 11. You want a language that can detects code that tries to set an array bounds outside it's declared size to be detected beforre the code finishing compiling. Perl just doesn't do that. It's not designed for that.

Replies are listed 'Best First'.
Re^4: Perl in the Enterprise
by chromatic (Archbishop) on May 18, 2006 at 18:31 UTC
    Hire someone who's perfect, and code will never have bugs.

    That's not what I wrote (and I suspect you know that).

    You said that Perl doesn't scale beyond small programs. I said that hiring a good programmer with discipline and skill works.

    There's no typechecking...

    Perl has container types.

    ...no array bounds checking...

    Perl has dynamically-sized arrays.

    That principle can't scale: independent of the language you implement it in.

    Dozens of other people on this site (with names and actual histories of doing such a thing) tell different stories. That's why I say that you should hire people who know what they're doing.

    Now I wouldn't write an embedded control system for custom hardware in much of anything but Ada, but generalizing from that point to "Perl can't scale" is a stupid overgeneralization.

    A reply falls below the community's threshold of quality. You may see it by logging in.