Article View: comp.lang.misc
Article #2564Re: Look ... [or: one, two, three, many]
From: Barry Margolin
Date: Thu, 03 Jan 1991 00:46
Date: Thu, 03 Jan 1991 00:46
48 lines
3114 bytes
3114 bytes
In article <18463:Jan219:52:0391@kramden.acf.nyu.edu> brnstnd@kramden.acf.nyu.edu (Dan Bernstein) writes:
>In article <1990Dec27.043209.7131@Think.COM> barmar@think.com (Barry Margolin) writes:
>> You mean real-world programmers would be happy if we replaced Fortran,
>> Pascal, C, and Lisp with raw Turing Machines?
>Seriously: No, because once you have equal power you start paying
>attention to efficiency. If the hardware is crippled then things won't
>run at a reasonable speed.
I guess I haven't learned that you require everything spelled out
precisely.
First of all, a Turing Machine is an abstract device, so it doesn't make
sense (to me) to refer to the efficiency of the hardware -- there is no
hardware.
Since I was talking about replacing programming languages, my sentence
wouldn't have made sense if I were suggesting replacing them with hardware.
What I was actually referring to was the Turing Machine programming model,
which is basically an infinite state automaton. On finite computers this
can be approximated by a finite state automaton with a large enough number
of states (i.e. a large address space). So, I guess I meant was: you mean
real-world programmers would be happy if we replaced their high-level
languages with low-level FSA interpreters/compilers, assuming they produce
similarly efficient code.
I believe the TM model of programming is even more low-level than most
assembly languages. And it's well-known that good assembly programmers can
produce more efficient programs than high-level language programmers (given
the state of most compilers). Yet most people prefer to program in
high-level languages. Anyone who prefers high-level languages over
assembly is not likely to want a TM.
Basically, it is well-known that most general-purpose programming languages
are computationally equivalent to each other. Expressive power refers to
the *ease* with which they can be used, not to their fundamental
computational power. If two languages are identical except that one has a
built-in exponentiation operator, the one with is more expressive than the
one without, even though exponentiation can be programmed in the one
without. (Note that I use "built-in" to include "available in a standard
library", since the distinction I am making refers to whether the user of
the language is forced to write or obtain the operator versus being able to
assume its existence.)
--
Barry Margolin, Thinking Machines Corp.
barmar@think.com
{uunet,harvard}!think!barmar
Technical Details
Message-ID:
<1991Jan3.004602.18576@Think.COM>Path:
arc1-ca.pugleaf.net!utzoo!mnetor!tmsoft!torsqnt!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!think.com!barmarReferences:
<23986:Dec2703:47:1390@kramden.acf.nyu.edu> <1990Dec27.043209.7131@Think.COM> <18463:Jan219:52:0391@kramden.acf.nyu.edu>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!mnetor!tmsoft!torsqnt!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!think.com!barmar From: barmar@think.com (Barry Margolin) Newsgroups: comp.lang.misc Subject: Re: Look ... [or: one, two, three, many] Message-ID: <1991Jan3.004602.18576@Think.COM> Date: 3 Jan 91 00:46:02 GMT References: <23986:Dec2703:47:1390@kramden.acf.nyu.edu> <1990Dec27.043209.7131@Think.COM> <18463:Jan219:52:0391@kramden.acf.nyu.edu> Sender: news@Think.COM Organization: Thinking Machines Corporation, Cambridge MA, USA Lines: 48