Is it okay to say that every programmer’s secret wish is to have a coding-genius genie at their service? We do not know about a genie who does that but it is quite possible that GitHub’s Copilot AI can do the same thing with a little less asking.
Yes, that’s correct: GitHub (now owned by Microsoft) launched its long-awaited Copilot AI. Last June, GitHub announced that it would make the coding process seamless with the induction of an artificial intelligence assistant. A year later, they launch the program, which is free for students and maintainers of open-source projects.
But why do programmers find it necessary to have a coding companion – one which is arguably the least prone to committing mistakes.
AI for Programming?
Artificial intelligence can compose songs, paint pictures, help in cancer therapy, drive cars, help in web and mobile app development, and play games. It was only a matter of time before it also started to write code.
In 2015, Andrej Karpathy, a former Stanford Computer Science Ph.D. student now Director of AI at Tesla, used Recurrent Neural Networks to generate code. He took a Linux repository (all the source files and headers files), combined it into one giant document (it was more than 400 MB of code), and trained the RNN with this code.
In the morning, when he returned, he was surprised to find the AI expanding its boundaries overnight, weaving a code including functions and function decorations. It had parameters, variables, loops, and correct indents. Brackets were opened and later closed. It even had comments.
It might seem shocking to someone who is not keeping up with coding news bites, but this might not be the exact moment AI took over the domain of programming. Thanks to the rapid rise of a mathematical system called a neural network, machines have been learning certain skills by analyzing vast amounts of data for a good amount of the last half-decade. By analyzing thousands of cat photos, for example, they can learn to recognize a cat.
Successful attempts, one after the other, have brought to us No Code AI programs such as Deepcoder, Diffblue, Intellicode, and Copilot.
What is the Copilot AI?
GitHub’s efforts have finally reached the GA status: Copilot AI is here. It is powered by a new system created by OpenAI. For users to access the $10/month subscription fee programming buddy, they can access it as an editor/IDE extension available for Visual Studio Code, Visual Studio 2022, Neovim, and the JetBrains suite of IDEs.
Thanks to OpenAI Codex, it goes beyond what other reputable companies have to offer: it provides advanced code-completion functionality and suggestions. Another unique coincidence is that GitHub has been acting as a code dump zone: over the last ten years, ten of thousands of code lines have been written and shared over the platform.
GitHub Copilot is the distant descendent of GPT-3 via the OpenAI Codex that Copilot was built on. Copilot extends what Microsoft and OpenAI were already doing with GPT-3 and the low-code Power Apps programming tool, which made it easier to program software with natural language.
While combining natural language processing and software programming is still in its infancy, there are hints it will become a competitive arena. For instance, Google-backed DeepMind showed off its AlphaCode AI in February 2022 by boasting that it out-performs Codex, explicitly citing the GitHub product as a rival. However, things are only getting started.
With GitHub Copilot, for the first time in the history of software, AI can be broadly harnessed by developers to write and complete code. Just like the rise of compilers and open source, we believe AI-assisted coding will fundamentally change the nature of software development, giving developers a new tool to write code easier and faster so they can be happier in their lives.
Features of Copilot AI
There seem to be a lot many features of Copilot AI. For instance, developers will be able to cycle through suggestions for Python, JavaScript, TypeScript, Ruby, Go and dozens of other programming languages and accept, reject or manually edit them.
Another prominent feature of Copilot AI is Copilot Explain, which translates code into natural language descriptions. Described as a research project, the goal is to help novice developers or those working with an unfamiliar codebase.
Copilot AI can be used for near-perfect B2B sales, client acquisition, recruitment, establishing thought leadership, and enterprise event recruitment.
Bugs and Threats of Copilot AI
As with anything, GitHub’s Copilot AI is not without bugs and issues. GitHub warns that some users will see some serious coding issues, lack of bracket use, and syntax errors. It is just the beginning of AI-powered programming, and there is a long way to go.
While some people are lauding the move, it seems like not everyone is on-board with the inclusion of AI in the programming world. Others consider it a token of good luck if coding done without human inclusion yields promising results. And the sad part is that the criticism is quite genuine. We are nowhere near reaching complete automation. The AI might help human programmers get some things right, and some of the advanced ones might tackle other programs on their own. It does not mean we have achieved the complete take-over phase.
In short, whatever we think of Copilot AI, it is a blessing in disguise. It has a promising future, and efforts like these to make some sense of automation are the way to reach the point of handing over consciousness, but that is a discussion for another blog.