Newsgroups: comp.lang.prolog
Path: cantaloupe.srv.cs.cmu.edu!das-news.harvard.edu!news2.near.net!MathWorks.Com!europa.eng.gtefsd.com!library.ucla.edu!ihnp4.ucsd.edu!munnari.oz.au!cs.mu.OZ.AU!munta.cs.mu.OZ.AU!pets
From: pets@munta.cs.mu.OZ.AU (Peter Schachte)
Subject: Re: Are there Prolog JOBS out there?
Message-ID: <9424915.14915@mulga.cs.mu.OZ.AU>
Sender: news@cs.mu.OZ.AU
Organization: Computer Science, University of Melbourne, Australia
References: <leon-200894000726@dvorak.ces.cwru.edu> <33g4rk$147@des.cs.keele.ac.uk>
Date: Tue, 6 Sep 1994 05:06:21 GMT
Lines: 38

In <33g4rk$147@des.cs.keele.ac.uk> paul@cs.keele.ac.uk (Paul Singleton) writes:
> reimplementation [of a Prolog prog] in C/C++ raises
> maintenance costs: when the design is revised, either you modify the
> Prolog version, then redo the reimplementation, or riskily and
> short-sightedly hack the derived C/C++ code.

I agree completely.  Unfortunately, this argument presupposes a
different mental model of what is going on than a manager is likely to
have.  The typical software development manager is likely to view the
Prolog program as a prototype, and the C++ reimplementation as the
"real" program.  The sooner the embarrassing (because the C++
reimplementation took so long) and uncomfortable (because the manager
doesn't understand it, nor do many of the engineers) Prolog version is
forgotten, the better.

>If your application requires backtracking, unification, dynamic memory
>allocation and garbage collection, then it is surely bad software
>engineering to prefer to manage a program in which the implementation
>of these is intimately intermingled with the application-specific code
>rather than use a system in which they have been neatly abstracted out
>into a well-verified (if not formally proven :-) kernel.

True enough; a canned solution is more attractive than rolling one's
own.  Still, it may not be attractive enough to overcome inertial
resistance.  All of these problems can be solved, with some pain, with
the familiar tools.  As the saying goes: if all you have is a hammer,
everything looks like a nail.  A corollary of this is that if the only
tool you know how to use is a hammer, everything still looks like a
nail, even if you have a full toolbox at hand.

If Prolog is ever to become a popular language for commercial
application development, it will happen very slowly, one success at a
time.  Unless, of course, it is made backward compatible with C++ and
renamed C*=C :-).

-- 
-Peter Schachte
pets@cs.mu.OZ.AU
