Friday, July 24, 2009


Rosetta Stone
Rosetta Stone,
originally uploaded by jj_mac.
Nearly a decade after Y2K recalled the antique programming language to mind, there are still crises caused by lack of COBOL knowledge:
Perhaps no state is as troubled as California, which has not met timeliness standards for nine years. As in most other states, its 30-year-old computer runs on Cobol, a language so obsolete the state must summon retirees to make changes.
Apparently there is no cadre of computer scientists interested in becoming adept in learning dead languages the same way there are philologists who devote their lives to classical and even more obscure tongues and their glyphs, and this knowledge is in danger of dying out.
I think there should be a project to take an existing COBOL program and translate it into another high-level language which can then be maintained when our retirees can no longer be counted upon to contribute. The original program would be preserved as comments to guide those who maintain the new code. Once the programs have been converted and passed through QA, the whole set of software can be migrated over, to serve as the new production system until that language, too, falls into disuse. Then the whole cycle can begin again.
Perhaps it is possible to define a Turing-complete language which is so easy to understand that its demise would be reckoned in centuries or millennia rather than decades. Ideally it would not rely on cues from any existing human language, as these undergo change and obsolescence, nor from any computer architecture beyond the most fundamental, in case there is a dark age and there is a loss of that technology. Also, it should reside on a durable medium, not on optical or magnetic storage only as those have not demonstrated the kind of longevity our descendants would be counting on. The best thing would be if it could designed to be self-generating, so that you could run it in a way to produce its own compiler from an executable image and a set of execution rules.
That way the survivors of the coming global catastrophe would only need to wait a week or two after emerging from their shelters before basic computing services could be restored, and after that the entire information processing ecosystem could be rebuilt from a source code repository somewhere.

No comments: