At 10:40 PM +0200 2005/8/10, mt wrote:
... Languages with
static typing would be more suitable if programs were something you thought
of in advance, and then merely translated into code. But that's not how
programs get written.

Well, that is actually how lots of programs do get written.

For software that is experimental and exploratory, whose code undergoes continual change and whose only users are the code's authors, static typing is arguably a dispensable nuisance. A type error that pops up during execution is probably no more inconvenient than one that's caught by static type checking. That's why Lisp is popular for AI work.

On the other hand, for code that is intended for wide distribution, static typing is extremely useful. When a user swipes his card in an ATM, you don't want the machine's response to be "Sorry, type error." A successful static type check amounts to a partial correctness proof, i.e., a guarantee that a large class of possible errors will not occur during execution. That guarantee is worth some inconvenience-- or would be, if static typing were in fact inconvenient. I'd argue, however, that for software that's being written for a specified purpose, and which therefore has a well defined specification, static type checking is a definite convenience-- it automates some of the reasoning that responsible programmers are obliged to undertake in any case.

Of course I have to concede that much software that's sold to customers is not actually "thought of in advance", but is developed haphazardly, with inordinate effort expended on "debugging". This regrettable practice no doubt bears much of the blame for the deplorable state of the software industry, which is the only one I know of whose products are routinely sold with a disclaimer of all responsibility for their quality.

Regards,

--Ham

--
------------------------------------------------------------------
Hamilton Richards, PhD           Department of Computer Sciences
Senior Lecturer (retired)        The University of Texas at Austin
[EMAIL PROTECTED]                [EMAIL PROTECTED]
http://www.cs.utexas.edu/users/ham/richards
------------------------------------------------------------------
_______________________________________________
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell

Reply via email to