In George Dyson’s recent Third Culture essay Turing’s Cathedral, one theme is the value of a shift in programming models toward something closer to biological “computation,” and Google’s potential role in this. The general idea is that instead of writing instructions to act on data at specific locations in memory, which is how computers have worked since John von Neumann first set up the concept of the stored program computer, code would be written to act on certain data when it comes along. Apparently, von Neumann himself was getting interested in the biological model before he died of cancer. Here’s a quote from Dyson’s essay:
Once a system of template-based-addressing is in place, the door is opened to code that can interact directly with other code, free at last from a rigid bureaucracy requiring that every bit be assigned an exact address. You can (and a few people already are) write instructions that say “Do THIS with THAT”–without having to specify exactly Where or When. This revolution will start with simple, basic coded objects, on the level of nucleotides heading out on their own and bringing amino acids back to a collective nest. It is 1945 all over again.
It’s easy to say “this isn’t new, event-driven/OO models, etc. etc.” What struck me, especially because Dyson’s essay uses the word “template” repeatedly, is how easily the two approaches he describes line up with the push and pull models of XSLT stylesheet development. Or conversely, what struck me is how well the push/pull distinction fit into the grand themes of a ponderous edge.org essay by a big name in the history of intellectual ideas. It makes the essay a fun read for XSLT geeks.
Interesting! Since RDF is very much based on specific addressing, and Web 2.0 for that matter, what implications does essay have? Seems to me that Topic Maps would be better suited under this scenario, since you are not required to have a specific address for topics…
RDF data is (often) based on specific addressing, but much of the semantic web gospel is about building useful apps around potentially incomplete data–i.e. whatever you can find, or, in terms of Dyson’s essay, whatever comes your way. It’s actually one of the things that made Web 1.0 so successful: apps that worked with a data set that didn’t necessarily have any normalization or referential integrity.