Newsgroups: comp.lang.prolog,comp.lang.smalltalk
Path: cantaloupe.srv.cs.cmu.edu!rochester!cornellcs!newsstand.cit.cornell.edu!news.kei.com!newsfeed.internetmci.com!EU.net!peer-news.britain.eu.net!demon!sunsite.doc.ic.ac.uk!susx.ac.uk!news.bton.ac.uk!Simon.Shurville
From: sjs16@itri.bton.ac.uk (Simon John Shurville)
Subject: Re: Smalltalk vs Prolog
X-Nntp-Posting-Host: tomcat.itri.bton.ac.uk
Message-ID: <DII37z.HCK@bton.ac.uk>
X-Posted-From: InterNews 1.0@diamond.bton.ac.uk.
Lines: 41
Sender: -Not-Authenticated-[3206]
Organization: The Composer Project
References:  <48uia7$35j@harbinger.cc.monash.edu.au>
Date: Thu, 23 Nov 1995 14:35:59 GMT
Xdisclaimer: No attempt was made to authenticate the sender's name.
Xref: glinda.oz.cs.cmu.edu comp.lang.prolog:14329 comp.lang.smalltalk:30987

In article <48uia7$35j@harbinger.cc.monash.edu.au>
dcron@bruce.cs.monash.edu.au (Danny H Cron) writes:

> Speed:     The implementation in Prolog is very slow comparitively to
>            my implementation in Smalltalk.  (Note: The above comparison
>            was bias toward Smalltalk because of other details)

One of the oft repeated arguments against Prolog is that everything is
recursive so the programs are slow and big. Some academics have
suggested adding iteration and some other useful features. I don't see
the point becuase the language and its paradigm are just too hard to
learn and use - you should see some of the literature on Prolog
debuggers. No one can keep the kind of goal stacks that prolog requires
in mind. I should suggest that the best option is to embed prolog or
another RBS language with the recursive ability to transform inputs to
outputs in smalltalk. e.g., have a look at Pachet's paper in JOOP,
July/August 1995. Also, the Poplog environment might be worth a look.
 
> Interface: Smalltalk has grahpical interface capibalities.  Prolog has
>            only text based capabilities.

Doing serious graphics in prolog would be an exercise in futility,
although some prologs such as LPA, let you do simple window operations.
If you must do graphics in Prolog I'd go for an environment such as
Poplog where you have some graphics functions that you can get to via
Pop 11 or Go. If your university has a copy of Poplog and you are
interested in Prolog and graphics then I recommend that you take a good
look at it.
 
> Maintainability: ...

Forget it.
 
> Design Issues: ...

I'd love to see Gammer et al do a book on design patterns on Prolog. In
fact, both of us who bought such a book would be very pleased :-)

> Other Issues:  ...

It is worth learning Prolog becuase it make you think in new ways and
some of these might bear practical results in a language like Eiffel
with pre and post conditions that look very much like Prolog or strips
(from my very limited knowledge of Eiffel which amounts to a couple of
afternoons!)

