From ... From: Erik Naggum Subject: Re: Theory #51 (superior(?) programming languages) Date: 1997/01/23 Message-ID: <3063011556585326@naggum.no>#1/1 X-Deja-AN: 211679654 references: <3059948144828413@naggum.no> <3062757753734625@naggum.no> <1997Jan2108.28.23.6335@koobera.math.uic.edu> <3062850267355805@naggum.no> <1997Jan2123.11.15.1935@koobera.math.uic.edu> <3062969201915975@naggum.no> <32E7159A.7C38@netright.com> mail-copies-to: never organization: Naggum Software; +47 2295 0313; http://www.naggum.no newsgroups: comp.arch,comp.lang.lisp,comp.lang.scheme * David Hanley | The complaint [about overflow] is stupid because it is pretty much a | non-issue. I've probably written well over 100,000 lines of C code | during my life. A lot of it was doing real integer math--simulations and | the like. I was never once bitten by integer overflow 'bugs'. I tested | for integer overflow in exactly two cases that I can think of, and it was | trivial. I've seen accounting packages that used `awk' to sum list of numbers overflow and lose money for a company. I've seen the uptime on a computer overflow and cause the system to crash because that meant its notion of time got warped. I've seen programmers use floating point because integer arithmetic couldn't be trusted (and I've seen the cost of that decision). in all of these cases, reasonable assumptions from users were not met. in all of these cases, lack of support for a true integer type is the direct cause. you can tell me you never had any problems. that doesn't mean there never were any problems. and if I should listen to your experience, why do you think your experience invalidates mine? just because you have never had a car accident doesn't mean you don't buy insurance. most of these "safety" things are there _because_ they will be used very rarely! (if you had car accidents all the time, you would have had to calculate them into your regular expenditures, right?) | It's more stupid because there's a _lot_ of things you could rip on C | which people would have a hard time arguing with. I gave a list of five failings. D. J. Bernstein chose to jump only on "overflow". go figure. | Why not pick on the fact that C++ makes you declare everything in a class | -- ( data members and private functions ) in the class definition, | causing a lot of unnecessary recompiling? Why not pick on the bogus | declaration syntax? hey, this is almost as bad as "why not spend the money for a new weapons program on the homeless?". no matter what I had picked as the failings, you would have come up with another version of that rhetorical question. when nothing can satisfy a predicate, there's no point even in trying. #\Erik -- 1,3,7-trimethylxanthine -- a basic ingredient in quality software.