> The point of programming is not to do the same thing again.

That's called an abstraction, which AI is expressly not. If your work involves writing the same code over and over again, you're doing it wrong.

> I’m happy most programming is going away. I was capable but now I’m even more capable at creating solutions.

This describes management.

> The art will stay.

This describes actual engineering.

Why isn’t AI a complex form of abstraction?

It works because it re-uses previous work to solve new problems. That is what abstractions are used for.

From a previous comment, vis-à-vis compilation vs. code generation:

> High-level programming languages use well-defined, limited syntax to encode program behavior in a deterministic way. Compilers translate these directions into programs that should have identical behavior between compiler runs and between different compilers. (If they don't, that's a compiler bug, or else an artifact of UB.) This means you can structurally and provably rely on the high-level programming layer without worrying about what's underneath: the assembly is abstracted away. You also get the massive benefit of being able to tweak and improve the assembly layer independently of the programming language layer, so long as the contract between language and compiler is not violated.

> If AI is a "layer of abstraction," so is working with a bunch of contractors to make your app. The definition is broadened to the point of absurdity. (Solely: "I don't have to think about code anymore," which only touches on the most superficial aspect of an abstraction.)

If there was a way to get a reproducible, deterministic mapping between natural language and code by way of a LLM, that would be an abstraction. But... that's just called a programming language (specifically a transpiler).