The four causes were described by Aristotle as four different ways to answer the question "why?" or "for what reason?" or "because of what"?
Inspired by Heidegger's description of the four causes )
1. Material cause
The material that something is made of. For example, the words, characters that are used in a program and ultimately the underlying bits that the binary code is built on.
2. Formal cause
The form, the shape, the structure, the appearance that something takes. For example, the source code, the syntax, the structure and organization of the program.
3. Efficient cause
The person or thing whose direct action resulted in a particular the thing. This is a similar concept to the proximate cause. For example, the programmer who wrote the code.
4. Final cause
The purpose and intention for something. The reason something is the way it is or does what it does. For example, why the code was written; the problem that it solves for the user.