GitHub Copilot – You don’t need it

I tried it and I assure you: it does not suit you. And I have some very good reasons why this is so …

That’s serious. Software developers all over the world are writing religious papers about clean code, software development paradigms, debating the validity of if statements, and slandering for loops. Forests of books about everything and nothing in particular encourage you to write better, cleaner, more efficient, and safer code. In fact, “coding” has become a more popular term than “programming” these days, and despite all that, for some reason, every year someone comes up with a project to automate writing code.

However, this time it’s no ordinary WYSIWYG tool. Before you breathe a sigh of relief, bear with me for a second, because this is really a mess. This is the second AI pilot developed by “every developer’s best friend,” Microsoft. More precisely, GitHub, but now they are owned by Microsoft. It is very intuitively called GitHub Copilot. I connected it as soon as I could. Partly because I was curious about how AI could write code, but also because along with curiosity came skepticism.

I always look at AI as a tool that can become either a tool or a problem – 50 to 50. There is not and should not be an intermediate option. We already have one like this – it’s called “man”.

First Impressions

I admit that my sincere curiosity is partly fueled by the sheer number of sci-fi movies, but as naive as it may be, I believe that the desire to try Copilot and see what it can do is a natural reaction of a software developer.

Installing the extension was easy enough – in order to achieve full compatibility, I chose VSCode, since the editor created by Microsoft seemed to me the most suitable for experimentation. VSCode is far from the best (at least from my point of view) editor, but I wanted to be objective about Copilot. During the installation process, you quickly realize that this is not a completely local tool, since it requires a constant connection to the Internet. What’s more, it also requires access to all of your code in the specified repository, which put me off a bit. But I continued… Everything happens in the name of science, doesn’t it?

To use the tool, you must be permanently logged into Copilot. It turned out that the connection is somewhat unstable, but this is not about my Internet, but that either VSCode or the Copilot plugin itself does not keep a good connection. But I’m a software engineer, I know what the first versions of programs look like. Bugs are inevitable. Unsurprisingly, I had similar problems with WebStorm, so… Two out of two. 👎

It was time to finally write the magic comments, which then turn into code, and tell everyone the next day that I made my new site in 20 minutes! Or not…

This was my first comment in an HTML file:

// a menu with links to the different pages

The result is this highly interesting snippet:

<ul>

<li><a href="https://habr.com/ru/company/ispmanager/blog/683412/index.html">Home</a></li>

<li><a href="https://habr.com/ru/company/ispmanager/blog/683412/about.html">About</a></li>

<li><a href="https://habr.com/ru/company/ispmanager/blog/683412/contact.html">Contact</a></li>

Let’s put it this way: if this piece of code doesn’t bother you, you should go back to learning web development. I don’t want to sound rude and I’m saying as gently as possible – go and learn HTML. It will take you a couple of days off. Right word.

When a tool from one of the biggest tech giants in human history generates an HTML list with an unclosed ul tag, the number of alarm bells that go off in my head can rival the bells of Notre Dame!

It’s no coincidence that the first thing I wanted to test Copilot on was semantic, accessible HTML, and my experiment failed. To be fair, the AI ​​could have done much worse. At least the menu was created with list items and links rather than divs and buttons, but still not closing the list… that’s pretty weird.

Of course, I couldn’t abandon the tool just because of bad HTML code. Of course, it can’t handle simple things, but perhaps it can do better with “complex” code. I tried it with JavaScript. Here is just one of my small tests:

// an array with 17 items   (1-17)

var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17];

// a function that takes an array and a number

function getItem(arr, num) {

}

At first glance, you’re probably going to say, “Yeah, well, that’s fine, actually.” Yes, it is, and it’s syntactically correct code, but having used the IDE’s autocomplete features for years, and in some cases even Emmet, I don’t really understand why writing these comments is supposedly faster than writing the actual code by hand. Also, maybe I’m nitpicking, but I was expecting an arrow function. All this brings me to my next question…

Who is this for?!

One of the loudest and dumbest technologies ever developed by Microsoft. Of course, I’m all for trying new things, but seriously, who is this for?! Which software engineer at Microsoft decided this was the tool his fellow programmer needed?

Let’s look at a few facts about software development before we try to answer this question:

  • Programming is a way of expressing a potential solution in a language that a computer can understand. The hardest part of programming is understanding a problem, finding a solution, testing it, and evaluating its correctness.

  • Most software engineers are pretty good at coding. Of course, they google all sorts of nonsense every day, but in general they are quite confident in the syntax, tools and programming methods that are at their disposal.

  • Most software engineers use code editors and IDEs that have great autocomplete, hinting, and linting capabilities.

  • Most often, the real problems that an engineer has to solve are much more difficult than writing simple pieces of code. It is they who take the lion’s share of time – and not any elementary routine.

  • Services like Leetcode and Hackerrank offer you to learn how to write code, while Copilot sells the exact opposite.

  • Copilot does not offer any context and learning along with its code snippets, unlike StackOverflow, which is still much better because it has explanations and context, not just code snippets in a vacuum.

  • It is impossible to become a certified software engineer without learning how to code and program.

So, if a product makes young professionals less qualified and doesn’t help seniors in the slightest, then who the hell needs a Copilot?!? To be honest, probably no one. This is an autocomplete tool on steroids that does its job worse than already existing solutions. Also, it’s not a cheap lure, because $100 a year is never cheap. I pay less than half that amount for a yearly subscription to WebStorm and this thing is really great!

GitHub Copilot is a clever disguise for a tool that siphons off your intellectual property under the guise of automating boring-routine coding, but we all know that coding isn’t boring at all. We have already automated these tasks with snippets, Emmet, linters, IDEs, etc. In reality, all this will lead to the fact that more and more people will not know how to write a simple for loop.

Neither you nor I need this – no one but Microsoft …

Move on, there’s nothing to see here…

Look, I’m not saying you shouldn’t try Copilot. After all, the best way to learn and understand something is to do it. Don’t just listen to me. Try it, see how it looks. However, I wouldn’t use this program even if it was free.

Writing comments and hoping for the best is not my style of programming, and last time I checked, all the resources and tools for working with code were more than enough to create our solutions. Let me put it this way. You can’t read code without writing it, and you can’t write code without reading it. You must learn to program!

You simply can’t do without it. Copilot from GitHub is perhaps the only co-pilot with whom I would not risk flying a plane. Each time our flight would end in a grand disaster.

This is not a “co-pilot” in any sense of the word. It’s more like a high-priced suicide bomber that you pay monthly to undermine your skills and career.

Copilot, shift + delete!

Similar Posts

Leave a Reply