Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!mips!wrdis01!gatech!mcnc!uvaarpa!haven!ni.umd.edu!uc780.umd.edu!cs450a03 From: cs450a03@uc780.umd.edu Newsgroups: comp.lang.misc Subject: RE: Dynamic typing (part 3) Message-ID: <15APR91.00424359@uc780.umd.edu> Date: 15 Apr 91 00:42:43 GMT References: <1707@optima.cs.arizona.edu> <1991Apr11.053440.13401@comp.vuw.ac.nz> <12APR91.08192346@uc780.umd.edu> <1991Apr15.023422.6387@comp.vuw.ac.nz> Sender: usenet@ni.umd.edu (USENET News System) Organization: The University of Maryland University College Lines: 40 Nntp-Posting-Host: uc780.umd.edu Brian Boutel writes: >The kind of languages I prefer, e.g. ML, Haskell, do not require >declarations of variables or functions. Types are inferred from the >context. (It may sometimes be pregmatically desirable to include some >declarations to limit the generality of deduced types for purposes of >run-time efficiency). Curious. Sounds to me like ML and Haskell are [at least partially] dynamically typed. [I presume by "do not require declarations" you mean "do not require declaration of 'type' or 'storage class'" -- I can't quite see you not having to declare any values :-) ] >I'm not objecting to dynamic typed languages, in fact I quite like >them, and occasionally use them. I do, however, react badly to some >of the claims made about their superiority, claims which ignore the >most important issues, and advocate use which, at the present time, >increases the risk to the public of computer systems. Maybe if I didn't use the phrase "dynamic type" ? I claim that a language that inserts run-time checks on the values which are applied to functions, and only removes these checks where static analysis of the code shows them to be redundant, is going to catch more errors than a language which does not. I claim that a language which allows a programmer to specify an operation concisely is going to result in better productivity (in terms of bug-free functionality produced) than a language which always requires the programmer to deal with trivial details of the implementation. If that means I'm arguing for ML, so be it :-) One of these days, I might just learn it and find out for myself. But note that I'm not argueing for any particular language -- more a class of languages, and a coding style. Do you react badly to that? Raul Rockwell