Richard Bucker

Github Copilot What Does It Mean

Posted at — Jul 7, 2021

Some times I get caught in a rant so let’s see how this one goes.

Watch the movie, numbers, and it’s a story as old as time. Automate people out of work whether it’s for speed, accuracy, etc… The talking heads have been promising that AI was going to replace us all… see “Coded Bias” and we learn that AI is not there and what it really is. It’s certainly not something we can reason about.

Why does a company like Microsoft have any interest in a project like this? They have shareholders, customers, advocates, hobyists… an entire ecosystem that depends on windows so why would they undercut an entire segment of the population? For one thing since copilot is tied to github it’s worth being suspiscious.

In the implementation copilot converts a comment or description into a function of code fragment. Why bother with the development-time code generation and not combine the natural code generation with test driven development? That it generates the code means that you can modify it as needed… but if the generated code had embedded callbacks then you could do the same.

The THING is… once the code is generated and then modified one could not use the same generator to [a] change the original intent and re-implement the modifications [b] or choose a different algorithm to accomplish the same thing aka refactor.

Going back 35+ years ago we had a list best practices. The list included:

What have we learned:

The only thing that copilot is going to do is save a few keystrokes. You still need to read the code. You still need to test code… and every other operation. This is yet another marketing attempt from Microsoft to capture the eyeballs of the next generation of would-be programmers. Not everyone needs to be a programmer. The demand for programmers is too high and is evidence of a much larger problem.

we need more farmers not programmers.