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

Re: Selling Lisp

> Hello fellow lispers.  I am in the process of convincing my
> organization that lisp is good language to use for application
> development.  We all know the advantages of lisp with respect to
> being an excellant prototyping environment.  I am looking for ideas
> on how to present a case for developing applications originally in
> lisp and when necessary, using a translator to take it to C.  I hope
> to compress development time using this approach.  a list of
> companies which do this or simply use lisp would help in persuading
> my fellow engineers who are primarily non-lispers.
> Of course, lisp vendors are ideas are welcome since you must market
> lisp.  But I am also looking for specifics with respect to current
> use in industry.  The feeling here is that lisp is an obscure tool
> only appropriate for acedemics.  Obviously this is not true, but I
> need some facts to back this up.  In particular, any defense
> contractors out there that use lisp would be helpful.  Thanks in
> advance for your inputs.
> Paul Hasse
> United Defense
> paul_hasse@fmc.com

We have used Common Lisp (inc. CLOS) for many years here at Lockheed
in Austin; and still do in several current programs.  The trend in
newer programs, though, has been away from CL and toward C++ (more due
to customer desires than developer desires --- many of our developers
really miss CL).  Anyway, because of our past history with CL we now
have a number of junior and senior programmers that are fluent in both
CL and C++.  We have successfully used CL in somewhat the same fashion
you are suggesting except for the part about "using a translator to
take it to C".  In our case, we have used it to help us develop C++

For example, about a year ago I had to provide a detailed design for a
belief network module to be used in a particular application.  A
junior programmer (experienced CL and C++) was to then implement it in
C++.  Although there are a number of books and papers that specify
updating algorithms for belief networks, none were in a form that I
could simply hand to this person.  A much more explicit specification
was needed.  So, I wrote the belief network module in CL.  It took me
about 8 or 9 working days.  I might have done it in much less time,
but I thought that--with some extra effort--the CL version might be
used in other CL-based programs (and I was right; currently it is
being used in two other programs).  The junior programmer then
"transcribed" the CL-version into C++ in roughly a week.

Looking back at this, if we had had to do all of our work in C++, I've
got to agree with Peter Norvig's numbers.  I think that it would have
taken us about 6 or 7 weeks to complete, and we wouldn't have two
versions.  Since then we have built a user interface for the CL
version (using CLM).  Again, I think that it was much quicker to put
the UI together in CL, than in C or C++.  The UI has been especially
helpful in explaining and selling both versions of the code to our
managers and customers.  At this time, the C++ version is being used
in two different programs.

Al Reich

 | Alfred J. Reich, Ph.D.       Phone: (512) 386-4178               |
 | Knowledge-Based Systems      FAX:   (512) 386-4445               |
 | Org T1-10, Bldg 310          Internet: reich@austin.lockheed.com |
 | Lockheed - Austin Operations +-----------------------------------+ 
 | P.O. Box 17100               |
 | Austin, TX 78760-7100        |

DISCLAIMER: The opinions above are mine, not necessarily my employer's