Artificial intelligence can turn plain words into code, but that does not make it a new layer of abstraction in programming, the Danish software developer Mark Seemann argued on his blog on Monday. It is automation, he wrote, and the difference matters.

The claim he answered has been circulating with growing frequency. A recent LinkedIn post, written in Danish, put it this way: “AI will be the next layer of abstraction in IT. First we thought in machine instructions, then in procedures and functions, then in objects and patterns that are now built into the languages. With AI, we can use ordinary words to describe what we want, and then the AI writes the code.”

Mr. Seemann’s answer turns on how the word abstraction is defined. In programming, he wrote, earlier layers of abstraction have carried a particular property, one captured by the computer scientist Edsger Dijkstra: “the purpose of abstracting is not to be vague, but to create a new semantic level in which one can be absolutely precise.” There are exceptions, he allowed — the C language has unspecified features, and Haskell is vague about what exactly its Int type is — but precision has been the general standard.

An orange arrow points downward through three stacked cream-colored slabs, with progressively finer grid lines, against a blue background.

Against that test, AI coding fails. At a minimum, Mr. Seemann wrote, “absolutely precise” translation from a higher to a lower level of abstraction should be well-defined and deterministic. Large language models are neither. When a programmer writes an instruction in ordinary words, the translation to code is not defined at all; it is the product of a prediction system. And issuing the same prompt twice, as most users of these models know, often produces different results.

He leaned on a distinction drawn by the programmer Rich Hickey: compilers are tools, while LLMs offer automation. “Tools are predictable once mastered,” the post explained. “Automation may or may not be predictable, but is not wielded. You have to trust that the automation does what you intent.” That trust does not come easily to Mr. Seemann: “Given that LLM-based automation is fundamentally non-deterministic, I personally have a hard time mobilizing such trust.”

Used loosely, he conceded, the word abstraction can stretch to fit. Writing specifications in normal language and getting an executable program back does feel like abstraction, and if the term simply means a force multiplier that lets you do more with less, then AI coding may qualify as the next level. Choosing between the two definitions, he wrote, is the reader’s call.

His point was narrower. The new source of productivity, he wrote, is fundamentally different from every earlier kind of programming-language abstraction, and pretending otherwise is dangerous. “Understanding this difference,” the post concluded, “may be key to using the new technology effectively and safely.”