Programming Languages as Intermediate Representations in the AI-Generated-Code Era
Abstract. Code is becoming what assembly became forty years ago: an intermediate representation. The author of new code is increasingly not a human, and in the design center of the next decade, the author of new code is also not an AI that writes code in any meaningful sense; code is being synthesized from intent. Humans express intent; a system produces code; the code is read by neither party in the sense in which it once was. Programming language design has, throughout its history, optimized for one constraint: a human reads and writes the code, and every prevailing language feature is downstream of it. We argue that this is not an incremental shift to be accommodated by retrofitting tooling, but a categorical change in the design center of programming languages: when code is an intermediate representation, the constraints that produced today's language landscape no longer bind. We claim that three properties should occupy the resulting design space: a deliberately small surface, a fully mechanized static semantics, and a compilation chain (from intent through code to machine) that is end-to-end a formal object.
BibTeX
@misc{rack2026intermediaterepresentations,
author = {Rack, Constantin},
orcid = {0009-0005-8639-7487},
title = {Programming Languages as Intermediate Representations in the AI-Generated-Code Era},
year = {2026},
note = {Preprint, to be submitted to arXiv (cs.PL)},
url = {https://www.constantin-rack.com/papers/#ir-ai-generated-code-era}
}