What Is Programming? - Nicolajsen, Sebastian; Brabrand, Claus (Communications of the ACM, 2025)
This article explores the evolving meaning of programming in the era of generative artificial intelligence. The authors question whether programming is merely the act of writing instructions or a broader creative and problem-solving process. They contrasts historical and theoretical views—emphasizing programming as an art involving domain understanding, abstraction, and ethics—with how contemporary educators define and teach it, often in narrower, code-centric terms. A survey of Danish programming educators revealed that while many reduce programming to instruction-writing, their definitions of a “good programmer” include creativity, abstraction, and logical reasoning—qualities harder to automate. The authors argue that in the age of AI, educators must explicitly teach and emphasize these intangible aspects of programming to preserve its core value.