Gregory V. Wilson
is a smart guy. He wrote
Practical Parallel Programming
published by MIT Press. His recent article [1] in Queue is quite entertaining. Citing Steele's OOPSLA '98 keynote address [2] about growing a language he writes:
This article argues that next-generation programming systems can accomplish this by combining three specific technologies:
-
Compilers, linkers, debuggers, and other tools that are frameworks for plug-ins, rather than monolithic applications.
-
Programming languages that allow programmers to extend their syntax.
-
Programs that are stored as XML documents, so programmers can represent and process data and meta-data uniformly.
He then goes on to describe a system that uses XML to store a program's implementation:
...XML will represent the program's deep structure. Only time and experimentation will tell whether this turns out to be something like an annotated syntax tree or something more abstract.
Like the Energize/Cadillac [3] system created by Lucid?
Quoting from Gabriel's introduction to the Energize paper:
In the late 1980s, we started working at Lucid on a programming environment for C/C++. It was based on a programming-language-neutral, non-abstract-syntax-tree way of describing programs, annotations (a generalization of hypertext), a persistent repository for program information, and a tool-neutral user-interaction mechanism.
I think we will need some form of (hidden) markup or tagging to facilitate automated program comprehension in the near future, but XML will not help to achive this goal.
References:
-
ACM Queue - Extensible Programming for the 21st Century - Is an open, more flexible programming environment just around the corner?
- Guy L. Steele Jr, Growing a Language - OOPSLA '98 keynote
-
Richard P. Gabriel, Energize/Cadillac