When I first learned Java, I realized that it was a perfect model of the universe. From inheritance to polymorphism, everything could be explained by some type physical phenomenon.
In fact, Object-oriented programming was originally developed by some Bell Labs techs. They were brainstorming how to write software to control a phone switch, when someone realized that they could use the transistor as a model for routing logic gates. At it’s heart OOB code is modeled on physics. How far a jump is it from Physics to Biology?
What if code could be... dynamic. Not dynamic in the sense that it's well written code, but dynamic in the sense that it is aware of it's own flaws. Code that teaches itself to improve. Writing it's own minor revisions and recompiling itself on the fly. From time to time, when a radical 'controlled' change is necessary, patches could be sent across the Net.
And in fact this has been done. In ’94 a research lab at MIT designed an OOB operating system that acted as a general object interaction environment. Code microbes were created inside of this environment. These microbes were about 100k in size and were programmed with a life cycle of about 24 hours. In that time their whole goal was to make a connection with another microbe and spawn. The microbe parents would each donate half of their code to produce the child. The Operating System controlled death and mutation. Occasionally switching one bit of a child microbe at birth. The OS environment was designed such that nearly any binary series would do something, and nothing would crash the OS.
After running this environment through several days, the programmers would dip back into the environment and extract copies of the microbes they found. After three months they found an 80k microbe that preformed all the same functions as their 100k microbe had. After a year the number of variants had skyrocketed. Not only did they see code optimization, down to 67k, but new species began to emerge. They found a 14k parasite microbe that would latch onto an 80k microbe whenever it needed to propagate. The 14k died out completely though, when the entire environment became overrun with 67k microbes, who were apparently immune to the 14k parasites.
The researchers made a formal proposal to InterNIC to allow TCP/IP versions of the microbes on the Internet. Network Foliage they called it. They only take up unused processor cycles, they said. No mention of mutability was made and the proposal was turned down.
But that was ’94. Java wasn’t even around yet. Seems like some future combination of Perl and AI languages will produce a form of regular expressions called Regular Thoughts: RegTho…
m/$patRunningToSlow/fixProblem ($analysisOf${runningToSlow}}/;
if someone needed to submit modules to CPAN, the header code would look like this:
use strict;
use AI::ImmuneSystem;
use AI::TemporalRecompiles;
use AI::YNWIM #the Solaris implementation uses AI::Intuition
#but that's because they just like being different
Libraries would all need to be dynamic of course, writing themselves as they learn their own flaws. The YNWIM (You Know What I Mean) module would certainly revolutionize coding procedures.
express('"$query"'); #where '" is used to invoke YNWIM
The ImmuneSysem() function would need to automatically track virii, DoS (denial of service), and trojan evolution and create it's own code fix. It could even alter it's own DNC (digital nervous code) through Net delivered code transfusions. Hackers themselves will have united in the sense that they all belong to HackNet, a Globally Parallel Processing system designed to forge authentication codes using massively distributed computation. Like a worm, Hacknet would distribute itself across machines (sometimes without the owners’ knowledge) but instead of copying itself, it would grow on a singular logical construct. Since the GNS (global nervous system) is meant to run autonomously, politicians will finally figure out that strong encryption can be your friend. It is not a tool for collusion among digitally connected criminals, it's the only protection for temporalData. It [temporalData] is the first incarnation of perpetual motion. It is not mechanical motion, but the motion of change.
|