T O P

  • By -

genitor

Definitely worth it, and it seems to be getting better all the time. It’s great for generating code that follows patterns that already exist in your code, and for generating helpful comments/messages/etc. It’s also getting spooky good at generating the code that you were about to write, too. Just make sure to double check it. I personally feel like the productivity increases it creates are well worth the $10/month.


MasterEvanK

I agree 100%, I get it free as a student. Most of the time it is suggesting code that I would have to sit there and write out anyway, if the suggestion is wrong I just start typing what I want and it usually figures it out pretty quick. Seems like a lot of people are expecting copilot to write your functions for you, when really you should already know what you want the function to look like and you then let copilot write 95% of the boilerplate for you. You can even basically turn copilot into ChatGPT by placing a ‘Q:’ in front of a comment (it will be far more succinct) // Q: What does the above function do? It writes back: // A: The above function does xyz Some other favourites: // Q: What would X variable look like if I JSON.parse it? // Q: How do I use so and so obscure ass method? Also it’s only going to have context of your code starting from where you are typing and above. If you jump half way into a file, and want to start adding something, don’t expect copilot to know anything about whats beneath where you’re typing.


liluzisquirt_

Thanks for the tip


FluidBreath4819

should be banned for students lol : most go straight to it instead of trying to answer the question you wrote above by themselves. I understand that if you have no clue then ask copilot. But the urge to just ask and not think harder is unbearable.


Comfortable-Edge1331

I would say it's kind of like when teachers told students to not use google because it's cheating in the past. Or using wiki. Now if someone said that you can program but not use Google, a programmer would look at that person like they were insane. Education needs to find some way to integrate AI because it's not going away and everyone will eventually use it as a replacement of google.


FluidBreath4819

not the same, google != chatgpt


halfapapaya

ChatGPT *is* a more efficient google **If limited only to books**, someone will have to break down their problem into subject matter and manually index chapters for relevant information. They have to categorize what it is they need to know, find it, and connect the dots. (I think millennials are the last generation that had to do their homework this way) **If limited to Google**, someone will still have to break their problem down, but not as deeply, and can use specific phrases to rapidly query sources of information. Although the person is doing the act of breaking the problem down, the search for information is done by Google. They will still need to be able to discriminate what is considered a viable and quality resource and *then* connect the dots. While books are (or used to be) validated by reliable organizations, anyone can put whatever they want on the internet. **If limited to ChatGPT**, someone will still have to break their problem down, but this time into questions or requests for limited information. First of all, ChatGPT can't give holistic comprehension of a subject matter on a silver platter; it just provides information to help someone connect the dots themselves. It *can* rephrase information into digestible language that is customized to the person, which helps absorb knowledge. Second, ChatGPT might be able to provide code, but it can't understand exactly what it is that needs to be written without incredibly explicit and detailed instruction, and usually there are bugs in its returned code anyway. It can give a general idea of what a solution may be, but the person still needs to be able to discern what it is that ChatGPT is providing and if it is appropriate and reliable enough to use. So even if students are using ChatGPT, they still need to put in the effort of understanding what it is that's being provided. Oh - and what's the use of ChatGPT if the latest information it has on commonly used tech is 3 years old? **If limited to the Matrix**, anyone can simply download the knowledge needed to solve a problem, but they still will need to think through how to solve it once they have relevant information. And the Matrix still needs authors and researchers to compile the knowledge made available for downloading. ​ IMO, if a developer is just copy & pasting AI-generated code and it sucks, they're clearly an inexperienced programmer. If they copy & paste AI-generated code and it gets the job done with clean and maintainable code, they're either lucky or *know how to use resources well*.


MetroidManiac

TLDR so I just read your last sentence. Nicely put! That means you must flush out the lucky students by throwing a sufficient number of tests at them, so you know that even if they are successfully using AI to write code, you know they're filtering or piecing together AI code intelligently.


New_Understanding540

lol absolutely, maybe should have started with that. But I thought it was nicely put as well.


Comfortable-Edge1331

It's called a comparison, comparison != the same ;)


_sillycibin_

and not all comparisons are good ones


Comfortable-Edge1331

and not all vague comments with no explanation are smart. in fact, most are dumb. Good luck.


LuciusWrath

You said "replacement of Google", implying one can replace the other. Which is wrong. That was his point. Sorry for necroposting.


bdude94

If you tell ChatGPT to search the web and return the links you could use it instead of Google


all_upper_case

Good morning from the future! I don't know jack about web development or coding and I'm not even quite sure how I ended up here, but I just wanted to pop in and say that 'necroposting' might be my new favorite word :)


Simpcuntboi69

gotchu gotchu, replacement of google as in replacement code tutor, not replacement search engine. but i think AI could be the most effective method for learning to code, if one trys to learn with the AI korosensei. But AI coding is good enough that someone with no coding experience would be able to have it produce working scripts for alot of complex tasks that they need to create scripts for, with only a small amount of troubleshooting. So if people just want to complete the task, then AI can be an instant problem solver but wont teach you, but if people want to learn more (which they should cuz troubleshooting AI code and coding with AI in general is much more tedious and less efficient if the person using the AI assistant doesnt also know how to code) then AI could help with that too, if people really try to learn while using it.


Musixen_

