I was five or six years old when I first felt the joy of computer programming. That was in the early 1980s, when not many people had computers. One day my dad brought home a Sinclair ZX Spectrum, one of the first affordable mass-market computers in the world. That device looked like a clunky keyboard that used a TV as a monitor. The software (mostly the games) came on cartridges, but the games took a long time to load, and while I waited I usually flipped through the incredible programming manual that came with the Spectrum.
The manual is filled with simple programs written in the BASIC programming language. I couldn’t understand most of it, but as I experimented with the examples, I began to feel that excitement that people who are fascinated by computer programming often talk about—that with the right set of instructions, you can summon these original Lifeless machines do things for you.
I do find it fun to learn to think like a computer, but there’s also a backwardness to programming a computer that’s puzzling to me: machines need us humans to learn their maddeningly precise secret language in order to function at their best , isn’t that strange in itself? If they’re so smart, shouldn’t it be them trying to understand what we say, rather than us learning how to talk to them?
Now, it may finally be happening. Ironically, software engineering appears to be one of the fields most likely to be revolutionized by the rise of artificial intelligence. In the next few years, artificial intelligence could turn computer programming from a rare, high-paying career into a universally accessible skill. It is expected that people can easily master programming and apply it to work in various industries. This doesn’t have to be a scary thing for computer programmers—the world still needs people with advanced programming skills.
AI tools based on large language models—such as OpenAI Codex or AlphaCode from DeepMind—have begun to change the way many professional programmers work. Currently, these tools mainly act as assistants—they can find bugs, write explanations for incomplete code fragments, and provide code suggestions for performing everyday tasks. But AI tools are quickly becoming smart enough to rival human programmers.
Last year, DeepMind reported in the journal Science that, after evaluating programs written by AlphaCode against programs submitted by human participants in programming competitions, they found that AlphaCode performed “roughly equivalent to those trained for several months to a year.” level of novice programmers”. “Programming is going to be obsolete,” Matt Welsh, a former engineer at Google and Apple, recently predicted. Wales now runs an AI startup. His predictions may be biased, but they don’t sound implausible.
“I think the traditional idea of ’programming is dying. In fact, except for very specialized applications, most software will be replaced by AI systems that are trained rather than programmed by humans. ”
Welsh’s argument was published earlier this year in the internal journal of the Association for Computing Machinery, in an article titled “The End of Programming.” Viewed from another angle, AI also marks the beginning of a new type of programming—one that doesn’t require us to learn code, but translates human language instructions into software.
Artificial intelligence “doesn’t care how you program it, it tries to understand what you say,” Jensen Huang, chief executive of chipmaker Nvidia, said in a speech at Computex in Taipei in May. He added, “We’ve bridged the digital divide. Everyone is a programmer now. You can just say something to a computer and it generates a program.”
But wait, shouldn’t programming be one of the can’t-miss careers in the digital age? In the decades since I first got my hands on a Spectrum computer, computer programming has grown from a nerdy hobby to a serious career. As an intellectual exercise, programming may still be a skill worth learning. But you’d be foolish to think that programming enabled the wave of automation and therefore isn’t itself immune to this wave of new technology.
Much in the history of computing, programming has tended towards simplicity. Once upon a time, only a small number of scientists who knew binary knew how to manipulate a computer. Over time, from assembly language to more readable languages like C, Python, Java, etc., programming has risen to what computer scientists call ever-increasing levels of abstraction—with each step moving further and further away from computing. Electronic components are also getting easier for the people who use them. AI may be implementing the final level of abstraction: the level where you can tell a computer to do something just as you would tell another human to do something.
So far, programmers seem to agree that AI will change their jobs. GitHub, the coding library platform owned by Microsoft, surveyed 2,000 programmers last year about how they use the AI programming assistant Copilot. Most said Copilot made them feel less frustrated and more fulfilled at work; 88% said it increased their productivity. Researchers at Google found that the company’s programmers saw a 6% reduction in “code update time” thanks to artificial intelligence.
I tried to teach my two kids to code like my father did to me, but they both found it boring. This has disappointed me as a father, and made me very concerned that they might be out of touch with the future (I live in Silicon Valley, where kids seem to learn to code before they learn to read). But now I’m less worried. By the time they get a job, programming may be as obsolete as my first computer.