🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.misc
Article #2564

Re: Look ... [or: one, two, three, many]

#2564
From: Barry Margolin
Date: Thu, 03 Jan 1991 00:46
48 lines
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!barmar
References: <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