Sunday, 22 March 2009

Vernor Vinge on threats to long term development of Software

Vernor Vinge is the father of the concept Singularity, of when software reaches a point that it vastly expands humanity. This is now called the T2 situation but Vinge embraces it. His group of Singularity lovers is getting older and starting to sound a bit desperate, but I found his thinking about why Software development might stop interesting. Especially the starting premise, that software creation remains in the hands of software developers, already IMHO not the case with the Cloud.

Or listen at

A plausible explanation for "Singularity failure" is that we never figure out how to "do the software" (or "find the soul in the hardware", if you're more mystically inclined). Here are some possible symptoms:
  • Software creation continues as the province of software engineering.
  • Software projects that endeavor to exploit increasing hardware power fail in more and more spectacular ways.
    • Project failures so deep that no amount of money can disguise the failure; walking away from the project is the only option.
    • Spectacular failures in large, total automation projects. (Human flight controllers occasionally run aircraft into each other; a bug in a fully automatic system could bring a dozen aircraft to the same point in space and time.)
  • Such failures lead to reduced demand for more advanced hardware, which no one can properly exploit—causing manufacturers to back off in their improvement schedules. In effect, Moore's Law fails —even though physical barriers to further improvement may not be evident.
  • Eventually, basic research in related materials science issues stagnates, in part for lack of new generations of computing systems to support that research.
  • Hardware improvements in simple and highly regular structures (such as data storage) are the last to fall victim to stagnation. In the long term, we have some extraordinarily good audio-visual entertainment products (but nothing transcendental) and some very large data bases (but without software to properly exploit them).
  • So most people are not surprised when the promise of strong AI is not fulfilled, and other advances that would depend on something like AI for their greatest success—things like nanotech general assemblers— also elude development.

All together, the early years of this time come to be called the "Age of Failed Dreams."