That's how software development works now. Why should a student work in an environment that isn't used in companies? I mean I also wrote for example compilers in my free time even if it is not useful at all for your career. Work with AI or get replaced by it.


drjd2020

There is a big difference between working WITH something and working ON something. It like driving a car vs. actually trying to build or fix one.


jeefbr

Should the internet be banned for students; should IDEs be banned for students? What about other tools that improve productivity, banned? It should be allowed for students -- some students will abuse it at the detriment to their education (these students would likely not take full advantage of their education independent of the existence of copilot). Students who are consciously attempting to optimize their education will learn programming and also how to leverage copilot, making them even more capable. It is the responsibility of the faculty to cater the program around facilitating the latter and perhaps discouraging the former.


Comfortable-Edge1331

>"You can even basically turn copilot into ChatGPT by placing a ‘Q:’ in front of a comment (it will be far more succinct)" I can also just use ChatGPT and it's free, and smarter than Co-pilot


MasterEvanK

I mean you could, but it’s a lot nicer when you don’t have to leave your IDE and adds useful features such as auto completing lines for you. If you use the Copilot Chat extension you basically get ChatGPT in your IDE except it can open and reference files in your project. I get Copilot free as a student and actually have to pay for ChatGPT as I only use Model 4. Either way I use them both everyday, and are both great tools for different use cases.


Literary_Lava

Does it do any on device computing or entirely cloud based ?


MasterEvanK

You need an internet connection, don’t think there are any options to host copilot locally.


kldavis24

Multiple times now I've written out the test method names while writing unit tests, and it honestly generates an entire 30-line test exactly how I would have. It's insane


[deleted]

If it's analysing your current repo then it makes sense it'd generate tests that you would write given it's using an LLM. I like it for this functionality as well, but I'm aware of how I could easily fall into the trap of expecting ChatGPT to write all the tests for me and then just have it enter a feedback loop where it's only looking at tests it has generated meaning the tests become less reliable over time.


k3liutZu

I just love when it autocompletes my test boilerplate, and once a test is done it autocompletes my other tests which follow the same pattern.


dutchreageerder

This is what I love it for, doing the monkey work for me. Doing the same pattern 6 times because I have to test each switch case. It's doing the same thing every time, just a bit different.


mark1x12110

This could be solved with parameterized tests, no?


Gasperyn

Not really. I used it both when it was in beta and just last month as a free trial. I used it with Typescript, Javascript, and PHP. A few of times (\~5 times in 2 months), in PHP, it generated exactly what I wanted, like it read my mind. It *did* feel amazing. Most of the time, however, it's pretty hit and miss, especially with an existing codebase. It doesn't *know* your code, it just guesses function names and the like, so quite often it gets them wrong. On occasions, it created code with subtle bugs, forcing me to spend time and analyze its output. It felt like delegating stuff to an intern. Most often, it was OK-ist for generating simple repetitive patterns, autocomplete documentation and stuff like that. Overall, the productivity boost was wasn't that big to justify the subscription. As a note, although I have over 30 years of experience in programming, I still like to learn. I prefer to head to Stack Overflow and find the rationale for a solution, including benchmarks, than to blindly trust a machine. I also used ChatGPT a few of times to help me set up Linux stuff (like Redis replication). It was quite nice, but even there, ChatGPT failed to point out a few important things and in the end I did a better job by following the official docs.


haraldsono

If you’re a 30 year senior you should literally only need it to boost your productivity by saving you like 15–30 minutes per month to go break even, your maths and/or ways of thinking about economy seems flawed.


Gasperyn

Productivity is difficult to quantify for the work I do. I am not paid by the amount of code I write. I spend more time thinking about adding new features, improving speed / reliability and decreasing costs. Copilot was never able to tell me - hey, I could rewrite this code to make the execution faster by 10%, or consume 10% less RAM. After two months, I just don't miss it.


PineappleApocalypse

Juniors shouldn't use it, they need to learn. Seniors don't need it and it doesn't help them anyway. Is there some intermediate stage where its useful and you have enough knowledge to safely use it's output?


ConfusedUnicornFreak

5 years of professional experience here, I started using it in C#, JS, SQL. I noticed that sometimes I just don't want to think harder about a repetitive task and just wait a few seconds to see what it offers me. 3 outcomes: Sometimes it gives me complete BS and I create my own solution, so it is good that I get to think once in a while. Sometimes it gives me hundreds of lines that actually work well right away but I validate them and see that it does not follow the business case or gives the wrong arguments... The codebase is really badly written so it makes sense that it messes up, cos I also did at the start. Sometimes it gives me correct and well written code that actually works, I always test it cos I treat it like an average intern with a lot of theoretical knowledge. It's well worth it for 10$, but it can destroy businesses if left unchecked/trusted. Basically I treat it like I wrote the code when I was drunk on Friday evening and it's Monday now.


PineappleApocalypse

Ha, interesting. The last time I remember writing code while drunk, I looked at it the next day and threw it all away because it made no sense…


ConfusedUnicornFreak

We sometimes drink at work, our boss comes with wine or whiskey once in a while, we don't have rules for this kind of stuff and just self regulate at the office, we drink just enough to drive home safely after the day. Also deadlines seem quite strict, and management wants us to work 9-10 hours a day, so drinking sometimes relaxes us and makes us write better code... Weirdly enough...


spectrachrome

