Abstract
Programming languages are languages-"unnatural"languages because they are constructed explicitly; "formal"languages because they rely on mathematical notations and are described mathematically; "machine"languages because they are used to communicate with machines. Above all, programming languages are "human"languages. Programs in programming languages are spoken and read and written and designed and debugged and debated by humans, supported by human communities and forming those communities in turn. Langauge implementations, being programs themselves, are likewise designed and debugged and debated by humans. Programming languages adopt structural elements from natural language, including syntax, grammar, vocabulary, and even some sentence structure. Other aspects of language have received less attention, including noun declension, verb tense, and situation-Appropriate register. Semiotics shows how language use can connote and imply, and will lead to interpretation. Language involves larger level structure too: conversations, stories, and documents of all kinds. Language supports both cognitive and affective processes, and is involved in building mental models that we use to recall, reason, and respond. Programming is a complex activity, uncertain yet precise, individual and social, involving intent and interpretation. Language is not the accident of programming-it is the essence.
Author supplied keywords
Cite
CITATION STYLE
Noble, J., & Biddle, R. (2023). Programminglanguage as Language. In Onward! 2023 - Proceedings of the 2023 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, Co-located with: SPLASH 2023 (pp. 191–204). Association for Computing Machinery, Inc. https://doi.org/10.1145/3622758.3622885
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.