OdeToCode IC Logo

Cargo Cults

Thursday, February 9, 2006

Perhaps you’ve heard the term ‘cargo cult programming’. Eric Lippert defined the term as follows.

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.

The term derives from Richard Feynman’s “cargo cult science”. Feynman coined the term in a 1974 commencement address at Caltech. The speech transcript is a good read.

In the South Seas there is a cargo cult of people. During the war they saw airplanes with lots of good materials, and they want the same thing to happen now. So they've arranged to make things like runways, to put fires along the sides of the runways, to make a wooden hut for a man to sit in, with two wooden pieces on his head to headphones and bars of bamboo sticking out like antennas--he's the controller--and they wait for the airplanes to land.

The reason I bring this up is a Smithsonian Magazine article I read last week: “In John They Trust”. The author visited the remote island of Tanna to report on a real, enduring cargo cult. Villagers on Tanna worship John Frum, their American messiah. John lives in a volcano. John promised to return and bring shiploads of cargo, including bottled soda, canned meat, candy bars, and refrigerators.

Human behavior never ceases to amaze.