From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=BAYES_00,INVALID_DATE, MSGID_SHORT autolearn=no autolearn_force=no version=3.4.4 Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site watdaisy.UUCP Path: utzoo!watmath!watdaisy!djsalomon From: djsalomon@watdaisy.UUCP (Daniel J. Salomon) Newsgroups: net.ai,net.lang.lisp,net.lang.ada Subject: Re: Thus spake the DoD... Message-ID: <7016@watdaisy.UUCP> Date: Wed, 27-Feb-85 14:22:55 EST Article-I.D.: watdaisy.7016 Posted: Wed Feb 27 14:22:55 1985 Date-Received: Fri, 1-Mar-85 05:05:53 EST References: <417@ssc-vax.UUCP> <676@topaz.ARPA> <6982@watdaisy.UUCP> <3223@utah-cs.UUCP> Organization: U of Waterloo, Ontario Xref: watmath net.ai:2561 net.lang.lisp:342 net.lang.ada:197 List-Id: > The way we say it around here is "most programs written in *other* languages > could be written better in Lisp" - that includes work in VLSI, graphics, > compilers, algebra, and suchlike. Name me ONE thing that Pascal or Ada > does better than Lisp (besides `confuse and frustrate the programmer')... > > stan shebs Since LISP is a typeless language a LISP interpreter or compiler will accept almost any meaningless input (in which the parentheses match) as a valid program. Thus the correctness of programs must be proved by exhaustive test cases or by theoretical analysis. Although LISP is more amenable to theoretical analysis than most languages, let's face it, most LISP programmers would rather hack out another test case than do any analysis. Since LISP uses function notation for all operations it is a simple language to implement and a simple language in which to automatically generate code (thus the AI connection). Similarly its use of lists to implement all data types and all structures is a simple and interesting concept. But these two features have made LISP one of the most inefficient languages in existence. In many ways this inefficiency has hindered the development of AI. People now associate AI with programs that are too costly to run. This inefficiency has led LISP programmers on an endless search for more powerful hardware. The search may lead to new and exciting parallel architectures but until they are designed and built we should find ways to make good use of the hardware we have. Writing in LISP is challenging and fun. It's simplicity both liberates and constrains the programmer so that writing LISP programs is something like solving a puzzle or playing chess. Many intelligent people enjoy this aspect of LISP. Unfortunately LISP programs remain a puzzle even after they are written. LISP programs are both syntactically and logically hard to document. Usually only the original author will fully understand how a LISP program works, and after a few years not even he will. I thus stand by my original claim that the importance of LISP to AI is greatly exaggerated. Not only can one now chose one of the LISP offspring such as PROLOG or FORTH, but also if one is writing an actual production system one should examine one of the more efficient algorithmic languages to see if it is adequate for one's application.