Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!iuvax!cica!ctrsol!uakari.primate.wisc.edu!ginosko!uunet!kddlab!titcca!sragwa!wsgw!socslgw!diamond From: diamond@csl.sony.co.jp (Norman Diamond) Newsgroups: comp.software-eng Subject: Re: Question on programming languages Keywords: Humor Message-ID: <10894@riks.csl.sony.co.jp> Date: 2 Oct 89 04:36:25 GMT References: <8720001@hplsla.HP.COM> <3580002@hprnd.HP.COM> <30431@news.Think.COM> Reply-To: diamond@ws.sony.junet (Norman Diamond) Organization: Sony Computer Science Laboratory Inc., Tokyo, Japan Lines: 27 In article <30431@news.Think.COM> fad@think.com (Franklin A Davis) writes: >#define SayBro /* >#define CheckItOut */ > ... >SayBro like, this is some rad shit, so CheckItOut > ... Like wow man. But. #define OhShit Unfortunately /* OhShit, under ANSI C, this will NOT BE ALLOWED TO WORK!!!!!!!! */ Under ANSI C, each comment is changed into a single space before preprocessor directives and macro replacements are performed. So, "/* #define CheckItOut */" gets zapped. Furthermore, if you manage to construct a macro "SayBro" which changes into "/*" (which is possible to do), then the "/*" hangs around in the post-preprocessed code. So it turns into a divide operator followed by an indirection operator. You can't win. -- Norman Diamond, Sony Corp. (diamond%ws.sony.junet@uunet.uu.net seems to work) The above opinions are inherited by your machine's init process (pid 1), after being disowned and orphaned. However, if you see this at Waterloo or Anterior, then their administrators must have approved of these opinions.