Lists Home |
Date Index |
> Jonathan Robie wrote:
> > Simon St.Laurent wrote:
> > > > Is it wrong for SQL or Java to have datatypes?
> > >
> > >Within their own contexts, no. Extending those types beyond SQL or Java
> > >processing creates a whole new set of problems that people who use SQL
> > >or Java seem to be remarkably bad at recognizing.
> > Such as?
> How about the design decision that numbers are represented
> as IEEE floats (complete with infinities, NaNs, and +/- 0)
> in XSLT and XPath? I can't think of a single good reason why
> XPath needs floating point arithmetic, let alone IEEE 754 floating
> point arithmetic, other than the fact that it's what Java supports.
> Note that most other languages, including C and C++, do *not*
> have adequate support for IEEE floating point to implement
> XPath according to spec, even if the underlying hardware has it.
> Division by zero yields "undefined behavior" in C89, not +/- infinity
> as required by XPath.
> Or how about the specification of 'format-number' in XSLT
> section 12.3?
I can almost understand the use of IEEE 754 because the committee might have
been awed by the "IEEE" name. Of course, support for IEEE 754 is so poor in
general because it is such a poor spec in general. There is nothing more
entertaining than hearing Tim Peters rail against that strange spec.
But there is no excuse whatsoever for format-number. format-number is simply
foetid. It is ugly, inflexible, confusing, and full of arbitrary design. It
has nothing whatsoever to recommend it except a hand wave that it's "what Java
uses". I can tell you that nothing made me come closer to abandoning XSLT
implementation than format-number. I had decided to leave it half-compliant
and ignore at least some of the arcane rot when the indefatiguable Jeremy
Kloth beat out a complete implementation in C with a pneumatic hammer.
I railed against format-number enough in xsl-list, and the non-Java folks who
spoke up were in agreement, which seems not to matter. The W3C's
Java-tunnel-vision is really a problem for implementors.
Uche Ogbuji Fourthought, Inc.
http://uche.ogbuji.net http://4Suite.org http://fourthought.com
Apache 2.0 API - http://www-106.ibm.com/developerworks/linux/library/l-apache/
Python&XML column: Tour of Python/XML - http://www.xml.com/pub/a/2002/09/18/py.
Python/Web Services column: xmlrpclib - http://www-106.ibm.com/developerworks/w