Nvidia CEO Jensen Huang caused a stir when he declared recently that kids no longer need to learn to code – AI will do that for us.
āOver the last 10-15 years, almost everybody who sits on a stage like this would tell that it is vital that your children learn computer science, everybody should learn how to program,ā he told the World Government Summit in Dubai earlier this year. āIn fact, it is almost exactly the opposite.ā
Is he right?
Ever since OpenAIās GPT-3 language model first raised eyebrows with its ability to create HTML websites from simple written instructions, the AI field has seen a flurry of breakthroughs, with systems now capable of writing complete computer programs from natural language descriptions and automated coding assistants turbocharging programmers’ productivity.
Most startling are AI coding agents such as Cognition AIās Devin, billed as an entirely autonomous AI developer, and CodiumAIās Codiumate, which both generates code and has an “adversarial” component that critiques and improves the generated code.
Yet, while coding as we know it is indeed facing disruption, the creative, problem-solving essence of computer programming is likely to remain a largely human endeavor for the foreseeable future. Rather than replacing programmers outright, AI-powered tools are augmenting their capabilities, enabling them to write more code faster.
Code generation models may indeed take over the jobs of low skilled coders, but experts will likely become even more important, providing architectural vision and direction. Reaching that level of expertise, meanwhile, may take longer as the bar is raised by AI.
AI-powered code generation tools like GitHub Copilot, CodiumAI Codiumate, and Amazon CodeWhisperer have already revolutionized the way developers write code. These tools speed up programming and are getting better and better at generating correct, compilable and executable code. The internet is full of stories of non-coders creating simple applications with AI-generated code. A recent GitHub survey of 500 U.S.-based developers found that 92% are already using AI coding tools both in and outside of work.
Meanwhile, things are moving fast. Cognitionās agent, Devin, appears able to write and debug code on its own from chat instructions given by the developer. The product has not been released to the public, so it will take time to assess its capabilities. And Google DeepMind has introduced AlphaCode 2, a research project based on Googleās Gemini Pro model, that it says outperforms 85% of competitors in coding competitions.
But fluency in programming languages is not the only skill that software developers need. The discipline of writing code requires a strong foundation in logic, problem-solving, and analytical thinking. Learning to code is a building block in acquiring these other skills, much as arithmetic and algebra are building blocks for advanced mathematics.
Microsoft founder Bill Gates argues that ālearning to write programs stretches your mind, and helps you think better.ā
While AI may eventually take over the writing of all code, we will still need people who can understand that code to review and maintain it. AI may increase the volume of code thatās written, but not necessarily the quality ā somebody needs to be able to judge the quality or we will be inundated with so-called spaghetti code, unstructured and difficult-to-read code that lacks a defined flow or structure.
And, as AI becomes increasingly powerful and autonomous, there is also a safety reason why we need humans who can code. āIf you arenāt the one piloting the vehicle, the AI is the one learning, and you are just sitting in the passengerās seat,ā Harvard University professor Jal Mehta said recently. Garry Kasparov, the chess champion and author of Deep Thinking: Where Machine Intelligence Ends and Human Creativity Begins, notes that āif the machine is programming itself, who knows what it might do.ā
So, human oversight, by people who can code, will still be needed for quality assurance, testing, and cybersecurity even if AI writes the code.
What AI-generated code will do ā and is already doing – is expand the number of competent programmers and increase the amount of software that is written.
The future of programming will likely involve a collaboration between human developers and AI-powered tools. Programmers will need to adapt their skills to effectively leverage these tools while still maintaining a deep understanding of programming concepts and best practices.
So, if someone wants to become a developer ten or twenty years hence, they will still need to understand the semantics, concepts, and logical sequences of building a computer program, even if they do not write the actual code. Most importantly, they will need to understand how to properly prompt AI coding systems to do what they want them to do. Human language is notoriously imprecise and programming languages are the opposite.
āProblem solving is the core skill,ā renowned coder John Carmack, founder of Keen Technologies, said recently on the social media platform, X. āThe discipline and precision demanded by traditional programming will remain valuable.ā
For now, AI-assisted coding will free programmers from mundane, repetitive tasks, allowing them to focus on higher-level creative problem-solving. Aspiring coders of the future may need to shift their focus from mastering specific programming languages to understanding fundamental programming concepts and learning to effectively collaborate with AI systems.
āThe fundamental skills that you’re still going to need to be successful at building software is understanding what’s going on to realize when there are issues and security problems and when things aren’t working,ā said Randall Degges, an engineer at Snyk, a developer security platform. āYou’re still going to need a lot of technical knowledge to build things and wire them all together in the appropriate ways.ā
But the path to fully automated code generation still has significant hurdles to overcome, chief among them the ambiguity of written language and the vagueness of software requirements. Researchers are exploring ways to refine these systems through human-machine collaboration and iterative feedback loops.
The demand for innovative software solutions will only continue to grow. While low-level developer tasks will be increasingly automated, there will still be a demand for developers who understand coding to guide the AI systems and ensuring that they do what we want them to do. Those who can adapt and leverage these powerful new tools will be well-positioned to thrive in the AI-powered future of programming.