> The constraints enforced in the language still matter. A language which offers certain correctness guarantees may still be the most efficient way to build a particular piece of software even when it's a machine writing the code.
I think this is right. Strategically, do you have a mental model of some key elements such a new programming language should exhibit? I'm curious about which existing programming languages might be best suited or where the opportunity is for designing something new that could throw away all the optimizations we've done for humans and instead optimize for AI programmers.
I don't have any ideas quite that far-reaching, but it has struck me that agentic programmers seem to struggle with performance issues. What if a language had something like a type system for expressing constraints on computational complexity and space/time tradeoffs?
My own pet idea is a DSL for declaring tiny in-memory databases, to be used inside a Rust program. Instead of writing a bunch of code with loops and Vec, HashMap, HashSet, etc, what if you could declare your tables, declare your queries, and let a little compiler produce an efficient implementation, expressed in terms of structs and iterators?
I think this is right. Strategically, do you have a mental model of some key elements such a new programming language should exhibit? I'm curious about which existing programming languages might be best suited or where the opportunity is for designing something new that could throw away all the optimizations we've done for humans and instead optimize for AI programmers.