Michael Mateas, “Procedural Literacy: Educating the New Media Practitioner” (2007)
Procedural literacy, of which programming is a part, is critically important for new media scholars and practitioners, that its opposite, procedurally illiteracy, leaves one fundamentally unable to grapple with the essence of computational media. In fact, one can argue that procedural literacy is a fundamental competence for everyone, required full participation in contemporary society, that believing only programmers (people who make a living at it) should be procedurally literate is like believing only published authors need to learn how to read and write; here I will restrict myself to the case of new media scholars and practitioners.
By procedural literacy I mean the ability to read and write processes, to engage procedural representation and aesthetics, to understand the interplay between the culturally-embedded practices of human meaning-making and technically-mediated processes. With appropriate programming, a computer can embody any conceivable process; code is the most versatile, general process language ever created. Hence, the craft skill of programming is a fundamental component of procedural literacy, though it is not the details of any particular programming language that matters, but rather the more general tropes and structures that cut across all languages.