Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!lll-crg!topaz!husc6!harvard!cmcl2!philabs!micomvax!musocs!mcgill-vision!mouse From: mouse@mcgill-vision.UUCP (der Mouse) Newsgroups: net.lang.c Subject: Re: PRECEDENT FOR USE OF = Message-ID: <469@mcgill-vision.UUCP> Date: Mon, 28-Jul-86 18:31:07 EDT Article-I.D.: mcgill-v.469 Posted: Mon Jul 28 18:31:07 1986 Date-Received: Wed, 30-Jul-86 01:42:52 EDT References: <2237@brl-smoke.ARPA> Organization: McGill University, Montreal Lines: 28 In article <2237@brl-smoke.ARPA>, gwyn@BRL.ARPA (VLD/VMB) quotes: >> "I hardly ever get a program to pass through lint without getting >> least a dozen lines of garbage." and writes: > Perhaps "lint" is trying to tell you something. I refuse to cast, for example, printf(), or strcpy(), to void just to keep lint happy. I don't cast normal assignments to void, why should I cast strcpy() (which is conceptually a string assignment)? I refuse to hold with malloc(10) giving a type mismatch error (lint wants unsigned int for the argument). I refuse to listen to possible pointer alignment problems when casting malloc(n) to (struct foo *). C assumes you know what you're doing and lets you do it, wherein lies it power and usefulness. If you want the compiler (typechecker, whatever) to protect you from yourself, use a strongly typed language like Pascal! Don't complain because C isn't the best language for your application; instead, try to pick a more appropriate one. -- der Mouse USA: {ihnp4,decvax,akgua,utzoo,etc}!utcsri!mcgill-vision!mouse think!mosart!mcgill-vision!mouse Europe: mcvax!decvax!utcsri!mcgill-vision!mouse ARPAnet: utcsri!mcgill-vision!mouse@uw-beaver.arpa "Come with me a few minutes, mortal, and we shall talk." - Piers Anthony, Bearing an Hourglass