AI surrounds us, and new, innovative tools are constantly coming out of the woodwork that finds their application in use cases across all verticals. Tools like the autocomplete AI that helps individuals compose emails and texts have made the tedious job of typing easier. However, this tech is now coming to the world of IT as code auto-complete tools are gaining traction.
Code autocomplete tools are meant to help developers code faster with more efficiency. Code autocomplete tools can understand the context and offer suggestions that can be used instead of typing long pieces of code. However, these suggestions aren’t just limited to a couple of lines. These tools can suggest trivial code to complex algorithms making developers’ jobs easier. In the age of DevOps, there is always a crunch of time, and tools like these can help developers finish build activities in time while ensuring their code is up to the business standards and secure.
The GitHub Copilot journey
GitHub Copilot is an AI-based code auto-completion tool that is available as an extension for various IDEs like Neovim, JetBrains IDE, Visual Studio, and Visual Studio Code.
Launched as a technical preview in 2021, GitHub Copilot has recently been made available to developers. With a nominal monthly fee of $10 and an annual fee of $100, developers can enjoy the benefits of this popular tool. Powered by the deep neural network language model, OpenAI’s Codex has been trained on billions of lines of public code repositories on the GitHub platform Developers can write a piece of code or add a comment describing the following few lines of code. Copilot provides suggestions that developers can pick and choose. This is incredibly useful as it allows developers to focus on the more significant problems rather than care about smaller sections of code. Rather than checking the correct syntax and logic in online forums, developers can focus on implementing critical business logic.
GitHub Copilot is an exceptional tool and has become extremely popular in the last year. However, there’s more to Copilot than meets the eye. Even though it is trendy, there is a fair amount of criticism in the developer community regarding the extension. Let’s dive right in and try to understand both sides of this story.
A cynical look
On the surface, Copilot is quite enticing, and its numerous abilities make it a formidable competitor in the code completion sphere. However, it’s still relatively new, so there is plenty of room for improvement. One shortcoming every AI-based application faces in its infancy is the lack of proper training. For an AI-based model to mature, it needs years of training. The model must be trained vigorously to understand the context and detect keywords. This is one of the most common critiques of Copilot. As it suggests enormous blocks of code, most of the time, that code has to be heavily customized and debugged, leading to a lot of rework. The rework can take almost the same time as writing the code from scratch, if not longer. Certain code suggestions may also be unnecessarily repetitive, and sometimes Copilot might suggest new functions rather than leveraging existing libraries making the code bulkier than it needs to be.
Copilot isn’t always that good at understanding intent. Sometimes the comments provided by developers aren’t enough. The suggested code could be wildly different than what the developers intended. And writing in detail about what developers want can be a time-consuming process that can slow development down. Sometimes, comments are simply not enough, and Copilot might require a fully structured code file to suggest the correct code.
Another limitation of Copilot is that it suggests code written by others, which means that the suggested code may not always comply with business standards or follow best practices. Licensing can also become an issue if the code or algorithm Copilot suggests ends up being licensed.
All of these limitations stem from Copilot’s lack of maturity. As developers use it to write complex code, the extension will eventually be capable of providing more suitable suggestions that will require minimal changes.
A good start
Copilot helps developers focus more on the tasks rather than coding and allows teams to write good code without spending hours researching suitable algorithms. Copilot also helps shift developers’ behavior and promotes good code documentation. With automated comments, code readability becomes easier to implement. The code looks clean and concise and is easier to debug. Another advantage of using Copilot is eliminating the need to write repetitive code manually. Taking a cue from manually written code can suggest repetition so that you don’t have to manually copy and paste the code, leaving plenty of room for human error. GitHub claims that it can help teams write code much faster. Builds that use Copilot comprise almost 40 percent of the suggested code.
Despite its flaws, Copilot is one of the most powerful code completion tools in the market today. Trained on 1.7 billion parameters, it has the most well-trained model of any of the tools in this category. With such an extensive code database from the GitHub platform and Stack Overflow, it has a great foundation and will soon become the leader in the code completion sphere. With a 60-day free trial and a nominal fee, Copilot is worth investing in. Teams can start using it to understand its capabilities and decide if it works for them.
If you have questions related to this topic, feel free to book a meeting with one of our solutions experts, mail to sales@amazic.com.