suited to the secure core facilities that we
have discussed throughout the course of this book. Specifically, to address
more fully the arena of larger scale problems, it was necessary to evolve Java
to allow cross sandbox communication. This, unfortunately, had the tendency to
abrogate the strengths presented by sandboxes in the first place. Perhaps more
detrimental however was the lack of system level establishment of inter-sandbox
trust mechanisms. In other words, the evolved Java presented much the same set
of problems that computer networks in general have in supporting human social
ecosystem facilities related to identity and belonging.
The programming
languages that we have briefly considered up to this point have the consistent
aim of defining procedural flows through which distinct states of a computer,
including its various sensori-motor components, are transitioned from one state
to the next. In the course of these transitions, human level sensori-motor
information is translated to and from the computer sensori-motor environment.
Any reasoning that we can do about this information is constrained to the
procedural flows that we define through these programming languages. In order
for computers to aim towards functioning at what we might think of as a higher
cognitive level, it would be useful to have at our disposal language constructs
that facilitate reasoning about such information through the procedural flows
created with the more classical programming languages. We might think of such
languages as cognition languages. The primary evolutionary path for such
languages has been a succession of what are termed markup languages. In Chapter
5 we presented the role of the Extended Markup Language, or XML, in the
evolution of computer content. Before we see the role of XML beyond content,
i.e. as a conveyor of cognition, let’s look at a brief history of this
breakthrough language.
Markup languages
began with the creation of the Generalized Markup Language at IBM during the 1960’s. The idea came from
something that is now very familiar to any user of Microsoft Word, and surely,
most of our readers are in this category. When writing in Word, we point to a
specific piece of text in our document, and we label it as “Title”, “Paragraph”,
“Footnote”, and the like. Nowadays, we do that using a pull-down menu on our
screen, but in the 1960’s and 1970’s, this was done by introducing labels in
the text itself. For example, with the Generalized Markup Language, we would
put in our text something like:
:title.
Computer Theology
When this was
printed in its final form, we would not see the “:title.” part. What we would
see is “Computer Theology” at the proper place in the document, say centered,
at the top of the first page, in large fonts. Now, you are going to ask, how
did the computer know what to do with that “:title.” tag? Well, this was
specified separately, so that many documents could share the same definition
for a title, ensuring uniformity in all documents produced by, say, a company
or an individual.
While the idea
is simple enough, we will see that it would eventually contribute to the
revolution of the World Wide Web. However, before getting there, we pass
through the 1980’s. By that time, there was a proliferation of text annotation
languages similar to the Generalized Markup Language. It was time to put some
order in the mayhem, and the International Standards Organization eventually
published a comprehensive standard called, appropriately, the Standard
Generalized Markup Language (ISO 8879). Using SGML, we would define the title
as follows:
|