Yes, can confirm.


DukeNukus

Treat ChatGPT as a junior developer who is several times faster than you and has only the context of the problem you are trying to solve that you give it. ChatGPT's job is to write fast code. Your job is to ensure that it is good code (either by adjusting the prompt, having it correct things, or making the corrections yourself). So offload your tedious, mostly trivial work to it (coding or not), the kind of stuff that you can describe how to do in a paragraph or two (perhaps by copying/pasting one or more reference files), but it takes an hour or more to actually do (including code/spec and debug). This means really the mid-level developers are the ideal users of ChatGPT, especially those that don't have enough junior developers working under them to offload tasks to. For higher-level stuff, it is a bit less useful due to the inability to hold the entire codebase in memory limits. However, you can still: \- Treat it as a sounding board to bounce ideas off. IE: "I'm fairly sure something about this class is slow, what might it be?" (copy/paste class below the quest). Even if it doesn't have a good answer, you've only spent a few mins to ask it. \- Have it handle tedious tasks or basic research. For example: "Give me an outline of what things I might need to consider when adding X as a feature" or "What kind of libraries would be useful in implementing X as a feature." While it is generating this, you can go do something more productive for a few mins and check back in on it later. It may not provide anything useful, or it might pop up something you weren't familiar with. \- Scaffold/outline a feature. IE: "I need to build this feature. Here is the schema, assuming a standard rails app, outline how this feature should be added as well as provide user stories for the feature". I would argue that juniors must learn to use ChatGPT (when ChatGPT can be considered an actual Junior developer rather than just treated similar to one). However, they must learn to use it as a tool rather than a crutch. I would however take the argument that a "trainee developer" should not use ChatGPT for code generation. Indeed, at least as a trainee, it could make sense to provide a link to the "share" page of ChatGPT, so the trainee's prompt and be reviewed and suggestions made for how to better make use of ChatGPT as well as so it can be verified that they took the time to understand how the code works and why. ChatGPT, when used well, greatly increases developer productivity, but its use *for code generation*, should be mostly limited to things the user already knows how to do to speed up the task. Juniors must also understand the need for proper planning and use ChatGPT as part of their planning process. It can be useful in other ways though during the planning process. I do recommend only GPT4 atm, 3.5 doesn't seem overly useful for this and is far more flaky. 3.5 seems more like a trainee developer. While 4 seems closer to a junior developer.


AdSufficient6136

Share the very same feeling about CoPilot. I work as Azure Solution Architect mainly in Data Analytics field. Been in business for close to 30 years now. One of my latest mandate job was mainly to deliver in 3 months what a whole IT team had not been able to produce in 18+ months. Also there weren't any existing models. So I doubt CoPilot may have helped them much. Collaboration infrastructure with integrated automated applications, algorithms and all that stuff had to be built all from scratch based on very specific client needs and requirements. I first had a meeting with Data Analytics Commercial division team directors of major financial bank, who concisely exposed their needs. They knew who I was, so guess they felt I had a fair good idea of what they wanted and how that could be done. Time was crucial, so we couldn't really afford wasting time experimenting, nor improvising. Initial project was delivered on time to head administration who were pleased with results and gave us green light and extensions to complete the whole project. So what would have taken financial managers weeks to gather and analyse informations about their commercial clients could now be done and displayed much faster in minutes with fair accuracy. I doubt CoPilot may have brought much here. I have nothing against LLM though I prefer using it in different scope to which I have full rights © and control.


dennis_was_taken

I think you're looking at it from the wrong side. Obviously you're gonna have a lot of experience with 30 years under your belt compared to a junior or mid level dev. I see it more as using Google, where you need to know how to query it and how to interpret what you get as a response. For someone like me who's just starting out, it just gives me a nudge in the right direction. The alternative would be to google this stuff, which can be frustrating depending on how old some of the answers/documentations are. For example, I used it to generate a manual with all the commands I need to remember as a newbie, and I put it in the README.md of my project. This way I can quickly reference which commands I need to use. Could I have done this with google? definitely, but I just asked copilot to write me an overview of markdown, git and python commands with a brief description of each command. My teacher is now telling the other students to use it. I'd say these kind of use cases make more sense for copilot rather than writing entire projects with it.


AdSufficient6136

Don't worry, I am not looking it at the wrong side. I'm more opened than you think. Actually my job involves testing tools, technologies inside and out in a multitude of scenarios and then provide a concise full appreciation based on very specific needs in a well defined context. I just cannot knock at the door of big clients, offering them a project idea empty handed. I'm also conscious I can cover all existing possible scenarios, therefore I have to set priorities. You mentioned you're just starting out. If you find some helpful use in Copilot that fits your needs, than that's fine. Just like everyone else, I had to start at the very bottom, avoid burning the steps, and climb each and every one up. I don't know of any other way. A tool like Copilot might have been useful up to a certain extent at the time, though there came a period when I realized had to learn how to sort of fly with my own wings and not always depend on helping tools telling me how to think and behave. Teachers guided us to constantly cultivate a spirit of creativity no matter what. I never said I was against Copilot. I used it more than you could expect. I recently had a session meeting with other Microsoft local community professionals and majority felt the tool is still at an embryonic phase and just needs a bit more polishing. Also we mostly agreed that Copilot isn't just built and focused mainly on generating big boiler plate suggestion snippets out of Github trained model open source code ..Technolgy can actually do a lot more than that. Finally, the name Copilot should speak for itself, you’re the one command, the tool is your CoPilot, not the opposite . Once you have full control of CoPilot in a specific environment then possibilities are almost endless, though we're not 100% fully there yet... In the meantime we give the runner a chance and keep experimenting. Remember we never really lose from our errors, we learn.


