C expert criteria
Wade Guthrie
evil at arcturus.UUCP
Sat Jun 24 02:07:59 AEST 1989
In article <12280 at well.UUCP>, tmh at well.UUCP (Todd M. Hoff) writes:
>> What do you need to know to be an expert C programmer?
>
> There must be some real answers to the question about what makes a
> C expert. We all at least have implicit criteria. In the Unix world
> I saw a list categorizing 9 levels of Unix expertise.
I never thought I would have a reason to repost this, but I saved it
anyway. At any rate, here goes a list of categories for C programmers
similar to those originally used for unix types:
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
- writes libraries that his fellow workmates use
- 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
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