Моё мнение: программы чаще похожи на художественный текст, т.к. изложены в хаотичной манере, немного непредсказуемы и поэтому с трудом познаются лишь только рационально.
Непредсказуемость в программах вызвана не только их чрезмерной для единомоментного схватывания умом сложностью, но и влиянием независящих от программы состояний. И я не уверен, что это то же самое, как в математике аргумент или переменная. Вот пример: если сделать несколько потоков выполнения, порядок выполнения команд всех потоков будет определяться не программой, а операционной системой. Программа одинаковая, все входные данные одинаковые, а результат разный.
Программу можно назвать формулой, но если это формула, в ней часто есть вероятностный компонент. Иногда его нет. Наверно, можно это обозначить каким-то математическим оператором, переставляющим элементы векторов определённым образом в зависимости от аргумента. В программах такие непостоянные эффекты имплицитно подразумеваются, и обычно программисты пытаются держать их под контролем, компенсировать при необходимости.