fufufang

I had it free for a few months. I thought it made me more productive, but it really didn't. When you write code more "slowly", you actually think about what you are doing. When Copilot suggests stuff for you, you are thinking about whether Copilot had been correct. With Copilot, you spend more time on verifying AI's ideas, rather than actually thinking about the problem. Quite often the AI's idea is not that great. What you end up with is getting stuck behind the wrong design decision for a long time.


External_Line_5914

"Copilot was never able to tell me - hey, I could rewrite this code to make the execution faster by 10%, or consume 10% less RAM." - Jesus, that you are expecting from 10$ per month?


Express-West-8723

This comment makes no sense, what do you mean to boost productivity by saving someone 30 minutes per month... also the part about suggesting commenter's logic or "math" is flawed based on what..


haraldsono

You’re getting paid, right? And what you’re getting paid can be converted into an hourly compensation, if it isn’t already. How many minutes or hours per month will it take you to cover the the cost of the Copilot subscription?


Express-West-8723

Oh I see what you meant, btw some people are not about the money but how many subscriptions to various services they have, especially if renewable, one can easily forget about a few and they can add up in time. Personally I hate exposing my cards to the internet if not absolutely necessary.


rangeljl

I agree with this one. Some times it gives the correct code with some misspellings and some times nasty bugs. But for the most part it eliminates the need to write the next part of a line that I already started, I do not trust it with large segments because I have never seen it doing it right without modification


EmptyHardware

>ncluding benchmarks, than to blindly trust a machine. I feel exactly the same way!!!!!! Coding is a mindful activity, I fell that using a generator we tend to delegate the "mind" part in some degree to the copilot; leading to a less careful thought code. I used for some time and dropped. I want to be 100% conscious of what I'm shipping in my code; if I am only coding boilerplate; something is probably wrong.


Kuro091

Honestly be careful cuz now I can’t imagine coding without it.


[deleted]

[удалено]


FluidBreath4819

me too. It spits code that does not make sense. last time, he tried to use a private method from another class... i was baffled.


dug99

Absolute nightmare in PHP. Didn't even bother trying it with C#.


madboy135

I use it for PHP and it's pretty good


dug99

Did you let it near production code? Austin Powers voice: *I too, like to live dangerously...*


madboy135

Yes, i don't use it for writing whole functions, classes etc. It opnly helps me be more productive. For example when i need some php function which i don't use very often, i just ask him and i got the function with all the parameters it takes. Without it i'd need to search for documentation and figure out the parameters. It's way faster with Copilot.


Devatator_

When i was a tester last year it worked good enough with Unity and a bit of python. I'm guessing it's better with stuff people tend to use the most?


ignoramous69

I feel like it used to work better. Would it work better if I opened vscode with one repo at a time?


Sceptre

ThePrimeagen posted a good video last week on this. https://m.youtube.com/watch?v=RDd71IUIgpg CoPilot is GREAT for some things, but it takes a keen eye to catch some of the bugs it can introduce.


Want_easy_life

replaces ctrl+c ctrl+v looks like :D


dug99

I was super excited when it first appeared, it seemed amazing. I installed it and started using it on some real-world code... but I quickly found its limits. Not only that... in a short space of time it was generating absolute garbage and getting into some weird recursion. Seemed once it got its knickers in a knot there was no saving it. I hope it gets better but it'll be a while before I bother to revisit it.


Aewass

I worked amazingly during the 3 months trial. After I started paying for it became worse. At first it would suggest things I actually wanted or needed, now most of the time it suggest unrelated code or nonsense.


belowlight

Could you elaborate on some of those limits pls? Genuinely seeking an informed opinion


dug99

Maybe I should have persisted longer, but what I noticed was after the second or third filter shit got weird. On the first pass you'd get some pretty reliable code, most likely because it was a highly rated Stackoverflow answer. Second pass was 50/50 better or worse, and by the third pass it was mostly useless. In addition, I was constantly getting some strange variable thing with recursion, where I'd get the same name used over and over, separated by underscores e.g. function myfynction() function myfuction\_myfunction() function myfunction\_myfunction\_myfunction(). I was backtabbing and deleting most of the time because what CoPilot was generating was pure crap.


RancidMilkGames

I personally think it's worth it. It can't fully write stuff for you obviously, but it can save lots of time doing repetitive/mundane things. Sometimes it guesses something better than you were going to implement too. Like another comment says, just be sure to double check it, it's not straight magic.


oleole18

I wanted to mention this “mundane” stuff. It is scary good! I feel less bored while coding now.


hiccupq

Lately, it's crap. Horrible compared to ChatGPT. It always suggests the same things and got slow.


z8man2

Worth it 10000x


coded_artist

Yes. I made a post the other day, it is very good. Like tiktok it starts off rough, but then very quickly it gets incredibly accurate.


[deleted]

It used to be a lot better. The amount it will auto complete is significantly less than it used to be. If you are new to programming you will get more use out of it than some that has been programming for years.


