On Tunes infrastructure
Lynn H. Maxson
Lynn H. Maxson" <lmaxson@pacbell.net
Sat May 31 07:40:02 2003
Jeff Cutsinger writes:
"Why did you write this? And how did you read AI into that
quote? Here's what I read: "Reflection is an important tool
that allows programs to reprogram themselves. This will allow
automation of many tasks which are now manual." Not only
that, but even though TUNES does not require or count on AI,
your arguments against it were lacking at best. It surprises
me, by the way, that you would stoop to attacking Fare. ..."
Michael Conrad writes:
"Would you agree that a programmer could write-up their
own programming algorithm? I tend to agree that there are
aspects of programming that probably require human
ingenuity (I could be wrong, too), but there are many
tasks that a person just mechanically codes in order to
accomplish something. ..."
Alaric Snell writes:
"Ah... What the piece you quoted means to me isn't the old sci
fi miscomprehension of a computer that repograms itself to
become sentient, but more things like:
1) Making it easier to write compilers. Compilers are
metaprograms! ..."
Let's be clear on a point. I am attacking no one. Not Fare.
Not Brian. Not anyone else. I am attacking a misconception
that keeps appearing in all these responses that somehow
some program somewhere is going to do something other than
what it has been instructed, i.e. written by a human author, to
do. It won't. It can't.
That does not belittle what we as programmers can achieve
in software, specifically continue to shift clerical, i.e.
non-creative, activities from manual to automated. It does,
however, say do not believe that the creative process itself
can transfer as well. That we can create programs that
produce unpredicted and beneficial results does not mean that
those results themselves are unpredictable.
Reflection, the recognition of the activity itself, per se cannot
occur in software. Software cannot "know" anything whether
about itself or about anything else. While we can say we
want to increasingly imbue software with reflective responses
so that it can do what we would do under the circumstances
so that we don't have to do it again, we have to exercise care
that we do not cross the "reality" line, that we do not
mis-communicate to ourselves and others.
The same occurs with meta-programming. In fact no program
has ever modified another or itself except in ways which
follows how we instructed it to do so. That's true even for
LISP and FORTH. That does not demean or belittle doing it. It
certainly should not discourage us from exploring it fully. It
does mean that the software "reflects" only "our" limits
currently.
As one who has been around prior to the introduction of
microprogramming when a vendor offered a machine which its
clients could imbue with an instruction set of their choice and
had a client who modified the microprogramming of an IBM
mainframe to support his online services (Babcock (APL)
Systems) I have some experience in this. I began my IT
career mastering the internal logic of a computer so that I
might know how to repair it when it failed which it did often
enough. Part of that repair effort often required further
modification of the internal logic to permit isolation of the
problem.
I further admit to being enthralled as well as enlightened by
D. Ross Ashby's book, "Design for a Brain", the process of
homeostasis and its electro-chemical-mechanical example in
the Homeostat. I recommend it for those who want software
to cross the line.
Fare, however, says this is an inappropriate forum for such a
discussion. He lists several other possibly more appropriate. I
will honor his suggestion, suggesting in turn that this recent
move to multiple sources does not allow the highest level of
either reflection or meta-programming as human activities.<g>