Newsgroups: comp.lang.prolog
Path: cantaloupe.srv.cs.cmu.edu!das-news.harvard.edu!news2.near.net!MathWorks.Com!udel!princeton!allegra!ulysses!pereira
From: pereira@alta.research.att.com (Fernando Pereira)
Subject: Re: Are there any Prolog JOBS out there?
In-Reply-To: 's message of Thu, 1 Sep 1994 09:57:51 CDT
Message-ID: <PEREIRA.94Sep1221028@alta.research.att.com>
Sender: netnews@ulysses.homer.att.com (Shankar Ishwar)
Reply-To: pereira@research.att.com
Organization: AT&T Bell Laboratories
References: <94244.095751U54294@uicvm.uic.edu>
Date: Fri, 2 Sep 1994 02:10:28 GMT
Lines: 56

In article <94244.095751U54294@uicvm.uic.edu> <U54294@uicvm.uic.edu> writes:
> Fernando Pereira writes:
> >Thousands of programs *already* churn out code. They are called
> >compilers. That may have caused hardship to those whose specialty was
> >machine-language programming (as opposed to programming in general),
> >but it's certainly been a boon to programmers as a whole. Moving to
> >higher-level programming languages will not change this equation
> >essentially. As higher-level languages mask the complications of
> >actual computers, programmers can concentrate of coping with the
> >complexity of the task and of the environment, allowing more complex
> >problems to be tackled. In other words, as languages and programming
> >environments help programmers make programmers more productive
> >(measured in terms of machine instructions delivered), the number and
> >complexity of tasks attempted grow to match the increased
> >productivity. But more complex tasks require more knowledge of the
> >task, as opposed to knowledge of the tool.
> This is all correct, but here we see what I think is the misconception.
> Programers are not moving to higher level programming languages. They
> are moving past "programming" as it is now known, into the usage of
> tools which directly translate application models into working
> applications. Use any of the products in the following list and you
> will see (what I think of as) the bottom-up approach to this model
> translation process: AppExpert and ClassExpert in Borland C++ 4.0, the
> equivalent wizards in MS Visual C++, Powerbuilder and similar tools,
> Paradox for Windows in current releases, Easel, SOM, etc. The top-down
> approach in the same process is driven by formal methods in computer
> science, and here, I think, lies the importance of OO techniques. When
> the day arrives when a semantic model can be translated into an
> application in a nearly entirely automated fashion, that is the day
> when most programmers are unnecessary (not all programmers). The crux is
> that most programmers perform this translation manually today. We will
> still need the model builders, but model building is only a small portion
> of the work which most programmers do today.
I'm afraid you missed the point again. What you call "model building"
will be the programming of the future. Once upon a time the term
"automatic programming" was used to refer to the use of Fortran! If
you read material from those days, you will see that the advocates of
Fortran wrote of scientists expressing their mathematical models
directly and having the computer turn them automatically into
programs. From the perspective of a machine-language programmer,
Fortran was indeed a giant step towards more direct expression of the
task. The tools you mention play the same role with respect, to, say,
C++. The result is that the "model builders" will be able to build
more complex models than before for the same use of resources, and
thus more complex tasks will be attempted. "Model building" will
become a widely practiced trade, while old-style programming will
become an arcane trade (like writing boot PROMS is today). "Model
building" will become routine, and the cycle will start again. Has it
ever been different in industrial development?

--
Fernando Pereira
2D-447, AT&T Bell Laboratories
600 Mountain Ave, PO Box 636
Murray Hill, NJ 07974-0636
pereira@research.att.com
