When Galileo explained the idea that the Earth orbits the sun, he challenged everyone’s orientation. We are now at a similar historic juncture, this time in the realm of computers, and “Y2K” is the red flag. The cause is not so simple as “computer memory was expensive 50 years ago,” or that people just decided to adopt for computers the customary practice of writing dates like “1/1/99” — Why was this practice continued even into Windows98???
Has it occurred to anyone that the way software is built might be a problem? I have not heard anyone in the news media raising such issues. Are they taboo?
A misguided orientation pervades the entire culture of programming. The susceptibility of programs to viruses, hacking and cracking also reveals errors in the foundations of software. The weaknesses of the current paradigm will be further challenged by accelerating complexity and the demand for dynamism.
Let’s reconsider the near-universal practice of programming in codes, deceptively called “computer languages.” In reality these codes are degenerate pseudo-languages embodying a bias towards formal hierarchies. The resulting systems are rigid and opaque — just the opposite of what is needed in coping with the future.
Why cling to this “mediaeval” approach? Programming can easily be done instead in network structures made up of dynamically linking modules, which can be easily visualized in a form that corresponds closely to what they do or represent.
In contrast to the old paradigm, our alternative gives developers the flexibility needed for coping with a dynamic and fast-changing network reality. It puts programming on a sound conceptual basis, modelled after nonhierarchical networks, such as the Internet itself, or the brain.
Once the dust and debris from Y2K have begun to settle, the now-reigning software paradigm will look as antiquated as the once universal superstition that the sun revolves around the Earth.