GitHub Copilot: The Worst Thing to Ever Happen to Computer Programming
Date:
Fri, 09 Jul 2021 17:49:13 +0000
Description:
The folks at the GitHub division of Microsoft have released Copilot: a new feature which writes code so computer programmers dont have to. According to Microsoft: GitHub Copilot is an AI pair programmer that helps you write code faster and Continue Reading
FULL STORY ======================================================================
The folks at the GitHub division of Microsoft have released Copilot : a new feature which writes code so computer programmers dont have to.
According to Microsoft: GitHub Copilot is an AI pair programmer that helps
you write code faster and with less work. GitHub Copilot draws context from comments and code, and suggests individual lines and whole functions instantly.
Im going to be blunt here: This is, quite possibly, the worst idea in the history of computer programming. Ever.
To be fair, from a technical perspective, Copilot is an impressive accomplishment. The sheer amount of data that needed to be collected, indexed, and processed (every line of public code on GitHub) thats impressive . The A.I. that predicts the code that it thinks you will need also incredibly impressive .
Just the same, Copilot is such an astoundingly bad idea on so many levels that it is truly baffling that it was created at all . Lets go over some of the biggest issues with why Copilot is just the worst . Copilot Problem #1 Finding and Fixing Bugs
Hypothetical: you decide to build a new piece of software using Copilot as
one of your tools.
And lets assume that Copilot performs its job admirably. Just as intended. Every so often inserting the code you need, exactly when and where you need it. How marvelous! Youve just cut your total development time
significantly!
Right?!
WRONG .
You now have a small mountain of code, that you did not write , interwoven among the code that you wrote yourself.
Who wrote that code? Who knows ! It got copied from someone elses project on GitHub.
Does it have bugs? Probably! Most code does!
Does it have issues interacting with the rest of your code? Possibly? Hard to say! You didnt actually write it !
When those bugs do crop up it is now going to be significantly harder to fix as it is code that you are not necessarily at all familiar with.
This is a hard reality of software development. It is almost always easier
to read, understand, and fix issues with code that you are already familiar with (especially if you wrote it yourself). If you did not write the code yourself, it is certainly nice to at least know that you can contact the person who did. With Copilot thats not possible.
Thus finding and fixing bugs is going to be significantly more time consuming and difficult. Copilot Problem #2 Programming is Not Data Entry
There is a (relatively profound) misunderstanding among those that are championing Copilot. Something that shows a deep lack of understanding about what computer programming truly is.
Consider this Tweet , for example:
The notion here is that Copilot is a simple tool, for performing repetitive tasks. Tasks that are in no way different if they are performed by a simple tool, or by a human being. Not unlike a calculator, performing some simple equations.
This is utterly preposterous.
Computing programming is a fascinating mixture of engineering and artistry .
The number of ways different developers may approach a seemingly simple programming task is nearly limitless. With different benefits (and
drawbacks) in a wide variety of ways including code readability, size,
speed, robustness, flexibility, and portability. Just to name a few.
Saying Copilot is to Programming like a Calculator is to Mathematics betrays
a deep misunderstanding of at least one of those things.
What if we applied the same technology and approach to writing novels?
Taking snippets of other works and inserting them where the AI thinks they should go. The very notion is completely insane. Copilot Problem #3 Code Bloat
Reusing self contained code, copied by an AI from an unknown source on GitHub does not lend itself well to lightweight, lean, memory and CPU efficient
code.
This is ridiculously obvious. Copilot Problem #4 Licensing Troubles (Big Ones)
GitHub confirmed, according to one Twitter user , that the code used with Copilot is pulled from ALL public GitHub projects. No matter what the
license is.
All public GitHub code was used in training. We dont distinguish by license type.
Meaning, if you use Copilot to insert code into your software, you have absolutely no clue what (or how many) licenses are now involved.
GPL? MIT? Apache? BSD? Probably. Others that are likely incompatible (at least in some way)? Almost assuredly.
Looking to ship your software under a specific license? Maybe even as closed source?
Good-friggin-luck.
Is some of your code, which you hosted on GitHub, now being used in other projects without proper attribution or licensing? Maybe? Who knows!
The legal nightmare that this opens up is of epic proportions. And the problem was so glaringly obvious, that I am at a loss for words as to how the team behind Copilot did not understand and address this from the very moment the idea was first proposed. Its almost as if the team had never dealt with software licensing. Copilot should be deleted
Some ideas are simply so bad, they should not exist. Copilot is one of those ideas.
It serves to make code slower, bigger, buggier. To, over time, reduce the skills of programmers. And to not only create a maelstrom of software licensing issues but to deeply disrespect the work for thousands and
thousands of programmers.
It may be an impressive accomplishment but it does far more harm than good.
Is Copilot the worst thing to ever happen to computer programming? Thats a pretty intense statement. If there has been something worse, I cant think of what it might be. Regardless, one thing is certain
Microsoft should close it up. Today.
======================================================================
Link to news story:
https://www.lunduke.com/2021/07/github-copilot-the-worst-thing-to-ever-happen- to-computer-programming/
--- Mystic BBS v1.12 A47 (Linux/64)
* Origin: tqwNet Technology News (1337:1/100)