Are you serious?
Lynn H. Maxson
lmaxson@pacbell.net
Tue, 11 Jul 2000 15:21:45 -0700 (PDT)
An interesting response to a reasonable(?)
question. Given the respect afforded to
cybernetics in Tunes references I thought it
reasonable to ask what limits, if any, to impose on
considering the "reflection" in reflective
programming. You see software as we know it has a
purpose assigned by the "deus ex machina", namely
us. A reflective system can restrict itself to
reflection on its "assigned" purpose or in the
broader (cybernetic) sense reflect on the purpose
itself. If it can, it can alter its purpose.
Having been charged with not understanding some of
the nuances of the Tunes HLL requirements, I
thought I would ask a question which would answer
what "externally imposed" limits on reflection were
in effect. You must understand that you and I can
reflect on "purpose", altering our behavior as we
alter our perceived purpose. It seemed reasonable
to me, given the cybernetic "roots", to ask if it
applied here.
Obviously from the response I received from water
it doesn't.<g> Of course, I was serious. I am
more than willing to step out of my straitjacket
thinking to consider a broader reflective scope.
It would be as challenging to us as it was to the
cyberneticians. Even D. Ross Ashby with his
"homeostat" side-stepped the issue in his efforts
on goal-seeking and ultra-stabile systems. He
assumed a goal, a basic one of survival (continue
processing), in his thinking.
I would suggest that however clear Fare's some
twenty plus requirements are to him, that like this
instance of reflection, they may or may not have
the same clarity to the rest of us. If they do
not, if do not lead us from the same set of
assumptions, then they lead differences of
opinions. This puts us off track temporary (at
best) until we have backed into and resolved the
differences in our assumptions.
I find in client situations the need to provide
them with operational definitions of terms with
which they need to understand in order to do what
they should be able to do: operate in a
self-sufficient (and understanding) manner in their
decision making. Thus I thought that we might
undertake what water refers to as a daunting and
intellectually difficult task: the operational
definition of the Tunes HLL requirements. Water
has no time for it, as he is otherwise busy with a
backlog of his own. The question really gets down
to if this is of interest to anyone else and if so,
would they like to participate in the effort?
Now understand the purpose is to have an
operational metric with which to evaluate proposed
Tunes HLL candidates. That evaluation would
provide "quantitative" results, not "qualitative".
Computer Science (CS) itself has thus far steered
clear of a quantitative linguistic metric. Given
the "pet language" usage engaged in by most
"computer scientists", such a metric might prove
"ego damaging". It might require "reflection" on
the part of computer scientists. It's acceptable
to ask it of a programming language, but apparently
not of those who create or use them.<g>
I think it also important to know if the Tunes HLL
"supports" or "allows" minimalist writing or
"insists" on it. In the former the writer has a
choice of style. In the latter he doesn't. Do you
want a HLL that supports the expressive style of
the writer or one that imposes a style?
Normally minimalist writing deals with variables,
whether declared explicitly, i.e. separately from
use, or implicitly through context or use only.
Explicit declares define "declarative" languages.
Implicit declares define "non-declarative"
languages. Any computer language must support one
or the other (at least one of the two choices).
Does the Tunes HLL allow the writer the choice or
not? It's very simple to define a metric here: it
is either 1 (implicit or explicit only) or 2
(both).
I would imagine that in a similar fashion we could
devise a metric for each requirement in turn in
terms of choices allowed or not allowed, what is
included and what is excluded. In this manner we
could quickly determine what the authors "enable"
in the user and what they "dictate". Obviously we
could arrive at an aggregate "freedom" index in
terms of the choices available to the user.
So do you feel like being daunted and
intellectually challenged? Or must I struggle for
understanding alone?<g>