We’ve repeatedly moved to higher levels of abstraction: from assembly to C and C++, then to languages and managed environments such as Java and C#. The lower layers didn’t become useless, but fewer developers needed to work with them directly. Could AI represent another such shift not just abstracting away the machine, but abstracting away much of the act of writing code itself?
If agents eventually write and maintain most of our software, perhaps the important question will no longer be “Which language do humans enjoy working in?” but “Which language allows agents to produce reliable software most effectively?” Those might not have the same answer. I can imagine future languages being designed primarily around agents’ ability to generate, verify, and modify programs, rather than around human preferences.
From that perspective, I sometimes see Haskell and other languages celebrated for their elegance as something that could gradually become a form of traditional craftsmanship: valued for their beauty, intellectual depth, and the skill involved, but with a diminishing role in everyday software production. Not because the craft has lost its value, but because the way we produce software has changed.