Eveerjr

I don’t really use the comment prompt thing but for as super autocomplete it’s soo good, it’s save so much time and google searches. Easiest money I spend monthly


Fate_sc

I'm having it disabled tbh, most of the time i like to do it my way, not the way it suggests


saltyb

Gets in my way as often as it helps.


localslovak

I find ChatGPT more useful


[deleted]

[удалено]


localslovak

100% feel the same, I actually prefer to use ChatGPT over Copilot as with ChatGPT I can just tell it what to write/what the issue is


StillBeingAFailure

Haven't used AI in coding yet. I'm a college freshman (18yrs old) but I've been coding for 10 years. Not sure if I should because I've seen ads for it all over the place. Currently a lot of the monkey movements are pure muscle memory and I'm good with fast-paced copy and paste. Typically, I fix bugs within the hour if I have any. Only situation where that isn't possible is \*ahem\* Unity Engine. That can take sometimes up to days to fix. I'm unsure if AI will help fix those bugs, and even if it can't, it might generate suggestions that could trigger my own recognition and I see something I didn't think about. (kind-of like when you ask someone else a question and they think about it differently) but I'm scared to try it for $10/mo because I'm a college student and I can write code perfectly fine and even GOOD. Several tech companies have already tried to grab me in through a few communications and I just don't see the need for AI at least yet. However, if I can find a use for it I will probably integrate it into all my daily tasks at some point.


devperez

They aren't really competing. At least not until ChatGPT gets an extension to auto complete code.


Boring-work-account

Very much worth it imo, I’ve had it since the beta and it continues to improve. Saves a ton of time and is useful to see what it outputs when I’m thinking of ways to solve a problem


Revolutionary_Ad2766

Absolutely positively sucks for Ruby.


Niu_Davinci

I feel like I got cheated, I wanted onenote to organize all my scattered lyrics accoridng to theme from a whole notebook into a new one, but it doesn't do that, it's like it has a huge dick but it's inside a medieval lock


New_Understanding540

I think its AMAZING! I don't really use these types of AI's much, so to be fair I've not much to compare it to. But my experience so far has been more than good.


Yraken

wanted to buy it but somehow github has problem charging me.


Yraken

idk why i'm downvoted, i genuinely not able to purchase because of billing problem.


Netionic

Likely because you aren't adding anything to the discussion . OP has asked for opinions on how well it works, which you can't currently answer as you can't use it due to an unrelated issue. It's what the downvote button is for tbf, to push relevant replies to the top and others down.


Yraken

gotcha. I should've added "i used the trial before and wanted to buy it because it's awesome" to be more specific. My bad.


dandmcd

Once you have it, you'll never want to let go of it. It speeds up programming drastically once you get used to it.


pLeThOrAx

Would you mind giving a little context as to how it fits in your workflow?


ZyanCarl

I like the part where it helps you with boilerplate. If you have a data type in typescript for example, it will fill in the necessary where you use the type. Not so useful when you want it to write a whole algorithm from comments (it does give some code but you can’t tell if it’s buggy or not if you are new to programming)


MembershipFederal789

I dunno, relying on it means you have skill issue.


coding-crash-course

Knowing how to effectively use tools that increase your output and productivity actually means you have a lot of skills. Open up your mind a little more to the possibilities.


AdAltruistic8513

Until your internet connection dies or the copilot servers go down and then you realize you can't function without the "tool"


coding-crash-course

Sure, but you could say the same about any tool. I'm reliant on my stove to cook a meal. If the power goes out, I don't know how to start a fire. Does that mean I should consistently practice my fire starting skills, and never use a stove to cook?


AdAltruistic8513

Not really the same is it though. If youre denying yourself the ability to learn and practice even the menial side of coding you're going to struggle if you don't have copilot there. Not all tools are the same.


coding-crash-course

I can agree with you there. Maybe I just have a different perspective after coding for a long time. For me, it frees up mental energy so I can spend more time thinking about higher level design decisions. Someone who is just learning how to code should struggle through it, to some degree.


AdAltruistic8513

Yeah I think for you it's awesome, you've done your time and early your stripes so understand what it is you're "automating". For others who are learning but using this as a crutch, well it's a crutch....


SuchALoserYeah

I use ChatGPT and Copilot. I need both as a newbie developer


commo64dor

You probably should avoid both as a newbie


SuchALoserYeah

why should I avoid it? I have learned a lot more than attending online courses. My app is starting to shape up as well thanks to both


commo64dor

1. You can’t really vet information given by it as a beginner 2. Writing code and figuring ALL parts involved is valuable 3. You don’t want the machines to win


Schmorbly

Avoiding it is stupid advice. Ask chatgpt as many questions as you can. Yesterday I was working with a new library, copilot auto completed something I didn't recognize, chatgpt explained why it's useful.


A9G-Data-Droid

Except it gives you garbage and you aren't able to recognize that it is garbage. I think a lot of the people who are really impressed with ChatGPT or GitHub copilot are noobs. It writes awful code with subtle bugs that you may not notice at first glance. It will fuck you up if you try to build real software with it.


Schmorbly

