evil@arcturus.UUCP (Wade Guthrie) (02/01/89)
On the lighter side. . . I have seen the requirements for the capabilities of UNIX people (like guru, user, wizard, etc.) and I got thinking about what similar ones might be for C people. I came up with the following: NAME DESCRIPTION AND FEATURES novice - puts "#include <stdio.h>" in his code, but is not sure why - has heard of pointers, but has never seen one user - uses the following macros: #define BEGIN { #define END ;} - has had a bad experience with pointers - knows the difference between ' and " knowledgeable - uses: user if(a==b) c = 1; else c = 0; - uses pointers, but only in place of arrays - loves writing code on VMS expert - uses: c = (a==b) ? 1 : 0; - uses pointers comfortably - are jazzed when they find a compiler bug because they found it - has figured out what && and || are for - refuses to write C code on VMS hacker - uses: c = a==b; - writes code which use pointers to functions - writes macros instead of simple functions - uses bitwise operators because they are like assembler - writes simple code with "cat >" and compiles it with "!cc". - uses argv and argc guru - avoids bitwise operators due to portability - are annoyed with compiler bugs - writes code portable enough to port from VMS but doesn't relish the thought - can answer most C questions after a little thought wizard - writes compilers with "cat >" (and they work!) - reads device driver source with breakfast - can tell what question you are about to ask, and answer it - is on a first-name basis with Dennis, Bill, and Ken Oh well, on the the more serious stuff. . . Wade Guthrie evil@arcturus.UUCP Rockwell International Anaheim, CA (Rockwell doesn't necessarily believe / stand by what I'm saying; how could they when *I* don't even know what I'm talking about???)