Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site sdcsla.UUCP Path: utzoo!watmath!clyde!burl!ulysses!allegra!mit-eddie!godot!harvard!seismo!umcp-cs!gymble!lll-crg!dual!amd!fortune!hpda!hplabs!sdcrdcf!sdcsvax!sdcsla!hestenes From: hestenes@sdcsla.UUCP (Eric Hestenes) Newsgroups: net.lang.lisp,net.lang Subject: Re: xlisp & object orientated programming request Message-ID: <807@sdcsla.UUCP> Date: Sun, 3-Mar-85 04:47:26 EST Article-I.D.: sdcsla.807 Posted: Sun Mar 3 04:47:26 1985 Date-Received: Thu, 7-Mar-85 04:23:41 EST References: <1228@sunybcs.UUCP> Distribution: net Organization: U.C. San Diego, Cognitive Science Lab Lines: 97 Xref: watmath net.lang.lisp:358 net.lang:1495 > > I am looking for good books describing the use of object orientated > programming. I am currently interested in its use in xlisp, and would > appreciate any small example programs you would be willing to pass along, > or pointers on using objects in xlisp. > As I would also like to learn smalltalk, what is the definitive > tutorial? > What other versions of lisp have object orientated features included > in them? I have heard that some of the new workstations have a totally > integrated object orientated lisp system, is this a new trend? > -- > Dan Winkowski @ SUNY Buffalo Computer Science (716-636-2879) There are now several object oriented lisps available, and there is probably one that runs on any machine. A few object oriented lisps: flavors ( on symbolics, franz-lisp ( under UNIX ) ) Loops ( on Xerox Interlisp-D machines ) Smalltalk ( on Xerox,Tektronix,Sun,VAX(?) ) XLISP ( on almost anything ) others -- I'm sure there's more, but I can't recall them off the top of my head. Readings: For a general discussion try Winston's Artificial Intelligence, and be sure to get version 2 ( the old one doesn't cover object oriented programming ). A good book for beginners. For specific examples you might try: 1/ The Loops manual. Xerox. 2/ The Symbolics 3600 manual, Chapter on flavors. I believe it is chapter 14. 3/ Smalltalk books. Don't buy them, just borrow them. I don't think you'll want to keep them unless you are stuck with smalltalk. Recommendations: If you have a choice, try the above out in this order InterLisp-D Loops Symbolics Flavors Smalltalk on AI workstations XLISP other versions of smalltalk,flavors. I've had extensive experience with Loops, and I would say that it is head and shoulders above the others. It features an outstanding user interface, and the object oriented code is fully compatible with the InterLisp-D language. ( Caveat: we all love the language we use most! ) But it is a very impressive implementation. I've not had extensive experience with flavors, but I would say that the Symbolics version is pretty good. Smalltalk is an obsolete language ( no offense; this is only my opinion ), and even its creators have abandoned it. With the others try your luck ( anyone have any opinions on other versions. A note about microcomputer lisps: Be warned that Lisps on micros are microscopic (== awful ) in comparison to their Lisp machine counterparts. Without the more powerful machines it is hard to get a good idea of the gist of AI programming. Also, most lisps on mainframes are painful ( e.g. franz lisp ) in comparison to Lisp machine versions; they are not nearly as fun to program. Some lisp on mainframes are good, mainly because the developers worked hard at it ( e.g. normal interlisp ). On trends in Lisp programming: I hope these integrated systems are a trend. Loops on the Xerox Dandelion is an example of an integrated system. Object oriented programming is combined with procedure oriented programming ( like traditional programming languages ), rule oriented programming ( like Expert Systems or their parent, production systems ) and access oriented programming ( a bit like interrupt driven programming ). The resulting system provides these four integrated languages, and thus, four ways of describing and solving programming problems. I believe that the reason people try out new languages is that they need a different way to express a problem. The neat thing about Loops is that one can describe a problem many ways, and have all the descriptions become compatible at a lower level. send replies to: Eric Hestenes < all opinions belong to the author. > ------------------------- ARPA: sdcsla!hestenes@nprdc other: ucbvax!sdcsvax!sdcsla!hestenes