First, let me note that even a factor of 4-5 for differences in programmer performance 
is already substantially greater than almost any other human skill.  If one choose a 
sample of first year college students at the same university, one would be unlikely to 
uncover a difference that large in short term memory span.  The only skills in which
one sees that large a difference are highly learned ones, such as reading.

Second,  I would argue that laboratory studies of programmer performance underestimate
the differences seen in the real world by one or two orders of magnitude.  Consider 
the following thought experiments.

[1] Take a first year programming student and the developer of Linux.  Ask them both 
to write a (simple) kernal for a portable operating system that supports symmetric 
multiprocessors.  Time them.

[2] Take the developer of Linux and a developer with 20 years experience in industrial 
control programming.  Ask them both to write a program to run an automobile body 
welding machine.  Time them.

For task 1, the student probably could not even start on the task directly but would
have to go out and learn operating systems, get some practical experience, etc. It 
could easily take four or five years before the student could even start on the task.
Someone who has already developed an operating system could do it in a couple of 
months, a difference of perhaps 30 to 1.  If we wanted the student to achieve the same 
quality of solution, then it might easily take three times as long.

For task 2, the developer of Linux would probably have to spend a year or so learning 
about automobile body welding systems and the programming of PLCs.  The industrial 
control programmer could do the job in about two weeks, a difference of perhaps 25 to 
1.

In addition to showing the time range, these cases illustrate the difficulty in the 
real world of distinguishing between background/experience factors and "individual 
differences."  

Both of these cases also illustrate that substantial amounts of programming knowledge 
is above the level of the individual programming language constructs.

Ruven Brooks


- Automatic footer for [EMAIL PROTECTED] ----------------------------------
To unsubscribe from this list, mail [EMAIL PROTECTED]  unsubscribe discuss
To join the announcements list, mail [EMAIL PROTECTED] subscribe announce
To receive a help file, mail [EMAIL PROTECTED]         help
This list is archived at http://www.mail-archive.com/discuss%40ppig.org/
If you have any problems or questions, please mail [EMAIL PROTECTED]

Reply via email to