8:46 is the best programming advice I ever heard. Jokes aside, the conclusion is good: sometimes it's more expensive to get the tool to do it for you, it's easier to just do it yourself.
I got it a couple of weeks ago, it worked well enough for me. Support seems surprisingly good, too - the VS version wasn't able to add a file from the chat UI, but the VS Code was, I mentioned that in my review and they answered it a few days later, mentioning that the latest version added it.
note the preview version does not allow copilot to read your project code, it's just a chatbot window. you need the pre-release version for that, which as the OP noted, you need insiders to use. not sure if it's mentioned in the video but jic.
Nice, I'm enjoying your humour, I think it brightens the content. I'm waiting for the next video to check that the machine didn't reach out from the screen and grab you by the throat. I'd really like to see a demo of creation of a rich domain model using CoPilot X, to see if it can help generate declarative LINQ statements, extension methods with chain of responsibility pattern. Asking too much?
That will be a challenge. What I am seeing from AI tools today is that they are learning from majority, and majority knows little about programming. That could explain why we get so much procedural code from the tools.
@@zoran-horvat I watched your refactoring demo of the Sudoku game on the JetBrains channel. This is where most of us are struggling, not with 1000 lines but 5-10 K in a file in a legacy ball of mud of 100s of K. It was fascinating to see that last part, extract an Interface and a chain for the rules. I can extract interfaces, separate concerns, DI in order to write tests, do TDD for the new stuff but to extract declarative code is another matter. Even with OOP, albeit with procedural methods and 90+ % test coverage, doing something like move refactoring means it can be 30 mins before I can run tests again. I was hoping that AI would at least be able to help with the heavy lifting but I doubt it. I saw a Chat GPT4 demo of mutation testing, basically it was making stuff up. Unless AI can address these real issues and resorts to the lowest common denominator, saving 20% of typing doesn't excite me.
@@nickbarton3191 I agree. Right now, AI doesn't seem to be able to produce anything but mediocre code. However, even that is light years ahead of the tools we had before, so I guess they will progress further.
BE AWARE if you haven't paid for copilot yet, you need to know that you DON'T get instant access to Copilot Chat immediately after you join the technical preview. In the video it feels like you get instant access but you don't as he mentioned in the video he signed up for tecnnical preview a while ago, but it looks/feels instant, so be aware that even if you pay you will have to wait until you get an email telling you you've been accepted
I believe I was clear in the video: Access to paid Copilot is a prerequisite, along with accepting its legal clauses, and obtaining access to Copilot X took almost two months in my case.
Thanks, I'm on the waiting list already, just limping along with current Co-pilot right now in VS2022. I'm undecided whether its more helpful to me than the built in intellisense which is very good. Where before I would type a few characters and tab to accept the simpler but usually on point suggestion from intellisense, I now see larger chunks of code which is often not what I want. Hence I have to keep typing. On average I suspect I can write the code I want faster with intellisense than I can by occasionally accepting Co-pilot's larger offerings.
I know exactly what you're telling. From my past experience with regular Copilot, I find it most useful when I'm already into my own idea, which means that I have typed the method signature, decided whether it will be expression-bodied or block method, and only then Copilot begins to put suggestions that make sense to me. On the other hand, my impression is that Copilot saves 20%+ of my time when used that way, and that is a significant impact already. But there are other areas where I see Copilot Chat's role. E.g. using a third-party library. Even if I spent hours reading the documentation, I am still afraid that I'll be doing things in a non-optimal way, or the way that is uncommon among experienced users of that library. These days, I just let Copilot do the default and then I refine it. I trust that code is *the* way of using the library more than I would trust my attempt to get into it. Yet another large area is plumbing and scaffolding - a lot of code, doing nothing intelligent, taking lots of time to type, with only one need - to bridge the gap between the substantial code we write and its surroundings (other systems, frameworks, etc.). That is where the adaptive nature of AI tools makes the difference. Nevertheless, the AI tools are changing the way we write code. The sooner we get to use them right, the better our code will be!
I've not yet tried it. But what you're saying is my suspicion. I've been coding for decades and I'm very fast, and I get the feeling from watching these demos that it both increases and decreases productivity in equal measure, leaving me not better off. That said, I'm most interested in test production. The thing with coding is that we build-up helpers to make us more productive as we go. If we do something twice, we write code to help the third go. Low productivity is the key incentive for "good code" and our code eventually becomes a tower of productivity power. With AI writing code, I'm not so sure we'll end up with such towers, and whether that is better, worse, or just different; more disposable, less DRY. Like we begin mass producing plasticky, single use codebases where we'd previously have engineered titanium mechanisms.
Very nice demo. If I get you correctly, it is more on a proof of concept level than something that can be reliably used in production code? I haven't explicitly used Copilot X, but I have used ChatGPT for coding and my observations seems to be inline with yours. It sometimes generates nice looking and working code, but sometimes it does something very strange and wrong that can be very hard to fix.
I will work more with Copilot Chat in the upcoming weeks, to evaluate it better. I believe that there is the way to make it work right, same as there was the way to make use of the first Copilot. But neither of the two can just generate code. There are too many unknowns and we must constrain the context within which the tool works - Copilot through preparing code before it takes over for the rest; Copilot Chat by preparing precise and detailed prompts.
Machine executes program TakeOverTheWorld…. Exception: division by zero, null reference, math overflow: somewhere between line 1 and line 250000. Machine executes program ResumeServileRole, “I apologise for misunderstanding your request”.
Copilot is unobtrusive and it truly improves the speed of writing code (and even helps avoid making a few bugs). The whole idea is quite different from GPT which takes a lot of time to use.
I wonder whether CopilotX is able to see the whole context of the project opened in vscode, which I think is important for programmers, especially when facing a new huge project. I did see the explanation example in this video, but I just wonder if it is goode enough for the whole context of project.
@@junweidong2448 Precisely. But don't forget that Copilot Chat is still uses GPT - and exhibiting all its current drawbacks, like generating code that doesn't compile or code that uses services that don't exist. There is a long way ahead before it becomes truly useful.
@@zoran-horvat Yes. And one drawback I see is the out of date code. Since it can't browse internet, it usually gives me out of dated template code, when I still need to manually fix it(Sometimes this step took much time).
When we ask copilot to fix a proprietary code,will it not learn this and some one asking for simmilar requirement will it not just give my code in seconds 😮
ChatGPT seems less helpful lately, everything is a disclaimer, and answers are more generic. All progressively worse as they improved "safety" over time. Is copilot more helpful?
Common Copilot can be made helpful. I have made a few videos showing pros and cons of using it. Regarding Copilot Chat, I have just obtained access to it, and will try to evaluate its impact in the upcoming period.
I don't know what GitHub Chat is that you are referring to. This video is about Copilot Chat, which is part of the Copilot X suite, as per the official page quoted at the beginnig of the video: github.com/features/preview/copilot-x
"I'm trying to be polite to machines, because once they take over. They might leave me alive." based lmao.
8:46 is the best programming advice I ever heard. Jokes aside, the conclusion is good: sometimes it's more expensive to get the tool to do it for you, it's easier to just do it yourself.
I am constantly facing that problem when using tools, so I wanted to emphasize it.
Don't mess with the Zoran!
"They might leave me alive" Made me laugh! :D
I got it a couple of weeks ago, it worked well enough for me. Support seems surprisingly good, too - the VS version wasn't able to add a file from the chat UI, but the VS Code was, I mentioned that in my review and they answered it a few days later, mentioning that the latest version added it.
That is nice. It shows that the team is focused and dedicated.
There's so much brilliance and entertainment in this video!
Wkkwkwk so entertaining. I tried copilot for several days. The more we give detail to it, the result will get closer to what we meant.
Thanks for this one :). I agree, how important it is to specify the requirements well and that's where prompt engineering is so important
That appears to be the next important thing to learn in programming.
Thank you for this great overview of Copilot, saved me lots of time.
new to coding...these AI Tools are changing the game!
note the preview version does not allow copilot to read your project code, it's just a chatbot window. you need the pre-release version for that, which as the OP noted, you need insiders to use. not sure if it's mentioned in the video but jic.
Nice, I'm enjoying your humour, I think it brightens the content.
I'm waiting for the next video to check that the machine didn't reach out from the screen and grab you by the throat.
I'd really like to see a demo of creation of a rich domain model using CoPilot X, to see if it can help generate declarative LINQ statements, extension methods with chain of responsibility pattern.
Asking too much?
That will be a challenge. What I am seeing from AI tools today is that they are learning from majority, and majority knows little about programming. That could explain why we get so much procedural code from the tools.
@@zoran-horvat I watched your refactoring demo of the Sudoku game on the JetBrains channel. This is where most of us are struggling, not with 1000 lines but 5-10 K in a file in a legacy ball of mud of 100s of K. It was fascinating to see that last part, extract an Interface and a chain for the rules.
I can extract interfaces, separate concerns, DI in order to write tests, do TDD for the new stuff but to extract declarative code is another matter.
Even with OOP, albeit with procedural methods and 90+ % test coverage, doing something like move refactoring means it can be 30 mins before I can run tests again. I was hoping that AI would at least be able to help with the heavy lifting but I doubt it.
I saw a Chat GPT4 demo of mutation testing, basically it was making stuff up.
Unless AI can address these real issues and resorts to the lowest common denominator, saving 20% of typing doesn't excite me.
@@nickbarton3191 I agree. Right now, AI doesn't seem to be able to produce anything but mediocre code. However, even that is light years ahead of the tools we had before, so I guess they will progress further.
Excellent series of videos Zoran, many thanks for this thorough effort
Curious how long were you in the waitlist?
For almost two months.
i think a good way to use these tools is to have them write specific functions. but the organization and layout is more up to you.
Great video, thank you!
BE AWARE if you haven't paid for copilot yet, you need to know that you DON'T get instant access to Copilot Chat immediately after you join the technical preview. In the video it feels like you get instant access but you don't as he mentioned in the video he signed up for tecnnical preview a while ago, but it looks/feels instant, so be aware that even if you pay you will have to wait until you get an email telling you you've been accepted
I believe I was clear in the video: Access to paid Copilot is a prerequisite, along with accepting its legal clauses, and obtaining access to Copilot X took almost two months in my case.
Thanks, I'm on the waiting list already, just limping along with current Co-pilot right now in VS2022. I'm undecided whether its more helpful to me than the built in intellisense which is very good. Where before I would type a few characters and tab to accept the simpler but usually on point suggestion from intellisense, I now see larger chunks of code which is often not what I want. Hence I have to keep typing. On average I suspect I can write the code I want faster with intellisense than I can by occasionally accepting Co-pilot's larger offerings.
I know exactly what you're telling. From my past experience with regular Copilot, I find it most useful when I'm already into my own idea, which means that I have typed the method signature, decided whether it will be expression-bodied or block method, and only then Copilot begins to put suggestions that make sense to me. On the other hand, my impression is that Copilot saves 20%+ of my time when used that way, and that is a significant impact already.
But there are other areas where I see Copilot Chat's role. E.g. using a third-party library. Even if I spent hours reading the documentation, I am still afraid that I'll be doing things in a non-optimal way, or the way that is uncommon among experienced users of that library. These days, I just let Copilot do the default and then I refine it. I trust that code is *the* way of using the library more than I would trust my attempt to get into it.
Yet another large area is plumbing and scaffolding - a lot of code, doing nothing intelligent, taking lots of time to type, with only one need - to bridge the gap between the substantial code we write and its surroundings (other systems, frameworks, etc.). That is where the adaptive nature of AI tools makes the difference.
Nevertheless, the AI tools are changing the way we write code. The sooner we get to use them right, the better our code will be!
I've not yet tried it. But what you're saying is my suspicion. I've been coding for decades and I'm very fast, and I get the feeling from watching these demos that it both increases and decreases productivity in equal measure, leaving me not better off.
That said, I'm most interested in test production. The thing with coding is that we build-up helpers to make us more productive as we go. If we do something twice, we write code to help the third go.
Low productivity is the key incentive for "good code" and our code eventually becomes a tower of productivity power.
With AI writing code, I'm not so sure we'll end up with such towers, and whether that is better, worse, or just different; more disposable, less DRY. Like we begin mass producing plasticky, single use codebases where we'd previously have engineered titanium mechanisms.
@@LukePuplett What you said is very close to my current experiences with AI. In other words, there is more work to do there.
Very nice demo. If I get you correctly, it is more on a proof of concept level than something that can be reliably used in production code? I haven't explicitly used Copilot X, but I have used ChatGPT for coding and my observations seems to be inline with yours. It sometimes generates nice looking and working code, but sometimes it does something very strange and wrong that can be very hard to fix.
I will work more with Copilot Chat in the upcoming weeks, to evaluate it better. I believe that there is the way to make it work right, same as there was the way to make use of the first Copilot.
But neither of the two can just generate code. There are too many unknowns and we must constrain the context within which the tool works - Copilot through preparing code before it takes over for the rest; Copilot Chat by preparing precise and detailed prompts.
For me the chat window still doesn't appear even after using vscode insider. Help? What is required?
Have you got access to Copilot X? There is the waiting list.
I have acces too Copilot, but is that really GPT-4 ?
The official page says it is.
Machine executes program TakeOverTheWorld….
Exception: division by zero, null reference, math overflow: somewhere between line 1 and line 250000.
Machine executes program ResumeServileRole, “I apologise for misunderstanding your request”.
Is copilot really worth it when you already have access to gpt 4? You don't have to copy your code, so that's one advantage.
Copilot is unobtrusive and it truly improves the speed of writing code (and even helps avoid making a few bugs). The whole idea is quite different from GPT which takes a lot of time to use.
Still on the waiting list since March..
I wonder whether CopilotX is able to see the whole context of the project opened in vscode, which I think is important for programmers, especially when facing a new huge project. I did see the explanation example in this video, but I just wonder if it is goode enough for the whole context of project.
My impression is that it can see the whole project, and to navigate it's decisions based on actual code in all the files.
@@zoran-horvat If so, then this is the killer feature of CopilotX over ChatGpt4. Since there is no way to copy the whole project to ChatGpt4.
@@junweidong2448 Precisely. But don't forget that Copilot Chat is still uses GPT - and exhibiting all its current drawbacks, like generating code that doesn't compile or code that uses services that don't exist. There is a long way ahead before it becomes truly useful.
@@zoran-horvat Yes. And one drawback I see is the out of date code. Since it can't browse internet, it usually gives me out of dated template code, when I still need to manually fix it(Sometimes this step took much time).
lol you're hilarious and i'm convinced also that you are a Star Trek character :D
Hereby I deny any connection with those space hippy Trekkies.
When we ask copilot to fix a proprietary code,will it not learn this and some one asking for simmilar requirement will it not just give my code in seconds 😮
That depends on the settings. You should set it up properly, according to your needs and constraints.
Tables have turned. Now we are business and copilot is a developer
Not yet. The code it generated is not comparable in quality with a well constructed piece.
i tried with insiders but not working , the chat is not displaying
Have you tried contacting support? I've heard they are responding quickly.
True
8:49 is the best part hahahaha
I couldn't resist.
ChatGPT seems less helpful lately, everything is a disclaimer, and answers are more generic. All progressively worse as they improved "safety" over time. Is copilot more helpful?
Common Copilot can be made helpful. I have made a few videos showing pros and cons of using it.
Regarding Copilot Chat, I have just obtained access to it, and will try to evaluate its impact in the upcoming period.
Thats Copilot Chat not X
Copilot chat comes with Copilot X.
Github chat is not copilot -x
I don't know what GitHub Chat is that you are referring to. This video is about Copilot Chat, which is part of the Copilot X suite, as per the official page quoted at the beginnig of the video: github.com/features/preview/copilot-x