Is programming merely a science? If you think so, the notion that Artificial Intelligence will soon replace all programmers isn’t far-fetched. Generative AI’s rapid advances are edging us closer to a world where traditional programmers might become redundant. Current AI systems, particularly GitHub Copilot, are making strides in this direction. As per GitHub CEO Thomas Dohmke, “Copilot currently writes about 40% of the code in files where it’s enabled”. He predicts that this figure will rise to 80% in the near future1, a staggering leap that indicates AI’s growing2 proficiency in coding.
A 2023 large-scale survey done by GitHub revealed intriguing insights about developers using Copilot. The findings are remarkable: 60–75% of users reported increased job fulfillment and decreased frustration. They’re focusing on more satisfying work. Impressively, they noted 88% and 60% increases in productivity perception and fulfillment, respectively3.
However, GitClear’s analysis of 153 million lines of code authored between January 2020 and December 2023 tells a different story. It suggests a “Downward Pressure on Code Quality” and a notable rise in code churn rates4.
Nvidia’s CEO, Jensen Huang, thinks kids should no longer learn to code. He envisions replacing programming languages with human language prompts, enabling anyone to program5.
You probably recall over the course of the last 10 years, 15 years, almost everybody who sits on the stage like this would tell you it is vital that your children learn computer science. Everybody should learn how to program. And in fact, it’s almost exactly the opposite. It is our job to create computing technology such that nobody has to program. And that the programming language is human. Everybody in the world is now a programmer. This is the miracle. This is the miracle of artificial intelligence. The countries, the people that understand how to solve a domain problem in digital biology or in education of young people or in manufacturing or in farming, those people who understand domain expertise now can utilize technology that is readily available to you. You now have a computer that will do what you tell it to do.
Nvidia’s CEO, Jensen Huang – World Government Summit in Dubai 2023
Conversely, if you see programming as an art, Huang’s view falls short. Programming involves critical thinking akin to artistic creativity. Beyond hard skills like math, it’s about innovative problem-solving. Consider a calculator: it solves math problems, but humans need to understand the problem and interpret the tool’s output. That intersection of science and art is pivotal in programming.
Believing programming is both an art and a science, however, means it will never be obsolete. We’ve had machines that flawlessly play back sheet music for decades, but musicians aren’t obsolete. There’s artistry in creating and performing music, much like in programming. Even familiar songs draw us to concerts, highlighting the enduring value of artistry—something AI can’t replicate in the foreseeable future.
When will we get to a world where computers materialize anything we imagine? In programming, this means no typos and potentially bug-free code. Yet, the nuanced understanding, critical thinking, and human experience required to develop code that truly addresses a problem remain irreplaceable. It’s about a certain je ne sais quoi, appealing to sentient beings who feel, touch, and make decisions in the real world.
So, is programming art, science, or a blend of both? The answer lies in how we view creativity and problem-solving in the evolving world of technology.
Listen to the text above: