[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: The Airplane Example (was Re: Streaming XML)

  • To: xml-dev@l...
  • Subject: Re: The Airplane Example (was Re: Streaming XML)
  • From: Harry Halpin <hhalpin@i...>
  • Date: Sat, 1 Jan 2005 00:27:42 -0500 (EST)

airplane essay
While this thread seems to be devolving into talk about degrees and
"principles of software engineering" :) I think there is one important
facet of "safe" software that is being left out - that there is already
a well developed software and research community about safe software.
Dangerous software errors can happen - and these can be especially
dangerous in military systems, for example Missle Defense programs
(see Brian Cantwell Smith, a founder of Computer Professionals for Social
Responsibility, essay on the subject "Limits of Correctness, 
http://portal.acm.org/citation.cfm?id=379512).
 	 However, using methods from formal proof proving systems to 
verify the output of your program is useful, and there is little of this 
done in the XML community. In a simple example just think of the bugs 
caught by type checking in your average C compiler. Thus, the move in
languages like  XQuery to a formal semantics may seem somewhat obscure to 
anyone but compiler developers and standard  tweakers, but having a 
programming language with a solid formal foundation  allows proofs to be 
made about the correctness of programs, which can in  turn prevent errors. 
I suggest reading George Porter's essay for a gentle  qualitative 
introduction:

http://www.cs.berkeley.edu/~gporter/pubs/roleofproof.html

And I suggest taking a look at not only XQuery but the mature research
community around Standard ML, which has a lot of safety programming done
in it if you find this appealing.

Here's a quote from Robin Miler about ML which I would hope applies
to the future of XML-oriented programming languages

"Most large computer programs are never completely understood; if they 
were, they wouldn't go wrong so often and we would be able to describe 
what they do in a scientific way. A good language should help to improve 
this state of affairs.

There are many ways of trying to understand programs. People often rely 
too much on one way, which is called "debugging" and consists of running a 
partly-understood program to see if it does what you expected. Another 
way, which ML advocates, is to install some means of understanding in the 
very programs themselves.

Standard ML was designed with this in mind. There are two particular 
ways-of-understanding built in to Standard ML; one is types for 
understanding data, the other is the module system for understanding the 
structure of the large-scale programs. People who program in a language 
with a strong type system, like this one, often say that their programs 
have fewer mistakes, and they understand them better. "  -- Robin Milner

 		Happy New Years!
 				--harry

 	Harry Halpin
 	Informatics, University of Edinburgh
         http://www.ibiblio.org/hhalpin

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.