Basically it has to do with the positions of ships. We get emails from
the ships that have lat/lon coordinates and we plot them. We also do
stuff like figure out what ships are within SAR distance and what
ports are close at hand for SAR operations. So spherical trig stuff
comes into play. I don't think "fast" is a requirement as long as we
can get the email, look up the last position, do calculations and then
write back to the db. That is the basics of it.
I have code that effectively does half of this; alas, it's not ready
for release. Navigation has been a hobby for a while, and there's a
great deal of modelling involved for a couple of the projects I'm
working on. For what you've described, I would expect no particular
loss of speed nor of precision using perl. Because of the data
stream, it's probably better than C in this case.
If you were doing acoustic tomography or processing soundings for
topography, then you'd notice a big difference (whatever "big"
means) in speed. I've found it unfortunate for these applications
that I'm so used to perl that sometimes it takes more time to write
it in C/C++, but there's a line between coding time and processing
time that is eventually crossed and C is the way to go.
At that point, however, you're so deep in it that you might as well just
tie a concrete block to your feet and throw yourself in the river,
because you're never going to come back up.
We currently have c libs with the math and a Perl/XS module that calls
those routines. We are having a horrible time moving that code from PA-
RISC to Itanium (the code is as old as IRIS and PRIME). So we may just
move it all into the Perl realm to make it easier going forward.
I can't imagine anything in there being so complicated that it
couldn't be implemented in either C or Perl in a big hurry. Keep it
around for backup sake or following the MS philosophy that there is
no physical layer, or the Java philosophy that C isn't available on
enough machines so we'll just write JVM in C so Java is... and write
an emulator for PA-RISC on Itanium.