Bruce McFadden
Bruce McFadden
Code2 / Seasoned Taskmaster
August 09, 2021
AI Pair Programmers: The Future Copilots for No-code?

AI Pair Programmers: The Future Copilots for No-code?đź”—

The increasing demand for software is at the heart of significant changes taking place in the software industry. The annual increase in the number of developers joining the workforce considerably lags behind the increase in demand for developer talent, creating a shortage of developers for which many people are trying find a solution. Actually, our no-code platform, Code2, itself is a product of such an initiative, along with some other platforms. “Helping coders with the boring, tedious parts of their work so that they can focus on things where their creativity will be better employed…” This has been a common theme running through the mission statements of many no-code platforms. It looks like no-code tools are not alone in this, as illustrated by Greg Brockman, CTO of OpenAI lab, who hopes that his firm’s latest product will “help solve programmer shortage in the U.S.”

OpenAI Codexđź”—

The San Francisco-based company has just launched OpenAI Codex, its AI-based programming assistant, and has been making the headlines recently. Codex is based on OpenAI’s former sensation, GPT-3, which is trained on the open-source data available on the internet and contains 175 billion parameters. Having swallowed whole the open-source data, these machine learning neural networks calculate what the next word should be in any given sentence. It is strictly an exercise in statistical pattern matching. However, Codex differs from its predecessor with its bigger memory, which helps it handle tasks that GPT-3 could not. Codex can work on a dozen programming languages and even understand commands given in daily spoken English. Putting aside what this all means for the future of software, the fact that it understands metaphors or nuanced expressions and can still carry out the tasks despite the ambiguity involved in the commands without a doubt makes for impressive demos. Check this out.

GitHub Copilotđź”—

GitHub Copilot is another AI-based programming assistant trained in open-source code. Among the programming languages it is fluent are Python, JavaScript, TypeScript and Ruby. As of now, Copilot is limited to being a coding assistant that fills in incomplete lines of code thanks to its machine learning capabilities. However, it won’t be of much help on a new platform where it cannot learn from past patterns of code. This path-dependency problem was illustrated by a study conducted at New York University: GitHub Copilot produced code that contained some form of weakness or vulnerability almost half the time when it was given an intentionally compromised code as an initial scenario to work with. Therefore, Copilot’s success is a function of the code previously written in the project it will work on and the code quality of the open-source repository it will learn from.

Although Copilot sets out to reduce manual work for professional coders and lower the entry barriers for people from non-technical backgrounds, question marks about its true value as an AI-based assistant still remain. The fact that it may at times provide broken code or code that is hard to understand, and that it actually slows down coders by searching for suggestions puts a dent in its reputation as the next big technological breakthrough.

Ethical concernsđź”—

Apart from initial shortcomings, which maybe fixed really soon, the real hurdle in front of these AI pair programming tools can be ethical rather than technical. These neural networks train on open-source code scraped from well-known code repositories for the profit of corporate organizations—a fact that will certainly rub some members of the coding community the wrong way. Although GitHub describes its use of publicly available code as “fair use,” not many people agree. Combined with the verbatim copying of pieces of code in some instances, this fuels the debate over code ownership: Who owns the code? The person who first produced and put it out there for public use? The AI coding assistant that changed it and suggested it to a customer? Or the customer who paid for the services of platforms like Codex or Copilot?

Another problem with AI pair programming tools involves the unfiltered nature of the outputs that can be considered biased, discriminatory and offensive against some cultures, communities or religions. This is the natural result of the way these platforms learn from what is available on the Internet. Without any human intervention, which is what makes these platforms so scalable in the first place, it is expectable that they will spit out stuff closely resembling what is out there on the internet. Wary of getting drawn into a scandal, executives of both GPT-3 and Copilot have already vowed to take the necessary steps to eliminate this kind of output.

Glimpses of a future collaborationđź”—

The rise of AI-based programming assistants corresponds to a particular point in the evolution of software. The outputs they produce as of now are still for coders only; it is too risky to put to use AI-generated code without some sort of human review. However, some experts already regard no-code as the only solution to bridge the gap between the number of data scientists experienced in Machine Learning (ML) applications and the growing demand for the services of these professionals. “Citizen data analysts,” similar to the role “citizen developers” play in building internal tools, are slated be the ones leveraging no-code technology to expand the reach of ML in business environment according to this line of thought.

The next real breakthrough in the evolution of software will take place when AI-based tools will be ready to produce outputs in the form of blocks of code that can be dragged and dropped in a no-code framework, catering to the needs of people with no knowledge of coding. These AI-based programming assistants will then truly become force multipliers as they will be capable of producing code for a citizen developer, who would previously have to depend on a coder. With the introduction of AI-assisted no-code platforms, it is not difficult to see developers assuming more responsibility as designers or system architects and having more time in their hands to focus on system complexity, functionality and ethical concerns that will definitely require more attention in the future.

No-code AI