"I was 5 or 6 when I got my first sense of the joys of
computer programming. This was in the early 1980s, when few people had a
computer. One day, my dad brought home a Sinclair ZX Spectrum, one of the
world’s early affordable, mass-market PCs. The device looked like a chunky
keyboard; it had 48 kilobytes of memory (my phone has about 125,000 times as
much RAM); and it used your TV as a display. Software, mainly games, came on
cassette tapes that you loaded into the computer with a connection to a tape
player — the floppy drive of its time.
But the games took forever to load, and while waiting I
would often pore over the incredible programming manual that came with the
Spectrum. The book was full of simple programs written in the accessible BASIC
programming language. Most of it went over my head, but as I experimented with
the examples, I began to feel the thrill that people who fall for computer
programming often talk about — the revelation that, with just the right set of
incantations, you can summon to life these otherwise inert machines and get
them to do your bidding.
My obsession with programming deepened when I got to high
school (I was very popular!), and there were a few weeks early in college when
I thought coding could be something I did for a living. Of course, I didn’t
stick with it; for me, writing words won out over writing code.
Though I did find it fascinating to learn to think the way
computers do, there seemed to be something fundamentally backward about
programming a computer that I just couldn’t get over: Wasn’t it odd that the
machines needed us humans to learn their maddeningly precise secret languages
to get the most out of them? If they’re so smart, shouldn’t they try to
understand what we’re saying, rather than us learning how to talk to them?
Now that may finally be happening. In a kind of poetic
irony, software engineering is looking like one of the fields that could be
most thoroughly altered by the rise of artificial intelligence. Over the next
few years, A.I. could transform computer programming from a rarefied, highly
compensated occupation into a widely accessible skill that people can easily
pick up and use as part of their jobs across a wide variety of fields. This
won’t necessarily be terrible for computer programmers — the world will still
need people with advanced coding skills — but it will be great for the rest of
us. Computers that we can all “program,” computers that don’t require
specialized training to adjust and improve their functionality and that don’t
speak in code: That future is rapidly becoming the present.
A.I. tools based on large language models — like OpenAI Codex,
from the company that brought you ChatGPT, or AlphaCode, from Google’s DeepMind
division — have already begun to change the way many professional coders do
their jobs. At the moment, these tools work mainly as assistants — they can
find bugs, write explanations for snippets of poorly documented code and offer
suggestions for code to perform routine tasks (not unlike how Gmail offers
ideas for email replies — “Sounds good”; “Got it”).
But A.I. coders are quickly getting smart enough to rival
human coders. Last year, DeepMind reported in the journal Science that when
AlphaCode’s programs were evaluated against answers submitted by human
participants in coding competitions, its performance “approximately corresponds
to a novice programmer with a few months to a year of training.”
“Programming will be obsolete,” Matt Welsh, a former
engineer at Google and Apple, predicted recently. Welsh now runs an A.I.
start-up, but his prediction, while perhaps self-serving, doesn’t sound
implausible:
I believe the conventional idea of “writing a program” is
headed for extinction, and indeed, for all but very specialized applications,
most software, as we know it, will be replaced by A.I. systems that are trained
rather than programmed. In situations where one needs a “simple” program …
those programs will, themselves, be generated by an A.I. rather than coded by
hand.
Welsh’s argument, which ran earlier this year in the house
organ of the Association for Computing Machinery, carried the headline “The End
of Programming,” but there’s also a way in which A.I. could mark the beginning
of a new kind of programming — one that doesn’t require us to learn code but
instead transforms human-language instructions into software. An A.I. “doesn’t
care how you program it — it will try to understand what you mean,” Jensen
Huang, the chief executive of the chip-making company Nvidia, said in a speech
this week at the Computex conference in Taiwan.
He added: “We have closed the digital divide. Everyone is a
programmer now — you just have to say something to the computer.”
Wait a second, though — wasn’t coding supposed to be one of
the can’t-miss careers of the digital age? In the decades since I puttered
around with my Spectrum, computer programming grew from a nerdy hobby into a
vocational near-imperative, the one skill to acquire to survive technological
dislocation, no matter how absurd or callous-sounding the advice. Joe Biden to
coal miners: Learn to code! Twitter trolls to laid-off journalists: Learn to
code! Tim Cook to French kids: Apprenez à programmer!
Programming might still be a worthwhile skill to learn, if
only as an intellectual exercise, but it would have been silly to think of it
as an endeavor insulated from the very automation it was enabling. Over much of
the history of computing, coding has been on a path toward increasing
simplicity. Once, only the small priesthood of scientists who understood binary
bits of 1s or 0s could manipulate computers. Over time, from the development of
assembly language through more human-readable languages like C and Python and
Java, programming has climbed what computer scientists call increasing levels
of abstraction — at each step growing more removed from the electronic guts of
computing and more approachable to the people who use them.
A.I. might now be enabling the final layer of abstraction:
the level on which you can tell a computer to do something the same way you’d
tell another human.
So far, programmers seem to be on board with how A.I. is
changing their jobs. GitHub, the coder’s repository owned by Microsoft,
surveyed 2,000 programmers last year about how they’re using GitHub’s A.I.
coding assistant, Copilot. A majority said Copilot helped them feel less
frustrated and more fulfilled in their jobs; 88 percent said it improved their
productivity. Researchers at Google found that among the company’s programmers,
A.I. reduced “coding iteration time” by 6 percent.
I’ve tried to introduce my two kids to programming the way my
dad did for me, but both found it a snooze. Their disinterest in coding has
been one of my disappointments as a father, not to mention a source of anxiety
that they could be out of step with the future. (I live in Silicon Valley,
where kids seem to learn to code before they learn to read.) But now I’m a bit
less worried. By the time they’re looking for careers, coding might be as
antiquated as my first PC.”
Komentarų nėra:
Rašyti komentarą