Reports from Santa Fe?
- There will be a substantial report done once I get a little time to
work on it. There were extensive results, but the material is
currently very raw and the workshop group was a little nervous about
putting out the material in a more polished form.
To be clear on this: We established at the outset of the workshop a
privacy stance in order to give people permission to be as goofy as
they felt was appropriate. In the end, all the material is
releasable, but the wording (made on a private Wiki) of the results
is very rough. I volunteered to do a polishing and organizing pass
over it and post it on my website, but travel makes this a little too
hard to do before June.
In general we came up with around 10 decent Hilbert-type problems.
Two major ideas came out of the workshop. One will seem political or
philosophical, but there is an important methodological aspect to for
Idea one: Biologists have relatively recently discovered that they
need to look at even the biochemistry in system terms. Looking for
people who know about such things, they find control theorists and
computer scientists. However, computer scientists are now starting to
discover that our computing metaphors are not sufficient for what
computer scientists want to do let alone what the biologists want to
understand. Therefore, we need to warn biologists off from thinking
of biochemistry as computing. It is really system organization, which
we don't know how to do.
Idea two, following onto idea one: Imagine the world before
computers. There would be rooms full of people with hand-operated
calculating machines who would be mechanically executing the
instructions a mathematician figured out for them. They would be
calculating Bessel functions, Legendre polynomials etc to solve
physics and acoustics problems. Later we made computers to do the
Imagine today. There are rooms full of people with hand-operated
programming environments who are mechanically executing the
architectural instructions that an architect figured out for them.
That is, we believe in computing for getting results, but not for
putting out systems together. In most languages, programmer-specified
computation goes on at runtime; in some languages (the ones we've
rejected) programmer specified computation can go on at compile-time,
at load-time, and at runtime. If we think about what these
non-runtime computations are about, they are concerned with the form
of the language and with the organization of the program or system
being constructed. So, at compile and load time, code can be executed
to construct the system. And at runtime too.
The idea is to separate programming languages from organization
languages. The former is for the computing, and the latter is for
systems and programs to, under program not human control, organize
themselves into a running system. I believe that even though we've
danced around this idea that we have not completely grokked it
before, and at this workshop we started to see it.