Lindsay Marshall wrote: > The skill that I most commonly notice in good programmers is chunking - they > can see the structure in complex systems easily and know what to ignore and > when to ignore it. It somehow seems analogous to subitizing in a way.
I did a questionnaire study a few years ago in which I asked subjects to give a descriptive titles to various stereotypical looping constructs. For example, Loop 1: for (iterator fish = lake.begin(); fish != lake.end(); ++fish) if (isSalmon(*fish)) ++salmons; Loop 2: for (iterator fish = lake.begin(); fish != lake.end(); ++fish) if (isSalmon(*tool)) break; The questionnaire was given to two groups: computer science students and professional software developers. The students used longer titles, such as "count number of occurrences" and "find if any element is of some sort", whereas the professionals used short titles, such as "count" and "find". This could indicate that the looping constructs belong to the basic-level category (Rosch, 1978) of the professionals but not of the student. ---------------------------------------------------------------------- PPIG Discuss List (discuss@ppig.org) Discuss admin: http://limitlessmail.net/mailman/listinfo/discuss Announce admin: http://limitlessmail.net/mailman/listinfo/announce PPIG Discuss archive: http://www.mail-archive.com/discuss%40ppig.org/