🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.prolog
Article #4286

Re: PROLOG in the "real" world?

#4286
From: Lindsay Groves
Date: Tue, 01 Oct 1991 02:48
95 lines
6374 bytes
In article <1991Sep26.031311.836@monu6.cc.monash.edu.au>, jlenarci@monu6.cc.monash.edu.au (mr j.f. lenarcic) writes:
|> 
|> 
|> I'm teaching a course im Logic Programming/Prolog with an emphasis on
|> applications. However, my students are constantly skeptical about the
|> suitability of PROLOG for standard commercial applications.
|> 
|> ...
|> 
|> I would like to obtain a list of all production-based PROLOG sites 
|> ( or at least as many as possible! ) and an associated summary of
|> successful applications to illustrate to my students that PROLOG is
|> not just a flash-in-the-pan fad.

I've seen lots of postings like this in comp.lang.prolog over the last couple of years.  If
people are having so much trouble convincing their students that Prolog is really useful,
maybe it's just possible that that it really isn't useful in the "real world".  I'm a
devoted Prolog user myself, I rarely use anything else (so long as you don't count LaTeX),
but I don't do "standard commercial applications".  Prolog is great for developing
prototypes and for all sorts of software tools.   If I was implementing a CASE tool I'd do
it in Prolog, no question.   But if I was implementing a pay-roll system (heaven forbid!) I
doubt that I would.  There are all those 4GLs out there with specialised facilities for
talking to databases, interacting with screens, producing reports etc.  Why bother to use
Prolog where you have a lot of work to do just to print numbers in columns and put $ signs
in the right places!  Maybe you're luck and have these things already in a library, but I
doubt that every Prolog site has.

Personally, I think a lot depends on the application.  If your'e doing "standard commercial
applications", you can probably buy a package that does what you want, or write it in a
4GL, or even COBOL more easily that in Prolog (these applications typically don't have
much need for recursion, pattern matching, backtracking, ...).  But if you're trying some
less traditional application areas, then Prolog may be more suitable.

That said, there is a company here in Wellington which does commercial work in Prolog.  I
don't know how much business there're getting; I know they've done some work for a couple
of government departments.  I believe one of the first things they did was to develop a
time recording/management system for their own use, which served as a good demo
application that they have since sold to others.  If you want to know any more about them,
try contacting them using any of the following routes:

	Mike Elston
	Scientific Software and Systems
	PO Box 38-490
	Petone
	New Zealand
	Fax (4)660-644
	Ph 696-810
	Email: MIKE@SSS.CO.NZ

|> Speaking of fads, "Object-oriented-this-and-that" appears to be in
|> vogue at present. Several of my students are under the impression
|> that if they don't take any units with "Object-oriented" in the title
|> their future employment prospects will be severely limited.
|> Now, object-oriented programming doesn't have any firm theoretical
|> foundation as yet ( am I correct?) Logic programming, on the other
|> hand, is highly formal and up to its armpits in theory.

Does anyone "out there" really care about a theoretical foundation?  Pure LISP had a nice
theoretical foundation, and look what happened to it!  How many people who write anything
approximating "real" programs in Prolog pay any attention to its theoretical foundation?
How many write code which, declaratively, is nonsense, but happens to do what they want
under a particular operational intereatation?

Given a choice between theoretical elegance and ease of use, ease of use is going to win
every time, even if it means programmers produce bad software.  Why else do so many
programmers use C?  Even the comparative elegance (eg type checking) if languages like
Pascal, Modula-2 and Ada is considered too much of a barrier.

Don't get me wrong -- I am not advocating the use of C, or even Pascal.  As I said above,
I use Prolog myself.  I also teach program verification, programming languages semantics
and logic programming, and do research in formal methods.  The point I am trying to make
is that until you can offer programmers both formal elegance and usability (and I know of
no language that does), there is no point saying "language X has a wonderful theoretical
foundation, therefore you should use it".

|> Will logic programming ever capture the public imagination in the
|> same way that OOP has or is the average computer user turned off
|> by anything that even remotely reeks of mathematics ( e.g. the cult
|> language APL )?

To my perception of things, the average computer user spends most of their computing time
using spreadsheets, word processors, games, financial packages, etc. -- not programming.
Why should they care (or even know!) what language these things are programmed in? -- or
are you talking about programmers?

	Lindsay

PS: How long has there been a Department of Software Development at Monash?  What does it
    do?  What happened to the rest of Computer Science?
-- 

Lindsay Groves
Department of Computer Science 		Email:  lindsay@comp.vuw.ac.nz
Victoria University of Wellington	Phone:  +64 4 721-000, ext 8070
Technical Details
Message-ID: <1991Oct1.024843.27996@comp.vuw.ac.nz>
Path: arc1-ca.pugleaf.net!gmdzi!unido!unidui!math.fu-berlin.de!comp.vuw.ac.nz!lindsay
References: <1991Sep26.031311.836@monu6.cc.monash.edu.au>

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: f907c,2ad8401e5c040397
X-Google-Attributes: gidf907c,public
X-Google-Thread: 10461e,2ad8401e5c040397
X-Google-Attributes: gid10461e,public
X-Google-Thread: 102449,2ad8401e5c040397
X-Google-Attributes: gid102449,public
X-Google-Thread: 10db24,2ad8401e5c040397
X-Google-Attributes: gid10db24,public
X-Google-Thread: f43e6,2ad8401e5c040397
X-Google-Attributes: gidf43e6,public
X-Google-ArrivalTime: 1991-10-01 06:10:03 PST
Path: arc1-ca.pugleaf.net!gmdzi!unido!unidui!math.fu-berlin.de!comp.vuw.ac.nz!lindsay
From: lindsay@comp.vuw.ac.nz (Lindsay Groves)
Newsgroups: comp.lang.prolog,comp.software-eng,comp.edu,comp.ai,aus.ai
Subject: Re: PROLOG in the "real" world?
Message-ID: <1991Oct1.024843.27996@comp.vuw.ac.nz>
Date: 1 Oct 91 02:48:43 GMT
References: <1991Sep26.031311.836@monu6.cc.monash.edu.au>
Sender: news@comp.vuw.ac.nz (News Admin)
Reply-To: lindsay@comp.vuw.ac.nz
Organization: Computer Science Dept, Victoria University, Wellington, NEW ZEALAND
Lines: 95
Nntp-Posting-Host: taputeranga.comp.vuw.ac.nz