Xref: utzoo comp.realtime:1269 comp.ai:9061 comp.lang.lisp:4790 comp.lang.c++:12927 comp.robotics:821 Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!think.com!mintaka!bloom-beacon!eru!hagbard!sunic!mcsun!ukc!edcastle!aiai!jeff From: jeff@aiai.ed.ac.uk (Jeff Dalton) Newsgroups: comp.realtime,comp.ai,comp.lang.lisp,comp.lang.c++,comp.robotics Subject: Re: "Easy" way to put "AI" in realtime embedded systems? Keywords: realtime, ai, c++, lisp, embedded Message-ID: <4495@skye.ed.ac.uk> Date: 16 Apr 91 15:45:17 GMT References: <1991Mar26.163917.14641@unhd.unh.edu> <4471@skye.ed.ac.uk> <1234@telesoft.com> Reply-To: jeff@aiai.UUCP (Jeff Dalton) Organization: AIAI, University of Edinburgh, Scotland Lines: 41 In article <1234@telesoft.com> rlk@telesoft.com (Bob Kitzberger @sation) writes: >In article <4471@skye.ed.ac.uk>, jeff@aiai.ed.ac.uk (Jeff Dalton) writes: >> >> Why not? Some people like Lisp. Since we don't insist that you use >> the language we like, why give us a hard time for not using the >> language you like? > >It doesn't seem to me like it's a quiestion of 'liking' a language or not. >Jeez, we're supposed to be _engineers_ with the wisdom to select the correct >tool for its merits, not because of our subjective preferences. Unfortunately, engineering reasons seldom tell you the single right tool to use. This doesn't stop some people from claiming that they do or from being convinced themselves. In the end, it often comes down to whether you value, say, a certain degress of flexibility over a certain degree of efficiency, or vice versa, and to what you're used to. In many cases, some people will find Lisp better than C and others will find C better than Lisp. This doesn't mean one of them must be wrong. This is not entirely subjective, but neither is it entirely objective. >I missed the original post, but if the poster wants to embed LISP in a hard >real-time application, there are valid engineering questions that need >to be asked. Just so, and for embedded real time it may be that Lisp is unsuitable. >I don't prefess to be anything near a LISP expert, but I'll toss out >a few questions you need to ask yourself. Can you calculate guaranteed >worst-case times for LISP routines in the presence of interrupts? How >about the dynamic memory allocation algorithms used in LISP -- are they >non-deterministic? How can you protect LISP data structures in the >presence of concurrency? Is reclamation of stale heap space performed? >I don't mean to imply that LISP fails in these areas. I will leave this to the experts on various Lisp systems. Lisp can certainly come close, but few if any implementations aim to be suitable for embedded real-time use. -- Jeff