Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site teltone.UUCP Path: utzoo!linus!vaxine!wjh12!genrad!grkermit!masscomp!clyde!floyd!vax135!cornell!uw-beaver!teltone!warren From: warren@teltone.UUCP Newsgroups: net.ai Subject: Re: Stolfo's call for discussion Message-ID: <252@teltone.UUCP> Date: Wed, 11-Apr-84 23:13:01 EST Article-I.D.: teltone.252 Posted: Wed Apr 11 23:13:01 1984 Date-Received: Fri, 13-Apr-84 01:54:16 EST References: <545@sri-arpa.UUCP> <346@opus.UUCP> Organization: Teltone Corp., Kirkland, WA Lines: 36 Unexpectedness and lack of pre-specification occur in many professional programming environments. In AI particulary it occurs because experimentation reveals unexpected results, as in all science. In hardware (device-driver) code it occurs because the specs lie or omit important details, or because you make an "alternative interpretation". In over-organized environments, where all the details are spelled out to the nth degree in a stack of documents 8 feet high, unexpectedness comes when you read the spec and discover the author was a complete idiot having a very bad day. I have seen alleged specs that were signed off by all kinds of high mucky-mucks that are completely, totally, zonkers. Not just in error, but complete jibberish, having no visible association with either reality or thought, not to mention the project at hand. At the very least, they are simply out of date. Something crucial has changed since the specs were written. In business environments, it occurs when the president of the company says he just changed the way records are to be kept, and besides, doesn't like the looks of the reports he agreed to several months ago. Whats a programmer to do ? Tell the boss to shove it ? The single most difficult kind of programming occurs when 1) The user is your boss (or "has power"). 2) The user is fairly stupid. 3) The user/boss is good enough of a con artist to prevent the programmer from leaving. It is admitted, however, that the difficulty is not technical, per se, but political. All the above examples are from my professional experience, which spans over ten years. None of the situations are very unusual. Unexpectedness is part of our job. In any case, 90 to 99% of the code in the AI systems I've seen are much like any other program. There are parsers, allocators, symbol tables, error messages, and so on. I'll let others testify to the remainder of the code, its been a while. warren