|
I've been using it for the last couple of months. You have to treat it like you're an expert QA abuser here.
Context is EVERYTHING. The more detail, the better. If you don't describe in nauseating detail what you're working on, the app type, what you want the app to do, the problems you're having, ... It's going to do what we do when we come across an idiot in QA who doesn't know how to ask a question. It's going to guess at what you're doing as best it can.
But what you said about code that doesn't compile is true. If you're not watching what it's doing, it will spit out code that doesn't compile. I've had multiple occasions where it generated WPF XAML and used properties on classes that didn't exist. In these cases, I told it what it did wrong, and to give it credit, it did come up with corrected solutions, even ones that didn't involve just changing a property, but instead, rewrote the entire block using an entirely different method to solve the original problem.
It works best if you don't try and treat it like you're in QA. Treat it like it's a friend you tell everything to about your code and the results get better.
It's a tool like any other, where you have to learn to use correctly.
Would I trust it to write production quality code? Not a chance, but it can be a decent helper. We're in no danger at all of AI replacing us, or even replacing QA here.
|
|
|
|
|
I agree. When working on code with Copilot I start out with the code context. Then I explain my problem and include the compiler error message. Copilot commiserates and rewrite my code, improving it. Then it offers alternatives. The more descriptive your prompt, the better the answer. I never ever expect Copilot to design or architect for me. I can already barely remember the time when I had to look up obscure syntax and battle, in my case, Microsoft regarding documentation errors and get rebuffed with "Need more information" and "Not important enough" and issue is "closed".
|
|
|
|
|
I've found it to save some time with autocomplete when you have an existing example in the code to work from and it's a repetitive task.
E.g.
public void IsNumberEven(int number)
{
if (number == 0) return true;
if number == 1) return false;
if number == 2) return true;
// copilot will do well with autocomplete here
}
:P
|
|
|
|
|
I am thinking it could save some typing by using recursion and adding or subtracting 2 on each call!
Start posting multiple instances of cr@p like that on public repos and see how long it takes to suggest that…
|
|
|
|
|
I haven't used it, but I should and kina want to. AI is going nowhere. Your options are embrace it or become a dinosaur.
Jeremy Falcon
|
|
|
|
|
And another study I saw the other day contradicts that email: Study shock! AI hinders productivity and makes working worse • The Register
That study mirrors my experience, tbh. I've found "ai-powered" code tools to create more work than they take away because (a) I'd say about 50% of suggestions are completely wrong and the rest are either trivial or subtly wrong.
------------------------------------------------
If you say that getting the money
is the most important thing
You will spend your life
completely wasting your time
You will be doing things
you don't like doing
In order to go on living
That is, to go on doing things
you don't like doing
Which is stupid.
|
|
|
|
|
I can't say anything about Copilot, but I can about its Gemini counterpart, which is currently in the free stage.
The autocomplete works better than the standard autocomplete. But as always, read carefully - the bot doesn't understand the purpose of this piece of code. For repetitive tasks, it works great. But for longer functions, I need a lot of time to review.
Sometimes I was surprised. The function was written in a way I would never use. But the result was correct and sometimes even better.
I see these bots more in the area of learning than productive creation. But yes - they are fun too.
When it comes to learning other people's code, they are really a help.
|
|
|
|
|
CoPilot allowed me to have somewhat in-depth conversations about nuclear physics and criticality that Microsoft newest AI would not handle. Except for that, so far, all the AI either refuse to discuss controversial subjects or adhere to the official line. I find this problematic.
|
|
|
|
|
As far as I'm concerned, whatever it provides can be useful as a starting point that you then adapt yourself to your own needs; it's never a solution that you can just copy and paste. That should never be the goal, no matter how good it gets.
Does it save me time? Yes it has, but more often than not it's just to set me on the right path for further research, it's not the final destination.
As other have pointed out, it might generate code that doesn't even compile. But an experienced developer should be able to get something useful out of it, and fix the wrong parts himself.
And in hindsight, all 3 paragraphs I wrote above are essentially each saying the same thing.
|
|
|
|
|
Why would I need an AI Assistant if I knew what I was doing and what I wanted to write as code?
Seems like Co-Pilot is merely a redundant piece of software that Microsoft wants professionals to use with no real and apparent reasoning...
Unless of course, Co-Pilot has another layer of surveillance software in it.
I have never tried the software and have no intentions for doing so.
In fact, I have been looking at moving my development efforts to Linux.
I wish JetBrains with its Rider ID would get its act together with WPF support...
Steve Naidamast
Sr. Software Engineer
Black Falcon Software, Inc.
blackfalconsoftware@outlook.com
|
|
|
|
|
I've used it for more than a year now, it's really helpful in writing boilerplate code, a really good auto-complete. That is pretty much what I use it for.
|
|
|
|
|
I was slow to realize the benefits of it for C++. Recently, I needed to wrap a complicated templated class (CUDA Thrust host_vector and some others), and I asked the GitHub Copilot chat to generate wrappers using the private-implementation pattern (pimpl pattern).
It gave me a fantastic start to it, throwing in the right include files. It did not make wrappers for 100% of it, but I was able to fill in the missing pieces easily enough. In fact, its inline suggestions in Visual Studio 2022 often saved me a whole bunch of typing. Once it saw that I was repeating a pattern (wrapping a class using the pimpl pattern), the inline suggestions saved me typing boiler-plate stuff for levels of indirection and such.
Other useful things I have asked it are to write me a CUDA algorithm that does something pretty specific. Sooo useful. However, the Windows Copilot (free) seems similarly capable as long as it does not need to see your code.
GitHub Copilot knows how you like to name your identifiers (m_width_meters vs m_width_pixels, for example). Those little touches have got me hooked.
If I am confused about how to invoke a C++ standard-library function, I ask for an example program.
Am I twice as productive? No. But I'm hooked.
|
|
|
|
|
I've received a lot of help on this so thanks all - I'm kinda leaning towards this
Beelink
thoughts peeps ?
In a closed society where everybody's guilty, the only crime is getting caught. In a world of thieves, the only final sin is stupidity. - Hunter S Thompson - RIP
|
|
|
|
|
Quote: Operating system DOS Well that should be a nice change from Windows 11. ![Laugh | :laugh:](https://codeproject.freetls.fastly.net/script/Forums/Images/smiley_laugh.gif)
|
|
|
|
|
I noticed that Richard - I don't really care what's on it as I'll put Debian on it immediately.
In a closed society where everybody's guilty, the only crime is getting caught. In a world of thieves, the only final sin is stupidity. - Hunter S Thompson - RIP
modified 1-Aug-24 10:32am.
|
|
|
|
|
Looks good, featuring a cool Ryzen (15W TDP).
"In testa che avete, Signor di Ceprano?"
-- Rigoletto
|
|
|
|
|
In a closed society where everybody's guilty, the only crime is getting caught. In a world of thieves, the only final sin is stupidity. - Hunter S Thompson - RIP
|
|
|
|
|
Quote: Operating system DOS
I'm hoping their product description is a bit off.
Aside from that, it looks like a good little workhorse machine. AMD is good here due to having better onboard video than intel.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
Video stuff is wasted on me as it will be run headless but you never know
In a closed society where everybody's guilty, the only crime is getting caught. In a world of thieves, the only final sin is stupidity. - Hunter S Thompson - RIP
|
|
|
|
|
You can still use it for transcoding (for like DLNA to serve movies to your smart TV for example), or for reencoding video.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
Way overpowered for most Linux... The fact that is is low power Ryzen should solve youe problem with noise (as probably the origin ot that is heat which leads to fan activity)...
Probaly will go for decades...
"It never ceases to amaze me that a spacecraft launched in 1977 can be fixed remotely from Earth." ― Brian Cox
|
|
|
|
|
Will be somewhat future proof, though I'd argue that "overpowered for linux", while probably true for pkfox's use case, all depends on what you intend to do with that linux box.
If he decides to serve DLNA to his smart TV's he'll need a bit of CPU heft.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
Hence the 'most' part
"It never ceases to amaze me that a spacecraft launched in 1977 can be fixed remotely from Earth." ― Brian Cox
|
|
|
|
|
|
Would changing the fan on the original system be possible?
It might be a cheap option.
|
|
|
|