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