[net.lang] xlisp & object orientated programming request

lazarus@sunybcs.UUCP (Daniel G. Winkowski) (02/27/85)

	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?
-- 
Today we live in the future,
Tomorrow we'll live for the moment,
But, pray we never live in the past.
--------------
Dan Winkowski @ SUNY Buffalo Computer Science (716-636-2879)
UUCP:	..![bbncca,decvax,dual,rocksanne,watmath]!sunybcs!lazarus
CSNET:	lazarus@Buffalo.CSNET     ARPA:	lazarus%buffalo@CSNET-RELAY

hestenes@sdcsla.UUCP (Eric Hestenes) (03/03/85)

> 
> 	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

mark@apple.UUCP (Mark Lentczner) (03/05/85)

-=-
Just to set the record straight:
	1) Smalltalk is not a version of LISP in any way.
	2) Smalltalk is not obsolete (viz.: Tektronix & Berkley work with
		rather extensivly)
	3) Its creators have not abonded it, there is active work on Smalltalk
		at both Xerox and Apple.

-mark
 (Send all flames to /dev/null please)