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: 114809,b87849933931bc93 X-Google-Attributes: gid114809,public X-Google-Thread: 103376,b87849933931bc93 X-Google-Attributes: gid103376,public X-Google-Thread: 1108a1,b87849933931bc93 X-Google-Attributes: gid1108a1,public From: Nick Leaton Subject: Re: OO, C++, and something much better! Date: 1997/01/30 Message-ID: <32F0B892.4126@calfp.co.uk>#1/1 X-Deja-AN: 213236932 x-nntp-posting-host: calfp.demon.co.uk references: <5cnii3$r9q$1@news.nyu.edu> <32F063B9.16C@calfp.co.uk> <5cq6u5$qv3$1@news.nyu.edu> content-type: text/plain; charset=us-ascii mime-version: 1.0 newsgroups: comp.object,comp.lang.c++,comp.lang.ada,comp.lang.smalltalk,comp.lang.eiffel x-mailer: Mozilla 3.0Gold (X11; I; SunOS 5.5 sun4m) Date: 1997-01-30T00:00:00+00:00 List-Id: Richard Kenner wrote: > > In article <32F063B9.16C@calfp.co.uk> Nick Leaton writes: > >Richard Kenner wrote: > >> I think you've given a bad example. Off-by-one in a loop is often a > >> situation where it will either not work at all or work correctly. > >> It's also often the case that it'll take a good deal of time to be > >> confident in the analysis of which is right. > > > >You can't be serious. It is not black and white. In plenty of situations > >with C++ or C it might work for sometime, and then cause problems. > > For the second time: I said "often", which does not at all contradict > with your statement that there are "plenty of situations" where this > is not the case. When it isn't, of course, then there is indeed no > substitute for analysis. > > I find it curious, though, that you mentioned languages explicitly. > Do you think that there's any difference between off-by-one problems > in C and Ada? I quoted C / C++ deliberately. I don't know vast amounts about Ada. However in my experience this type of error is a problem with most C++/C programmers, requiring the use of tools like Purify to handle. The worst bug I have ever had the misfortune to work with was a stack going out of bounds in a threaded environment. For a combination of reasons it took 3 man months to find and was very stressful, particularly as it was in the code I had written that it manifested itself. It was all down to another piece of code setting a small default size for the threads stack. I have had similar problems with other systems in the past. Currently using Eiffel, this hasn't even been an issue, just run with all assertions on. -- Nick