Classifications of C programmer
Wade Guthrie
evil at arcturus.UUCP
Wed Feb 1 04:40:23 AEST 1989
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 at 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???)
More information about the Comp.lang.c
mailing list