Andreas Møller
March 3, 2024
In a
clip that has been making the rounds on social media
lately, Jensen Huang predicts AI will mean that in the future, there will be no need for people to learn programming.
Jensen Huang is the CEO of Nvidia, the world’s leading manufacturer of GPUs. The preferred hardware used to run AI models and a future where all programming is done with AI is one he’d like to promote. That’s probably the reason he predicted:
“The metaverse was the future of the internet”
.
Will AI replace programmers?
Jensen Huang's statements are just the most recent in a long list of people who have predicted the end of programming. After all, “Why would anyone need to learn programming if we can just ask an AI to generate the code for us?”
This sentiment is very naive, but to understand why, we have to take a deeper look at what programmers do.
Programmers collect requirements from people and use their knowledge of the overall system to design a solution that solves a problem.
Some problems are simple and easy to fix, others not. Over their careers, programmers solve the same problems often and develop an ability to recognize problems they have seen. An experienced programmer will often instinctively know how to solve a problem, even if they do not remember when they last encountered it.
More complex problems don’t necessarily have an easy solution. It requires even the more experienced programmer to conjure up a creative solution and that is where the real work begins.
Programmers analyze problems to find rational solutions. They will often try to break down complex problems into minor and easily solvable parts. They will prototype and test solutions. Discard the ideas that fail and iterate on the ideas that have potential.
Programmers do a lot more than write code
It can be a long and tiring process that requires deep concentration and can leave you feeling mentally depleted. AI systems are quite different. They look at a sentence and try and guess which is the most likely next word. This sounds too simple to be true, but the trick is that they are trained on massive amounts of data. Their probability model is fine-tuned, but their output is still a guess as to what the next most likely word is.
This model works particularly well to generate code that solves common problems. Given a simple programming problem, AIs like chatGPT or Github’s co-pilot can produce an answer much faster than any programmer.
You can almost think of AI as a programmer with superhuman intuition. It has seen many more problems than any one programmer and can, therefore, produce solutions to many more problems. There’s only one catch: it can’t reason. If the answer is not readily available, then it can’t solve the problem. If it can’t analyze a problem, it can’t form hypotheses and test it.
This is the fundamental limitation of modern AI. While ChatGPT 4.0 has a much better intuition than 3.0, it still cannot reason, and while modern AI will improve, the improvements will be smaller and smaller.
We’d need a paradigm shift to see an AI capable of creating large software systems without engineers verifying every line of code. While this is not impossible, we’d need systems that are designed to do this, and LLMs are not those systems.
What impact will AI have on programming?
AI will not replace programmers. It will multiply them and make them more efficient. Programmers can produce code much faster than before with tools like Github’s Copilot.
One way to look at this new trend is that companies won’t need to hire as many programmers to do the same work. Our view is that the value a company gets from every developer will increase.
If every resource gets you more value, you can afford more resources that will get you more value. This is growth, and it’s consistent with what we have seen over the last couple of decades.
Jensen was right about one thing: “Everybody in the world is now a programmer,” but that’s not because of AI. Everyone can program because of no-code and AI will be used as a tool to guess what we try to build, we still need our imagination to conjure up beautiful new ways of doing things, and that’s what Jensen fails to see. AI is not replacing programmers and the metaverse is not the future of the internet.