Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.1 6/24/83; site mit-eddie.UUCP
Path: utzoo!linus!philabs!cmcl2!seismo!harvard!godot!mit-eddie!smh
From: smh@mit-eddie.UUCP (Steven M. Haflich)
Newsgroups: net.lang
Subject: Re: High-levelity
Message-ID: <3370@mit-eddie.UUCP>
Date: Mon, 31-Dec-84 10:16:41 EST
Article-I.D.: mit-eddi.3370
Posted: Mon Dec 31 10:16:41 1984
Date-Received: Tue, 1-Jan-85 06:08:23 EST
References: <83@mit-athena.ARPA> <235@gumby.UUCP> <6834@watdaisy.UUCP>
Reply-To: smh@mit-eddie.UUCP (Steven M. Haflich)
Organization: MIT, Cambridge, MA
Lines: 23

Norman Diamond (ndiamond@watdaisy.UUCP) defines an ordering function for
high-levelness:

>If it is easier to translate between the problem being solved and a program
>in language X, than between the problem and a program in language Y, then
>X is higher-level than Y.

This is an attractive formulation which directly addresses the
expressive `ease' of a language.  However, he then continues by
jumbling up the language with the hardware on which it runs:

>If it is easier to translate a problem into a program than it is to translate
>the program into machine code, then the language is at least moderately high-
>level.

The problem, of course, is that by implication a language's
high-levelness is penalized when running on `higher-level hardware'.  If
someone forges silicon that executes Prolog directly in microcode,
without compilation, does that make Prolog low-level?  Is C running on a
8086 higher level than when running on a VAX or 68000?

Soon more and more hardware will look less and less von Neumann.  At
least, I hope so! :-)