Software Theory: A Cultural and Philosophical Study