C expert criteria
Todd M. Hoff
tmh at well.UUCP
Tue Jun 20 16:11:04 AEST 1989
Responses to responses about:
> 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. What the
different categories were escapes me now, but they went something like:
1. Neophyte. can log onto the system and logout
2. use ls -l and cd
......
9. Wizard. Can use m4 in their sleep and knows all the options to ls.
Something anologous for C should be possible. After all, when we want to
hire a senior level programmer we don't merely mean a programmer with
X (assumed large) years of programming. We mean somebody who really knows
their stuff. I'm after what they "know" not just inane witicisms.
> ... if you have to ask, you aren't
I know this was said mostly in jest, but I think its very valuable to
externalize programming "rites of passage."
> Who cares?
This is certainly a valuable question and is right up there with
the infamous "why?" question. It should always be asked but too often
"Who cares?" is used as an escape. Actually there's plenty of reasons
to care:
1. When hiring someone how do you know they are qualified?
By asking questions, right? Which questions? This relates
to my question.
2. How do you as a programmer know you are getting better?
Writing more code per millisecond? Fewer bugs? Or perhaps
understanding the essence of the problem and writing the
most elegant solution to that problem? What are the C
building blocks that are elegant? Not just pointers,
but higher levels of technique.
3. When doing code reveiws, how do you judge the competence
of the code with no definition of what "good" code is?
> ...Knowledge vs wisdom
First, since C is recursively defined, no database no matter how large could
hold all valid 'C' constructs and idioms. That's why we have compilers.
Besides such a database would be merely a listing of facts. Whereas an
expert system combines raw facts with inference rules. These rules are a form
of canned wisdom. Not as ranging as human wisdom, but as several medical
expert systems demonstrate, wisdom useful enough to save lives.
I don't think a semantics game battling knowledge vs wisdom definitions
is useful. The point of my question is clear.
> What groups would be appropriate?
This one of course. I'm asking about the essence of C programming. This
seems at least as valid as pointer addition.
Any more takers?
Todd
More information about the Comp.lang.c
mailing list