So from this simple perspective, software is
not math, it's a
different discipline done by different
people, with different aptitudes. Math
is done by
mathematicians, software is done by software engineers - or
if
you're unlucky, programmers
OK - forget about math. I agree
that developing software
doesn't feel like doing math. Would you consider
programming
an exercise in logic? I think you would have to. When we
develop
software, we must think in a very formal way about
the logic of our code. There
is no room for fuzzy thinking
here. But logic is math, all the same.
As you point out, we are standing on the shoulders of
giants, and we
don't have to concern ourselves very often
with raw boolean logic. Oh yes,
occasionally we have to
write some complex if/else statements with multiple
terms
that are pure boolean logic, but most of the time we are at
a higher
level. Even though we don't have to think about it
all the time, at the bottom
of it all there is the machine
code doing the same work it has always done, and
that is the
instruction cycle and the same AND, OR, and NOT boolean
algebra
that PoIR is talking about. In the end, our code is
one big equation that can
only arrive at the answer it was
designed to arrive at (excluding bugs).
In all these discussions on this page I have been led to
ponder what
might be considered worthy of a patent, and I
have thought about several
things, like the pure engineering
aspect such as very clever optimizations that
allowed us to
watch video as it was being decoded in real time for the
first
time using what we today would consider primitive
CPUs, or very clever
approximations to solutions to NP
problems, or even neural networks or genetic
algorithms that
don't follow typical logic.
Surely some of these kinds
of things deserve a patent?
However, at the bottom of any of these things there
is still
that same boolean algebra at work - the AND, OR, NOT, fetch
and store
and instruction fetch cycle. We may feel the
author of a practical solution to
some of these problems may
deserve a patent, but patent law just doesn't allow
for one
on abstract ideas.
In the end, there is no substance in a
program. It weighs
the same as a thought. It fact, it is only an idea. It
doesn't even exist, in the real world. A computer program
has no effect
whatsoever on the world, in itself. It is a
fantasy to imagine there is
anything there to patent. You
can't patent an idea. That would lead to the
bizarre notion
we could stop others from having the same idea.
Only
when information gained from a program is applied in
some way, there is an
impact. Until then, it is just latent
information, like a book waiting to be
read. Like a book, it
is worthy of a copyright - that's all. As an aside, I
wonder
what information theorists would have to say about
software?
Now we have been discussing this topic under the current
article for over three days, and we are well on our way to
700 comments. I
have followed the discussion the whole time,
but have only ventured opinions on
incidental things. I have
not until now expressed myself on the patentability
of
software. We will probably moving on to a new topic shortly,
and very few
will reach down to here. I myself am at the
point where this discussion has
grown so huge it becomes
daunting to continue follow it any longer. Anyhow, I
doubt I
have said anything at all profound here, and few will have
even read
this far - if any, but I do feel moved finally to
say something, and there is
some satisfaction for me to
write out my thoughts, even if they will have no
impact on
the discussion. [ Reply to This | Parent | # ]
|