Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

Re: So Whatcha use perl for anyway?

by ack (Deacon)
on Dec 12, 2007 at 18:02 UTC ( [id://656681]=note: print w/replies, xml ) Need Help??


in reply to So Whatcha use perl for anyway?

From time to time I wonder that, too. Here's my somewhat shy reply...being just a newbie to the Monks.

I have been using Perl for about 4 years now. I am a Chief Sys Engineer building and flying satellites.

Our satellite integration and testing teams have (for several years before I got involved with Perl) used Perl to script and automate their testing to confirm that our satellites are ready to go into space. I got involved in Perl just to understand what my I&T teams were doing...and I got hooked.

We use the same ground systems for testing that we also use to fly the satellites and I am also one of many Flight Directors for flying the satellites. I realized that the same scripts that we used for testing could, with a little modifications, enhance and improve our on-orbit oversight and management of the satellites. We have since begun using Perl as a tool to much more flexibly and fluidly manage some of our on-orbit operations.

I am not much of a programmer, so I try to utilize some of our Perl gurus to do most of the script development work. But I dabble and do some of my own, too.

The Perl language's ability to rapidly prototype, try little ideas or snippets of code, often it's compactness, and its cross-platform portability (which allows us, often, to prototype ideas on PCs and then implement them on Solaris workstations) makes Perl ideal and, certainly, it is our language-of-choice.

None of our scripts are very complicated and none but a few are more than 50 lines of code (typically). The power and expressiveness of Perl has allowed us, even with such small scripts, to implement some pretty powerful capabilities. For example, one such script is a meta-interpreter that allows our flight controllers to specify functional spacecraft activities (e.g., "go to this place and do this within such-and-such constraints") and auto-generate the spacecraft command loads (often several hundred commands) for the satellite that are auto-verified, repeatedble, and reliable...a task that used to take my controllers over a day or two. They can do the same task in only a few minutes.

Perl has become "my (and our) friend" and contributes to satellite test and operations for us.

ack Albuquerque, NM

Replies are listed 'Best First'.
Re^2: So Whatcha use perl for anyway?
by ack (Deacon) on Dec 12, 2007 at 18:26 UTC

    As a side note to my reply, one of the "challenges" of using Perl is that, in our environment, we can't bring in "external code" (i.e., code that we, ourselves, haven't generated) other than the Perl distrubition package itself.

    The consequence of most pain to us is that we can't really avail ourselves of rich set of tools from CPAN...a most distressful situation...but our security and strict configuration controls necessitate this sad state of affairs.

    However all is not entirely lost, as we *can* bring in code we've developed and/or tested ourselves. That is the paradigm that allows to, for example, develop and test code on the PC and then port to the Solaris.

    So, we can, for example, download CPAN modules, test them, develop with them and then port them over to the Solaris and simply include them (in the form of saving them in the same directory as our scripts as *.pm files) as we do the libraries that we, ourselves, have created.

    That works surprisingly well most of the time but it has the disadvantage of being libraries that are not "installed" in Perl...i.e., that aren't automatically gathered together with their other "required modules" and made automatically known to our apps.

    So we have to do the painful task of figuring out all of the "required modules" and then figuring out all of those modules' "required modules", etc. and then loading them into our app's directory(ies)... actually we have a standard library directory that all of our apps know to use and is in our path statements.

    Hence, we tend to only use the CPAN modules that meet our needs AND that don't require any other modules (at least any other than the ones that come pre-packaged with the Perl distribution).

    Unfortunately, of late, we have found a couple of CPAN modules that we'd really like to use...but they seem to have an unending "deep-dive" set of "required modules". That is a real "frowny face" for us.

    ack Albuquerque, NM

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://656681]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others avoiding work at the Monastery: (4)
As of 2024-04-19 13:37 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found