|
Authored by: Anonymous on Monday, July 23 2012 @ 03:20 PM EDT |
>I'm willing to draw a line at the program memory, data memory boundary and
say data memory changes don't create a new machine as that is more like the
position of the gears in the machine as compared to the arrangement of gears in
the
machine.
This old compiler writer says: program is data. This old Lisp student says: data
is program. Javascript is program embedded in data; Python is data embedded in
program; XML stylesheets are interpretable data; compilers are programs that
execute on executable data. With Lisp, the boundary line is ostentatiously
smeared around to cover the whole universe, uniformly deep--because, from the
point of view of information theory (and there is no other view that is worth
looking from, when you're studying information!) there is no conceivable
distinction.
There really is no boundary upon which a line can be drawn.
You have to give up the concept of "program" as something that changes
a computing machine any differently than any other data. Because it just
doesn't.[ Reply to This | Parent | # ]
|
|
Authored by: nsomos on Monday, July 23 2012 @ 03:57 PM EDT |
Practically any machine of any use,
undergoes changes as it is being used.
Even the thermos, undergoes changes depending
on if hot or cold things are placed within.
Even a video display undergoes changes, depending on
what is being displayed. These changes may be microscopic,
at the molecular, or even at the atomic level.
These changes may only be in the electrons
involved. Still there are various changes.
None of these changes involve having that machine become a
new machine. These changes are all part of what makes
these machines useful.
The thermos was not specifically designed for every
possible substance you might want to put in it.
The display was not specifically designed for every
possible image you might want to display. The creator
of the thermos or the display did not anticipate every
possible use these might be put to. That does not make
new things in the thermos, or new images on the display
patentable, because the designers did not specifically
anticipate these uses. Similarly the computer does not
have to be designed anticipating every possible use,
and similarly new programs do NOT make it a new machine.
Just like new images on the display do NOT make it a
new machine.
Claiming the machine that is a computer is a new machine by
the programming that is running on it, is like claiming
the thermos is a new machine by what you put in it, is like
claiming the car is a new machine based on where you have
driven it to, or based on what you have loaded it up with.
It is like claiming the display is a new machine based
on what you are displaying on it. It is like claiming
the music player is a new machine based on what it is
playing. These are all equally absurd. Each of the
changes are all part of the sort of changes these devices
were made to undergo during their normal use.
In ancient times, for those who didn't understand mathematics,
those who could predict eclipses were mighty shamans and near gods.
Now we have ignorant or willfully ignorant people who think that
because they see a machine doing something they did not see before,
that it must be a new machine.
About the same as the car being a new machine because it shows up
in a location it had not been before.[ Reply to This | Parent | # ]
|
|
Authored by: PolR on Monday, July 23 2012 @ 04:06 PM EDT |
I'm willing to draw a line at the program memory, data memory
boundary and say
data memory changes don't create a new machine as that is more
like the position
of the gears in the machine as compared to the arrangement of
gears in the
machine.
There is no such boundary. In a stored
program architecture computer programs and data are stored in the same memory
which is the computer main memory. Depending on the programming language (say
LISP for example) the program will be constantly modified as it executes.
In
the event the program is run on an architecture where there is such a memory
separation, one may write a virtual machine interpreter, like a Python virtual
machine, and then all further programs are located in the data memory. Only the
Python interpreter will reside in the program memory and this will not change
from one Python program to another. The same observation will apply to a LISP
interpreter.
The point is that even a hardware enforced separation between
programs and data is meaningless because a program is not necessarily made of
the native instructions of the CPU. It can be a wide variety of kinds of data
given to a wide variety of kinds of software implemented algorithms.
[ Reply to This | Parent | # ]
|
|
|
|
|