[
Lists Home |
Date Index |
Thread Index
]
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
>
>
|