GitHub Copilot - Future of Programming?
There were a couple of questions that came to my mind when I saw this first. In this article, I’ll go through an example of the Copilot peer programming plugin for VSCode.
What is GitHub Copilot?
If you have noticed a recent post by Github, Copilot is an AI engine that helps you to write programs. It is a smart autocomplete peer programming bot that can smarty understand simple English and write code.
// find images without an alt attribute
// and give them a red border
The above code will create a program that directly can find missing alt
attribute images and perform the following action.
// find images without an alt attribute
// and give them a red border
function nonAltImages() {
const images = document.querySelectorAll('img');
for (let i = 0; i < images.length; i++) {
if (!images[i].hasAttribute('alt')) {
images[i].style.border = '1px solid red';
}
}
}
import React from 'react';
import {render, fireEvent} from '@testing-library/react';
function Counter() {
const [count, setCount] = React.useState(0);
return (
<div>
<button onClick={() => setCount(currCount => currCount + 1)}>Increment</button>
<p>Count: {count}</p>
</div>
);
}
// a unit test that asserts that count increases when the button is clicked
it('increments count', () => {
const {getByText} = render(<Counter />);
const button = getByText('Increment');
fireEvent.click(button);
expect(getByText('Count: 1')).toBeInTheDocument();
});
Will AI replace developers?
Alone AIs aren’t capable of anything unless you start teaching them. There is no second thought that Copilot is very powerful and has support for industry-leading frameworks and libraries, but it still can’t replace humans.
Will you lose your job?
Copilot is very new into the industry and seems very fascinating to see a bot writing code for you, but it has very limited features. It can write simple code snippets for you but for large scale programs, companies still need talent like you :)
Conclusion
I like new things in the programming or tech world to try, whether it’s a framework, library, or tool like Copilot. This tool can help people in their future project developments, but can’t replace humans. I can see people will defiantly start using this tool in their regular day-2-day work (like we adapt to autocompletion of code syntax tools).