Re: Scripts vs APIs

John Ellson (ellson@hotsand.att.com)
Wed, 7 Sep 94 23:33:54 EDT


> From att!wired.com!www-vrml-owner Wed Sep 7 20:11:22 1994
> Return-Path: <att!wired.com!www-vrml-owner>
> Received: from att.UUCP by hotsand.dacsand (4.1/SMI-4.0)
> id AA20169; Wed, 7 Sep 94 20:11:22 EDT
> Received: from att!wired.com by ig2.att.att.com id AA18875; Wed, 7 Sep 94 20:10:19 EDT
> Received: by gw1.att.com; Wed Sep 7 20:03:37 EDT 1994
> Received: by get.wired.com (8.6.9/8.6.5) id RAA21876; Wed, 7 Sep 1994 17:01:10 -0700
> Received: by get.wired.com (8.6.9/8.6.5) id RAA21797; Wed, 7 Sep 1994 17:00:53 -0700
> Received: from innerdoor.austin.ibm.com by get.wired.com (8.6.9/8.6.5) with SMTP id RAA21791; Wed, 7 Sep 1994 17:00:49 -0700
> Received: by innerdoor.austin.ibm.com (AIX 3.2/UCB 5.64/4.03)
> id AA15912; Wed, 7 Sep 1994 19:00:37 -0500
> Date: Wed, 7 Sep 1994 19:00:37 -0500
> From: linas@innerdoor.austin.ibm.com (Linas Vepstas)
> Message-Id: <9409080000.AA15912@innerdoor.austin.ibm.com>
> To: mddoyle@netcom.com, unitcirc@netcom.com
> Subject: Re: Scripts vs APIs
> Cc: www-vrml@wired.com
> Sender: www-vrml-owner@wired.com
> Precedence: bulk
> Status: R
>
>
> > It looks like a language, it smells like a language...
>
> A common categorization of languages is this:
>
> 1) "Descriptive" or "declarative" languages -- These have
> only nouns that desribe things. E.G. "circle {red,
> radius { 3 inches}}". HTML is an example of a declarative
> language. I'm hoping VRML will be declarative. These
> lang's rarely have compilers, almost always have interpreters.
> (It's usually not worth writing a compiler).
>
>
> 2) "Proceedural" languages -- These have nouns and verbs,
> describing how to do things. "add this to that, if
> this equals that". C, C++, FORTRAN, BASIC, COBOL
> are all of this type. So is Postscript. Ditto Forth.
> Subclasses include stack-based (Postscript, Forth),
> structured (C, F77 but not F66), and object oriented (C++).
> Most have compilers.
>
> BTW, Brown Univeristy's 3D language is this kind of
> a language, so is Kaleida's ScriptX. I personally do
> NOT want VRML to be proceedural.
>
>
> 3) "Evaluative" or "constructive" languages. The language
> allows you to build expressions which are true or false.
> Evaluating the expessions doesn't "do" anything. It merely
> "proves" the expression to be true or false. (Of course,
> the side effects of the proof, e.g. what is printed out
> while the "proof" or evaluation is happing, can be very,
> very interesting). Mathematicians tend to like these
> because the result of a program can be "proven" to be correct.
> Examples include LISP, (based on Church's Lambda Calculus),
> and Prolog.
>
> Usually, compilers are too hard to develop for these.
> Interesting ... but inappropriate for VRML.
>
> --linas
>