Программа и код
Природа компьютерных программ может быть охарактеризована с двух разных точек зрения: как исполняемые артефакты, создающие сигналы на вычислительном устройстве, или как чисто математические объекты со строгой, однозначной семантикой. Чтобы различать оба употребления, я использую слово «код» для первого и «программа» для второго. Это различие уместно, чтобы избежать путаницы при обсуждении таких понятий, как достоверность или правильность программного обеспечения. Данный момент иллюстрируется опровержением известного утверждения о невозможности верификации и вводящих в заблуждение утверждений о коммерческих продуктах. В то же время разграничения «программа против кода «недостаточно: я показываю, что «программа» всегда сопровождается неявным или явным контекстом приложения, который необходим для охвата ее семантики. В конечном счете, анализ, проведенный в этой статье, помогает отличить относительные от математических истин при обсуждении качеств программного обеспечения.