Path: utzoo!utgpu!news-server.csri.toronto.edu!bonnie.concordia.ca!uunet!mcsun!ukc!edcastle!aiai!jeff From: jeff@aiai.ed.ac.uk (Jeff Dalton) Newsgroups: comp.lang.lisp Subject: Re: Is this the end of the lisp wave? Message-ID: <3953@skye.ed.ac.uk> Date: 16 Jan 91 18:04:23 GMT References: <127724@linus.mitre.org> <97216@aerospace.AERO.ORG> Reply-To: jeff@aiai.UUCP (Jeff Dalton) Organization: AIAI, University of Edinburgh, Scotland Lines: 34 In article <97216@aerospace.AERO.ORG> srt@aerospace.aero.org (Scott "TCB" Turner) writes: >It's been my perception that LISP gets used to build vaguely-defined, >evolving systems. Much AI fits in that category. LISP and the >programming environment that comes with it is amenable to a tinkering, >incremental approach to problem solving. But that's not all Lisp is good for. I don't think there's anything in the nature of Lisp that means it must be worse than C at the tasks for which C is used. >On the other hand, when the problem and its solution are well-defined, >a language like C is a more likely choice. The code is written, the >executable delivered, and then set aside until a round of bug fixes. But better programming environments are needed for C and are being built. That is, C programming will get more Lisp-like, so far as the environment is concerned. And this will make other differences between the languages more important. I think you are right to suggest that it's much more straightforward to deliver the executable when using C. But C also has advantages when delivering the source. Because more machines come with C compilers than with Lisps, C is in practice more portable (even though, as a language, it seems to provide more opportunities for machine-dependence). C also tends to be much more efficient at certain tasks, such as processing text files, and tends to produce smaller executables. C technology is often fairly primitive, or at least simple. But it works well enough. For example, Lisp systems seem to have to go to a lot of effort to get rid of procedures that will not be used, while in C they tend not to be included in the first place. Lisp's ability to load new procedures at run time, etc, is more sophisticated, but is often more than is needed. -- jeff