Code flows from The fingers of Feross Aboukhadijeh.
A supporter of the open source software movement, he has written immensely popular web apps, peer-to-peer file exchanges, and over 100 other pieces of code that he’s given away, all in the 10 years since graduating from college. Lately, however, Aboukhadijeh has entered a new kind of power state aided by a tool called Copilot. It’s a piece of artificially intelligent software that does some of the typing and thinking for him.
Built by OpenAI, the private research lab, and GitHub, Microsoft’s code-sharing website, the tool is essentially auto-complete for software development. Just as Gmail tries to finish a sentence as you write it, Copilot offers to finish part of your program. The tool was released to a select group of programmers last summer.
Aboukhadijeh soon found that Copilot was good, almost unsettling. He would start typing a line of code, and in a few seconds the AI would figure out where he was going – and then, boom, the next four or five full lines would appear as light gray text, which he could accept by pressing Tab to push . Seeing it produce clean code that did exactly what it set out to do, he found it a little creepy. “How come these predictions?” he remembers wondering. “Some are really creepy.”
For weeks, Aboukhadijeh detained Copilot while he was at work. He found it had other impressive tricks as well; it could even understand commands he wrote in basic English. If he just typed into his code editor, “Write a function that capitalizes every word in a document,” Copilot would build that code from scratch. He would check that there were no errors in it; sometimes it did.
What’s more, the tool was improve his code. For example, at one point Aboukhadijeh needed his software to recognize different formats of text documents, so he listed all formats one by one in his code. Copilot instead recommended a single, snappy command that elegantly brought them all together.
“I was like, how is it even…?” he says, walking away bewildered. He doesn’t think he’ll ever take out Copilot.
Nor is he alone: nine months after Copilot’s launch, tens of thousands of programmers have tried the software. I spoke to 15 programmers who have used it, and most, like Aboukhadijeh, found that it speeds up their pace dramatically – even if they are sometimes startled by how good it is. (“Just stunning,” as Mike Krieger, who coded the original Instagram, put it.) Admittedly, they also noticed it made mistakes ranging from blunt to disturbingly subtle. GitHub and OpenAI tracked Copilot’s performance through anonymized data on how many proposed rules coders accept and how much they then store on GitHub. They have found that the AI writes as much as 35 percent of its users’ newly posted code.
Ever since computers came into existence, people have looked for ways to make them easier to program. The very first American programmers, the women who made instructions for the ENIAC machine in 1945, had an almost laughably difficult task: they had to build logic. with wires† In the 1950s, tapes and punched cards made the job a little easier. Then programming languages came with English-like syntax, some of which — like Basic or Cobol — were designed explicitly to encourage neophytes. In the 1990s, languages like Python automated some of the most tedious, frustrating parts of coding, such as memory management. In the 2000s, the open source movement created a generation of programmers who rarely write things from scratch.
Suffice it to say, the Hollywood image of a coder single-handedly typing out piles of code hasn’t been true for years. By stitching together pieces written by others, individuals can develop apps that are far more sophisticated than would have been possible 20 years ago. Copilot promises to be the next important step in this decades-long journey.