Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!burl!ulysses!mhuxr!mhuxt!houxm!whuxl!whuxlm!akgua!gatech!seismo!cmcl2!rna!cubsvax!peters From: peters@cubsvax.UUCP Newsgroups: net.micro.amiga,net.lang.c Subject: Re: Nonsense in BYTE reader columns Message-ID: <493@cubsvax.UUCP> Date: Wed, 25-Jun-86 11:22:37 EDT Article-I.D.: cubsvax.493 Posted: Wed Jun 25 11:22:37 1986 Date-Received: Sat, 28-Jun-86 07:32:47 EDT References: <8606141823.AA12695@pavepaws> <639@ucbcad.BERKELEY.EDU> Reply-To: peters@cubsvax.UUCP (Peter S. Shenkin) Organization: Columbia Univ. Bio. CG Fac., NY Lines: 33 Xref: watmath net.micro.amiga:3795 net.lang.c:9609 In article henry@utzoo.UUCP (Henry Spencer) writes: >> ...[redefining C syntax with macros]... The >> point wasn't that you SHOULD do things this way, but that you COULD. And >> there's nothing wrong with someone programming that way, if it increases >> their efficiency and doesn't hinder the quality of the code... > >Provided that they realize that they're easing their own learning process >a bit (c'mon, guys, how long does it take competent people to learn how >to write "{}" and "=="?) at the price of having their own private dialect >of C. In a more general context, yes there *is* something wrong with it: >the result will be less intelligible to experienced C programmers, should >they happen to hire any; ... [more good points] Just a reminder that the possibility of this sort of usage is touted by K&R as a virtue of the C preprocessor; pp86-87: For example, Algol fans can say #define then #define begin { #define end ;} and then write if ( i < 0 ) then begin a = 1; b = 2; end Most of us agree that this is a bad idea, for the reasons mentioned; however, it's not obvious that it's a bad idea. That's only become clear by dint of peoples' experience with (other peoples') code written in this fashion. Peter S. Shenkin Columbia Univ. Biology Dept., NY, NY 10027 {philabs,rna}!cubsvax!peters cubsvax!peters@columbia.ARPA