Programming languages as technical artifacts
Taken at face value, a programming language is defined by a formal grammar. But, clearly, there is more to it. By themselves, the naked strings of the language do not determine when a program is correct relative to some specification. For this, the constructs of the language must be given some semantic content. Moreover, to be employed to generate physical computations, a programming language must have a physical implementation. How are we to conceptualize this complex package? Ontologically, what kind of thing is it? In this paper, we shall argue that an appropriate conceptualization is furnished by the notion of a technical artifact.
Turner, R. (2014). Programming languages as technical artifacts. Philosophy & Technology 27 (3), pp. 377-397.
This document is unfortunately not available for download at the moment.