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