An exploration of program as language

  • Authors:
  • Elisa Baniassad;Clayton Myers

  • Affiliations:
  • Chinese University of Hong Kong, Hong Kong;Chinese University of Hong Kong, Hong Kong

  • Venue:
  • Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications
  • Year:
  • 2009
  • Better science through art

    Proceedings of the ACM international conference on Object oriented programming systems languages and applications

Quantified Score

Hi-index 0.00

Visualization

Abstract

In this paper we explore the idea that the code that constitutes a program actually forms a higher-level, program specific language. The symbols of the language are the abstractions of the program, and the grammar of the language is the set of (generally unwritten) rules about the allowable combinations of those abstractions. As such, a program is both a language definition, and the only use of that language. This specificity means that reading a never-before encountered program involves learning a new natural language, and that porting code from one program to another requires translation from one natural language into another. We suggest that the complexity and depth of the program language is affected by the gap between the program semantics (what the program is meant to do) and the code semantics (the way in which the machine runs). We believe that in seeing that programs are languages, we gain new insight into our own experience as programmers, and are able to gain new perspective on the intense complexity of code and its creation.