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: 109fba,b87849933931bc93 X-Google-Attributes: gid109fba,public X-Google-Thread: fac41,b87849933931bc93 X-Google-Attributes: gidfac41,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: eanv20@tattoo.ed.ac.uk (John Woods) Subject: Re: OO, C++, and something much better! Date: 1997/01/27 Message-ID: <5chsbl$ggc@scotsman.ed.ac.uk>#1/1 X-Deja-AN: 212504577 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> organization: Edinburgh University newsgroups: comp.object,comp.lang.c++,comp.lang.ada,comp.lang.smalltalk,comp.lang.eiffel Date: 1997-01-27T00:00:00+00:00 List-Id: jhd@herold.franken.de (Joachim Durchholz) writes: >Oh yes there is a difference. The compiler will catch all errors; the run- >time system will miss some. >In other words: I'd feel really embarrassed if the user ever saw a >"message not understood" error. >IMHO, bugs that can be found automatically should be found automatically. >Each 2% failure probability that's taken out will make the total system >more stable (remember a dozen 2% failure sources give a total failure >probability of about 22%). *All* errors? How does the compiler prevent you from dereferencing a null pointer. I'd be really embarrassed if a client saw a 'does not understand' error, but less so if they got a dialog which informed them that there was a serious internal error and that they should contact the contractor. Dereffing nil in C++ isn't usually so elegant. Your argument about 2% doesn't wash, because of `ignoratio elenchi'. Of course we would all like the compiler to rid us of as much error as possible. We'd be dumb to disagree --- that's why you put your argument in these terms. What you don't seem to accept is that we have grounds to think this 2% reduction is cost free. In my experience, the 2% error reduction C++ might give you over Smalltalk because of static typing is drowned by other factors. In particular, although I learned Pascal, C and C++ first, I make less errors typing Smalltalk because I type less. And I have to spend less time trying to make a language do things it doesn't seem to want to do. That's before we even start talking about maintainability. If you prefer static typing, fine. Tastes vary, and as Ovid said: ``there is no disputation about tastes [that is meaningfull]'. What I cannot accept is your constant imputation that we are happy to ignore a compiler technology that would make our code just a little more error free. It would make our code so much harder to write and maintain that the benefits do not, to us, seem to approach the point where we would be happy to bin the advantages of dynamic typing. ... John H. Woods -- " Forsan et haec olim meminisse iuvabit (Virgil) [approx] Tr: The time may come when we will look back on these days and laugh "