You say that a player piano analogy breaks down because it is a single purpose
machine - you could be right, but you could be wrong. It depends how pedantic
you want to be. Does your player piano only play one key?
I see the analogy
in a different way, I think, to you.
Rather than think of a player piano +
piano roll as the whole computer, ie CPU + memory + peripherals, where
peripherals are everything that aren't the cpu + memory, ie graphics card,
monitor, keyboard, mouse. The player piano is the cpu only... and a very simple
cpu at that.
Ignore the recent advances in CPU techonology where lots of
things have been put on the cpu, because they aren't actually relevant. I'd
like you to consider a really, really simple cpu. I'm thinking of something
more like an adder.
Your single key player piano detecting a hole in the
piano roll and outputting a note is like the adder detecting the input voltages
and outputting the output voltages.
Put lots of adders together and you can
do something fancy, maybe some multiplication or more. Put lots of keys on the
player piano and you can play some fancy music.
If you want to play your
silly word games about configuring a computer we can do. The player piano is
configured by the piano roll just as much as the computer is configured by the
software.
Before starting the: player piano, it is in it's default state
and does not make any sound.
software, the computer is in it's default state
and is not producing the results of any calculations (based on the software that
it is not running).
Start the:
player piano and there is movement - take
a snapshot at any particular moment and the player piano is not in it's default
position.
software and there is "movement" - take a snapshot at any
particular moment and the computer is not in it's default position.
When
the:
player piano has finished playing then (ignoring the position of the
piano roll - technically, it's not the player piano because it is removeable)
and the player piano is in it's default state and does not make any
sound.
software has finished running (either because the computer is turned
off or because the software was no longer running - ignoring the position of any
resultant data because technically it's not a part of the computer because it is
removeable) the computer is in it's default state and is not producing the
results of any calculations (based on the software that it is not
running).
I say that you should ignore the:
piano roll - I don't
know about all piano players but depending on the type of piano roll it may be
necessary to "rewind" the roll so that it is back at the beginning. The piano
roll - ie memory - is not in the same state that it was in before the player
piano was started.
position of any resultant data - ie memory - because it
is not in the same state that it was in before the software was run.
When
making the analogy of a player piano + piano roll == computer + software I think
it would be better to think of the player piano being like the CPU, not the
whole kit and kaboodle that we call a computer.
It could be argued in a
different way too... you could view the keys of a player piano as being it's
peripherals, the mechanism that "reads" the piano roll is the CPU and the piano
roll is, again, the memory/data/software. Actually, I think I prefer this way
of thinking about it. The mechanism that reads the piano roll is like a many
core processor - one core for each key - and each core only has one purpose.
j [ Reply to This | Parent | # ]
|