So what is Copilot?
GitHub Copilot is an artificial intelligence tool developed by GitHub and OpenAI powered by the Codex network language model based on GPT3(Generative Pre-trained Transformer 3). Copilot analyzes the context in the file and related files being edited and makes recommendations from within the text editor. It brings up code suggestions from lines to entire blocks of code, with text appears to fit as appropriate. Copilot is designed to assist you in writing Python, JavaScript, TypeScript, Ruby, Go, C#, or C++ code. Copilot does not test the code it proposes. Though some jokingly see Copilot as a threat to developers jobs, it has the capacity to make life easier for them too.
What are the advantages?
· Multi language ability – it understands Python, TypeScript, JavaScript, Ruby and Go and can help navigate many situations
· Fast algorithm retrieval – simply by typing the name in any programming language
· Repetitive code auto-fills – creates repetitive code patterns fast
· Generates alternatives – when you write a line of code, select it or use your own code your preferences will be noted
· Integrates with your IDE tools – that includes Neovim, JetBrains, Visual Studio, and Visual Studio Code
· Fast cdn importing – writing the library name and ‘cdn’ in a comment and press enter
· Makes testing easier – when you import a unit test package it recommends to match your code
· Problem solving – if you are getting an error Copilot can solve it for you
· Great learning tool – as it problem solves it provides well commented code
What are the disadvantages?
· Copyright issue violation – could infringe on intellectual property rights or launder open-source code into commercial use without proper licensing
· Quality uncertainty – since it makes suggestions it cannot test code so it may not even be viable
· Error prone – it can generate code which has partial errors
· Flow interruption – having to review code suggestions from Copilot may cause a break in flow while working on projects
· Does not improve developer skill – while it increases productivity and offers recommendations it is not a teaching tool
· Not good for novices – new developers should not rely on auto suggestion tools like this if they want to learn code and problem solving
In conclusion, Copilot is not coming after developer roles any time soon. But like many things that can enhance, they should be used with discretion and that comes with experience!