Cargo cult science and web development

In 1974 Richard Feynman gave the commencement address at Caltech and coined the phrase cargo cult science. Cargo cult can be used to describe any process using a flawed model of causation.

The term cargo cult is used in anthropology to define the religious cults that spring up in the wake of a technologically advanced society interacting with a technologically primitive society. Most recently this happened during World War II in the Pacific South West when Allied and Japanese forces created military bases on islands with limited previous contact with the modern world. The military base would commonly use air fields to import war materials.

The technical details of why and how the air field is set up would be beyond the basic understanding of the local populace but they would be able to see the process and witness the outcome which would be bountiful supplies of cargo brought in from the sky.

When the forces left the islands the local populace would attempt on their own to bring down the cargo from the sky. They would attempt to recreate every process the combatants had used in constructing and using the air field but they did not fully understand what the air field was and so could not grasp why they had failed. Those attempts took on a religious aspect filling in the gaps in their knowledge with faith. Most cults died out soon after World War II but some remained, like the John Frum society and more recently the Prince Philip Movement.

Richard Feynman takes the concept of the cargo cults and applies it to scientific endeavour, how the researcher may fool themselves in to believing they practice scientific principles when they aren’t or worse when they are knowingly using it to achieve a desired goal. I’ve made a text copy available as it is far better at explaining cargo cult science and should be required reading.

How does this apply to web programming? Specifically in interface development we have to deal with a range of different devices and browsers, each creating a miasma of bugs that we must solve. With the web at the forefront of technological advances there are also a number of opportunities that we can implement. In either situation we must remember to apply scientific principles to development, our theories must be falsifiable and our experiments repeatable. We must endeavour to understand the reason behind each line of code that we write for if not we are engaged in cargo cult programming practicing the form without the reason.

Just in case you missed it Richard Feynman’s commencement address at Caltec.

Comment on Cargo cult science and web development

Your email address will not be published.

You may use these HTMLtags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>