Community, Engineering

The Pros and Cons of the Github Copilot

Sep 03, 2021
tweeter facebook linkedin
The Pros and Cons of the Github Copilot

Before diving into the topic of the pros and cons of the Github Co-pilot we would have to first know what the very definition of this novel AI is and understand some of its basic concepts.

According to Wikipedia, GitHub Copilot is an artificial intelligence tool developed by Github and OpenAI to assist users of Visual Studio Code by autocompleting code. It was first announced by GitHub on 29 June 2021.

GitHub Copilot uses a modified version of GPT-3, a language prediction model designed to produce human-like text, that is instead programmed to produce valid computer code. Copilot is trained on public GitHub repositories of any license.

The Pros of the Copilot 

It is of course common knowledge that machines over time have made work a lot easier for its human counterpart and this  applies to the Github co-pilot. I mean of course who wouldn’t want some cool features like auto-completion and auto-generation of codes while working? But how does this even work ? How are we able to get auto-generation of codes?

 A descendant of the GPT-3, OpenAI Codex, was trained on publicly available source code and natural language, so it understands both programming and human languages. The GitHub Copilot editor extension sends your comments and code to the GitHub Copilot service, which then uses OpenAI Codex to synthesize and suggest individual lines and whole functions.

This awesome and flawless feature of the copilot has made it very easy to economize time for developers who can now easily auto-generate functions from a rich existing pool of code repositories and also save companies a lot on production cost. 

The Cons of the Copilot

 Although the GitHub co-pilot has garnered a lot of accolades as to efficiency, it still has a sufficient amount of drawbacks in terms of the integrity of the code that it writes. GitHub Copilot tries to understand your intent and to generate the best code it can, but the code it suggests may not always work or even make sense. While we are working hard to make GitHub Copilot better, code suggested by GitHub Copilot should be carefully tested, reviewed, and vetted, like any other code. As the developer, you are always in charge. This whole idea of having to vet the codes and test creates another time complexity as more time has to be spent on trying to refactor the codes.

Another drawback for the copilot is its language proficiency as it still does lag in most other languages while “its strength lies in such languages as Python, JavaScript, TypeScript, Ruby, and GO” Github says.

Some of the other drawbacks of the copilot are:

  1. Slow code completion 
  2. Flow interruption. The need to review code suggestions from Github copilot may cause a break in flow while working on projects.
  3. There is the concern that it may generate dependency over time. Many would get addicted and dependent on its assistance 
  4. There would be code suggested by the copilot that you might not understand.
  5. There is also a controversy around the legality of the training process of the copilot as thoughts are that this infringes on copyrights by default. 

Is Github copilot going to replace software developers ? 

My thoughts on this are that for now, I don’t see this AI replacing developers at least not in the very near future and just maybe soon enough this previously feared piece of tool would unravel a future where development of software would be a lot faster, efficient and seamless for developers. We have seen improved developers’ experience over time with the creations of devices like code editors and debugging tools.


Leave a Reply

Your email address will not be published.