Why even assume that the most optimal programming languages for agentic coding are the ones that humans use? Maybe operate on ASTs directly? Some other form of programming that humans would find hard but that is a good fit for LLMs?
Yes, because that code was never written to be understood by machines, merely to be mechanically translated. Software is a very messy set of layers of leaky abstractions trying to express reasonably well defined ideas. Humans can't write code without mistakes, in spite of all the examples out there. If they could compilers wouldn't have to emit error messages.
Operate directly on ASTs? An optimal language that is "hard" for humans to use (hardly), but a good fit for LLMs? No need to reinvent the wheel (endlessly). These guys have been at it and carrying the flag for a very long time now (they're probably pretty exhausted):
That's what a good amount of people are doing, including in the Elixir ecosystem (where Jose Valim, the author of OP, mainly resides): build graph/vector DB-based code indexers and finders. LLMs seem to deal with those well and take less turns to give an answer or even find and address a smell.
We also need a metric ton of opinionated linting to sheep-herd codebases into a smaller amount of possible shapes -- which I'm strongly in favor of and see it as the next iteration (of the concept of a single code formatter a la Rust) because it'll put many other bikeshedding time-wasters to rest, hopefully forever.
To be honest though, it's mostly hypotheses and feelings; nobody has truly figured it out yet -- and if some have, they're keeping the secret sauce to themselves.
I don't care if it's optimal for them. It's clearly good enough. We have, in hand, the ultimate in auditable AI output. We may not be able to audit how it got to the code it delivered, but it is really quite good at delivering code we can read. It would be very silly for us to give it up so that they can be somewhat more efficient or something, if they even would necessarily be that much more efficient.
To the point that I would support banning the creation of an AI-only language that can't be read by humans. Huge, huge, huge step in the wrong direction.
I agree. But I'm very sure that it will happen. AI the way we have put it together now will be tempted to create new languages whenever they communicate to optimize channel use.
LLM's are trained on human code though. Converting the code to its ast tree and training ai on that would be trivial of course, but I imagine there would be information that explains why something exists that would be missed.