🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.misc
Article #3499

RE: Dynamic typing (part 3)

#3499
From: Brian Boutel
Date: Mon, 15 Apr 1991 02:34
63 lines
3324 bytes
In article <12APR91.08192346@uc780.umd.edu>, cs450a03@uc780.umd.edu writes:
  [in response to something I said]
|> 
|> (1)  Since when are declarations not elementary statements?
|> (2)  While static typing does not require that you declare everything,
|>      it does require declarations.  

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). So there is really no difference between volumes
of declarations required in these and in dynamic typed languages like
Smalltalk.

|> (3)  Static typing tends to make expensive the kind of generalization
|>      that I've seen in high-level languages.
|> 

I'm unsure what you mean. Are you saying that statically typed languages
are not high-level?

I would distinguish between "generalization" and "useful
generalization". I'm sure you can show me some clever code, but do I
need it at the cost of the additional safety that I get from using a
language which disallows a large class of erroneous programs that might
otherwise get into production.


|> Just for fun, the software engineering aspects of this topic:
|> 
|> (1) runtime vs purely static type checking
|> (2) local declarations (e.g. functions) vs nonlocal declarations (e.g.
|>     storage allocation for later operations).
|> (3) degrees of abstraction (can we look at operation blarg() as pure
|>     computation, or must it have side effects and/or be effected by
|>     other side effects).
|> 
|> You can carry any of these concepts to heights of absurdity which I
|> don't care to contemplate...  
|> 
|> Raul Rockwell

Perhaps some more contemplation would help?

Engineering is about reliability, about using established techniques
with a solid underlying theoretical foundation, about safety margins.
For me, these are the important issues. Nice new ideas have their place,
but it is not in production systems. 

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.

--brian
-- 
Internet: brian@comp.vuw.ac.nz
Postal: Brian Boutel, Computer Science Dept, Victoria University of Wellington,
        PO Box 600, Wellington, New Zealand
Phone: +64 4 721000   Fax: +64 4 712070
Technical Details
Message-ID: <1991Apr15.023422.6387@comp.vuw.ac.nz>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!samsung!munnari.oz.au!comp.vuw.ac.nz!brian
References: <1707@optima.cs.arizona.edu> <1991Apr11.053440.13401@comp.vuw.ac.nz> <12APR91.08192346@uc780.umd.edu>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!samsung!munnari.oz.au!comp.vuw.ac.nz!brian
From: brian@comp.vuw.ac.nz (Brian Boutel)
Newsgroups: comp.lang.misc
Subject: RE: Dynamic typing (part 3)
Message-ID: <1991Apr15.023422.6387@comp.vuw.ac.nz>
Date: 15 Apr 91 02:34:22 GMT
References: <1707@optima.cs.arizona.edu> <1991Apr11.053440.13401@comp.vuw.ac.nz>  <12APR91.08192346@uc780.umd.edu>
Sender: news@comp.vuw.ac.nz (News Admin)
Organization: Computer Science, Victoria University, Wellington, NewZealand
Lines: 63
Nntp-Posting-Host: antrim-hse.comp.vuw.ac.nz
Originator: brian@antrim-hse.comp.vuw.ac.nz