Learning to code has long been considered a valuable skill, providing individuals with the ability to create software and contribute to technological advancements. However, with the recent rise of code generating artificial intelligence (AI), the importance of manual coding skills may be diminishing. These AI systems, such as OpenAI’s Codex and DeepMind’s AlphaCode, are capable of generating code quickly and effectively, reducing the need for human programmers to write every line of code themselves.
To understand how coding works, it’s important to look at two popular coding languages: Java and Python. Java, which revolutionized cross-platform operation in the mid-’90s, is used in a wide range of applications, including smartcards, space vehicles, and even Minecraft. On the other hand, Python, which predates Java, serves as the foundation for modern apps such as Dropbox, Spotify, and Instagram. While Java needs to be compiled before it can be run, Python is an interpreted language that converts human-readable code into machine code line-by-line as the program executes.
Traditionally, the coding process involved a human programmer manually writing each line of code, breaking down a problem into smaller sub-problems and solving them one by one. However, automatic programming using AI removes the need for human programmers to write every line of code individually. Instead, programmers provide a high-level abstraction of the task, and the AI generates the low-level code to address the problem. Conversational AI coding systems like Codex and OpenAI’s ChatGPT take this a step further by allowing programmers to interact with the AI using natural language. Programmers can simply tell the AI what they want to be programmed, and the AI generates the required code.
Codex, developed by OpenAI, is capable of generating code in 12 different languages and can translate existing programs between them. It excels at generating small, simple, or repetitive assets, such as a button that shakes the screen when clicked. However, for complex projects like coding a server-side load balancing program, Codex may not be as effective. To address this, Google’s DeepMind created AlphaCode, which can tackle more challenging coding problems. AlphaCode generates millions of code candidates for a given problem and tests them against a set of criteria to find working solutions.
GitHub’s Copilot AI, based on OpenAI’s Codex, is one of the most popular code-generating AIs in the market. It offers AI-assisted coding autocomplete features and has been used by over a million developers since its release. Copilot generates runnable code from natural language text inputs and autocompletes commonly repeated code sections and programming functions. The acceptance rate of Copilot’s suggestions has increased from 14-17% to 35% since its debut, resulting in 46% of code on GitHub being generated by AI-assisted coding.
While AI-generated code is largely legible, GitHub incorporates safeguards to prevent the unintentional production of exploitable code. Before a suggestion is presented to the developer, a code quality analysis is performed to detect common errors or vulnerabilities. However, it’s important to note that Copilot won’t prevent the creation of malicious code, as its purpose is to help developers produce code efficiently.
Looking ahead, GitHub sees the potential for AI-assisted development to expand beyond its current capabilities. Conversational AI is expected to play a significant role, allowing developers to express their programming needs in natural language, freeing them from the constraints of writing code manually. This could enable developers to focus more on project growth and innovation rather than the technicalities of coding.
As AI technology continues to advance, the role of human programmers may evolve, but they will still play a crucial part in decision-making and overseeing the AI-generated code. Tools like AI-assisted coding can enhance productivity and enable developers to explore new possibilities, but human oversight remains essential to ensure the quality and security of the code produced.
In conclusion, code generating AIs like Codex, AlphaCode, and Copilot are reshaping the coding landscape. While the ability to code manually remains valuable, these AI systems offer faster and more efficient ways to generate code. The future may see a shift towards conversational AI and abstracted programming languages, freeing developers to focus on creativity and project growth. However, human involvement will remain crucial to ensure the quality and integrity of the code generated by AI systems.