Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.3 4.3bsd-beta 6/6/85; site lll-crg.ARpA Path: utzoo!watmath!clyde!burl!ulysses!ucbvax!ucdavis!lll-crg!brooks From: brooks@lll-crg.ARpA (Eugene D. Brooks III) Newsgroups: net.lang.c Subject: Re: "C" wish list. Message-ID: <946@lll-crg.ARpA> Date: Sat, 26-Oct-85 21:19:19 EST Article-I.D.: lll-crg.946 Posted: Sat Oct 26 21:19:19 1985 Date-Received: Mon, 28-Oct-85 03:18:24 EST References: <335@graffiti.UUCP> <895@rlvd.UUCP> Reply-To: brooks@lll-crg.UUCP (Eugene D. Brooks III) Organization: Lawrence Livermore Labs, CRG Group Lines: 32 I would leave the language alone, is it quite adequate for the task of writing good programs. The problem is with some of the programmers. I propose a new standard device driver /dev/cattleprod which the C compiler and lint could open when it detects sloppy code and non portable constructs. The device driver would operate a pair of electrodes that are imbedded in the seat in front of the terminal. The following dosages to be administered for various infractions. Use of "int foo;" in several files instead of "extern int foo;" in a header file and "int foo = 0;" in one file. (10 volts) Failing to check the returned value of system and library calls and use perror() to report the problem. (20 volts) Being sloppy about floats and doubles, and pointers to them. Every machine is like the Vax type of attitude. (10 volts) Not correctly delcaring types and other niceties to keep lint quiet. (10 volts for each warning) This list is endless.... I also recommend a scale factor be applied to the dosages with time so that penalties slowly get more severe. This would hopefully first give hints and then slowly force the progammer into line. PS. The now famous authors of several white books should not be exempt from /dev/cattleprod. Have your ever seen the insides of the "portable" device independent troff? Or even pcc for that matter? I don't exempt myself from /dev/cattleprod either. 1/2 a :-)