Continue reading the main story
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.
Office Hours With Farhad Manjoo
Farhad wants to chat with readers on the phone. If you’re interested in talking to a New York Times columnist about anything that’s on your mind, please fill out this form. Farhad will select a few readers to call.
A version of this article appears in print on , Section
of the New York edition
with the headline:
Maybe We Don’t Need To Learn to Code. Order Reprints | Today’s Paper | Subscribe
Continue reading the main story
Computer programming is the process of writing code to facilitate specific actions in a computer, application or software program, and instructs them on how to perform.Why does programming feel so good? ›
There are so many things to love about coding, both from a technical and philosophical perspective. You can sharpen your mind, rewire your brain, provide people with great software... the options and impact are nearly endless. Programming can really empower you to change the world.Why do you think programming is important and how can it help in our daily life? ›
Computer programming is one of the most important aspects of modern life. It allows us to interact with computers in ways that were not possible before. It has enabled us to conduct research, design new products, and services, manage our finances, communicate with others around the World, and much more.What do you enjoy about programming? ›
Problem solving. The sense of accomplishment when solving a really complicated problem cannot be beaten. There are always new problems to solve, solutions to find and bugs to fix.How does computer programming impact our lives? ›
It empowers individuals to communicate with computers, automate tasks, and solve complex problems. Programming skills open doors to a wide range of career opportunities and enable individuals to shape the technologies that will shape our lives.Why is programming important in simple words? ›
Programming languages use classes and functions that control commands. The reason that programming is so important is that it directs a computer to complete these commands over and over again, so people do not have to do the task repeatedly. Instead, the software can do it automatically and accurately.Does programming help you think? ›
Learning to code is a no-brainer!
That's right: coding! But it isn't only us who think so. Apple founder Steve Jobs himself said that “Programming teaches you how to think.” Just as the arts can shape your mind in various ways, coding also gives your brain a boost.
Today, coding is necessary to develop the technologies that have become an essential part of our daily lives. As a result, several programming languages have emerged to help software engineers write the various applications we use. While learning any coding language can be helpful, some stand out from others.How has programming helped the world? ›
Manual processes that take hours to complete have now been processed instantly thanks to computer processing. Digital assistants, self-driving cars, websites, social medias, smart homes, smart televisions, smart phones even smart toasters have been introduced and made possible thanks to coding.How would you relate programming in your everyday life? ›
When you set your coffee maker to start at a certain time in the morning, you are programming an action to trigger. Most of these simple machines utilize microcontrollers and embedded systems to execute simple tasks — such as setting a timer — based on low-level coding language pre-programmed into the machine's memory.
- Why coding is exciting. In my opinion, IT in general is exciting. ...
- How to make it more fun. ...
- Practice. ...
- Don't just read code, run it. ...
- Add a dose of fun to your projects or apprenticeships. ...
- Always challenge yourself. ...
- Create a personal project from scratch. ...
- Define a goal.
A programming language is a vocabulary and set of grammatical rules for instructing a computer or computing device to perform specific tasks. • The term programming language usually refers to high-level languages, such as BASIC, C, C++, COBOL, Java, FORTRAN, Ada, and Pascal.What is computer programming and examples? ›
MS Word, MS Excel, Adobe Photoshop, Internet Explorer, Chrome, etc., are examples of computer programs. Computer programs are being used to develop graphics and special effects in movie making. Computer programs are being used to perform Ultrasounds, X-Rays, and other medical examinations.What is considered computer programming? ›
What is computer programming? Programming, also known as coding, refers to the process of writing instructions for computing devices and systems. A computer program translates those instructions into a language that computers can understand. Computer programmers use many different languages to command computers.