Aristotle was one of the greatest philosophers who ever lived. I think his contribution to both science and philosophy is enormous. He described that there are four types of “causes” i.e. Material, Formal, Efficient and Final. Let me describe these causes in the following way: Let’s assume that a programmer has made a softwareÂ using PHP.
In the above example, PHP is the material cause because this forms the material from which the software has been made. The Formal cause is the essence or the need for fulfilling which the software has been created. The efficient cause is the act of programmer keying in PHP codes into the computer because this act actually results in the software to be created. Otherwise, the programmer can look all day at the screen and there will no software at the end of the day. The final cause of the software isÂ the programmer itself and what he had in mind about the essence of the software.
Why is this important to know?
When I spent some time thinking about it, I realized that the impact is very deep. For one thing, causes leads to effects. The final cause of the software is the programmer’s interpretation (or misinterpretations). Thus, the final cause may end up producing a software which is very different from the formal cause. What if there is unity between theÂ final cause and formal cause but the material cause is insufficient i.e. the technology used to produce the software is incapable of producing the desired application?
Thus in order to meet the formal cause of any software application it is important that: