4 ms·
I just started using copilot last week. I was blown away. I would barely start typing and it would show me anywhere from a single line to 15 lines of exactly wh
by irrational 3y ago
I just started using copilot last week. I was blown away. I would barely start typing and it would show me anywhere from a single line to 15 lines of exactly what I had been intending to write. It was mind blowing. In one instance, it found reference to data in a totally different part of the page and correctly used it in the code it was creating. I still can't figure out how it did that. I was beyond impressed. Sometimes it was 100% spot on, other times it was 90% of the way there, but it was crazy how much time it saved. Though, I have been programming for many decades, so I was able to tell pretty easily if what it was creating was good or not. I think this could lead a new coder astray.
- chatmasta 3y agoYeah, you really need to experience it first hand to get to that "wow" moment. For me, that moment was when I was writing some code in my over-engineered codebase, with some prematurely generalized abstractions that even I can barely understand. I'd pause for a second to think "wtf am I doing again?" and Copilot would suggest a whole block of code that aligned perfectly with my intent. This happened repeatedly and it felt like I was being guided to a solution. The incredible thing was that I hadn't even thought about it yet. It's like Copilot was thinking a step ahead of me. I found this effect to be most pronounced when writing tests. I think Copilot shines in codebases with static typing, clear interfaces, doctstrings and unit tests. That's really about the densest, most richly annotated context you could give to an LLM. And that's before adding capabilities for more well-defined reasoning about static languages, types, etc. - there is potential for it to get even better at this.
- redhale 3y agoWriting unit tests is the most effective use of copilot hands-down. For pure functions, it is 100% correct and complete essentially 100% of the time, allowing me to write descriptive test names and nothing more. Even when mocks or spies have to come into the picture, it is usually 95% accurate. The key is that you should always have the file you are testing open in an editor tab, as well as another test class that demonstrates the testing style you want it to emulate. Forget everything else about Copilot, it's worth the cost for this alone. Time writing tests reduced ~80%. They could remove all other functionality and rebrand it as Test Copilot, and they would still get my money.
- extheat 3y agoCompletely agree. When I talk to others about Github Copilot/ChatGPT however, I am rather surprised to hear some of the criticisms. As in, it's unreliable, it's wrong, not good for beginners, etc. I don't understand that criticism at all. Yes, it's occasionally, perhaps frequently wrong, but so is virtually any other source of information. What's the alternative? Well, you Google your way around half a dozen websites, read through forum posts, bloated/incomplete doc websites, Q&A sites, etc. It's absolute hell to me, stuff that can take 10-15min on average to deal with, so comparatively using LLMs to not is like light and day. Maybe it's due in part to people being inexperienced and lacking the ability to independently judge whether content seems right or not, so I will admit you do need to be a bit of an expert to fully utilize these tools. But even as a beginner--when I started coding some 10 years ago, I'd have killed for something like ChatGPT. Had some programming problem you needed to solve? You better hope that someone wrote something about it online, that it's on StackOverflow or been discussed on some other discussion board. Otherwise, it's up to you to splunk into StackOverflow, wait a week or two, hope you don't get ignored/downvoted, or try to find some IRC channel to post the question to. Comparatively having the ability nowadays to talk to a AI about the most niche programming concepts in your specific use case, in English, without being judged? It's straight up magical to me.
- irrational 3y agoI started coding back in the days when literally all we had were physical book documentation and maybe a physical book textbook or how-to book. Having the internet certainly is faster. Having copilot is even faster. I wonder what the next leap forward in speed will be? Back in the days of physical books, I did not foresee online documentation or things like stackoverflow. In the days of stackoverflow, I did not foresee something like copilot. So I assume we cannot yet foresee what will be the next big thing.
- Lewton 3y agoI feel it’s worth noting for others who have tried copilot before and was not impressed, I’ve experienced a massive abilities increase within the last two weeks, both speed AND quality wise, that took it from kinda useful to being able to autocomplete code using a homebrewed convoluted framework
- d4rkp4ttern 3y agoI’ve been using CoPilot it pretty much since it came out and I am regularly shocked when some devs tell me they aren’t using it. Usually it’s because of silly company policies. In fact the copilot plugin in PyCharm is awesome to also just write normal text, like for a article.