Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!sri-unix!rutgers!labrea!aurora!ames!sdcsvax!ucbvax!CS.UTAH.EDU!shebs From: shebs@CS.UTAH.EDU (Stanley Shebs) Newsgroups: comp.ai.digest Subject: Re: Object-Oriented Programming Message-ID: <8708171449.AA10269@cs.utah.edu> Date: Mon, 17-Aug-87 10:49:36 EDT Article-I.D.: cs.8708171449.AA10269 Posted: Mon Aug 17 10:49:36 1987 Date-Received: Tue, 25-Aug-87 00:47:45 EDT References: <12326542058.16.LAWS@KL.SRI.Com> Sender: daemon@ucbvax.BERKELEY.EDU Reply-To: cs.utah.edu!shebs@cs.utah.edu (Stanley Shebs) Distribution: world Organization: PASS Research Group Lines: 49 Approved: ailist@stripe.sri.com In article <12326542058.16.LAWS@KL.SRI.Com> Laws@KL.SRI.COM (Ken Laws) writes: >Those interested in programming methodology (including expert systems) >will probably enjoy reading Russell Abbott's article on "Knowledge >Abstraction" in the August issue of Communications of the ACM. It >clarifies the role of domain knowledge in programming and suggests >that object-oriented programming may be the wave of the future. Perhaps I missed the point, but I found this paper rather boring. It didn't seem to say much new - is there really anybody that doesn't believe programs are encrypted knowledge, and that making the knowledge more explicit is a Good Thing? Ditto for OOP - at least in the language community, it's started to move from fanaticism to realism. Perhaps the AI community is just getting started on the slide to object fanaticism? Also, some more explicit examples of what is and is not knowledge abstraction would have been useful. In fact, the concept of "knowledge" itself is pretty vague - is "barks(X) :- dog(X)" a piece of knowledge or not, and how crucial is a context or not? Or putting it in a more practical way, why would a Silogic Prolog program be considered a "knowlege program" and not a Fortran program? >A related, but somewhat different, "knowledge level" view is taken >by B. Chandrasekaran in his Fall 1986 IEEE Expert paper: "Generic >Tasks in Knowledge-Based Reasoning: High-Level Building Blocks for >Expert System Design." While not incompatible with object-oriented >programming, his generic tasks are at a level between that of common >shell languages (rules, frames, nets, etc.) and the full specifics >of real-world domain knowledge. This same idea may be found amidst all the glitzy results in Lenat's Eurisko papers - heuristics are objects with their own sorts of hierarchy and inheritance. The so-called weak methods tend to be near the root of hierarchies, while more specialized and domain-specific heuristics are at the leaves. >I sense a new view of AI coalescing ... Or at least a new view of AI tools. Some exciting and relevant papers may be found in a book edited by Gary Lindstrom and Doug DeGroot, called "Logic Programming: Functions, Relations, and Equations" and published by Prentice-Hall last year (reviewed in latest Computing Reviews). The papers speak more to language types than to AI types, but there is much food for thought... stan shebs shebs@cs.utah.edu