I’ve also been using the Alpha for around two weeks. I'm impressed by how GitHub Copilot seems to know exactly what I want to type next. Sometimes it even suggests code I was about to look up, such as a snippet to pick a random hex color or completing an array with all the common image mime-types.
Copilot is particularly helpful when working on React components where it makes eerily accurate predictions. I see technology like Copilot becoming an indispensable part of the programmer toolbelt similar to IDE autocomplete for many people.
I also see it changing the way that programmers document their code. With Copilot if you write a really good descriptive comment before jumping into the implementation, it does a much better job of suggesting the right code, sometimes even writing the entire function for you.
Has anyone used Copilot with a more succinct language? It appears to only automate boilerplate and rudimentary patterns, which while useful in repetitive low signal to noise ratio languages like React or Java, sounds less appealing if you're writing Clojure.
I've not used Copilot but I've experimented with two other AI driven autocompletion engines in Java and Kotlin. In both cases I uninstalled the plugins due to a combination of two problems:
1. The AI suggestions were often less helpful than the type driven IDE autocompletions (using IntelliJ).
2. The AI plugins were very aggressive in pushing their completions to the top of the suggestions list, even when they were strictly less helpful than the defaults.
The result was it actually slowed me down.
Looking at the marketing materials for these services, they're often focused on dynamic languages like Python or JavaScript where there's far less information available for the IDE to help you with. If you've picked your language partly due to the excellent IDE support, it's probably harder for the AI to compete with hand-written logic and type system information.
I'd recommend TabNine, it is extremely helpful. I tried Kite once, and it is WAY overrated. So slow that by the time it provided me suggestions I was only a few characters away from finishing. Tabnine has saved me hours.
Could there be a boom followed by a bust? Sometimes a greedy algorithm looks good until it doesn't. It's at least imaginable that AI coding helps you do stuff locally that eventually ties you in knots globally, because you were able to rush in without thinking things through.
(It's also conceivable I'm put out of a job, but I'm not worried yet. So far I can only imagine AI automates away the boring part, and I super-duper-want that.)
Well, there are few things many programmers enjoy better than automating away repetitive tasks. If not exactly intellij or eclipse, something that achieved the same end would certainly have arisen.
I'm sure there's at least a few relevant XKCD strips to insert here.
Would be an interesting fact so see companies adopt languages that need significantly more code to reach the same result just because some AI can automate a lot.
Thinking about generating 10 times the code you need, just because you can generate it instead of writing (perfomant?) code.
This is a good point and it will be interesting to see if something like copilot will get developers/companies to adopt a language that is better supported by AI.
Edit: You are honestly downvoting me for saying something that might actually happen. If copilot lives up to the hype, but for a limited number of languages, this can have a profound affect on what languages people might decide to use in the future.
Don't worry, the most common bug fixes will become part of the suggested code, so when you start writing patches, Copilot will have great suggestions. And then when you have to fix the new bugs, same deal.
The real nightmares will revolve around changing requirements. That's where a statistical analyzer is not going to be smart enough to know what's going on, and you're going to have to understand all this autogenerated code yourself.
This is the HN copilot, which writes comments for you.
Basically, if you look at what’s not yet available to the public, we have engines that can write an entire program that does what you want, a test suite, documentation, and write thoughtful comments on all the forums about why the program is good. They could make about 100,000 programs an hour on a cluster, together wih effusive praise for each, but that would make everyone supicious.
It's a direct reply to the other comment you mention and it parses like it's autogenerated but then swerves off into another language. I'm pretty sure it's a joke.
Copilot is particularly helpful when working on React components where it makes eerily accurate predictions. I see technology like Copilot becoming an indispensable part of the programmer toolbelt similar to IDE autocomplete for many people.
I also see it changing the way that programmers document their code. With Copilot if you write a really good descriptive comment before jumping into the implementation, it does a much better job of suggesting the right code, sometimes even writing the entire function for you.