🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.misc
Article #3581

Re: Run-time Type Errors in Smalltalk

#3581
From: Jim Showalter
Date: Thu, 18 Apr 1991 05:08
38 lines
2497 bytes
%>]>	Some info that I picked up from a company doing a lot of big
%>]>	project work with C++ (i.e. strong type checking language) was
%>]>	that postmortems on their project revealed only 10% of their
%>]>	errors were captured by strong type checking.
%>]...
%>]In any other field of engineering, a 10% increase in safety would always
%>]be applied.  To reject it would be grounds for lawsuits, at least.
%
%>How do you get a 10% increase in safety from the above?  If they
%>hadn't caught those errors by static typing they would have caught
%>them by testing -- the same way the found the other 90% of the errors.
%>This logic error combined with the strident tone of the article
%>suggests that your convictions are affecting your thinking.

Bzzzzzzt. Thank you for playing.

Testing is NOT guaranteed to catch these errors, whereas static typing
is, by its nature, guaranteed to do so. I defy you to come up with a
way to ensure that you have traversed all possible paths through a
dynamically-typed program that could conceivably send the wrong message
to the wrong recipient.

Last time I looked, this sort of coverage-with-range-tracking stuff
was NP-hard, which means for any program of reasonable size you'd have
to test it for more years than there are atoms in the universe to
exhaust all possible ways it could go bump.

Nobody is claiming that there are not ways to go bump in statically-typed
languages, only that the number of ways you can go bump is REDUCED. 
Such risk reduction seems to me to be a fine way to increase program
reliability, which seems like a noble goal. Why anybody would deliberately
choose to code in a language that is guaranteed to permit MORE errors
than another language is beyond me.
--
* The opinions expressed herein are my own, except in the realm of software *
* engineering, in which case I borrowed them from incredibly smart people.  *
*                                                                           *
* Rational: cutting-edge software engineering technology and services.      *
Technical Details
Message-ID: <jls.671951286@rutabaga>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!swrinde!cs.utexas.edu!sun-barr!lll-winken!ubvax!igor!rutabaga!jls
References: <1917@optima.cs.arizona.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!swrinde!cs.utexas.edu!sun-barr!lll-winken!ubvax!igor!rutabaga!jls
From: jls@rutabaga.Rational.COM (Jim Showalter)
Newsgroups: comp.lang.misc
Subject: Re: Run-time Type Errors in Smalltalk
Message-ID: <jls.671951286@rutabaga>
Date: 18 Apr 91 05:08:06 GMT
References: <1917@optima.cs.arizona.edu>
Sender: news@Rational.COM
Lines: 38