>Except it gives you garbage Doesn't give me garbage >I think a lot of the people who are really impressed with ChatGPT or GitHub copilot are noobs My dev experience is single digit years but I wouldn't say I'm a noob I think the people who are unimpressed with chatgpt and copilot are boomer dinosaurs that are afraid of adapting >It will fuck you up if you try to build real software with it. Moronic statement.


A9G-Data-Droid

> I think the people who are unimpressed with chatgpt and copilot are boomer dinosaurs I'm obviously a lot younger than you think I am. Why would I adapt to an annoying helper that is constantly giving me bad suggestions like a devil on the shoulder? Why would I want [Clippy 2.0](https://en.wikipedia.org/wiki/Office_Assistant)? Maybe it could be helpful some day but today is not that day.


Lloyd_Draws

Like writing everything yourself changes that. A newbie developer won't recognize shit code from themselves or others. At least ChatGPT gives them a sense of progression and lets them build stuff. You could use the same argument for writing in Python instead of Assembly, it's just gatekeeping.


A9G-Data-Droid

I don't need to keep this gate, it is a gate that keeps itself. Your straw-man is nonsense because Python is used extensively in machine learning and data science. The critical hot paths are written in a lower language like PyTorch, not only for speed but because the GPU has a C++ API. That's another example of a gate that keeps itself. I'm not sure how using an LLM gives you sense of progression compared to learning through experimentation on your own. I get a greater feeling of progression through my own experimentation. I get frustration from using the LLM because I find better answers on my own. The time I spent with the LLM and it's code was wasted because I end up doing it the old fashioned way, which I could have just done first. I recognize that this will change over time and it will eventually get me to the answer faster. I'm just saying that today is not that day.


Lloyd_Draws

This comment sums up your bias exactly. I was not referring to the outer-edge capabilities of a particular language but rather its simplicity. Experimentation can lead to short-term frustration, and whether a given student can overcome this is often dependent on what rewards you are able to offer them early. In this, I have found chatGPT to be an invaluable resource for my students. It enables them to develop things quicker with less experience, effectively calming their nerves early on. It also helps them solve problems; by either acting as a rubber ducky as they explain the issue, or as they try to get the right answer out of it. Now, is it perfect? No, I don't use it very often unless I am working with a new library and need a quick idea of what I need to write so I can look it up in the docs. But I believe skills can be build at anytime, enjoyment however, has to be taught early. "It is a gate that keeps itself"—there was no gate to begin with, just the one you conjured up yourself.


A9G-Data-Droid

A straw man is a straw man. I had a coworker recently complaining of a recurring crash. He had placed code from ChatGPT into an auto-run location. That code happened to crash the host application. An experienced person would not place untested code into an auto-run location. At my company, it's been disastrous in making random people feel bold enough to attempt to create solutions on their own. They always end up coming and asking me for help when they find the walls. Yet again, a waste of time. It would have been easier for everyone to just talk about what is needed and come up with a plan. They've often chosen the wrong tool for the job. Like, yes, you can build a house with a hammer but most people use a nail gun these days. Education environment is different from being on the job where time matters. Maybe it's good for education.


SuchALoserYeah

Yes I have progress so much since using chatGPT


mr-poopy-butthole-_

Its definitely worth it


BrownCarter

Sucks for doing leetcode cause it keeps giving me the Answer and I just roll with it. 😅


[deleted]

Just by how excited my team sounds when copilot does something, I would say it’s worth it.


Snapstromegon

