Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site harvard.ARPA Path: utzoo!linus!vaxine!wjh12!harvard!brownell From: brownell@harvard.ARPA (Dave Brownell) Newsgroups: net.lang Subject: Object oriented (flames at end) Message-ID: <289@harvard.ARPA> Date: Thu, 21-Jun-84 23:03:49 EDT Article-I.D.: harvard.289 Posted: Thu Jun 21 23:03:49 1984 Date-Received: Sat, 23-Jun-84 06:35:05 EDT Organization: Sequoia Systems Inc., Marlborough Mass. Lines: 68 Shees!! This discussion should be in harvard.last-years-am110 or a fireplace or /dev/null or something like that. Or maybe USENET should be checked out by the synth-fuels program as a source of alternate energy ... I pray that nobody finds my flaming as offensive as I find the recent flames by 'munyer@harvard'. Seriously, at this point it reminds me of an episode in a programming languages seminar that I learned a lot from. It was a fun course with a very relaxed atmosphere, much bull exchanged but we all loved it. I as flaming away one afternoon, and said something omniscient like "programming languages are designed to express ideas". My professor stopped me on that one, and said that this was a very serious misconception. "Programming languages," quoth he, "are ways of telling the computer WHAT TO DO." It seemed at the time to be a very minor point, but it's grown on me with time. The idea was that any language that keeps the computer from doing its job is no good. The SCHEME implementation we used last year fell into that category, there can be no equivocation on that fact. <<< fanning the flames from here on >>> This is the essence of the C v. SCHEME debate (what a silly topic). You can write programs in C and your computer will be able to perform. You can't do that with a SCHEME program, or a T program, or a LISP program, or a PROLOG program. The latter languages are not for use in production software. They're too expensive now to use in any serious fashion outside of research environments. Do you wonder why so much current effort in AI circles is to get good LISP chips? or to get good PROLOG chips?? (In prolog's case, there is still significant language design to be done ... logic programming is a different programming paradigm. It's not yet free of imperative details.) Show me an operating system written in LISP that will support a hundred users, and I'll beat a path to your door. I would note that object-oriented programming is only ONE model of abstraction, and isn't the most accepted one. It would be accepted more if there were implementations that performed as well as the others. Take abstract data typing, for example ... CLU works OK from what I've heard. The whole goal of ADA's type system (which has been maligned in this place too) is to create a STATIC system of types. So long as you have a DYNAMIC type system (like SCHEME) you're in very deep trouble. I was very disappointed to find out that the comiler for T was incapable of discerning a statically typed program, and eliminating runtime checking. Lest I be mistaken, I DO like the AI languages. I'd never have designed a Prolog compiler if I wasn't fascinated by logic programming, or taught the course of two years ago if I hadn't thought that the SCHEME based course had the highest potential for teaching of concepts that I'd seen. Just ... please don't anybody go around touting AI languages as general purpose, and please don't go flaming that a language as revolutionary as C is antiquated yet, or is unusable. Yes, revolutionary!! I have seen the software industry, and it is on fire. I've got to stop this late night flaming ... it's making me sleep like a student again. Wake me up for dinner. Dave Brownell {allegra,floyd,ihnp4,seismo}!harvard!brownell