Reporter's Notebook: XML: Real thing, taken for granted
- By Jack Vaughan
Prognosticators and just plain curious folk often reflect on the next technology paradigm shift. Application Development Trends recently took time out to do just such a class of cogitating; the results will provide food for thought and, perhaps, some impetus for controversy for some time to come.
The first article in this series was “Do tools matter?” featured in the February issue. An XML thread of note emerged during those discussions, and it sent us from cogitation of tools in general to meditation upon XML in particular.
Why XML? It is the paradigm shift that is already happening. Yes, it has passed its fifth birthday; however, that means enough cogs and wheels are moving to make it useful. It is also old enough to be under the radar of the proverbial hype-meisters (which may or may not include those who tend to prefer the term "Web services" to "XML").
Is XML simple? Maybe not. There is no simple meal when technology is the main course. XML is a markup language, somewhat decipherable by mere mortals. But it must co-reside with a gaggle of programmatic languages. In the process, long-running arguments about the value of declarative languages and object-oriented (OO) methods again arise.
We asked Uche Ogbuji if XML is not a bigger paradigm shift than we imagined, and wondered just how much XML is influencing the future course of development. "XML itself is not much of a paradigm shift, but its effect on the future of development comes from the way in which XML has brought together the thinking from many formerly separated worlds," Ogbuji replied.
"Multiple disciplines of application code development and database management, business interchange, document management and more have been brought together by XML. These groups have learned important lessons from each other in unprecedented ways under the umbrella of XML. And I do believe that development will never be the same," he told us.
During our work on the "Do tools matter?" story, we asked a few industry luminaries for their thoughts on the connections between XML and OO programming. ADT columnist Ogbuji had recently written on the subject, contending that "the partnership between XML and OO will be successful if XML finally gets OO programmers to accept declarative approaches to programming." This seemed to spur some controversy.
We asked BEA Systems' Adam Bosworth to respond to this contention. He did, saying, "I disagree. It is always helpful to be able to describe things declaratively but it is never sufficient. In the database programming world, for example, they started by trying to limit the access model to a declarative one [SQL]. But soon enough, all three major vendors had to invent procedural extensions [Transact SQL, PL/SQL and so on] to meet their customers' very real needs."
Ogbuji was quick to note that he never said declarations were always sufficient. "I do believe that there is a role for imperative procedural code," he noted.
"My point is that in places where declarative code is naturally superior -- for example, in the assertion of constraints -- mainstream object-oriented methods have been woefully sluggish in encouraging developers toward better techniques," said Ogbuji, "and XML technologies are helping to catalyze a more positive trend.
"I'd also point out that Transact SQL, PL/SQL and the like are much more declarative in nature than Java, C++ and the like," he concluded.
Will we forever say: "Give me the declarative or give me death" or "Shoot if you must my imperative procedural head!"? It is a wonder.
But I aver: XML is a true silver bullet. There, I said it.
Jack Vaughan is former Editor-at-Large at Application Development Trends magazine.