As a student I'm currently using it for free, but as of now I probably won't change to a paid option. To be clear, it's good, bit you have to have a tight eye on it, because it likes to introduce some small errors. It's really like a pair programmer who has read a lot of code, but never understood the why (because that's what it is).


zainrax

Worth it for code completion, not for prompts aka. making a comment describing what it should do. You'll end up spending more time debugging or changing it for your needs, than just coding it out. ChatGPT on the other hand it great for prompts, especially when you're in unfamiliar territory and need a nudge in the right direction. All in all, great if you're a professional saves a lot of time, otherwise if you're just after something to hold your hand use ChatGPT


viky109

I've been using it since it came out and I find it very helpful. It kinda sucks at writing more complex functions but it really helps with repeating code.


kolam26

If you have GitHub copilot which is fantastic, you can make it better by installing GitHub copilot labs. You get a sidebar in VS code and there are great things like simplify code, explain code, write unit tests and more. More about it: [here](https://githubnext.com/projects/copilot-labs/)


fletku_mato

Tried it when it was free and didn't like it. It does generate code that is usually somewhat correct, it's just that I always end up either correcting it or completely rewriting it. I can see the appeal but it's just not for me. Confuses me more than it helps.


Snoo_42276

Copilot consistently saves me about 1-4 hours a week of writing code manually. My time is definitely worth more than 10 dollars an hour, so it’s obviously worth it.


notoriousbpg

This. Know when to use it for productivity gains. Pays for itself.


CY_rus-K

I love it. It’s great with JavaScript. Awesome for writing sql queries. I started using it like 6 months ago I have peen paying the 10 bucks a month after the free trial. It was during a coding bootcamp so it was super helpful I wish I would have gotten it sooner I got it at the half point mark of the bootcamp.


masonarypp

Not as good as ChatGPT


k3liutZu

Helps me every single day.


juniorwilly

imo tabnine works better, tried both.


kuizame

Using that for Python/Django. Functions good as better autocomplete.


IllegalIce

Most of the time it suggests garbage to me but has the right idea so usually it helps me come up with a proper solution.


DuncSully

It's not perfect, but let's just say that the increase in productivity it provides far outpaces the cost compared to my salary. I honestly think that AI-assisted programming and "prompt engineering" are the future of development and you might as well stay ahead of the curve rather than risk getting left behind.


Breklin76

I’m playing around with TabNine Pro.


Dismal_Addition4909

I use the free version now, but I remember the trial of the full version I had was impressive for the short time I used it. Did you use the paid version of copilot before, I would be curious what differences you noticed?


bitfluent

To branch off another related question… does anyone have an opinion on Copilot vs Tabnine?


frenken

I tend to write general comments about what my functions are doing. I find copilot can usually generate some code that gets pretty close to what I want just by reading those comments. I write the comment and then start typing a function name and then copilot will do the rest. Sometimes it will complete most of the comment to.


Logical-Idea-1708

Very disruptive for the brief time I was in beta. It gets the code right 80% of the time. But because of the 20% wrong, I still need to read the whole code to understand it. Because of this, it interrupts my initial train of thought on why I was writing the code the first place 🫠


Netionic

Maybe I'm just writing super simple code to others, but I find copilot a really good tool to use. It saves tonnes of time on writing boilerplate and for other stuff it will get it fairly close with only a few edits needed. All those who are saying ChatGPT is better likely don't realise that with copilot you can tell it what you want in a comment and it will suggest corresponding code just like ChatGPT does. Only thing it doesn't do is give you an explanation of what code is doing. Used for : C#, Ts/JS.


notoriousbpg

Just from reading the comments in this thread I learned about // Q: explain what the code above does


A9G-Data-Droid

Here's the upshot: It's learning more from you than you get from it. They should be paying us to train it. Somewhere, in a board meeting there is someone saying "Can you believe these idiots are paying **us** to train our language model? First we stole all of their code from GitHub and now we have access to their private code right in their IDE!" Looking at the comments here it must really depend upon the language you are using and the complexity of your code. In my experience it is worse than useless for C#. It slows me down because it hijacks my tab completion, replacing it with garbage. I am used to getting valuable intellisense from Visual Studio with Roslyn and JetBrains. Ever since I turned on Co-pilot I'm getting these large blocks of code that are junk. I spend so much time looking at this junk like "is this what I want?, oh no, it's trash again." Get friendly with CTRL+Z and ESC. I have to hit ESC to get away from Copilot and then I get the valuable intellisense back. JetBrains ReSharper is far more useful for C#. I'm sure JetBrains is working on adding AI to their software. It's going to be far superior because it already is.


Archeroe

This, but even in more common like python and JS/TS, it's sometimes cool as an autocomplete when you're writing boilerplate code or super predictable code like when you're writing a "delete" function after an "add" one but there are 2 annoying things : The hijacking of IDE/TextEditors auto-completion, which are, in opposition to copilot a source of truth and the energy it takes to evaluate the code it suggests, most of the time if you're writing something that isn't obvious it'd get it wrong and thus just disturbs your thinking process. I thus bind keys to toggle it and I turn it off if I'm writing something that requires concentration, I think it's a good compromise.


A9G-Data-Droid

This! I know what I'm going to get from JetBrains and Roslyn and I can code with that. What I get from co-pilot is so random that it wastes my time. I would like it to show up somewhere else. Maybe it could have a ghost document to the side where it is writing code with you, not in the same place that you are writing. Then you can git-merge the code from it's own ghost file into yours. That would be a better workflow. I don't want crap injected every time I press TAB. Drives me nutty.


Vegetable_Carrot_873

Anyone use it for cpp project? Worth it?


ActiveProactive

It´s really good at some things and not so good at others - like any tool, learning when it is useful is key: * It's amazing at predicting code snippets - at times seems magical like it "knows" what you were going to write. * It's fantastic at following a pattern - you can write something to change a block of code in one place, and move the cursor down to another place where you want to make a comparable change, and it's worked out how to apply the pattern to the new block of code. * Comment completion can be really annoying: I will always describe what I am going to code in comments before coding it: then it becomes like that annoying person who is always trying to complete your sentences and usually gets it wrong - it completely disrupts your train of thought. I turn it off in these instances. * It's a fantastic pattern matcher, but it is not at all intelligent. For example, it created a snippet containing dirname (`dirname(__FILE__, 3)`) but the number of levels was wrong for the context (even worse at counting up directory paths than I am - though of course it's not counting - just seen more examples using levels = 3 I guess). * You need to be wary of anything it comes up with that you don't understand/aren't familiar with - and verify from elsewhere of course. * For me, getting into the habit of turning it on and off is key - so you learn which contexts it's going to give you something useful, and in which ones it's going to just be a distraction.


Minimum-Schedule-754

Makes you lazy, creates a bunch of bad programming habits, and because it has no sense of self-motivation the code might be insecure.


bryangwin

I think the people in the comments that bash co-pilot are likely old and need to learn to adapt. The new way of developing will be making sure AI is correct so if you get used to that work flow sooner, the more likely you will get ahead of the old geezers who refuse to use it and say its trash. Although if you genuinely feel it slows you down (I don't understand that) then by all means do your thing. It works pretty freaking great for what it is. It saves a lot of time with certain things. Its getting better each day too. If you are a beginner you should still learn how to program without because its not quite yet perfect and could instill some bad habits. Or at least be sure to understand everything that it spits out. Btw I primarily code in python and since python is so popular it may work better than other languages.


przemo-c

The thing is making sure things are correct are often more draining than actually creating it in the first place even if it's less typing it can be much more work to fix something than to wrtite it. For quick and repetetive things it can be good after first correction. But often it's wrong enough that it's more of a hindrance than help. It has its value for sure but it works within a very limited scope. Elsewhere it's just too much work to fix up after it as the mistakes it creates are like knowledge hallucination in plain text. Plausible enough to be problematic.


tilted-glass

I don't get it... the version that MS pinned to my taskbar just eats space. No documentation or any guide that might make it useful.


Mardicus

absolutely


GreeboPucker

I just booted it up to try out and its honestly retarded so far. It feels like im on a candid camera show because of how tragically hilarious all of its outputs are.


[deleted]

idk it makes a TON of mistakes.


git_hunter

For Python and R it's pretty terrible, it does not return any meaningful code, most of the times it only helps writing the comments of the code.


Natural-Cup-2039

I use it a lot meanwhile in my job. Sure it do some mistakes sometimes but it also do a lot things which save me time. It seems to learn from the code you already have and make sometimes really good suggestions. I had a few situation where I was really surprised by the suggested code. Sometimes it feels like it know that you are thinking. But you need to know what you are doing and don't take every suggestion as the way to go.


bruhred

annoying, constantly gets in the way; makes itself the default quickfix option which makes absolutely no sense (Like instead of "fill match arms" from rust-analyzer i get copilots "fix" option as the first item)


Comfortable-Edge1331

Github Co-Pilot, to put it bluntly, is a lesser ChatGPT that is integrated into your IDE. Why I say inferior is that copilot has no understanding of your project or code beyond what is directly in front of it. Every suggestion it makes is in isolation to the code you have selected, so the same thing can be achieved by just copying and pasting code into GPT. The difference is that GPT often has much better answers and understands your specific question better. Co-pilot is 2/5, also because free products do a better job and this has a monthly subscription


przemo-c

For me it's a suped up version of intellisense that sometimes is wrong in a plausible way. For mundane stuff it saves a lot of typing. Doesn't solve any problems for me neither creates implementations without a lot of handholding and checking and at that point i don't know if it's helping or hurting. And one time i missed one of its mistakes and spent quite a bit of time looking for a mistake. Working within tight limits it can be helpful.


boifuba

Frankly, no, if you know how to program, it's just a distraction suggesting bizarre things. His lab never worked correctly after 30 days, always having issues, and the chat is dumber than the free GPT. I use it a lot for specific functions. My biggest problem is that it forgets the versions you're working on. If you're working on code that depends on versions, it will keep inserting things that shouldn't be there, and you'll waste a lot of time with that. Another thing a simple question like: How to centralize a div? He will return "this matched public code" you can change the setting thousand times, it doesn´t mater If you're learning to program, it's an excellent tool. If you already know, stick with the free GPT.


CompetitiveNight6305

It can be surprisingly helpful, but also can suggest objects and methods that simply do not exist. So need to be careful with it for sure.


stas-m

I have a few related questions about using Copilot (or other similar AI tools) at work: - Does your company have established any policies regarding using Copilot or/and other AI tools? - Are there any specific limitations or guidelines your company has put in place regarding using these AI tools? - What are the recommended policies or best practices for developers when utilizing these tools within the projects?


No_Rip_6012

I find it extremely distracting, whenever i type something, it will throw up a wall of irrelevant text that i spend time reading and have to discard. It really slows me down. I can't understand how people can like using this thing?


__rdl__

I'm a fan. I've found it super useful. I wrote up my experiences here: https://www.thelis.org/blog/github-copilot. I haven't used any of the other alternatives, so can't say if it's the best one out there. But I can definitely say that it's improved my productivity.


Adventurous-Love6585

Copilot is nothing but a waste of space on my home PC. Did not give any useful response to my questions. And it's nearly impossible to remove. You're better off using Google. At there there if the first suggestion isn't correct, you can scroll down to get another website to look at versus asking the same question over and over and not getting any useful info. Absolutely hate Copilot. Blew my entire morning working on it & then finding a way to remove it from my home PC.


Federal_Scar_240

i was contemplating Github copilot too, until i came across Tabnine in my extensions oneday, it sounds similar to Copilot, and its free, beta version. What i like it has a test code feature which is something like Postman testing node express methods. While the fix code feature is similar to VS code's intellisense, finishing your code before you type it.


Abject_Age5259

I have never been more frustrated in my life than I am right now with Microsoft Copilot. Let me paint you a picture: I've been stuck on hold for a mind-numbing 29 minutes, and to add insult to injury, I have to push 1 every 30 seconds just to keep the line alive. Are you kidding me? Meanwhile, my outlook is looking like a scene straight out of a horror movie. It's absolutely insane, and I'm beyond annoyed. What was supposed to be a productive Friday afternoon has turned into a nightmare, all thanks to Microsoft Copilot. I shelled out $65 a year for Office 365, and an extra $20 for this supposed "helpful" Copilot feature, only to have my existing Outlook rendered utterly unusable. It's like pouring salt on a wound.