Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!spool.mu.edu!uunet!shelby!neon!phil From: phil@Neon.Stanford.EDU (Phil Stubblefield) Newsgroups: comp.lang.lisp Subject: Re: So who's really using LISP? Message-ID: <1991Feb11.204514.19880@Neon.Stanford.EDU> Date: 11 Feb 91 20:45:14 GMT References: <1227@culhua.prg.ox.ac.uk> Distribution: comp Organization: Computer Science Department, Stanford University Lines: 50 In article weigele@bosun2.informatik.uni-hamburg.de (Martin Weigele) writes: >As a least common denominator, Common Lisp was then created to be as >compatible as possible with the existing lisp families. > >Nowadays, I think that Common Lisp has become a dinosaur because of the >incredibly many features built in - also known as "creeping featurism" - >as a result of the desire to be as compatible as possible. Languages >like scheme seem much "cleaner" and "nicer". Recently I've been rereading Tracy Kidder's _The_Soul_of_a_New_ _Machine_. (For the uninitiated, it's about Data General's attempt to develop their first 32-bit machine, partly in response to the then-new VAX.) At one point, a microcoder for the Eagle project was talking about how wonderful was the VAX's complex and powerful instruction set. Having taken a computer architecture class from one of the Stanford RISC proponents, my thoughts were, "Microcode? CISC? Bleah!" What does this have to do with Lisp, you ask? Well, it occurred to me that there are some parallels between the two stories. The VAX was the logical outgrowth of some of the theories of the day about machine design. A quick glance through my VAX-11 Programming Card reveals 325 separate assembler mnemonics, including thirty "Branch on " instructions, fifty type conversion instructions, and even four instructions for performing queue operations using hardware locking! The table titled "Assembler Notation for Addressing Modes" contains sixty entries, including "@L^12(R10)[R11]", for "forced longword displacement deferred indexed". Talk about "creeping featurism"! In terms of size, this was (and is) truly a Common-Lisp-sized architecture. In addition, the VAX was designed to be as compatible as possible across the entire family line, and also upwards compatible with the PDP-11, at least for the VAX-11's. I think this is an interesting comparison to Common Lisp's desire "to be as compatible as possible with the existing lisp families." In contrast, it seems that Scheme is to Common Lisp what the new RISC wave is to the VAX. Scheme seems like a cry of "Enough already!" to the complexities of Common Lisp, although I know far too little about Scheme to ascibe motives to its designers. (BTW, I program in Common Lisp almost exclusively, and would hate to have to switch to a non-Lispish language.) -- Phil Stubblefield (415) 325-7165 Rockwell Palo Alto Laboratory phil@rpal.rockwell.com