Path: utzoo!mnetor!uunet!husc6!think!ames!eos!aurora!labrea!decwrl!pyramid!prls!philabs!micomvax!zap!iros1!mcgill-vision!mouse From: mouse@mcgill-vision.UUCP (der Mouse) Newsgroups: comp.lang.c Subject: Re: == vs = Message-ID: <1011@mcgill-vision.UUCP> Date: 20 Mar 88 01:53:28 GMT References: <11216@brl-adm.ARPA> <2111@chinet.UUCP> <4403@garfield.UUCP> <931@micomvax.UUCP> Organization: McGill University, Montreal Lines: 54 In article <931@micomvax.UUCP>, ray@micomvax.UUCP (Ray Dunn) writes: > I assume everyone still remembers this discussion, [discussion so far has consisted of proposals to change C in various ways, with other people saying the proposed changes are unnecessary] > We believe that you should put a safety cage over a spinning gear, > not just put up a sign saying "Don't slip on the wet floor into this > dangerous device". Except that in this case, it is sometimes useful to slip into the spinning gear, provided you know what you're doing. The cage gets in the way of that. > In <11915@brl-adm.ARPA> dsill@NSWC-OAS.arpa (Dave Sill) [says various > things that Ray takes exception to] > What he is directly saying, for example, is: > [three things, none of which are relevant here] > Dave, don't you believe in removing from system designs, as much of > the human ability to make mistakes as possible? Fine. Let's tie everyone to their bed, so they can't fall down crossing the street and get run over. We need a certain amount of freedom to get things done. My point of view, and apparently that of at least some of the other people here, is that we have to leave the people who do know what they're doing free to do it. I do not think we should throw away lint, for example, because lint doesn't get in my way when I deliberately do something that looks questionable -- it doesn't assume it knows better than I do. > Remember me the next time you discover a "stupid" error in the code > you are writing, or when a typo costs you a couple of days work, > [etc]. And you remember this discussion next time you come up against something your current language won't let you do because its designers considered it a bad thing to do and hence forbade it. Just yesterday I found a bug in some of my code where I'd written == for what I intended to be an assignment. So what? I discover bugs where I've written && instead of ||, too. It's a tradeoff. C chooses freedom, and with it comes the rope to hang yourself. Other languages, such as Pascal, choose safety, but with it comes the restrictions that make it hard to do certain things. I don't believe having both at once is possible, which is why my advice to those who want, say, :=, is "if you want Pascal, use Pascal". der Mouse uucp: mouse@mcgill-vision.uucp arpa: mouse@larry.mcrcim.mcgill.edu