Voodoo Programming

Why Trust Techopedia

What Does Voodoo Programming Mean?

Voodoo programming refers to the practice of coding according to superstition, guesses, or anything other than logic. Voodoo programming is a rather broad term for situations where a programmer uses a piece of code without truly understanding how it works.

Advertisements

This programming technique may also be called wizardry, sorcery or black magic, and its practitioners may be referred to as witch doctors.

Techopedia Explains Voodoo Programming

The term voodoo programming implies a lack of knowledge on the part of the programmer or developer. When a programmer first starts out, he or she may lack understanding of the deeper principles used to code a system. That said, these individuals might rely on voodoo programming, or cutting and pasting from books or other sources, leaving them unable to understand and explain what each and every line of code means. More experienced programmers see this as a dangerous practice because it can make reverse engineering or even common debugging more difficult.

The use of the term voodoo programming also creates an interesting contrast that reveals more about the primary principles and values of developers. Among these, the use of logic is key in creating and testing code, where the best minds involved in a project benefit from knowledge of the deeper underlying logic at work in a system.

Advertisements

Related Terms

Margaret Rouse
Technology Specialist
Margaret Rouse
Technology Specialist

Margaret is an award-winning writer and educator known for her ability to explain complex technical topics to a non-technical business audience. Over the past twenty years, her IT definitions have been published by Que in an encyclopedia of technology terms and cited in articles in the New York Times, Time Magazine, USA Today, ZDNet, PC Magazine, and Discovery Magazine. She joined Techopedia in 2011. Margaret’s idea of ​​a fun day is to help IT and business professionals to learn to speak each other’s highly specialized languages.