Newsgroups: comp.object,comp.lang.eiffel,comp.lang.c++,comp.lang.smalltalk
Path: cantaloupe.srv.cs.cmu.edu!bb3.andrew.cmu.edu!nntp.sei.cmu.edu!cis.ohio-state.edu!math.ohio-state.edu!howland.reston.ans.net!newsfeed.internetmci.com!news.mel.aone.net.au!inferno.mpx.com.au!news.unimelb.EDU.AU!cs.mu.OZ.AU!mundook.cs.mu.OZ.AU!fjh
From: fjh@mundook.cs.mu.OZ.AU (Fergus Henderson)
Subject: Re: Why is one OO language more productive than another?
Message-ID: <9523600.18871@mulga.cs.mu.OZ.AU>
Sender: news@cs.mu.OZ.AU (CS-Usenet)
Organization: Computer Science, University of Melbourne, Australia
References: <40t027$7j9@hardcopy.ny.jpmorgan.com> <40t7veINNe25@bhars12c.bnr.co.uk> <40tcq2$10fa@tigger.cc.uic.edu> <40vashINNgo8@bhars12c.bnr.co.uk>
Date: Wed, 23 Aug 1995 14:09:16 GMT
Lines: 34
Xref: glinda.oz.cs.cmu.edu comp.object:37539 comp.lang.eiffel:10625 comp.lang.c++:146186 comp.lang.smalltalk:27684

wolfe@bnr.co.uk (Ian Woollard) writes:

>Do you happen to have any *evidence* to support your contention that
>Strong Typing is strongly correlated with correctness and good
>structure?

Whether strong typing promotes "good structure" is certainly debateable,
but is is overwhelmingly clear that strong typing detects a lot of
errors at a very early stage in the software life-cycle.  By doing so,
it decreases maintainence costs and increases reliability.

If you want some numerical evidence, I have some.  For a while I
carefully recorded the cause of every error that I encountered while
writing a Mercury program.  Of a total of 155 errors (122 errors in
the code and 33 errors in declarations), 146 were caught at compile
time - only 9 bugs got past the compiler.  Of the errors detected by
the compiler, 83 were type errors (73 in the code and 10 in type
declarations).  Without strong typing, the number of bugs that I had to
track down myself by manual debugging would have increased from 9 to
82, i.e.  almost 10-fold.

Of course, this is only the evidence of one person's experience,
and no doubt your mileage will vary.  But it is proof enough for me.

-- 
Fergus Henderson              | Designing grand concepts is fun;
fjh@cs.mu.oz.au               | finding nitty little bugs is just work.
http://www.cs.mu.oz.au/~fjh   | -- Brooks, in "The Mythical Man-Month".
PGP key fingerprint: 00 D7 A2 27 65 09 B6 AC  8B 3E 0F 01 E7 5D C4 3F
-- 
Fergus Henderson              | Designing grand concepts is fun;
fjh@cs.mu.oz.au               | finding nitty little bugs is just work.
http://www.cs.mu.oz.au/~fjh   | -- Brooks, in "The Mythical Man-Month".
PGP key fingerprint: 00 D7 A2 27 65 09 B6 AC  8B 3E 0F 01 E7 5D C4 3F
