OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
Decisions and making flexible systems

Hi Folks,

Decisions: think of the millions of decisions you have taken in your life to arrive at this place at this time reading these words. Most of those decisions were made without any conscious, deliberate thought.

Decisions have consequences. Humans are not good at identifying all their decisions, let alone identifying their consequences. Decisions create dependencies: changing a decision here may make it necessary to make changes there.

The XML working group made a decision in 1998 to create XML without an underlying data model. That decision has had many consequences: XPath defined their own data model, XLink defined their own data model, DOM defined their own data model, and countless other consequences. And interestingly, it has resulted in us discussing their decision 18 years later.

What would our world be like today if the XML working group had made a different decision, to create XML with an underlying data model (not merely “bits on a wire”)? What would our world be like today if namespaces had not been created? Would JSON have arisen? Would XML occupy a broader niche?

When structuring data we make lots of decisions. Consider structuring book data. We structure it as XML. That’s a big decision. We chose XML, not JSON or CSV or HTML or any other format. That decision influences everything we do henceforth, including the tools we use, the processing of the data, the errors we must grapple with, the degree to which the data is understood, and so forth. Next, we use <Book> as the root element. That’s another big decision. The tag name uses ASCII characters, not Chinese characters or Cyrillic characters or Arabic characters. The tag name begins with a capital letter, not a lower case letter. So already we’ve made several huge decisions, with nearly irrevocable consequences. We’ve locked ourselves onto a path for which it will be hugely difficult to change, should we want to.

How can we make more flexible systems?

                How can we organize systems so that the decisions
           we make are not expensive to change? We cannot
           avoid making decisions. But we can figure out ways
           to minimize the cost of changing the decisions we’ve
            -- MIT Professor Gerry Sussman, author of the classic
            book on programming, Structure and Interpretation
            of Computer Programs


We want to break free of the tyranny of linear time. [Alexey Radul, Ph.D. doctoral student of Gerry Sussman]






[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 1993-2007 XML.org. This site is hosted by OASIS