Just had a wild thought:

Have we made our last major programming languages?

@marcoarment I suspect we’ll have a new round of languages that are designed to be used by LLMs more efficiently, but still readable/understandable by humans.

@emc @marcoarment actually I think this is even less likely. One reason LLMs are *so* good at writing code is because there is an insane amount of material for them to train on

What about current languages is inefficient for LLMs? What aspects of LLMs would you take advantage of with a new language?

How would you train all the edge cases and best practices if there's not a huge number of humans out there generating the content LLMs have trained on so far?

@mixdup @emc @marcoarment tokens for language primitives are an obvious point to pick at. LLMs are trained to replicate human work, but if you optimise and train the LLM, you'd get stuff which would be difficult to follow for a human but could be understood in a language model. Heck it might look closer to assembly.
@karanj @emc @marcoarment but can you come up with enough synthetic training data for the LLM to learn this optimized language as well as it has learned other languages?

@mixdup @karanj @marcoarment If the LLM creates the optimized language based on learnings with other languages and incorporates tests during the learning stage. Maybe?*

* please note: Erik can make mistakes. Please double-check responses.

@emc @karanj @marcoarment this is where I'm highly skeptical. LLMs are really good at remixing things that already exist. I'm not really convinced they are going to synthesize something brand new and truly understand what they're creating

@mixdup @karanj @marcoarment not truly understanding. This is where automated tests come in. Synthesizing tests to define an expected result and performing tests to validate whether the code successfully delivers that result.

The hardest part in this is likely defining the tests… and completely agree there are many many areas where this can go wrong. I can only imagine the vulnerabilities that will later be discovered. This is not a good idea. Just one I wouldn’t be surprised to see pushed out into the world.