Cargo cult programming

From Wikipedia, the free encyclopedia

Cargo cult programming is a style of computer programming that is characterized by the ritual inclusion of code or program structures that serve no real purpose. Cargo cult programming is typically symptomatic of a programmer not understanding either the bug they were attempting to solve or the apparent solution (compare shotgun debugging, voodoo programming).

Cargo cult programming can also refer to the results of (over-)applying a design principle blindly without understanding the reasons behind that design principle in the first place. An example would be a novice being taught that commenting code is good, and then commenting every line with comments such as "increment i by 1"; other examples involve overly complex use of design patterns or certain forms of coding style.

The term 'cargo cult', as an idiom, typically refers to aboriginal religions which grew up in the South Pacific after World War II. The practices of these groups centered on building elaborate mock-ups of airplanes and military landing strips in the hope of summoning the god-like airplanes that had brought marvelous cargo during the war. Use of the term in computer programming probably derives from Richard Feynman's characterization of certain practices as Cargo cult science.

Contents

[edit] Cargo cult software engineering

A related term in software engineering is cargo cult software engineering, coined by Steve McConnell.

McConnell describes software development organisations that attempt to emulate more successful development houses, either by slavishly following a software development process, or by taking a commitment oriented development approach.

In both cases, McConnell contends that competence ultimately determines whether a project succeeds or fails, regardless of the development approach taken; furthermore, he claims that incompetent "imposter organisations", that merely emulate the form of successful software development organisations are, in fact, engaging, in what he calls Cargo cult software engineering. [1]

[edit] See also

[edit] Reference

  • Surely You're Joking, Mr. Feynman!, Richard Feynman, W. W. Norton & Co, New York, 1985, ISBN 0-393-01921-7. One of the chapters is the transcript of a 1974 CalTech commencement address, which contained the coining of "Cargo cult science".

[edit] External link

This article is based in part on the Jargon File, which is in the public domain.