Saturday, January 03, 2015

Writer's Notebook - 3 January 2015

David Wheeler on Indirection

David Wheeler, the first person to receive a Ph.D. in Computer Science, has been widely quoted on the topic of indirection. The basic quote is "All problems in computer science can be solved by another level of indirection", but many variations exist:
  • The current Wikipedia article ("All problems in computer science can be solved by another level of indirection, except of course for the problem of too many indirections.") quotes a non-authoritative source: Andy Oram; Wilson, Greg; Andrew Oram (2007). Beautiful code . Sebastopol, CA: O'Reilly. ISBN 0-596-51004-7.
  • The Wikipedia page on Indirection suggests that the corollary "...except for the problem of too many layers of indirection." was added by  Kevlin Henney, not Wheeler. I tend to believe this because I do not recall hearing this ending until after 2008.
  • The Wikipedia talk page contains an important variation reported by Markus Kuhn, who reports speaking to Wheeler prior to his death in 2004: 'He did however stress that he considered the inclusion of the – often omitted – second part "But that usually creates another problem." as significant.' This matches my memory of the original quote.
  • There are also variations which substitute the word "layer" for "level", which Kuhn reports Wheeler as feeling are insignificant.
My preference is therefore for "Every problem in computer science can be solved with another layer of indirection - but that will generally create another problem." The thought is important enough to put a stake in the ground.
Note that Maurice Wilkes, David Wheeler, and Stanley Gill invented the closed subroutine as an implementation of this idea. Compare to an open subroutine ("macro").
Question: Does Wheeler's insight apply to any sufficiently complex system?
Possible answer: Yes, maybe. It applies to software because software is abstracted from its implementation on hardware (see the Church-Turing thesis for proof that software is not tied to an implementation). Is not any complex system (e.g. modern culture) also highly abstract, and possibly abstracted from its implementation in human beings?

Earth's Biosphere

Astrophysicist René Heller suggests that Earth is nearing the end of its time as a habitable planet in an article entitled Planets More Habitable Than Earth May Be Common in Our Galaxy in Scientific American's January 2015 issue.
  • The Earth is 4.54 ± 0.05 billion years old (see Wikipedia article and USGS Age of the Earth page).
  • The earliest (scientifically) undisputed evidence for life on Earth is 3.5 billion years ago (see Abiogenesis Wikipedia article and bibliography).
  • The Sun's radiation output is increasing as it ages, thus slowly pushing the Goldilocks Zone, where water can exist in a liquid form, outward.
  • Within 500 million years, Heller calculates that multi-cellular life will not be able to sustain form.
  • Within 1.75 billion years, water will not be able to be in a liquid state on the Earth's surface. This will remove the ability for uni-cellular life to exist on the Earth's surface.
Ronald Wright has noted, "Each time history repeats itself, the cost goes up." (A Short History of Progress [AmazonGoodreads]).
Question: Were humanity to fail, would another intelligent species have time to evolve?
Possible answer: Maybe not. Our species is only 3 million years old since the last common ancestor with chimpanzees, but the earliest mammalian fossils are "are dated about 167 million years ago in the Middle Jurassic" (according to Wikipedia). A new species surely could not push the 500 million year date since environmental pressure on development would presumably be severe long before multi-cellular life ceased to be viable. Also recall that:
  • There is no such thing as a "ladder" of evolution. Evolution does not direct life toward any goal other than survival in ecological niches. Another intelligent species is not guaranteed to evolve.
  • Humanity is currently causing a mass extinction event. This massive reduction in biodiversity will surely have an impact on any future evolutionary possibilities.
  • We are heating our planet faster than Heller's analysis alone suggests. The human impact on climate may last for 100,000 years even if we stopped now (which we are not). See Deep Future by Curt Stager. We might cause a runaway greenhouse effect, which could significantly limit our time horizon.
We might need to survive as a species, and possibly as a civilization, long enough to get off of the planet. This might be our only chance.

Quote of the Day

"I can explain it to you, but I cannot comprehend it for you." -- New York City Mayor (1978-1989) Ed Koch

No comments:

Post a Comment