[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
using Lisp in astronomical data analysis
- To: email@example.com
- Subject: using Lisp in astronomical data analysis
- From: firstname.lastname@example.org (Bob Hall)
- Date: Fri, 9 Oct 92 10:15:31 EDT
- Cc: email@example.com, firstname.lastname@example.org, email@example.com, firstname.lastname@example.org
- In-reply-to: email@example.com's message of Fri, 09 Oct 92 05:36:15 +0100 <9210090436.AA17039@ns3.hq.eso.org>
Date: Fri, 09 Oct 92 05:36:15 +0100
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".