Learning to code takes on a new meaning as AI shakes up programming
For decades, a trite piece of advice has been offered to anyone unfortunate enough to find themselves out of work: Learn to code. After all, the world seems to have an endless demand for software, and thus, for the people who can make it.
But in this new era of?artificial intelligence, learning to code is taking on an entirely different meaning. Some generative AI applications are as adept at spitting out computer code as they are at language, meaning they are fairly proficient at some tasks, horrible at others, occasionally error-prone, but good enough to spark worries about the role of human workers in the future and dreams of massive productivity gains.
Tools to predict and complete lines of script as they’re being written have vastly improved thanks to large language models such as?OpenAI’s?GPT-4. GitHub Inc. launched a more powerful version of a product called Copilot earlier this year built on GPT-4, which offers suggestions to programmers as they write and allows them to ping an AI assistant with questions.?OpenAI’s?ChatGPT can write code from scratch based on plain English instructions, Amazon has an AI coding tool, and Google debuted Codey in May, an AI model trained on programming languages.
Canadian companies that are experimenting with these tools are seeing productivity gains, but the long-term implications are unclear. Predictably, there have been knee-jerk prognostications that AI will?spell the end of programmers?as the technology improves.
Chris Caren, chief executive of plagiarism detecting service Turnitin LLC,?said on a panel earlier this year?that within 18 months the company might only require 20 per cent of the engineers it employs and that coders could be hired straight out of high school, a comment that drew an audible gasp from another panelist.
领英推荐
A more common view is that companies will take advantage of any efficiency gains from AI by doing more of everything – tackling more complex problems and releasing more products at a faster pace, spurring demand for more programmers. But in between is a middle ground where some companies skirt by with hiring fewer software engineers than in the past, particularly early-stage startups.
The topic is sensitive – bordering on tiresome – in some coding communities. One Reddit board for computer programmers has been so swamped with posts asking whether?AI?will replace coders that some members requested a ban on the question.
There are plenty of posts showering disdain on the capabilities of ChatGPT and other tools, too. Because these applications have been trained on reams of existing code, they are best suited for boilerplate and rote tasks, not necessarily coming up with novel solutions. And just as ChatGPT can make up facts in English, it can make up facts in code. It may claim certain functions exist when, in fact, they don’t.
Early research shows programmers can still benefit from tools such as Copilot, even if much of this research comes from GitHub itself.?The company has found?that programmers who use Copilot are more fulfilled, less frustrated and have improved focus. In one experiment, coders using Copilot completed a task 55 per cent faster than those who didn’t.
Other research is more mixed.?A recent paper?from the University of Waterloo found Copilot is “not as bad” as human programmers at introducing security vulnerabilities into code, while?another study?from the university found code from Copilot may have significantly slower run time performance. Researchers from Bilkent University in Turkey found?ChatGPT produced correct code?65 per cent of the time, while Copilot only got it right in 46 per cent of cases. (A newer version showed improvement, according to the researchers.)