Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uwm.edu!bionet!agate!ucbvax!mvs.draper.com!SEB1525 From: SEB1525@mvs.draper.com Newsgroups: comp.lang.lisp Subject: Re: Is this the end of the lisp wave? Message-ID: Date: 17 Jan 91 13:11:00 GMT Sender: daemon@ucbvax.BERKELEY.EDU Lines: 40 There's one thing about LISP that makes it superior to C which everyone else seems to have missed. For me, this is the major factor in why Lisp is a much easier language to develop software in. It's got nothing to do with "AI" (whatever you think it is) or fancy-schmancy programming environments. The Big Win is: Storage management in Lisp is a non-issue. Just about every nontrivial programming task or computer algorithm involves scarfing up bunches of information the size of which is unknown until run time. Call them lists, arrays, structures, objects, or what have you, in Lisp all you have to do is CONS (or MAKE-FOO) them up as you need them. In C you have to estimate how much memory they'll take up, figure out how to handle things when they grow bigger than the memory you've allocated, put in code to barf when the memory isn't available, etc., etc. I'd say that a very significant chunk of C programming is devoted to this pain-in-the-ass storage management stuff. And that's not even considering the problem of string-building, where you can shoot yourself in the foot so easily without feeling a thing. When you write code in Lisp, you can concentrate on the problem to be solved, not on why the system crashed while you were trying to solve it. The down side of this, of course, is that storage requirements can balloon far beyond what is optimally needed, and garbage collection is necessary. But modern GC technology and clever compilers go a long way toward mitigating these effects. Someone on this list said: >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. Point is, that round of bug fixes lasts virtually forever in C, whereas in Lisp the code is much more likely to be nearly bug-free at delivery. - SEB