[net.ai] Seminar on Programming Styles in AI

SASW%MIT-MC@sri-unix.UUCP (01/07/84)

From:  Steven A. Swernofsky <SASW @ MIT-MC>

                     DATE:      Thursday, January 12, 1984
                     TIME:      3.45 p.m.  Refreshments
                                4.00 p.m.  Lecture
                     PLACE:     NE43-8th Floor, AI Playroom


               PROGRAMMING STYLES IN ARTIFICIAL INTELLIGENCE

                              Herbert Stoyan
                   University of Erlangen, West Germany

                               ABSTRACT

Not much is clear about the scientific methods used in AI research.
Scientific methods are sets of rules used to collect knowledge about the
subject being researched.  AI is an experimental branch of computer science
which does not seem to use established programming methods.  In several
works on AI we can find the following method:

    1.  develop a new convenient programming style

    2.  invent a new programming language which supports the new style
        (or embed some appropriate elements into an existing AI language,
        such as LISP)

    3.  implement the language (interpretation as a first step is
        typically less efficient than compilation)

    4.  use the new programming style to make things easier.

A programming style is a way of programming guided by a speculative view of
a machine which works according to the programs.  A programming style is
not a programming method.  It may be detected by analyzing the text of a
completed program.  In general, it is possible to program in one
programming language according to the principles of various styles.  This
is true in spite of the fact that programming languages are usually
designed with some machine model (and therefore with some programming
style) in mind.  We discuss some of the AI programming styles.  These
include operator-oriented, logic-oriented, function-oriented, rule-
oriented, goal-oriented, event-oriented, state-oriented, constraint-
oriented, and object-oriented. (We shall not however discuss the common
instruction-oriented programming style).  We shall also give a more detailed
discussion of how an object-oriented programming style may be used in
conventional programming languages.

HOST:  Professor Ramesh Patil