1. Someone wrote the OS for your system. Otherwise it would
have
sat there like a lump
2. Someone wrote your compiler, or else you wouldn't
have
had the ability to program in a high level language
Sure. I
have written compilers myself. I've worked on virtual machines and operating
systems for mobile devices. None of the algorithms or data structures or
"clever ideas" I put into my software deserves to be patented,
though.
3. You computer could have put the legos together - you
just
needed to attach the right peripherals and code the right
machine vision
and robot movement software
Ah, but you are glossing over an
important detail here. The computer can not do *anything* physical. All it can
*do* is compute. Other physical hardware attached to the computer can feed
inputs into it for it to compute with, and the machine can use the outputs from
the computation to control physical processes. So "the lego-assembling machine"
could be built, but the general-purpose computer CPU would only be a part of
that machine, and the software running on the CPU would still not be anything
but a mathematical construct, and would still not be capable of anything except
mathematical computations (manipulations of symbols).
This third
point is what I'm trying to get across - a
general purpose machine can do
anything, but sometimes it's
not obvious how to get it to do anything. In other
fields,
the wonderment you had (and have) of solving the practical
problem is
called the inventive process.
Those other fields involve
inventing, and constructing physical machines that have real-world physical
capabilities. Software does not. Software is purely abstract, purely mental,
purely mathematical. We can use it as a component that helps a physical machine
get do something in the physical world, but software does not have (nor could it
ever have) a physical capability itself.
Nor could it bestow on a machine
new physical capabilities -- if it could, it would not be software at all, it
would be something else. All it is capable of doing is processing inputs in
some way and emitting certain outputs, which can indeed control other pieces of
hardware in the machine.
If the machine is a robotic hand, with the ability
to grip and lift objects without crushing them -- this is a physical property of
the robotic hand. Whether it can do it at all without the aid of software
control is irrelevant. It's not the software which lifts objects, its the
robotic hand (the physical machine) that does it. It's the robotic hand that
has that capability (from the time you manufactured it, until the time you
destroyed the machine).
Software just lets you control the machine, so you
can make interesting uses of its preexisting capabilities. Being entirely
abstract and insubstantial, it could not possibly do anything else.
Forgive
me for repeating myself, but I've made this point several times in several other
posts already, and you seem unwilling to accept it. But it's not simply my
opinion or a point of view. This is the factual truth about what computers are. [ Reply to This | Parent | # ]
|