How Will New Advances in AI Impact Programming?
As AI progresses rapidly, more professionals such as designers, writers, translators, and narrators are finding themselves redundant. Naturally, this discussion has also extended to the field of programming.
Pursuing a degree in computer science is widely viewed as a solid path to a lucrative career: the Bureau of Labor Statistics (BLS) projects that employment for software developers will grow by 25% by 2032.
Despite these optimistic projections, the evolution of AI is bringing significant changes. For example, research by McKinsey & Company indicates that AI could automate between 60% to 70% of tasks currently performed by employees.
This trend could lead to greater efficiency but might also reduce the number of employees required for certain tasks. What once took 10 workers might soon be accomplished by just 4, heightening the risk of layoffs.
This has naturally caused concern among programmers, especially following the advent of AI-driven tools such as ChatGPT and GitHub Copilot. Nvidia’s CEO Jensen Huang has been a prominent voice in expressing these concerns.
At the World Government Summit in Dubai in February 2024, Huang posited that programming degrees might soon become obsolete. He argued that children should not necessarily learn programming as AI will automate these tasks.
Huang emphasized that while programming was once deemed essential, its importance is diminishing in today's tech landscape.
Error Correction: AI is an ideal partner for debugging. After scanning the code, it suggests optimizations and provides algorithms to correct any errors.
Code Translation: Often, developers work with multiple programming languages, either for compatibility purposes or to transfer codebases written in outdated languages. Translating between languages is time-consuming and requires a deep understanding of both the source and the target languages, making the process resource-intensive.
This list is not exhaustive. There are myriad ways to apply AI in programming. Even large language models (LLMs) like ChatGPT, which were not specifically designed for coding, can assist in handling basic programming tasks.
A lack of knowledge in programming languages means not fully understanding computer functions, leading to additional inaccuracies. It's not surprising that according to GitClear, the increase in AI-generated code usage has led to a decline in its quality.
One can draw a parallel between programming and drawing; both are creative processes, and artificial intelligence has not yet achieved the level of creativity that artists can offer.
Programming also demands creativity. Completing complex projects requires more than just processing hundreds of lines of code; it necessitates a level of creativity that only humans possess.
The fact that AI can create artworks hasn't stopped creative individuals from pursuing art. Following this logic, the presence of AI in programming shouldn't lead to a decline in education within the field.
Furthermore, those advocating for AI to replace programmers may have their own interests at heart.
For instance, the statements made by Huang could be seen as self-serving. By promoting such views, he generates buzz around AI, advancing Nvidia’s AI products like Inference Microservices and gaining the trust of the company’s shareholders.
Despite these optimistic projections, the evolution of AI is bringing significant changes. For example, research by McKinsey & Company indicates that AI could automate between 60% to 70% of tasks currently performed by employees.
This trend could lead to greater efficiency but might also reduce the number of employees required for certain tasks. What once took 10 workers might soon be accomplished by just 4, heightening the risk of layoffs.
This has naturally caused concern among programmers, especially following the advent of AI-driven tools such as ChatGPT and GitHub Copilot. Nvidia’s CEO Jensen Huang has been a prominent voice in expressing these concerns.
At the World Government Summit in Dubai in February 2024, Huang posited that programming degrees might soon become obsolete. He argued that children should not necessarily learn programming as AI will automate these tasks.
Huang emphasized that while programming was once deemed essential, its importance is diminishing in today's tech landscape.
Nvidia CEO Jensen Huang at the World Government Summit. Source: reuters.com
Huang envisions a future where super-AIs will oversee teams of specialized AIs to handle certain coding tasks. In this scenario, programmers will transition to roles similar to orchestra conductors, overseeing the internal interactions among AIs.
Ways to Use AI in Programming
The use of AI in programming encompasses automating tasks that traditionally required human input. This spans a variety of functions including software testing, debugging, code optimization, and generating code, as well as facilitating No-code and Low-code development.
With AI, programmers can streamline workflows, minimize errors, and focus on the more creative aspects of programming.
Task Automation: AI tools can automate routine and mechanical tasks, such as executing basic SQL queries, analyzing data, and optimizing Data Science projects.
Error Correction: AI is an ideal partner for debugging. After scanning the code, it suggests optimizations and provides algorithms to correct any errors.
Code Translation: Often, developers work with multiple programming languages, either for compatibility purposes or to transfer codebases written in outdated languages. Translating between languages is time-consuming and requires a deep understanding of both the source and the target languages, making the process resource-intensive.
Programming Tools:
- DeepCoder: Developed by Microsoft Research, this tool gathers information from open databases and generates code from scratch. Users simply describe the concept of their program, and DeepCoder creates it.
- Diffblue: A spin-out from Oxford University, Diffblue offers AI tools like Diffblue Playground and Diffblue Cover, which automate the creation of unit tests for Java applications.
- Visual Studio IntelliCode: This code completion tool, developed by Microsoft, recommends the most likely method or function based on the developer's previous actions.
This list is not exhaustive. There are myriad ways to apply AI in programming. Even large language models (LLMs) like ChatGPT, which were not specifically designed for coding, can assist in handling basic programming tasks.
Why AI Won't Replace Programmers
Programming enhances critical thinking and deepens understanding of computer internals. Mastery of programming languages helps one think like a computer and understand the processes that occur within it.
A lack of knowledge in programming languages means not fully understanding computer functions, leading to additional inaccuracies. It's not surprising that according to GitClear, the increase in AI-generated code usage has led to a decline in its quality.
One can draw a parallel between programming and drawing; both are creative processes, and artificial intelligence has not yet achieved the level of creativity that artists can offer.
Programming also demands creativity. Completing complex projects requires more than just processing hundreds of lines of code; it necessitates a level of creativity that only humans possess.
The fact that AI can create artworks hasn't stopped creative individuals from pursuing art. Following this logic, the presence of AI in programming shouldn't lead to a decline in education within the field.
Furthermore, those advocating for AI to replace programmers may have their own interests at heart.
For instance, the statements made by Huang could be seen as self-serving. By promoting such views, he generates buzz around AI, advancing Nvidia’s AI products like Inference Microservices and gaining the trust of the company’s shareholders.
Final Thoughts
It’s difficult to predict whether AI will completely replace programmers. However, the rapid development of this technology indicates that such a scenario is possible, albeit not immediately but potentially in the future.
To stay marketable, programmers need to learn how to work with AI rather than dismiss it. Educational courses, staying abreast of the latest developments in AI, and reading relevant articles can aid in this adaptation.
We often publish articles on these topics on our website. Subscribe to our newsletter to keep up with new content!