[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

using Lisp in astronomical data analysis



    Date: Fri, 09 Oct 92 05:36:15 +0100
    From: hmadorf@eso.org
    ...
    Here is a verbatim quotation  that I just received from a key person in 
    the AIPS++ project of the National Radio Astronomical Observatory (NRAO).
    AIPS is a major radio astronomical image processing system. AIPS++ is
    its rewrite in a modern language.

    "There were two serious candidates for aips++ and one "dark horse" 
    Fortran90, C++, and Eiffel. One goal of AIPS++ is to allow casual 
    astronomer/programmers to more easily try out new algorithms than in the 
    existing AIPS1 system. The decision to adopt a fairly conventional 
    language like C++ was controversial enough; a "weird" language like lisp 
    would have been impossible to sell to our conservative audience."

There is a difference between "conservative" and "ignorant".  The former
implies some familiarity with the subject matter.  The adjective
"weird" is not one I have heard used in informed debate on programming
languages.  If the issue of concern is difficulty in learning/using
the language, I'd guess Lisp is much easier to learn from scratch than C++
or Fortran.  Moreover, with a reasonably helpful text editor the syntax of Lisp
is much easier to learn, use, and read than that of C++ or Fortran90.
I don't think someone choosing the language of the future for scientific
computing should make those decisions based on subjective and uninformed
judgements like "that one's weird".

As to the issue of efficiency, much discussion has already taken place,
so I won't go over it again here; let me summarize it in the following points:
-- Lisp is much nicer to develop in, because of language facilities and
   the rich support environments available.  Its users don't find it "weird".
-- As Knuth reports: the large majority of a program takes almost none
   of the execution time, so coding most of it in a possibly less
   efficient language is no practical loss
-- For the time-critical few percent of the code, if the native language
   doesn't cut it, one can always escape to assembler (or, with most lisps,
   *any* foreign language).  But this is usually what happens in any language,
   including beloved Fortran.

As far as suitability of Lisp for scientific computation,
Gerry Sussman and his group at MIT routinely do scientific programming
in Scheme.  Obviously, they don't find it "weird".

-- Bob