Xref: utzoo comp.lang.misc:3889 comp.software-eng:2757 Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!uunet!zephyr.ens.tek.com!tektronix!sequent!mntgfx!franka From: franka@mentor.com (Frank A. Adrian) Newsgroups: comp.lang.misc,comp.software-eng Subject: Re: An Interesting View of "Strong" Vs. "Weak" Typing Keywords: typing, Ada, Lisp, definitions, evidence Message-ID: <1990Jan13.155115.4809@mentor.com> Date: 13 Jan 90 15:51:15 GMT References: <641@ajpo.sei.cmu.edu> <1990Jan5.084746.17836@cs.eur.nl> <2197@ecs.soton.ac.uk> Reply-To: franka@mntgfx.UUCP (Frank A. Adrian) Organization: /etc/organization Lines: 50 In article <2197@ecs.soton.ac.uk> rh@landin (R Harrison) writes: >In article <1990Jan5.084746.17836@cs.eur.nl> reino@cs.eur.nl (Reino de Boer) writes: >>eberard@ajpo.sei.cmu.edu (Edward Berard) writes: >> >>>Are there any references documenting the benefits of strong vs. weak >>>typing? > >The advantages of strong typing have been recognised for some time >- consider, for example, Gries and Gehani ("Some ideas on data type >in high level languages, CACM 20, 1977, pp.414-420), in which the case >for controlled polymorphic programming is discussed. > And the disadvantages of strong typing during early development has also been recognized for some time - consider, for example, Sandewall ("Programming in an Interactive Environment: The LISP Experience", Computing Surveys, 1978, pp. 35-72), where we find the quote (p. 38): "The contents and use of declarations is one of the important issues that one wants to experiment with in a research system, and therefore should not be frozen in the system kernel. In- stead the internal form of programs should be declaration free, and one of the services of the developing programming system should be to account for declarations as input by the user." I take Sandewall's view. Maybe the systems that you work on are so well specified or the concepts you deal with in your programs are so well un- derstood, even in the early stages, that you have no need of "playing with the program". I don't. Nobody I know does. I have no objections to having a well specified type structure in a delivered product (and in fact see see the necessity for one at that stage both for correctness and efficiency), but hamstringing languages to REQUIRE it in ALL stages of development seems to be a bit of overkill. We may ask a somewhat cynical question as to if the difficulty of setting up and changing type hierarchies in the strongly-typed languages leads to programs which: a) are "correct" with respect to the initial specification, but b) have not explored the possible type configuration space suf- ficiently to have a maintainable type structure, so c) significant changes to these strongly-typed structural behemoths are next to impossible. I guess the bottom line is that, at least for me (and, I believe, for many others), the case for having less strongly typed languages is far from closed. -- Frank A. Adrian Mentor Graphics, Inc. franka@mntgfx.com