[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: The Airplane Example (was Re: Streaming XML)
I agree - type checking can be a pain, and I prefer programming in Python as opposed to C as well - especially for XML, where Python is wonderful. However, I think such a knee-jerk reaction against proof-proving and type checking is short-sighted. Yes, for textual data and XML processing where types seem not to be that important (I mean, look at the state of development of types in XML Schema or even ISO DSDL, the WXS type system obviously needs work!), go ahead, forget about them. However, if one is programming something that might shoot missles or crash airplanes, I sure wouldn't rely on either Python or C - I'd rely on something with proof-proving capabilities and a strong type system, as well as good modularity. And I might add ML's type inference capabilities ahead of anything in C, allowing programmers not to explicitly type everything. Now this would be an interesting feature to add to more XML-aware languages, if types became important to XML programmers. Also, I find that type-awareness does reduce unit-testing obviously, which can get excessive. If XML-aware programs are going to be used to fly airplanes, I would prefer my code to proved correct. I just thought it was interesting that the people on this list seemed to believe than some form of degree would somehow solve the coding problems when both technical and social aspects intertwine. Type-checking and safe programming can't solve everything, as the reference by B.C. Smith I gave earlier says - read the paper, it's quite interesting. If the mental model of the programming problem you are trying to solve is flawed, your doomed no matter what your proof-proving says! And the advantage of dynamically typed languages like Python is that it's quick and easy to build and modify models with, and the mental overhead needed by programmers is just less than in some more cumbersome language. Dynamically typed languages are clearly winning out over statically typed ones for general purpose use, but most of us aren't programming systems where life and death are an issue, and airplane systems aren't general purpose. To confuse the different scale and magnitude of problems, or to say that one particular or type of programming language is always better for all situations, to me speaks of a real religious fervor that is not to be trusted. However, a careful consideration of tools and programming languages, and a grasp of the problem at hand, is much more important than any degree or certificate. I would never trust my life at the hands Microsoft code or let Python code fly airplanes, but my mother enjoys Microsoft Word (even when I showed her Open Office!) and XML-ware programming in Python is a breeze compared to C or ML! And obviously all XML-aware programming doesn't fit into a single category or even single programming language, with all due respect to Python and XSLT. So no need to be defensive or hostile, just read the post and consider the issues. In the words of RMS, XML-aware programming languages should give programmers more freedom, and different types of programmers will need different things. And hell, some of us like type checking for certain problems. Really :) > Everyone thinks that just because they've made a religion out of > considerations such as declarativity and proofs of correctness, that > there is nothing sensible short of such religion. I am (with, I > suspect, everyone else in this thread) ery aware of the science, but not > all of us slavishly bind ourselves to this science because hard > experience has shown that it is not yet any silver bullet for actual > correctness, productivity nor actual suitability for optimization. > > Many in this discussion have pointed out that the competence of the > developers still provides far more solid assurance of correctness, > productivity and performance than, say: > >> 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. > > And I think premises such as the following are laughable: > >> In a simple example just think of the bugs >> caught by type checking in your average C compiler. > > I have coded a lot more C in my career than Python (or REXX or the like) > in my life, and there is nothing to make me miss the specious type > checking of a C compiler. I code a lot fewer bugs in dynamically typed > languages, especially when they allow me greater flexibility in > expression. > > There is nothing in the WXS type system that convinces me it is any less > specious. > > > -- > Uche Ogbuji Fourthought, Inc. > http://uche.ogbuji.net http://4Suite.org http://fourthought.com > Use CSS to display XML - > http://www.ibm.com/developerworks/edu/x-dw-x-xmlcss-i.html > Full XML Indexes with Gnosis - > http://www.xml.com/pub/a/2004/12/08/py-xml.html > Be humble, not imperial (in design) - > http://www.adtmag.com/article.asp?id=10286 > UBL 1.0 - http://www-106.ibm.com/developerworks/xml/library/x-think28.html > Use Universal Feed Parser to tame RSS - > http://www.ibm.com/developerworks/xml/library/x-tipufp.html > Default and error handling in XSLT lookup tables - > http://www.ibm.com/developerworks/xml/library/x-tiplook.html > A survey of XML standards - > http://www-106.ibm.com/developerworks/xml/library/x-stand4/ > The State of Python-XML in 2004 - > http://www.xml.com/pub/a/2004/10/13/py-xml.html > >
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|