Read this guy!

On Tue, Jan 1, 2013 at 7:53 AM, Alan Kay <alan.n...@yahoo.com> wrote:

> The most recent discussions get at a number of important issues whose
> pernicious snares need to be handled better.
>
> In an analogy to sending messages "most of the time successfully" through
> noisy channels -- where the noise also affects whatever we add to the
> messages to help (and we may have imperfect models of the noise) -- we have
> to ask: what kinds and rates of error would be acceptable?
>
> We humans are a noisy species. And on both ends of the transmissions. So a
> message that can be proved perfectly "received as sent" can still be
> interpreted poorly by a human directly, or by software written by humans.
>
> A wonderful "specification language" that produces runable code good
> enough to make a prototype, is still going to require debugging because it
> is hard to get the spec-specs right (even with a machine version of human
> level AI to help with "larger goals" comprehension).
>
> As humans, we are used to being sloppy about message creation and sending,
> and rely on negotiation and good will after the fact to deal with errors.
>
> We've not done a good job of dealing with these tendencies within
> programming -- we are still sloppy, and we tend not to create negotiation
> processes to deal with various kinds of errors.
>
> However, we do see something that is "actual engineering" -- with both
> care in message sending *and* negotiation -- where "eventual failure" is
> not tolerated: mostly in hardware, and in a few vital low-level systems
> which have to scale pretty much "finally-essentially error-free" such as
> the Ethernet and Internet.
>
> My prejudices have always liked dynamic approaches to problems with error
> detection and improvements (if possible). Dan Ingalls was (and is) a master
> at getting a whole system going in such a way that it has enough integrity
> to "exhibit its failures" and allow many of them to be addressed in the
> context of what is actually going on, even with very low level failures. It
> is interesting to note the contributions from what you can say statically
> (the higher the level the language the better) -- what can be done with
> "meta" (the more dynamic and deep the integrity, the more powerful and safe
> "meta" becomes) -- and the tradeoffs of modularization (hard to sum up, but
> as humans we don't give all modules the same care and love when designing
> and building them).
>
> Mix in real human beings and a world-wide system, and what should be done?
> (I don't know, this is a question to the group.)
>
> There are two systems I look at all the time. The first is lawyers
> contrasted with engineers. The second is human systems contrasted with
> biological systems.
>
> There are about 1.2 million lawyers in the US, and about 1.5 million
> engineers (some of them in computing). The current estimates of
> "programmers in the US" are about 1.3 million (US Dept of Labor counting
> "programmers and developers"). Also, the Internet and multinational
> corporations, etc., internationalizes the impact of programming, so we need
> an estimate of the "programmers world-wide", probably another million or
> two? Add in the *ad hoc* programmers, etc? The populations are similar in
> size enough to make the contrasts in methods and results quite striking.
>
> Looking for analogies, to my eye what is happening with programming is
> more similar to what has happened with law than with classical engineering.
> Everyone will have an opinion on this, but I think it is partly because
> nature is a tougher critic on human built structures than humans are on
> each other's opinions, and part of the impact of this is amplified by the
> simpler shorter term liabilities of imperfect structures on human safety
> than on imperfect laws (one could argue that the latter are much more of a
> disaster in the long run).
>
> And, in trying to tease useful analogies from Biology, one I get is that
> the largest gap in complexity of atomic structures is the one from polymers
> to the simplest living cells. (One of my two favorite organisms is 
> *Pelagibacter
> unique*, which is the smallest non-parasitic standalone organism.
> Discovered just 10 years ago, it is the most numerous known bacterium in
> the world, and accounts for 25% of all of the plankton in the oceans. Still
> it has about 1300+ genes, etc.)
>
> What's interesting (to me) about cell biology is just how much stuff is
> organized to make "integrity" of life. Craig Ventor thinks that a minimal
> hand-crafted genome for a cell would still require about 300 genes (and a
> tiniest whole organism still winds up with a lot of components).
>
> Analogies should be suspect -- both the one to the law, and the one here
> should be scrutinized -- but this one harmonizes with one of Butler
> Lampson's conclusions/prejudices: that you are much better off making --
> with great care -- a few kinds of relatively big modules as basic building
> blocks than to have zillions of different modules being constructed by
> vanilla programmers. One of my favorite examples of this was the "Beings"
> master's thesis by Doug Lenat at Stanford in the 70s. And this influenced
> the partial experiment we did in Etoys 15 years ago.
>
> There is probably a "nice size" for such modules -- large enough to both
> provide and be well tended, and small enough to minimize internal disasters.
>
> An interesting and important design problem is to try to (a) vet this idea
> in or out, and (b) if in, then what kinds of "semi-universal" modules would
> be most fruitful?
>
> One could then contemplate trying -- inducing -- to get most programmers
> to program in terms of these modules (they would be the components of an
> IDE for commerce, etc., instead of the raw programming components of
> today). This tack would almost certainly also help the mess the law is in
> going forward ...
>
> Note that desires for runable specifications, etc., could be quite
> harmonious with a viable module scheme that has great systems integrity.
>
> Cheers,
>
> Alan
>
>
>
>
>
> _______________________________________________
> fonc mailing list
> fonc@vpri.org
> http://vpri.org/mailman/listinfo/fonc
>
>


-- 
Casey Ransberger
_______________________________________________
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc

Reply via email to