Eric provides a fairly succinct description:
They understood the form but not the content. There are lots of cargo cult programmers -- programmers who understand what the code does, but not how it does it. Therefore, they cannot make meaningful changes to the program. They tend to proceed by making random changes, testing, and changing again until they manage to come up with something that works.
This isn't to say that cargo cult programmers are bad, per se, just that they approach coding differently than others. Their goal is to get things done; not understand why the code is doing something. This Programmers question discusses formatting and "sloppy programmers", but it's different in that it doesn't focus on whitespace and it's clear the programmers are considered bad.
The general acceptance is to use comments to explain "why not what" and to use whitespace to separate out logical constructs within the code. To borrow from traditional writing, whitespace provides paragraphs of text to read instead of facing a wall of text. It separates out key concepts.
I'm in the middle of re-factoring some code originally written by a cargo cult programmer, and one of the challenges I have encountered is consistent lack of whitespace to indicate context or concepts within the program. Looking over the code, it's clear to me the developer didn't understand the why or the context behind the task they were assigned. Ignoring the incorrect copy & paste issues, the code just doesn't read well because of disjointed flow amongst statements.
I realize that use of whitespace is biased by the original language that someone first learns, but I can't help but wonder if "illogical" use of or lack of use of whitespace is an indicator of a cargo cult programmer.
My question: -- Is there a correlation between not using whitespace correctly and the odds of the person being a cargo cult programmer?
I realize my question is subjective, but I think it falls into the good subjective category because this question is best answered with a "why" type answer rooted in experience and / or potentially some amount of research. Likewise, I believe there is an answer to the question, and I have focused the question on identifying if there is a correlation while avoiding any potential ranting.
In my question, I am using the broader definition of cargo cult programming as defined by Eric. Cargo Cult Programmers mix and match forms because the snippet they took appears to solve the problem at hand. Yet they do not understand why the sections they copied resolve the issue. In this context, I don't see Cargo Cult Programming as attempting to imitate another person's style, but rather just trying to "fix" whatever the problem at hand is with whatever code they can find.