From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: fac41,b87849933931bc93 X-Google-Attributes: gidfac41,public X-Google-Thread: 109fba,b87849933931bc93 X-Google-Attributes: gid109fba,public X-Google-Thread: 1108a1,b87849933931bc93 X-Google-Attributes: gid1108a1,public X-Google-Thread: 103376,b87849933931bc93 X-Google-Attributes: gid103376,public X-Google-Thread: 114809,b87849933931bc93 X-Google-Attributes: gid114809,public From: fjh@mundook.cs.mu.OZ.AU (Fergus Henderson) Subject: Re: OO, C++, and something much better! Date: 1997/01/29 Message-ID: <5cmion$m2e@mulga.cs.mu.OZ.AU>#1/1 X-Deja-AN: 212889624 references: <5buodl$bci@boursy.news.erols.com> <32E2FEC7.2F7B@concentric.net> <5bvncj$gqg$1@A-abe.resnet.ucsb.edu> <32E47B4B.56D9@concentric.net> <6PI998tV3RB@herold.franken.de> <32E68D40.65EC@parcplace.com> <32E999AE.2F68@parcplace.com> <32ED02EE.22E2@netright.com> <32ED2448.685A@parcplace.com> organization: Comp Sci, University of Melbourne newsgroups: comp.object,comp.lang.c++,comp.lang.ada,comp.lang.smalltalk,comp.lang.eiffel Date: 1997-01-29T00:00:00+00:00 List-Id: Eric Clayberg writes: >David Hanley wrote: >> In fact, people on the static typing 'side' of the issue, such as Fergus >> Henderson, have provided good data with compelling arguemnts for static >> typing. > >He certainly presented some data. It wasn't very clear that it provided >much support for static typing, however. I certainly think it provided support for static typing. >In fact, his numbers >(especially the variety of errors that he ran into) only served to make >me (and, I imagine, most of the other Smalltalk developers in this >thread) quite happy that I was using Smalltalk (in which, as was pointed >out in response to his numbers, most of those errors couldn't occur). Your conclusion that "most of those errors couldn't occur" in Smalltalk is definitely wrong. It goes a lot further than your previous posts, where for many of the errors you argued only that they would be caught at compile time in Smalltalk, despite the lack of static _type_ checking, due to the presence of static checking for existence of a matching method selector. With regard to Smaltalk, I draw the following conclusions from my data: - use of type declarations results in some errors (wrong type declarations) that would not occur in a language such as Smalltalk that doesn't have type declarations; and - had the program been written in Smalltalk, absence of static type checking would have increased the number of errors that were caught only at runtime by almost a factor of two, for this data set. Errors in type declarations are very easy to fix. Errors that occur only at runtime can be a lot more difficult to fix, assuming you detect them, and the possibility of non-dection increases the likelyhood of bugs in your final product. >Having >used several different statically typed languages over the years as well >as Smalltalk, my experience (and that of many of the folks contributing >to this discussion) is that the Smalltalk-based systems are usually much >more reliable in practice. I don't deny that this experience is valid. However, I suggest that it may well be related to the nature of the specific statically type languages that you have experienced, rather than to any attribute of statically typed languages in general. To put things concretely, I would be quite surprised if you had the same experience if you with compared Smalltalk with Java, Haskell, or SML. -- Fergus Henderson | "I have always known that the pursuit WWW: | of excellence is a lethal habit" PGP: finger fjh@128.250.37.3 | -- the last words of T. S. Garp.