How many of you like HP41C calculators?

From: William R. Buckley <wrb_at_wrbuckley.com>
Date: Wed Nov 19 15:05:27 2003

> > There are several architectures for computers, with all being the
> > equal of the Turing machine.
>
> That's interesting, because not one of the devices I have called
> computers, used as computers, or heard/seen called computers, is even
> theoretically equivalent to a Turing machine. In particular, they all
> have finite storage.
>
> > Frankly, the Turing machine is the definition of a computer,

Consult von Neumann. When you do, remember that he devised an
architecture which is neither the classic von Neumann nor the classic
Harvard. It is, however, a true data flow architecture, and highly
parallel.

> I don't know where you got _that_, but it certainly doesn't match my
> understanding, usage, or experience of others' ditto. As I remarked
> above, there aren't any computers by that definition.
>
> > Nevertheless, for all systems of computation, there is the
> > possibility of self-modification of code which is accessible through
> > other means, typically in the form of a file.
>
> So I suppose a dedicated microcontroller (eg, code in mask-programmed
> ROM) is not a "system of computation"?

This is a supposition on your part, not a position on my part. The fact is
that dedicated microcontrollers define a computing environment, and the
location of the code is immaterial.

> Even if the application that's in ROM is, say, a pocket calculator?
>
> A programmable pocket calculator?
>
> The microcode-and-microcpu view of a CISC CPU chip?
>
> Where do you draw the line?

This is the value of the Turing machine. I encourage you, and like minded
list members, to consult your local computer science faculty of any
legitimate
university you like, and ask them if the computers they use are equivalents
of
the Turing machine. I seriously doubt that you will find a single professor
who
will deny the equivalence.

> > Also, remember the features of some languages, like APL, which will
> > operate on von Neumann and Harvard architectures, and which APL code
> > might include the execute operator, which facilitates run-time code
> > generation and execution.
>
> In the sense of "code" for which the underlying CPU is a von Neumann or
> Harvard machine, the execute operator does not necessarily imply
> run-time code generation.

It is disengenuous, and intellectually dishonest, to use a lack of
implication
to assert a lack of occurrance. For some implementations, there may indeed
be no code generated. However, this is not a universal necessity, and many
APL implementations yield machine code generation. The result of the
execute operator, in any case, will yield execution of a literal string,
with
the expectation that the literal string contain a statement of APL.

> (For example the APL engine may be a p-code
> engine and the execute operator may generate p-code, which as far as
> the underlying CPU is concerned is just more data. This returns to the
> point above about where you pick the level at which you call some bits
> data and other bits code.)

In truth, there is no logical difference between a hardware based mechanism
of computational processing, and a software based mechanism of computational
processing. Each yields expectable results, and the underlying mechanism is
unimportant.

> /~\ The ASCII der Mouse
> \ / Ribbon Campaign
> X Against HTML mouse_at_rodents.montreal.qc.ca
> / \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B


William R. Buckley
Received on Wed Nov 19 2003 - 15:05:27 GMT

This archive was generated by hypermail 2.3.0 : Fri Oct 10 2014 - 23:36:20 BST