The End of Programming Languages

There has been a lot of debate recently about whether programmers will cease to exist, or if programming is more valuable than ever. Both sides have valid points. However, I believe that what will actually happen is that programming languages themselves will come to an end, and the definition of a "programmer" will shift.

A famous Andrej Karpathy tweet from a few years ago said, "The hottest new programming language is English." I think this is definitely the direction we're heading. Programming languages as we know them will cease to exist.

Consider the example of AlphaGo and AlphaZero. Initially, AlphaGo was trained using human heuristics. Then AlphaZero started from scratch, first moving toward those human heuristics (which were only local optima), but eventually converging to a more global optimum and completely discarding them. Now, human Go players are learning from AlphaZero. I think something similar will happen with programming languages.

The purpose of a programming language, as I see it, is to act as a translator between humans and computers—an API for the human to translate its intent into machine code. Every programming language has features that make it easier for humans to communicate with computers, and also includes guardrails to prevent humans from making mistakes.

But in the future, AI will be much better than humans at this translation. Just as human heuristics in Go became obsolete, programming languages will also become obsolete—at least for productive use. People may still write code or use programming languages for fun, just as people continue to play chess or Go as a hobby or sport—not to prove efficiency, but for enjoyment.

For productive purposes, though, I believe programming languages, frameworks, and everything around them will eventually cease to exist.