Not everything is a corporate conspiracy theory. Companies get tax writeoffs for providing resources to students in some countries. Heck even computer stores offer student discounts.
Memorization can be scary though. Depends on your job and how technical it is. I was in munitions systems in the Air Force. We were taught to not rely on imperfect human memory and follow the documentation every time, regardless. I argue that co-pilot is bad because it gives you the fallacy that you do have everything memorized because we just glance at it and agree with copilot. It’s like saying oh that’s easy, I remember that.
I'd say it's not that much of an issue, but then I think about what if a badly placed loop results in a poor sap getting fried alive because a medical or a tool did 1 too many revolutions
This is indeed a very important insight. Even if you read through copilot's suggestion and understand everything it generates there is still human error, which will be very high because of copilot.
@@SimonWoodburyForget I didn't memorize how to ride a bike. I understood how. Even 10 years later, if I hop on a bike, I will be able to ride it within seconds. That's what I think you're getting at. It isn't something I need to recall, it's something I intuitively just know.
I quit using Copilot a few months ago because it was fucking annoying. Terrible, intrusive suggestions that would override the IDE's default suggestions and prevented me from inserting basic snippets because it thought it knew what I wanted.
Basically why I never started using in-editor AI to begin with, I know what I want to do and rarely do I not know how to implement it, and if I need help I'll check docs or last resort chatgpt. Saving a minute a day or whatever is to be honest not going to affect my overall performance at my job anyway.
IDEs usually don’t make suggestions LSPs do which lots of IDEs typically call by default. But they’re offering you different kinds of suggestions usually and sometimes the copilot one is more contextually appropriate.
@@ringpolitietpeople who are used to pressing tab to accept suggestions are bothered by this but they could also just do easily change their keybinds. It’s wild to complain about something that’s user error.
Privacy/telemetry/leaking is a significant issue in a lot of industries. For example I work on a semiconductor manufacturing related project that is dealing with High-NA EUV lithography - it's forbidden to send data to any external service, including google translate. But I bet it's the same in car manufacturing, aerospace, chemistry, pharmaceuticals, etc. (Although I personally don't mind, since I like to write my own code, and usually structural/architectural design is the hard part, not typing it out.)
I still remember how fun it was to code without internet access. You had access to high-quality documentation locally installed on your computer. During that era, I read probably half of unix manpages and GNU info doc. It was a very, very productive and pleasant way of working.
But you’re not in control of whether popular frameworks and modules have thorough and helpful documentation, which is less common when authors can lean on SO and other discussion boards to answer users’ questions.
Reading info pages taught me that in bison you can name references. Literally all videos I saw were using `$$ = $1 + $3` instead of `$$ = $lhs + $rhs`. Literally every single one. I am not exaggerating. Every time I saw a video with $6 I wanted to scream "stahp". (Then almost everyone moved to using RDP so my nerves got calm)
@@Iceman259 Every major framework has very thorough and helpful documentation and because they're open-source you can add documentation if you feel like they're not thorough enough.
I never use copilot to write my main logic. I mainly use copilot to autocomplete boilerplate and tests. As much as I love coding, I always hate writing that part. I just like using AI to allow me to focus more on the main logic that I want to actually write.
But the problem is as you get used to use copilot for boilerplate and tests you start forgetting how to write them yourself if you decide not to use it.
I like how Copilot can mimic your code style as well. Once I had to do 2 script blocks that did alternate work and after doing the first I went to start the second and Copilot quickly suggested exactly what I wanted based on the difference in logic. Otherwise it can at least help fill out alot of code that I can then adjust/correct where needed. It's not perfect but it does definitely speed up my work flow.
@@smnomad9276 I exactly know how to write the boilerplate. Because Co-Pilot doesn't even know what I'm trying to do until the first line is there. It just makes the following lines so much more convenient.
@@smnomad9276 I’m not completely sold on this. It might take more time but i don’t think we’re all just ignoring the code that Copilot is producing. Things stick in your memory more when you write it yourself sure but you still remember what you’re reading to a degree
@@Khari99 I honestly stopped using it because I felt I was becoming lazy and wasn't sure if I'd be able to remember exactly how to write these boilerplates and tests myself in 3 years. I'll definitely won't forget all of it, but certainly some of it will be gone from my memory and I would need to look it up on google.
The only reason i still use Copilot is for documentation generation and method naming. Nothing better to start a doc block and get the generated text in a second instead of manually typing it in. Also, after some time it will start following your doc style, so it really shaves up to 30-40% of your time doing documentation. As for coding, i dont even ask it to suggest what it wants me to write, most of the time it is either clueless, or just gives stuff which is completely out of context of what i need (even with the method names which explain the designation of the method completely)
am torn on that - yeah, it's quick to get some AI generated code snippet "solution", but because AI solutions are so-so and not infrequently very wrong, I still find myself resorting more so to Internet seraching for sleuthing out info on some programming problem dilemma vs leaning on AI to crack that nut. For slam dunk things that I don't want to go through the tedium of coding out the details myself, I find AI okay for getting 85 to 95 percent of the way there and then I tie a bow on it and move on.
AI documentation will unfortunately always be full of filler. IMO good docs == minimal docs, mostly just to point out the basic usage (which AI is decent at, though no one can communicate an idea better to a human than another human) and some quirks / design decisions that are important to note (which AI almost always misses, as it has no idea of the thought process or design implications of any specific piece of software.)
I also had a big pause on guitar. Probably like 5 years, but what i gladly find out was that guitar is on the bike side of things. You really get up to speed faster than you think, you find a new enjoyment (specially with a new guitar, that feeling is awesome) and the most surprising side, you actually improve on some stuff because of the pause.
"If you find yourself frustrated from -writing- code, I think you are a bad programmer" Gotta say, I agree with this statement. EVERY TIME I have found myself frustrated while writing code, it was because of some inadequacy in myself. Either I didn't know how to use some data structure, or I didn't know how to solve some common code problem, or I didn't understand the math to solve a problem. And EVERY TIME I have solved this frustration by learning more. Furthermore, I agree with his take on Copilot because Copilot "solves" these problems for people by removing that knowledge requirement from the developer. Bad programmers feel less frustrated with it because it's doing that work for them. The problem is, they have no way of knowing if it's done a good job or not. It doesn't make them better programmers, it just makes them more comfortable being bad programmers.
sorry i have to counter this. The reason i get frustrated is because the libraries that exist are ass and i find myself reinveting the wheel for a dozen libraries doing the work of 1000 developers by myself and i get frustrated of my projects because it takes a while to get to the point.
I don't think any good programmer would disagree with this statement. It's not really a hot-take. If you can't do the basic grammar and/or search for language equivalent than you probably don't know the basics of how programming works or computers in-general.
@@ChrisWijtmans Are you sure you like programming? Bad libraries are only frustrating if you get stuck into using them for a job or pointless legacy project (in which case disregard my point because god is it annoying, and do whatever you need to do to deal with it). But if you're working on some kind of personal project it's not "reinventing the wheel" it's just writing your own code, you mention getting to the point, which makes me wonder if you enjoy the process or if you just like the finished product. (Or worse are only in it to finish the job)
@@kabinet0 say that again when you are practically rewriting every library and you just want to get on with your poejct but you cant since the existing libraries dont implement the modern language standard properly and/or do it in a way that holds your project back.
I tried something similar called Codeium AI. The initial adrenalin rush was awesome. It was like this thing just reads my mind and typed it super fast. But the longer I used it, the more it felt like a crutch. After every block I had to ask myself. "Is that OK?", "Would I have written that this way", "What is that code even doing?". It took away the focus from what I write, to how it was written, and thus the AI started to slow me down. I think I prefere a good LSP + Some Documentation on a second monitor. It's a good tool for writing Boilerplate no doubt, but if you have written that Boilerplate 100s of times, why not just have a version of it ready for Copy and Paste, or a Code-Snippet/Template.
The first reason I don''t use copilot because I don't yet believe they are out of the woods with the copyright issues coming their way. When copilot copies in something which is to similar to the original and the original author isn't credited or the original license isn't compatible with your project, what then ?
I use it for my job, and unfortunately 9 out 10 suggestions are either wrong or completely out of context. Its mildly good at creating methods name, however its quite terrible on other aspects. I'm not sure where the 55% speed increase comes from in their ads since it didn't really increase my productivity by a noticeable margin.
AIcode generation always has to be scrutinized - so many time I've gotten output that straight up wrong but the AI very cheerfully and confidently presents it as splendid. Newbies that swallow the AI hype going to get snookered by crap code
Also unfortunately, if you use it any specific use-case (especially one where a common design pattern in a common language isn't present) it hallucinates on every, single, prompt.
I'm kinda the same, I've been avoiding all generative AI in general. It's not that I don't recognize their usefulness, rather I think I'm afraid of not understanding the content in produces and also the copyright issues when it comes to media generation is scary. I love to backwards engineer code by learning a framework or a system and then building on top of that, rather than asking a robot to do it for me.
This was interesting. Especially the “copilot pause”. I think I’ll turn off automatic suggestions so I have to prompt for a suggestion specifically when I want one.
31:30 Copilot can parse your entire workspace on VScode. So if your whole GitHub repo is in your working directory it can parse it. Copilot wouldn’t need to parse your repo one single pass, but chunk by chunk. Is if it were a conversion. Context size is an issue, but with Claude reaching 1 million token context, Copilot in the future should get it.
I use copilot at work so I can be max productive but on my own personal work I don’t use it so I can focus more on learning. When using it at work though I don’t really use it for stuff I don’t know how to do, instead, I use it to repeat patterns that already exist in my code base or for boilerplate. For example, if I’ve already written a GET /foo endpoint myself, copilot can generate all the code I need for my GET /bar endpoint because it will follow the patterns of my codebase. I agree it’s terrible for students and the pause effect is real. That being said, you can ignore its suggestions, you don’t have to take them.
@@SimonWoodburyForgetyou don’t have to find everything you do at work “learning”. There are many days you just want to get the job done and collect the paycheck.
NGL, the only thing I didn't like about programming in my Highschool level Comp Sci course was debugging C++ in 2004! Then I hated not knowing how to do more programming without spending an arm and two legs, because it was 2004! That said, bashing my head against all available surfaces to debug C++ in 2004 is PROBABLY why I never REALLY struggled at programming ever since! Like the intro to true OOP was a stumbling point and stuff that most devs DON'T do, such as building my own DB on an ARM64 Linux device kinda hurts, but it's all trivial compared to debugging C++ in 2004!
Those that have invested tons into an AI product and need to recoup - any marketing message will do given that all Western societies have pretty much kicked morality and ethics to the curb
Microsoft. One day all those students will turn into easy money for them It is like making someone into a drug addict by offering them first dose for free
It's a great idea from a business standpoint, because they will be reliant on the product for the rest of their careers, and it will cost them money once they graduate.
I see your point. Although I have had Copilot for more than a year, I have only started to really use it in the past six months. I found it particularly helpful in rewriting code. Say I write one-off code to see if it works, then I ask Copilo to write generalized code; it does it fast. It takes away research time, especially if you are working on a job with a budget and timeline. After watching this video, you make a good point, I will disable it between projects, and as I work on learning new tech, I'll force myself to answer my questions.
That TikTok/Instagram learned helplessness thing is so real, I see so much shit not just with copilot, but with a bunch of high school students complaining about teachers punishing the use of AI, like they don’t comprehend that they’re at school to learn, not sit on your phone for 6 hours, I remember once I was talking in a comment about how using AI to do your work is stupid and a waste of your own time, but I could rationalize it, but doing the same thing in college, was completely stupid and inherently irrational. Because you pay to go to college and are learning things you will need to use in your career, acting like a high schooler and trying to avoid learning at all costs is completely stupid. Seems like a valid take, maybe a bit extreme on the anti-AI side but I was getting flamed by a bunch of high schoolers in the comments who were acting like school is this horrible struggle where they’re being mentally tormented all day or that school is this horrible abusive system that preys on their free time to teach them useless things. The problem with those platforms is they’re mostly teenagers, and young people (regardless of generation) are the most likely to fall into a reliance on technology and tools, and while I don’t think it necessarily makes them lazier, it does take away the necessity for them to learn and use skills, thus they become hyper reliant on it, and once they don’t have it, they become useless. Imagine having someone learn on a Tesla, always having autopilot and loads of sensors, backup cameras, GPS, everything, and taking them, and throwing them in a 1997 Ford Taurus, with none of that. 9 times out of 10 they fall apart and don’t know how to do anything. It’s the same with modern AI and tools being used by developers and students. That’s why it’s such a dumb idea for schools to allow AI, because it would ruin the ability for a generation of kids to do anything on their own.
Honestly I agree. The thing that made me realize this was the fact that one of my major projects for school was pretty reliant on AI since that was what most of my group mates and I did. What really told me to not rely on AI as much was the fact that it couldn't do the code I wanted it to do (or I was just too dumb to implement it) making me realize that I need to understand the concepts more and learn how to research said concepts past a simple copy paste. Which is what I do now, use AI as a jumping point to see what it says and then research the concept sometimes or skip the AI part if I know what to look for. But I still use AI for my ge classes since I think that it isn't as important compared to my major classes especially if I am struggling at some of the concepts. As for High School, while a horrible system, students also can't manage time better. Because on one side, students (from my experience) had 6 different classes daily with homework due at different times of the week with varies length. For example, I had to do 20 math problems due at the end of the week, outline a research paper, research and many more. On top of doing outside activities like clubs or volunteering just to get better acceptance for college (and this could become so much more depending on how active you want to be). So I understand using AI as much as possible. In fact, the work load (or bad time management) was so bad that students were bragging about their lack of sleep. On the other hand, students not realizing the importance of school is or learn anything will make them not able to do something when they hit a problem that even AI can't solve. Or worse, they do a sloppy job just cause AI says that's the answer.
I've had my copilot enable/disable to "ce" and "cd" maps for quite a while now, and ironically, I hardly ever use copilot since it's not on by default. I just don't find myself actually needing it all too much.
Very interesting. Every month I see the payment passing by on my bank account and every time I think “do I really need this?”. Good take on disabling and see if you really need it. 💪🏻👍🏻
28:00 So, with Copilot it's easier to generate the commonly junk coverage unit tests which confirm that the implementation details are implemented the way they are implemented? :P
Good take. You have to be careful writing tests that just confirm it working the way it is working. Tests should confirm it is working the way it is INTENDED to work, which is not something an AI would always know from looking at the code alone.
English is not my first language, altough I'm fluent and understand everything, sometimes when I'm concentrated, I cant remember the simpliest words. So I use copilot to help me name variables and functions.
Then you use it to explain the names later, right? If you don't know the word while naming , you still don't know it while reading. And good luck trying to manage the code where everything is named after some sort of "tapestry".
@@az8560 This is not true. When writing/speaking in a second language, you usually forget words even though you actually know the word. When reading/hearing the word, there is no confusion of what it actually means.
@@az8560 na, it's not like I don't know the word for something, it's in this exact moment I don't have it in my mind. So I ask quickly copilot: "give me a name for this function / variable". Once I read it, I know it. Or sometimes copilot suggest shorter synonyms, better descriptive names. It's just if you work in an environment where we speak 2+ languages on a daylie basis, you get confused sometimes.
Microsoft would be thrilled to make all of us completely addicted to their paid service, and to habituate the new generation of software developers as early as possible to think that using Copilot is as normal as breathing air. The consequences? It's not their problem, at least not for a good while.
Oh sorry, I forgot, I'm not so good in solving problems on my job, because I hate many of code base historically involved, but I should write code for this structure and voila copilot can do it instead of myself
Copilot for me is analogous to digital music workstations (Flstudio,ableton) for a musician that plays an instrument whole life. Basically it allows you to have codewriting/musicplaying power of a team/band, you even have random noise generators, but in the end you have to do the thinking and arrange the song/program. But using copilot/dwm makes you rusty in what was once normal for you, playing instrument, or writing code directly.
??? Every DAW I've ever used supports live instrument recording and the vast majority of synths will work with using an instrument as an interface. If you're losing your ability to play an instrument because of your DAW usage, I'd be worried.
I agree with your analogy, but my conclusion becomes the opposite (both for coding and music). Copilot to me is a force multiplier for anyone who knows what they want to build and how to build it, and just want to code it faster. Of course Copilot won't plan your program or write your music, but noone in their right mind expects that of AI anyway. Having lots of instruments at your fingertips is better than having to own them and get them out of a box in the attic and remembering how to play them, or having to call a musician to take it on a bus to your music studio at their earliest convenience in a few weeks. To me that is obviously worse. Having a (sometimes overeager) code completion assistant does not hinder me in the slightest. Just don't complete if it doesn't get what you're trying to do. And when it completes well, it's great.
I have to sheepishly admit that Copilot is very helpful as an EM that maybe submits 2-3 PRs per month. Because I haven’t been an engineer in about 8 years, I find that I still have the ability to formulate the business logic I want to implement but not necessarily a grasp of the exact syntax for how to express it (especially managing a team with a different tech stack than when I coded regularly 40+ hours per week). Copilot is good at short circuiting that frustration and usually at least givens me a decent landing spot for where to explore the docs to write a refactor of Copilot’s code or my own novel replacement of Copilot’s suggestion.
The main issue why people quit Copilot is that they were using it as their main pilot to write code. If you use Copilot as a copilot or assistent for writing code, you can still learn new stuff, be creative and solve your problems on your own style.
Yeah maybe... but there's a reason they put guards on power tools. You have to design your work environment not just for when you're on your best behavior in ideal conditions, but when you're bein a little sloppy.
i actually do realize the copilot pause, i'm doing it on purpose i don't have the problem of pausing to wait for a suggestion, i only pause when i know the suggestion will be good
IMO, a good software engineer uses all the tools available to them. This includes Co-pilot, Chat CPT, Docs, Web search, IDE features, etc... but they key thing is moderation. Use the right tool for the task at hand. Crazy concept, but you don't actually need to agree to copilot suggestions (or even await the autocomplete). So there's no need to completely disable it as some sort of weird "detox"... just choose not to accept it's suggestions? There are settings you can adjust. You can also use it to "preview' what you have in the clipboard (it seems to bias towards text you have copied), or to find a piece of code in your open editors (context), which can be a game changer for refactors, along with IDE tools like VSCode's "rename symbol" option. tl; dr. Just use tools properly.
I'd disagree here. A good developer curates their tools - choosing the ones that work well for the task at hand, avoiding ones that are likely to cause problems, and using in moderation the ones that are "not great". This may mean turning down a tool that looks promising, but is likely to cause trouble later, in favor of something they believe will be more reliable and manageable in the future. I'm not going to use DBSet.ExecuteQuery() unless I'm truly pressed (which would mean I'm likely using EntityFramework for a task I shouldn't be) because that's going to send me down a path to unmaintainable code, problems debugging, and other nasty surprises further down the line. Sure, it's a tool available to me... but is it truly one I'd want to use?
I enjoyed the first weeks of programming. I had a knack for it, and learned everything pre-ai. I tend to not pause for copilot. It's just nice when I'm writing predictable code and it pops up. I just write code the same way, but it does write a couple lines here and there. I'm with you on I need to get it out as fast as possible. I don't feel like I'm losing anything to ai because I had a job that forbade ai and wrote some of the best code in my life there without gpt and copilot.
It sucks bad more of the time confuses me about my own code when attempting to fix an error and the fact that it can't process some amounts of code made it kinda wack
The reason I quit copilot is because having a shitty dev that doesn't understand context vomit out code that you were just going to write 10 times better isn't good. It actually hindered my productivity. So either Microsoft is lying about how great copilot is, or -10x devs are lauding it.
Industry doesn’t care about how fun or fulfilling the developer felt writing code. They just want to get things done quick and cheap. All this ‘copilot sucks’ rant is the coping mechanism for I know all types senior devs The code generation is at its infancy stage right now. It won’t be long before it gets efficient
I basically use Copilot to help me with documentation. I come from programming the one and only C for many years, but in my new position, I have to work in multiple languages with more frameworks than I can count and I don't have the time to read and learn every framework on npm or pip. I look at the output of Copilot to get a rough understanding of the structure etc and then write my code based on this information. This is 1000x better than reading the (sometimes) non-existent documentation for some project, just to tell the colleague that how he solves the problem is shit, because they used something from npm or pip without understanding the abstractions used in their code. If you can program and have a somewhat understanding of processors, Copilot is like a rosetta stone, because in the end everything at somepoint becomes ASM.
I'll go against the crowd and support copilot. I love it for the sole fact that it already knows about most the libraries I end up using. I can see what it produces and learn how to use the library from that. I never straight up trust whatever it makes, alwasy reviewing everything it generates. But man, there are so many times I love tab`ing a bunch of boilerplate away, or writing and entire unit test with just a sentence. The only real problem with using copilot is when you start relying on it. As soon as you "need" it to write everyday code, you gotta take a break from it.
he's a neovim user so there's a big chance he's also writing emails, personal notes, etc. in it too. if you leave copilot on by default privacy is a bigger concern there. i also don't really care about "privacy" with my code as im likely to make it public if it's personal, and if it's for work it's ending up on github anyway
@@SimonWoodburyForget why would my employer buy the code they are buying from me from microsoft? or buy publicly available open source code from microsoft? the answer is obviously yes since i am willingly pushing it to github (microsoft).
Have never used co pilot, or chat gpt directly. Will be like that dude with the plasticine models and the stop motion animation in a world of cgi, holla me if you like Wallace and Gromit.
And just like when cgi came out, The current order will complain. Only for it to be the industry standard. I get maybe the first 2 coding classes being self typed with python, but restricting from students is like just like already said. A caveman in a futuristic world, looking to get ran over.
Prime's advice is great long term, and I think that's really where the conflict is - if you follow Prime's advice then in 10 years you'll be a fantastic programmer, but there's a lot of developers that find themselves in a situation where they need to get something done right now. Product managers don't really like to hear "Yeah so we missed the deadline for this feature because I turned off my LSP and exposed my major skill issues, it will be worth it in a few years though" I think there's some kind of compromise like using copilot for work tasks, and not using copilot for personal projects that might work, depending of course on how many personal projects you do.
Whoever commented "$10 a month ain't a loss" should know that keeping AI like copilot running requires almost $10 million a day and thousands of metric tons of water for cooling PER DAY and that's just for server upkeep. Copilot being $10 a month is ABSOLUTELY a loss leader.
Is this the signs of sunsetting purists? Knowing how to synchronize carburator is no longer relevant. Certain skills just become irrelevant. Coding is clearly headed that way. The market manipulators don't care about purist "coding" skill, just throughput and profit. Quality is dead AF. Have you seen the AI garbage fools are flocking to, regardless of the pathetic quality. Generated art and text is mediocre at best.
Yall just keep saying that based on extrapolation on current (short sampled) trajectory without actually arguing how AI will ever be able to make reliable enough decisions while accounting for its inherent fuzziness. Even if you turned out to be right you are still wrong in this moment.
@@ThePrimeTimeagen it's not a maybe, it's going there. No one needs to understand how to read a hand clock, and most don't. Pureist will swear they have a life purpose in being able to understand how to read a hand clock, heck, even those wooden clocks with the birds that comes out every hour. Do you know how to read those? Let alone set it up? Cope is a helluva drug.
31:00 As far as I know it, VS Code sends *currently open* files as context for the copilot. I consider it a nice way to guide Copilot because I can open related files and Copilot will only suggest related lines of code.
I don't know how people can watch this guy. Every video of his I've clicked on has been full of terrible takes, reeking of know-it-all elitism. One of the most damaging things a newer engineer can do isn't using Copilot, it's watching these videos.
Exactly. He’s like every nightmare coder archetype rolled into one. He’s literally the person I tell every programmer not to be. He’s a gatekeeper who thinks the ultimate goal is to write more code. The ultimate goal is to make cool things. The act of coding is not some ideal state. If you think like him you’re going to write mountains of abstractions and verbose nonsense that keeps developers on a treadmill. I’ve been programming for 25 years. Does he think we all want to sit at desks until our bodies die? Is that the goal? Of course that is not the goal. The goal would be to one day not need programmers at all. It’s not some zen activity like gardening. The problems are not difficult only tedious and shallow. The architecture can be interesting but writing all the wiring in 12 different languages across 12 different environments for one application is not fulfilling unless you’re a masochist. Further more it’s not productive if one day the computer can do it for us. This guys is the cancer programmer who codes to code. It’s a cancer because that line will never end.
YES. Your take on why the "self-reported satisfaction" numbers are inflated or a poor measure of copilot's benefits is what I've been trying to express for so long.
Using copilot with auto-complete off, and just referring to it when you want it to write out a bunch of boiler plate (using the shortcuts to quickly feed it a highlighted bit of code), or offer some suggestions on how to tackle a problem when you are considering how to proceed (basically, standing in for Stack Overflow / Doc Snippets), is the best way to get good value from it without it becoming a crutch. Still find myself having to refer to the docs regularly though as it often suggests non-optimal approaches. Should add, I am coding in C# in Visual Studio, which I think is a superior experience to the VS Code / JS code I've seen - probably due to the typing of C# and it being a Microsoft tool, so presumably they have fed it a lot of proprietary C# they own.
I have a lot of hobbies (for most of which i lack energy atm, but that's besides the point) and I'm very unlikely to code as a side project if my work will be coding. However, it never even occurred to me that dealing with syntax is a hassle that should be removed by instruments, rather than reduced by language design. Yes, if you do it only sporadically it might be hard to remember, but even couple evenings a week with lua and in 4-6 weeks I stop thinking about syntax because I memorized by using it. I even found time to look around for possible lua specific code optimizations and staff, even though it didn't make much difference for my task.
I love this term: "Copilot pause". Nowadays, I'm thinking about as a Dev|Sec|(little)Ops I have to rely on too many techs. And I've noticed this pause not just in my coding but even in my speech. This is terrifying.
Like any tool, it's all about how and for what you use it. I work in a large number of different languages, some of which I have no desire to learn them fully (I'm talking frameworks not syntax here), it's mostly helpful in this situation, even if just to give me a starting point to look up docs.
Copilot is like riding a bike with training wheels. If you are just starting out it might feel like its helping you ... if you aren't then its just getting in the way of you using the bike. Give me code completion/ intellisense and thats all the suggestion I want or need.
I just start to use Copilot, Copilot is quite useful for experience developer. Since it can save some times when it suggest the code that I wanna to write , especially for HTML / UI. For the Junior Developer , it may be a trouble for them, they are already not familiar with the coding and they trust what copilot suggested. It may make more trouble for them.
I've never used Copilot, but I do like when my IDE has some amount of user-controlled autocomplete, either because of a full LSP implementation or because of basic string tokenization like how most Scintilla-based or other similar syntax highlighting text editors do. Works wonders for annoying boilerplate stuff like function parameters, but I definitely don't like intrusive stuff that assumes what I want and acts like it knows how to code what I want to do better than I do.
as a hobbyist, AI writes way more of my code now between copilot and GPT-4 than I do, albeit 99% of the time I want/need one off scripts. I'm not really to interested into the coding aspect as much as I am with the program's practically or output. That being said, using for coding has nearly stunted my learning in programming, just because if you use the latest LLMs (mainly GPT 4 or Claude Opus) it could do it way faster than I could. I still have that underlying good fundamental base to tell where it's producing something bad however. Giving it to students seems like a terrible idea, though 10$ isn't really that much even for a student. iirc copilot is relatively small, like 13b parameters, so I they are most likely making money off copilot and is not underpriced, pretty sure 99% of that delay you get with copilot is due to networking since the model is so small, the inference must be so fast.
I was the lead on a project that was HEAVY on node events. I struggled WAY too much to debug events-based bugs and memory leaks until I read the docs on the library and it was like I leveled up like 10 levels by simply reading the docs. I feel like people avoid reading the docs just because they are only using a few methods of a library. This is a mistake.
I find it wonderful to skeleton out code or asking chatgpt to write a new code file based on another one I give it. Anything it does that I don't understand however I always look up and check, then I also refactor the code a bit. Though I enjoy coding, I really enjoy creating things and sometimes for the same reason I use a SaaS product to avoid managing a db manually, I use copilot to avoid manually creating and remembering specific quirks of the code. If your new though, i can see it's a big trap to just let it suggest and run with it, it's like the stack overflow coding flow of copy pasting something to just "hack it". At least I can get copilot to also explain code unlike a half baked stack overflow response.
Copilot looks cool, but is a bit too invasive for me. Not about privacy, but I like the AI giving me pointers and guides I can use to figure things out with. I use Phind a lot. I would like it to be a little deeper than it is, but it's really good. I save the search results, and use them as documentation in themselves. I'm still a newb, but hope to eventually have my own version of phind that can scan my codebase and the documentation of my tech stack, THEN search online if I can't figure it out. More of a troubleshooter, advisor, and friend, then an autocomplete. (I would like Adobe Dreamweaver level autocomplete though. Had Kite on Atom, but both are dead now. Advise welcome)
Just want to shout out the chatter nxia616 for saying 10 bucks was the cost of a banana. I see you. Your references are out of control. You made me chuckle.
I think Copilot meshes with me better simply because I already had a pause in the first place. I never stop when I have code in mind, but often, I have an idea in mind I have yet to convert to code, so I pause when thinking about how I'm going to do the implementation. While programming language and actual languages are different, I think the best explanation would use that analogy. I'm bilingual, and when I think, I'm not necessarily thinking in one language. I'm just *thinking*. Similarly, when I'm programming, I'm not thinking in any programming language, I just have a structure and logic in my head that I have yet to translate. But I've noticed an added pause with some things still (for loops was the most noticeable), it's just that it stood out less to me because I already had some, and I guess my style of programming just meshed better with it. I might be a special case, though, because while I don't have professional experience, I've been programming for 14 years, so I'm a weird kind of junior who learned both by themselves and from experienced devs, and now a tad from uni, though it's really basic.
I got copilot as a student, i enjoyed it for a few weeks, but now i systematically disable completions and use exclusively copilot chat, i felt copilot completions gave me brain rot
As a student, I very strongly disagree with Prime's take on copilot being free for students. It assumes all we students do is just learn fundamentals of CS, but we also make projects just like any other developer. And I don't like to memorise all the pandas and numpy methods just to put something out there, or learn JS when all I want is to use it as glue code for a WASM project. Using copilot for school work? Yeah that's bad. But it's not a blunder because of it.
Ooh, I remember years ago I quit ReSharper for a similar reason. Our license server went down for 3 days, and I discovered that without ReShaper, the IDE was faster, and the editing experience was less interrupted and smoother. I assume it’s the same thing with CoPilot. I’ve also found in the past that hand-editing code or layout without the IDE help makes you understand what you’re doing, vs. not at all.
To me, debugging race conditions or deadlocks or other concurrency related issues in complex programs is one of the most exciting parts. Keeps me up at night for a while, but once you solve it, it's incredibly rewarding.
I built an entire middleware component system in Go last summer for my internship without using an LSP and it actually helped me learn the language on my own super well. Still know things about Go like the back of my hand despite only using it occasionally since then
I tried copilot a few months back during my second month of working as a programmer. I was actually astonished by it's capabilities, because at the time, I set up some types and variables which I needed to "reverse engineer" a json tree structure of product categories out of a list of all products which obtained their path through the categories. To my astonishment, at the moment I began to write that code, copilot no joke wrote like 20-30 lines of code and it did exactly what I needed it to do. It's even cooler because at the time, I had no idea how I would accomplish that and copilot was like "no worries lil bro I got you" :d
The part about learning how to type well is so true, I started out coding and after just two weeks in my course my hands were wrecked. I got a ortholinear split keyboard and also decided to swap layout to Dvorak, it was so annoying the first week but now I’m starting to fly in typing and errors is down. My pain is gone and I can fully focus on just learning to code. Also love/hate C but understanding memory is crucial, also decided to read books on how it all works down to the resistor. I really love this field.
Copilot is banned by my company's AI policy. They're partially afraid of IP leaks but mostly the CTO and architects are skeptical of its value and the effect it will have on code quality
I don't mind writing code in general, but what I often get apprehensive about is writing a lot of complex test cases where it's like, ok now if the customer already has the item in their cart and they are a rewards member and they have a coupon but it's not their birthday... Ok now all of that but it's their birthday, ok now all of that, but the coupon can apply to two things in their cart... And you have to set up test data for the cart, the products, the cart entries, the user, the loyalty membership, the coupon code, the coupon satisfaction criteria... You have to do all those things, and all the acceptance criteria says is, "as a customer, when I check out, any coupons should apply based on the products in my basket" but you talked to the product owner, and they mentioned the thing about loyalty programs in passing, and you remember that the birthday case was brought up during refinement, but the scrum master forgot to add it to the story.
I understand the apprehension, but man is future-developer gonna be glad you added all those test cases. "Wait a test failed... what is this about birthdays?"
Honestly, I think that engaging in open source and wanting privacy go hand in hand. When you share something that's open source, yes, you share it with the world, but you're deciding what and how much to share. When you use something that's open source, you're also controlling how much to share, and doing so with more confidence.
I used copilot for about 2 weeks before I recognized that it was making me worse and stopped. I am a hobbyist tinkerer (I wouldn't even say I'm a developer) on my best days and learning to do it "the hard way" is far more beneficial than being able to write a long comment that copilot then parses and averages together all the relevant examples in it's training data to produce a middling result.
beginner programmer and trying to self-teach me: i do not use copilot (too expensive) but other AI based code helpers, chat and so on, make it give me programming tasks, review my code, help with syntax... it is really very helpful for me to just self-learn without a ton of video courses and so on.
I've come to the realization that co-pilots and AI tools keep you stuck in your usual patterns instead of expanding your horizons when problem solving, but it sure is great for abstract thought akin to abstract art.
It's good to hear of other programmers "switching off the targeting computer" (disabling autocomplete, etc.) even if it is just as an exercise. I never really got into autocomplete to begin with; too distracting. Plus I feel I'm better able to internalize the names of things, the shape and function of an API, etc. if I don't rely on the machine for answers. I never even countenanced running Copilot. I do not want my code, prompts, keystrokes, or anything going into the cloud to become part of some Microsoft data slurry. At least not until I'm ready to publish on GitHub. To answer jediwattson's question, the Hebrew University of Jerusalem controls Einstein's estate and claims all rights to use Einstein's name and likeness. Commercial use of Einstein's name or likeness without a (rather expensive) license will likely get you sued; the University is very lawsuit-happy over that sort of thing. So yes, "Einstein is IP", and very well protected IP at that.
If you don't like what copilot suggests, just keep typing what you want. Most of the time the first few commands are correct, so just accept the first few commands. If you have accepted something that is wrong, or you don't like it, just undo the changes. I check everything twice regardless of whether it's AI generated or not...but Copilot does help to write documentation and simple routine functions. It's a great TOOL, not your personal assistant.
I haven't used copilot, but that beginning is very much my take on IDEs. I started with one and felt like I couldn't work without, but shortly after being forced into using vi for a month I was so much faster and was learning faster. Now someone with 5+ years experience but needs an IDE is a strong sign of a subpar dev. On the occasion I'm forced to use one, it is nothing but headaches.
The reason I quit copilot is my 30 day trial ran out.
The reason I quit copilot was because I ran out of free early access beta
This is the way
why not just use codium then. theres plenty free options.
Same. And the only time the suggestions were useful, is in printing statements
It sucks bad that is why I quit using it 🗿
Every Neovim user reconfigures their setup once in a while, just as soldiers sharpen their swords.
Neanderthal violent thug meat shields have been replaced with drones. Ancient methods are irrelevant in modern times.
No sword gets sharpened that much. 😂. Be fighting with a popsicle stick
@@frackinfamous6126HAHAHAHAHA
I think they haven't been using swords for a while now
@@user-hk3ej4hk7m Nowadays they would be taking apart their guns and cleaning them
I thought we memorized stuff because its faster when its in L1 cache compared to checking the internet.
but cache invalidation leads you to checking L2 cache ie the internet.
"You can't sculpt the code if you don't have a feel for the clay"
I never memorize anything. If I don’t know something I look it up, and if I use it frequently enough I will remember it.
@@nuvotion-live iow you memorized it
@@adrycough I guess, in the same way that a guitarist uses muscle memory. There’s not much active recall
Being free for educational use is a genius move if your plan is to produce a generation of developers who are dependant on your product.
They've done it with their office suite, so this seems like familiar territory for Microsoft.
As a student I find myself only using copilot to write boilerplate I would’ve copy pasted somewhere else
Not everything is a corporate conspiracy theory. Companies get tax writeoffs for providing resources to students in some countries. Heck even computer stores offer student discounts.
It's the exact same thing that Adobe did with their suite, and photoshop in particular.
Memorization can be scary though. Depends on your job and how technical it is. I was in munitions systems in the Air Force. We were taught to not rely on imperfect human memory and follow the documentation every time, regardless. I argue that co-pilot is bad because it gives you the fallacy that you do have everything memorized because we just glance at it and agree with copilot. It’s like saying oh that’s easy, I remember that.
I'd say it's not that much of an issue, but then I think about what if a badly placed loop results in a poor sap getting fried alive because a medical or a tool did 1 too many revolutions
Algorithmic/automation bias, one of the many risks of AI.
This is indeed a very important insight. Even if you read through copilot's suggestion and understand everything it generates there is still human error, which will be very high because of copilot.
@@SimonWoodburyForget I didn't memorize how to ride a bike. I understood how. Even 10 years later, if I hop on a bike, I will be able to ride it within seconds.
That's what I think you're getting at. It isn't something I need to recall, it's something I intuitively just know.
This would be all well and good if AI didn't recall things incorrectly.
I quit using Copilot a few months ago because it was fucking annoying. Terrible, intrusive suggestions that would override the IDE's default suggestions and prevented me from inserting basic snippets because it thought it knew what I wanted.
Yep the suggestions are just bad and the funniest thing is that it goes delulu when trying to fix a non defined variable making up code lol
How does it overwrite the IDE's suggestions? Which IDE?
Basically why I never started using in-editor AI to begin with, I know what I want to do and rarely do I not know how to implement it, and if I need help I'll check docs or last resort chatgpt. Saving a minute a day or whatever is to be honest not going to affect my overall performance at my job anyway.
IDEs usually don’t make suggestions LSPs do which lots of IDEs typically call by default. But they’re offering you different kinds of suggestions usually and sometimes the copilot one is more contextually appropriate.
@@ringpolitietpeople who are used to pressing tab to accept suggestions are bothered by this but they could also just do easily change their keybinds. It’s wild to complain about something that’s user error.
Privacy/telemetry/leaking is a significant issue in a lot of industries. For example I work on a semiconductor manufacturing related project that is dealing with High-NA EUV lithography - it's forbidden to send data to any external service, including google translate. But I bet it's the same in car manufacturing, aerospace, chemistry, pharmaceuticals, etc. (Although I personally don't mind, since I like to write my own code, and usually structural/architectural design is the hard part, not typing it out.)
Companies can get the business license and opt out of the telemetry. We are medical business with very tight regulations and have no problems.
I still remember how fun it was to code without internet access. You had access to high-quality documentation locally installed on your computer. During that era, I read probably half of unix manpages and GNU info doc. It was a very, very productive and pleasant way of working.
Yes, and I still have books (yes the paper things) from over thirty years ago - LISP, bash, yacc, awk, and so on
You can still code like this. You are the person in control of whether or not you have internet, lol
But you’re not in control of whether popular frameworks and modules have thorough and helpful documentation, which is less common when authors can lean on SO and other discussion boards to answer users’ questions.
Reading info pages taught me that in bison you can name references.
Literally all videos I saw were using `$$ = $1 + $3` instead of `$$ = $lhs + $rhs`. Literally every single one. I am not exaggerating. Every time I saw a video with $6 I wanted to scream "stahp".
(Then almost everyone moved to using RDP so my nerves got calm)
@@Iceman259 Every major framework has very thorough and helpful documentation and because they're open-source you can add documentation if you feel like they're not thorough enough.
I never use copilot to write my main logic. I mainly use copilot to autocomplete boilerplate and tests. As much as I love coding, I always hate writing that part. I just like using AI to allow me to focus more on the main logic that I want to actually write.
But the problem is as you get used to use copilot for boilerplate and tests you start forgetting how to write them yourself if you decide not to use it.
I like how Copilot can mimic your code style as well. Once I had to do 2 script blocks that did alternate work and after doing the first I went to start the second and Copilot quickly suggested exactly what I wanted based on the difference in logic. Otherwise it can at least help fill out alot of code that I can then adjust/correct where needed. It's not perfect but it does definitely speed up my work flow.
@@smnomad9276 I exactly know how to write the boilerplate. Because Co-Pilot doesn't even know what I'm trying to do until the first line is there. It just makes the following lines so much more convenient.
@@smnomad9276 I’m not completely sold on this. It might take more time but i don’t think we’re all just ignoring the code that Copilot is producing. Things stick in your memory more when you write it yourself sure but you still remember what you’re reading to a degree
@@Khari99 I honestly stopped using it because I felt I was becoming lazy and wasn't sure if I'd be able to remember exactly how to write these boilerplates and tests myself in 3 years. I'll definitely won't forget all of it, but certainly some of it will be gone from my memory and I would need to look it up on google.
The only reason i still use Copilot is for documentation generation and method naming. Nothing better to start a doc block and get the generated text in a second instead of manually typing it in. Also, after some time it will start following your doc style, so it really shaves up to 30-40% of your time doing documentation. As for coding, i dont even ask it to suggest what it wants me to write, most of the time it is either clueless, or just gives stuff which is completely out of context of what i need (even with the method names which explain the designation of the method completely)
Yeah it's generally faster than searching on Google
am torn on that - yeah, it's quick to get some AI generated code snippet "solution", but because AI solutions are so-so and not infrequently very wrong, I still find myself resorting more so to Internet seraching for sleuthing out info on some programming problem dilemma vs leaning on AI to crack that nut.
For slam dunk things that I don't want to go through the tedium of coding out the details myself, I find AI okay for getting 85 to 95 percent of the way there and then I tie a bow on it and move on.
Same ! Asking GPt be like adding more nasty bugs into productions, then having lots of sleepless nights to debug it
AI documentation will unfortunately always be full of filler. IMO good docs == minimal docs, mostly just to point out the basic usage (which AI is decent at, though no one can communicate an idea better to a human than another human) and some quirks / design decisions that are important to note (which AI almost always misses, as it has no idea of the thought process or design implications of any specific piece of software.)
100% Agreed. If you use a lot of JSdoc, copilot is a god send for writing your typedefs
Literally, my job blocked Copilot on the firewall and I didn’t even realize for a minute so I decided it was time to save $10 a month
My company is trying to push devs to an 85% adoption rate to improve productivity. I suspect I’ll be one of the 15%.
probably blocked on accident
I also had a big pause on guitar. Probably like 5 years, but what i gladly find out was that guitar is on the bike side of things. You really get up to speed faster than you think, you find a new enjoyment (specially with a new guitar, that feeling is awesome) and the most surprising side, you actually improve on some stuff because of the pause.
Same here, I played guitar a lot in 2012 and took basically a 10 year break and was able to catch back up to speed in about a month
Guitar 20 year break... Easy pickup. Took way longer getting comfortable again on the bike 😂
Piano will be a challenge...
"If you find yourself frustrated from -writing- code, I think you are a bad programmer"
Gotta say, I agree with this statement. EVERY TIME I have found myself frustrated while writing code, it was because of some inadequacy in myself. Either I didn't know how to use some data structure, or I didn't know how to solve some common code problem, or I didn't understand the math to solve a problem. And EVERY TIME I have solved this frustration by learning more.
Furthermore, I agree with his take on Copilot because Copilot "solves" these problems for people by removing that knowledge requirement from the developer. Bad programmers feel less frustrated with it because it's doing that work for them. The problem is, they have no way of knowing if it's done a good job or not. It doesn't make them better programmers, it just makes them more comfortable being bad programmers.
sorry i have to counter this. The reason i get frustrated is because the libraries that exist are ass and i find myself reinveting the wheel for a dozen libraries doing the work of 1000 developers by myself and i get frustrated of my projects because it takes a while to get to the point.
@@jamesnewman9547 yes in the future.
I don't think any good programmer would disagree with this statement. It's not really a hot-take.
If you can't do the basic grammar and/or search for language equivalent than you probably don't know the basics of how programming works or computers in-general.
@@ChrisWijtmans Are you sure you like programming? Bad libraries are only frustrating if you get stuck into using them for a job or pointless legacy project (in which case disregard my point because god is it annoying, and do whatever you need to do to deal with it). But if you're working on some kind of personal project it's not "reinventing the wheel" it's just writing your own code, you mention getting to the point, which makes me wonder if you enjoy the process or if you just like the finished product. (Or worse are only in it to finish the job)
@@kabinet0 say that again when you are practically rewriting every library and you just want to get on with your poejct but you cant since the existing libraries dont implement the modern language standard properly and/or do it in a way that holds your project back.
Students using co-pilot is like using an ORM while barely knowing anything about SQL, or what an ORM even does
So, it's the whole marketing pitch of the thing?
And also o great way to screw yourself hard somewhere down the line.
So Scratch for wannabes
So students shouldnt use a standard industry tool? while youre at it, make them also write their code on paper too.
@@TonyKingOfTheOzone yes, that's how you train them in preparation for whiteboarding during interviews.
Prime: "It will never hurt you to memorize something"
Baby Shark: *exists*
This is a highly underrated comment 😂
I tried something similar called Codeium AI.
The initial adrenalin rush was awesome. It was like this thing just reads my mind and typed it super fast.
But the longer I used it, the more it felt like a crutch. After every block I had to ask myself. "Is that OK?", "Would I have written that this way", "What is that code even doing?".
It took away the focus from what I write, to how it was written, and thus the AI started to slow me down.
I think I prefere a good LSP + Some Documentation on a second monitor.
It's a good tool for writing Boilerplate no doubt, but if you have written that Boilerplate 100s of times, why not just have a version of it ready for Copy and Paste, or a Code-Snippet/Template.
The first reason I don''t use copilot because I don't yet believe they are out of the woods with the copyright issues coming their way.
When copilot copies in something which is to similar to the original and the original author isn't credited or the original license isn't compatible with your project, what then ?
It doesn't copy in. That's not how it works.
@@Raccoon5 I should have worded it differently. Agree. I meant 'spits out' instead of 'copies in'.
I use it for my job, and unfortunately 9 out 10 suggestions are either wrong or completely out of context. Its mildly good at creating methods name, however its quite terrible on other aspects. I'm not sure where the 55% speed increase comes from in their ads since it didn't really increase my productivity by a noticeable margin.
AIcode generation always has to be scrutinized - so many time I've gotten output that straight up wrong but the AI very cheerfully and confidently presents it as splendid. Newbies that swallow the AI hype going to get snookered by crap code
Also unfortunately, if you use it any specific use-case (especially one where a common design pattern in a common language isn't present) it hallucinates on every, single, prompt.
I'm kinda the same, I've been avoiding all generative AI in general. It's not that I don't recognize their usefulness, rather I think I'm afraid of not understanding the content in produces and also the copyright issues when it comes to media generation is scary.
I love to backwards engineer code by learning a framework or a system and then building on top of that, rather than asking a robot to do it for me.
This was interesting. Especially the “copilot pause”. I think I’ll turn off automatic suggestions so I have to prompt for a suggestion specifically when I want one.
31:30 Copilot can parse your entire workspace on VScode. So if your whole GitHub repo is in your working directory it can parse it.
Copilot wouldn’t need to parse your repo one single pass, but chunk by chunk. Is if it were a conversion.
Context size is an issue, but with Claude reaching 1 million token context, Copilot in the future should get it.
GitHub repo ? Microsoft own GitHub. so they own your code whether u use copilot or not
I use copilot at work so I can be max productive but on my own personal work I don’t use it so I can focus more on learning.
When using it at work though I don’t really use it for stuff I don’t know how to do, instead, I use it to repeat patterns that already exist in my code base or for boilerplate. For example, if I’ve already written a GET /foo endpoint myself, copilot can generate all the code I need for my GET /bar endpoint because it will follow the patterns of my codebase.
I agree it’s terrible for students and the pause effect is real. That being said, you can ignore its suggestions, you don’t have to take them.
@@SimonWoodburyForgetyou don’t have to find everything you do at work “learning”. There are many days you just want to get the job done and collect the paycheck.
I think you make a great point!
NGL, the only thing I didn't like about programming in my Highschool level Comp Sci course was debugging C++ in 2004! Then I hated not knowing how to do more programming without spending an arm and two legs, because it was 2004! That said, bashing my head against all available surfaces to debug C++ in 2004 is PROBABLY why I never REALLY struggled at programming ever since! Like the intro to true OOP was a stumbling point and stuff that most devs DON'T do, such as building my own DB on an ARM64 Linux device kinda hurts, but it's all trivial compared to debugging C++ in 2004!
Prime saying exactly what I'm thinking, who thought it's a good idea to give it to students?
Capitalism
Worst is a lot of students seek it out because it's seen as a magic genie when you have difficulties instead of doing research
Those that have invested tons into an AI product and need to recoup - any marketing message will do given that all Western societies have pretty much kicked morality and ethics to the curb
Microsoft. One day all those students will turn into easy money for them
It is like making someone into a drug addict by offering them first dose for free
It's a great idea from a business standpoint, because they will be reliant on the product for the rest of their careers, and it will cost them money once they graduate.
The best part of copilot is querying docs without having to leave the IDE. copilot chat: "posgres partial index with nullable column".
That’s a good idea.
You lost me at "I decided to redo my neovim config from scratch"
Devs will work on anything but useful things
@@stoogelas in working at netflix?
@@____________________________a Not anymore
Until his later years, Einstein had that look of grey hair while is mustache was still darker.
The most frustrating stuff are
c memory bugs.
Race conditions
python enviorment issues.
C memory bugspr6)7
"I wish there is a privacy-concerned version of Microsoft."
Sir, this is Microsoft.
I see your point. Although I have had Copilot for more than a year, I have only started to really use it in the past six months. I found it particularly helpful in rewriting code. Say I write one-off code to see if it works, then I ask Copilo to write generalized code; it does it fast. It takes away research time, especially if you are working on a job with a budget and timeline. After watching this video, you make a good point, I will disable it between projects, and as I work on learning new tech, I'll force myself to answer my questions.
That TikTok/Instagram learned helplessness thing is so real, I see so much shit not just with copilot, but with a bunch of high school students complaining about teachers punishing the use of AI, like they don’t comprehend that they’re at school to learn, not sit on your phone for 6 hours, I remember once I was talking in a comment about how using AI to do your work is stupid and a waste of your own time, but I could rationalize it, but doing the same thing in college, was completely stupid and inherently irrational. Because you pay to go to college and are learning things you will need to use in your career, acting like a high schooler and trying to avoid learning at all costs is completely stupid. Seems like a valid take, maybe a bit extreme on the anti-AI side but I was getting flamed by a bunch of high schoolers in the comments who were acting like school is this horrible struggle where they’re being mentally tormented all day or that school is this horrible abusive system that preys on their free time to teach them useless things. The problem with those platforms is they’re mostly teenagers, and young people (regardless of generation) are the most likely to fall into a reliance on technology and tools, and while I don’t think it necessarily makes them lazier, it does take away the necessity for them to learn and use skills, thus they become hyper reliant on it, and once they don’t have it, they become useless. Imagine having someone learn on a Tesla, always having autopilot and loads of sensors, backup cameras, GPS, everything, and taking them, and throwing them in a 1997 Ford Taurus, with none of that. 9 times out of 10 they fall apart and don’t know how to do anything. It’s the same with modern AI and tools being used by developers and students. That’s why it’s such a dumb idea for schools to allow AI, because it would ruin the ability for a generation of kids to do anything on their own.
Honestly I agree. The thing that made me realize this was the fact that one of my major projects for school was pretty reliant on AI since that was what most of my group mates and I did. What really told me to not rely on AI as much was the fact that it couldn't do the code I wanted it to do (or I was just too dumb to implement it) making me realize that I need to understand the concepts more and learn how to research said concepts past a simple copy paste. Which is what I do now, use AI as a jumping point to see what it says and then research the concept sometimes or skip the AI part if I know what to look for.
But I still use AI for my ge classes since I think that it isn't as important compared to my major classes especially if I am struggling at some of the concepts.
As for High School, while a horrible system, students also can't manage time better. Because on one side, students (from my experience) had 6 different classes daily with homework due at different times of the week with varies length. For example, I had to do 20 math problems due at the end of the week, outline a research paper, research and many more. On top of doing outside activities like clubs or volunteering just to get better acceptance for college (and this could become so much more depending on how active you want to be). So I understand using AI as much as possible. In fact, the work load (or bad time management) was so bad that students were bragging about their lack of sleep.
On the other hand, students not realizing the importance of school is or learn anything will make them not able to do something when they hit a problem that even AI can't solve. Or worse, they do a sloppy job just cause AI says that's the answer.
I've had my copilot enable/disable to "ce" and "cd" maps for quite a while now, and ironically, I hardly ever use copilot since it's not on by default. I just don't find myself actually needing it all too much.
Already saw this video, but re-watching for ThePrimeTime
Very interesting. Every month I see the payment passing by on my bank account and every time I think “do I really need this?”.
Good take on disabling and see if you really need it. 💪🏻👍🏻
28:00 So, with Copilot it's easier to generate the commonly junk coverage unit tests which confirm that the implementation details are implemented the way they are implemented? :P
Good take. You have to be careful writing tests that just confirm it working the way it is working. Tests should confirm it is working the way it is INTENDED to work, which is not something an AI would always know from looking at the code alone.
TDD.
@@-Jason-L And LLMs are terrible at TDD.
@retagainez not my experience at all. Not remotely. The problem isn't the tool :)
English is not my first language, altough I'm fluent and understand everything, sometimes when I'm concentrated, I cant remember the simpliest words. So I use copilot to help me name variables and functions.
Then you use it to explain the names later, right? If you don't know the word while naming , you still don't know it while reading. And good luck trying to manage the code where everything is named after some sort of "tapestry".
@@az8560 This is not true. When writing/speaking in a second language, you usually forget words even though you actually know the word. When reading/hearing the word, there is no confusion of what it actually means.
@@az8560 na, it's not like I don't know the word for something, it's in this exact moment I don't have it in my mind. So I ask quickly copilot: "give me a name for this function / variable". Once I read it, I know it.
Or sometimes copilot suggest shorter synonyms, better descriptive names.
It's just if you work in an environment where we speak 2+ languages on a daylie basis, you get confused sometimes.
Microsoft would be thrilled to make all of us completely addicted to their paid service, and to habituate the new generation of software developers as early as possible to think that using Copilot is as normal as breathing air. The consequences? It's not their problem, at least not for a good while.
i think they love scanning your code more.
@@ChrisWijtmans porque no los dos?
@@CaptTerrific english?
@@ChrisWijtmans it means "why not both"... it's from a meme TV commercial for taco shells
@@CaptTerrific I am not american.
I really agree just in one point - waiting when copilot autocomplit my sentence, it's not good, but usefulness in boilerplates, I can't deny
Oh sorry, I forgot, I'm not so good in solving problems on my job, because I hate many of code base historically involved, but I should write code for this structure and voila copilot can do it instead of myself
Also not using Copilot. Don't want to become dependent on it. Yeah, perhaps my productivity takes a hit, but I think it's worth the tradeoff.
indeed, over use will lead to yet more incompetence - there's already a vast over abundance of that in Western societies right now
I've learned so much since I started using Copilot. It all depends on how much you know when you start using it and how you use it when you do.
Copilot for me is analogous to digital music workstations (Flstudio,ableton) for a musician that plays an instrument whole life. Basically it allows you to have codewriting/musicplaying power of a team/band, you even have random noise generators, but in the end you have to do the thinking and arrange the song/program. But using copilot/dwm makes you rusty in what was once normal for you, playing instrument, or writing code directly.
??? Every DAW I've ever used supports live instrument recording and the vast majority of synths will work with using an instrument as an interface. If you're losing your ability to play an instrument because of your DAW usage, I'd be worried.
I agree with your analogy, but my conclusion becomes the opposite (both for coding and music). Copilot to me is a force multiplier for anyone who knows what they want to build and how to build it, and just want to code it faster. Of course Copilot won't plan your program or write your music, but noone in their right mind expects that of AI anyway. Having lots of instruments at your fingertips is better than having to own them and get them out of a box in the attic and remembering how to play them, or having to call a musician to take it on a bus to your music studio at their earliest convenience in a few weeks. To me that is obviously worse. Having a (sometimes overeager) code completion assistant does not hinder me in the slightest. Just don't complete if it doesn't get what you're trying to do. And when it completes well, it's great.
I have to sheepishly admit that Copilot is very helpful as an EM that maybe submits 2-3 PRs per month. Because I haven’t been an engineer in about 8 years, I find that I still have the ability to formulate the business logic I want to implement but not necessarily a grasp of the exact syntax for how to express it (especially managing a team with a different tech stack than when I coded regularly 40+ hours per week). Copilot is good at short circuiting that frustration and usually at least givens me a decent landing spot for where to explore the docs to write a refactor of Copilot’s code or my own novel replacement of Copilot’s suggestion.
The main issue why people quit Copilot is that they were using it as their main pilot to write code. If you use Copilot as a copilot or assistent for writing code, you can still learn new stuff, be creative and solve your problems on your own style.
Yeah maybe... but there's a reason they put guards on power tools. You have to design your work environment not just for when you're on your best behavior in ideal conditions, but when you're bein a little sloppy.
I LOVED the first days and weeks learning programming. Absolutely loved it.
i actually do realize the copilot pause, i'm doing it on purpose
i don't have the problem of pausing to wait for a suggestion, i only pause when i know the suggestion will be good
exactly
Nice! I can just put "started programming around 15BC" in my bio, and it'll never need updating.
IMO, a good software engineer uses all the tools available to them. This includes Co-pilot, Chat CPT, Docs, Web search, IDE features, etc... but they key thing is moderation. Use the right tool for the task at hand.
Crazy concept, but you don't actually need to agree to copilot suggestions (or even await the autocomplete). So there's no need to completely disable it as some sort of weird "detox"... just choose not to accept it's suggestions? There are settings you can adjust. You can also use it to "preview' what you have in the clipboard (it seems to bias towards text you have copied), or to find a piece of code in your open editors (context), which can be a game changer for refactors, along with IDE tools like VSCode's "rename symbol" option.
tl; dr. Just use tools properly.
I'd disagree here. A good developer curates their tools - choosing the ones that work well for the task at hand, avoiding ones that are likely to cause problems, and using in moderation the ones that are "not great". This may mean turning down a tool that looks promising, but is likely to cause trouble later, in favor of something they believe will be more reliable and manageable in the future.
I'm not going to use DBSet.ExecuteQuery() unless I'm truly pressed (which would mean I'm likely using EntityFramework for a task I shouldn't be) because that's going to send me down a path to unmaintainable code, problems debugging, and other nasty surprises further down the line.
Sure, it's a tool available to me... but is it truly one I'd want to use?
I enjoyed the first weeks of programming. I had a knack for it, and learned everything pre-ai. I tend to not pause for copilot. It's just nice when I'm writing predictable code and it pops up. I just write code the same way, but it does write a couple lines here and there. I'm with you on I need to get it out as fast as possible. I don't feel like I'm losing anything to ai because I had a job that forbade ai and wrote some of the best code in my life there without gpt and copilot.
It sucks bad more of the time confuses me about my own code when attempting to fix an error and the fact that it can't process some amounts of code made it kinda wack
The reason I quit copilot is because having a shitty dev that doesn't understand context vomit out code that you were just going to write 10 times better isn't good.
It actually hindered my productivity.
So either Microsoft is lying about how great copilot is, or -10x devs are lauding it.
Industry doesn’t care about how fun or fulfilling the developer felt writing code.
They just want to get things done quick and cheap.
All this ‘copilot sucks’ rant is the coping mechanism for I know all types senior devs
The code generation is at its infancy stage right now. It won’t be long before it gets efficient
I basically use Copilot to help me with documentation. I come from programming the one and only C for many years, but in my new position, I have to work in multiple languages with more frameworks than I can count and I don't have the time to read and learn every framework on npm or pip. I look at the output of Copilot to get a rough understanding of the structure etc and then write my code based on this information. This is 1000x better than reading the (sometimes) non-existent documentation for some project, just to tell the colleague that how he solves the problem is shit, because they used something from npm or pip without understanding the abstractions used in their code. If you can program and have a somewhat understanding of processors, Copilot is like a rosetta stone, because in the end everything at somepoint becomes ASM.
Doesn't need your whole codebase for privacy to be an issue. Does it know not to ingest your .env?
this video made me feel so much better about avoiding copilot from the start
I'll go against the crowd and support copilot. I love it for the sole fact that it already knows about most the libraries I end up using. I can see what it produces and learn how to use the library from that. I never straight up trust whatever it makes, alwasy reviewing everything it generates. But man, there are so many times I love tab`ing a bunch of boilerplate away, or writing and entire unit test with just a sentence. The only real problem with using copilot is when you start relying on it. As soon as you "need" it to write everyday code, you gotta take a break from it.
"learned helplessness" - I love that phrase, and will now use it for everything
he's a neovim user so there's a big chance he's also writing emails, personal notes, etc. in it too. if you leave copilot on by default privacy is a bigger concern there. i also don't really care about "privacy" with my code as im likely to make it public if it's personal, and if it's for work it's ending up on github anyway
@@SimonWoodburyForget for sure, but it's kinda moot specifically in those instances where you're writing public code or code that goes on github
@@SimonWoodburyForget why would my employer buy the code they are buying from me from microsoft? or buy publicly available open source code from microsoft? the answer is obviously yes since i am willingly pushing it to github (microsoft).
The start was priceless (fullscreen). "Computers are some times drunk." 😂
Have never used co pilot, or chat gpt directly. Will be like that dude with the plasticine models and the stop motion animation in a world of cgi, holla me if you like Wallace and Gromit.
And just like when cgi came out, The current order will complain. Only for it to be the industry standard. I get maybe the first 2 coding classes being self typed with python, but restricting from students is like just like already said. A caveman in a futuristic world, looking to get ran over.
Prime's advice is great long term, and I think that's really where the conflict is - if you follow Prime's advice then in 10 years you'll be a fantastic programmer, but there's a lot of developers that find themselves in a situation where they need to get something done right now. Product managers don't really like to hear "Yeah so we missed the deadline for this feature because I turned off my LSP and exposed my major skill issues, it will be worth it in a few years though"
I think there's some kind of compromise like using copilot for work tasks, and not using copilot for personal projects that might work, depending of course on how many personal projects you do.
Whoever commented "$10 a month ain't a loss" should know that keeping AI like copilot running requires almost $10 million a day and thousands of metric tons of water for cooling PER DAY and that's just for server upkeep. Copilot being $10 a month is ABSOLUTELY a loss leader.
Datacenter use closed loop watercooling, it's not consuming water per say. Why do you make your sentence to sound like it's wasting water ?
@@Smirnoff67they read that online free them.
@@Smirnoff67 datacenters also use evaporative cooling, and there is a substantial water loss
The copilot pause wont be a problem when you don't have to wait because it's that fast.
Is this the signs of sunsetting purists? Knowing how to synchronize carburator is no longer relevant. Certain skills just become irrelevant. Coding is clearly headed that way. The market manipulators don't care about purist "coding" skill, just throughput and profit. Quality is dead AF. Have you seen the AI garbage fools are flocking to, regardless of the pathetic quality. Generated art and text is mediocre at best.
Good luck. You better hope you are right on the 6 month horizon and not the 10 year horizon
Timeline is just a matter of who and how many are affected. It's happening regardless.
You _may_ be right. But you _may_ be a generation off
These are very import considerations
Yall just keep saying that based on extrapolation on current (short sampled) trajectory without actually arguing how AI will ever be able to make reliable enough decisions while accounting for its inherent fuzziness. Even if you turned out to be right you are still wrong in this moment.
@@ThePrimeTimeagen it's not a maybe, it's going there. No one needs to understand how to read a hand clock, and most don't. Pureist will swear they have a life purpose in being able to understand how to read a hand clock, heck, even those wooden clocks with the birds that comes out every hour. Do you know how to read those? Let alone set it up?
Cope is a helluva drug.
31:00 As far as I know it, VS Code sends *currently open* files as context for the copilot. I consider it a nice way to guide Copilot because I can open related files and Copilot will only suggest related lines of code.
I don't know how people can watch this guy. Every video of his I've clicked on has been full of terrible takes, reeking of know-it-all elitism. One of the most damaging things a newer engineer can do isn't using Copilot, it's watching these videos.
Exactly. He’s like every nightmare coder archetype rolled into one. He’s literally the person I tell every programmer not to be. He’s a gatekeeper who thinks the ultimate goal is to write more code. The ultimate goal is to make cool things. The act of coding is not some ideal state. If you think like him you’re going to write mountains of abstractions and verbose nonsense that keeps developers on a treadmill. I’ve been programming for 25 years. Does he think we all want to sit at desks until our bodies die? Is that the goal? Of course that is not the goal. The goal would be to one day not need programmers at all. It’s not some zen activity like gardening. The problems are not difficult only tedious and shallow. The architecture can be interesting but writing all the wiring in 12 different languages across 12 different environments for one application is not fulfilling unless you’re a masochist. Further more it’s not productive if one day the computer can do it for us. This guys is the cancer programmer who codes to code. It’s a cancer because that line will never end.
YES. Your take on why the "self-reported satisfaction" numbers are inflated or a poor measure of copilot's benefits is what I've been trying to express for so long.
Using copilot with auto-complete off, and just referring to it when you want it to write out a bunch of boiler plate (using the shortcuts to quickly feed it a highlighted bit of code), or offer some suggestions on how to tackle a problem when you are considering how to proceed (basically, standing in for Stack Overflow / Doc Snippets), is the best way to get good value from it without it becoming a crutch.
Still find myself having to refer to the docs regularly though as it often suggests non-optimal approaches.
Should add, I am coding in C# in Visual Studio, which I think is a superior experience to the VS Code / JS code I've seen - probably due to the typing of C# and it being a Microsoft tool, so presumably they have fed it a lot of proprietary C# they own.
I have a lot of hobbies (for most of which i lack energy atm, but that's besides the point) and I'm very unlikely to code as a side project if my work will be coding.
However, it never even occurred to me that dealing with syntax is a hassle that should be removed by instruments, rather than reduced by language design.
Yes, if you do it only sporadically it might be hard to remember, but even couple evenings a week with lua and in 4-6 weeks I stop thinking about syntax because I memorized by using it. I even found time to look around for possible lua specific code optimizations and staff, even though it didn't make much difference for my task.
I love this term: "Copilot pause". Nowadays, I'm thinking about as a Dev|Sec|(little)Ops I have to rely on too many techs. And I've noticed this pause not just in my coding but even in my speech. This is terrifying.
Like any tool, it's all about how and for what you use it. I work in a large number of different languages, some of which I have no desire to learn them fully (I'm talking frameworks not syntax here), it's mostly helpful in this situation, even if just to give me a starting point to look up docs.
Copilot is like riding a bike with training wheels. If you are just starting out it might feel like its helping you ... if you aren't then its just getting in the way of you using the bike.
Give me code completion/ intellisense and thats all the suggestion I want or need.
I just start to use Copilot, Copilot is quite useful for experience developer. Since it can save some times when it suggest the code that I wanna to write , especially for HTML / UI. For the Junior Developer , it may be a trouble for them, they are already not familiar with the coding and they trust what copilot suggested. It may make more trouble for them.
I've never used Copilot, but I do like when my IDE has some amount of user-controlled autocomplete, either because of a full LSP implementation or because of basic string tokenization like how most Scintilla-based or other similar syntax highlighting text editors do. Works wonders for annoying boilerplate stuff like function parameters, but I definitely don't like intrusive stuff that assumes what I want and acts like it knows how to code what I want to do better than I do.
“You know what’s not frustrating… writing a for loop”. Amen
as a hobbyist, AI writes way more of my code now between copilot and GPT-4 than I do, albeit 99% of the time I want/need one off scripts. I'm not really to interested into the coding aspect as much as I am with the program's practically or output. That being said, using for coding has nearly stunted my learning in programming, just because if you use the latest LLMs (mainly GPT 4 or Claude Opus) it could do it way faster than I could. I still have that underlying good fundamental base to tell where it's producing something bad however. Giving it to students seems like a terrible idea, though 10$ isn't really that much even for a student. iirc copilot is relatively small, like 13b parameters, so I they are most likely making money off copilot and is not underpriced, pretty sure 99% of that delay you get with copilot is due to networking since the model is so small, the inference must be so fast.
I was the lead on a project that was HEAVY on node events. I struggled WAY too much to debug events-based bugs and memory leaks until I read the docs on the library and it was like I leveled up like 10 levels by simply reading the docs. I feel like people avoid reading the docs just because they are only using a few methods of a library. This is a mistake.
I find it wonderful to skeleton out code or asking chatgpt to write a new code file based on another one I give it. Anything it does that I don't understand however I always look up and check, then I also refactor the code a bit.
Though I enjoy coding, I really enjoy creating things and sometimes for the same reason I use a SaaS product to avoid managing a db manually, I use copilot to avoid manually creating and remembering specific quirks of the code.
If your new though, i can see it's a big trap to just let it suggest and run with it, it's like the stack overflow coding flow of copy pasting something to just "hack it". At least I can get copilot to also explain code unlike a half baked stack overflow response.
Copilot looks cool, but is a bit too invasive for me. Not about privacy, but I like the AI giving me pointers and guides I can use to figure things out with.
I use Phind a lot. I would like it to be a little deeper than it is, but it's really good. I save the search results, and use them as documentation in themselves.
I'm still a newb, but hope to eventually have my own version of phind that can scan my codebase and the documentation of my tech stack, THEN search online if I can't figure it out. More of a troubleshooter, advisor, and friend, then an autocomplete. (I would like Adobe Dreamweaver level autocomplete though. Had Kite on Atom, but both are dead now. Advise welcome)
Just want to shout out the chatter nxia616 for saying 10 bucks was the cost of a banana. I see you. Your references are out of control. You made me chuckle.
I think Copilot meshes with me better simply because I already had a pause in the first place. I never stop when I have code in mind, but often, I have an idea in mind I have yet to convert to code, so I pause when thinking about how I'm going to do the implementation.
While programming language and actual languages are different, I think the best explanation would use that analogy. I'm bilingual, and when I think, I'm not necessarily thinking in one language. I'm just *thinking*. Similarly, when I'm programming, I'm not thinking in any programming language, I just have a structure and logic in my head that I have yet to translate.
But I've noticed an added pause with some things still (for loops was the most noticeable), it's just that it stood out less to me because I already had some, and I guess my style of programming just meshed better with it.
I might be a special case, though, because while I don't have professional experience, I've been programming for 14 years, so I'm a weird kind of junior who learned both by themselves and from experienced devs, and now a tad from uni, though it's really basic.
😂 "learned helplessness" is a perfect encapsulation
Thanks for being direct and saying that loud: copilot improved satisfaction to whose who were bad in programming in a first place. ❤
I got copilot as a student, i enjoyed it for a few weeks, but now i systematically disable completions and use exclusively copilot chat, i felt copilot completions gave me brain rot
As a student, I very strongly disagree with Prime's take on copilot being free for students. It assumes all we students do is just learn fundamentals of CS, but we also make projects just like any other developer. And I don't like to memorise all the pandas and numpy methods just to put something out there, or learn JS when all I want is to use it as glue code for a WASM project.
Using copilot for school work? Yeah that's bad. But it's not a blunder because of it.
At this point, I've stopped watching my favourite YTers because I know Prime will react to it soon enough 😌
Ooh, I remember years ago I quit ReSharper for a similar reason. Our license server went down for 3 days, and I discovered that without ReShaper, the IDE was faster, and the editing experience was less interrupted and smoother. I assume it’s the same thing with CoPilot. I’ve also found in the past that hand-editing code or layout without the IDE help makes you understand what you’re doing, vs. not at all.
Lol i watched the source video earlier today and now im watching the reaction. This is a first for me
To me, debugging race conditions or deadlocks or other concurrency related issues in complex programs is one of the most exciting parts. Keeps me up at night for a while, but once you solve it, it's incredibly rewarding.
I built an entire middleware component system in Go last summer for my internship without using an LSP and it actually helped me learn the language on my own super well. Still know things about Go like the back of my hand despite only using it occasionally since then
I tried copilot a few months back during my second month of working as a programmer. I was actually astonished by it's capabilities, because at the time, I set up some types and variables which I needed to "reverse engineer" a json tree structure of product categories out of a list of all products which obtained their path through the categories.
To my astonishment, at the moment I began to write that code, copilot no joke wrote like 20-30 lines of code and it did exactly what I needed it to do. It's even cooler because at the time, I had no idea how I would accomplish that and copilot was like "no worries lil bro I got you" :d
The part about learning how to type well is so true, I started out coding and after just two weeks in my course my hands were wrecked. I got a ortholinear split keyboard and also decided to swap layout to Dvorak, it was so annoying the first week but now I’m starting to fly in typing and errors is down. My pain is gone and I can fully focus on just learning to code. Also love/hate C but understanding memory is crucial, also decided to read books on how it all works down to the resistor. I really love this field.
Copilot is banned by my company's AI policy. They're partially afraid of IP leaks but mostly the CTO and architects are skeptical of its value and the effect it will have on code quality
good job by CTO and architects
I don't mind writing code in general, but what I often get apprehensive about is writing a lot of complex test cases where it's like, ok now if the customer already has the item in their cart and they are a rewards member and they have a coupon but it's not their birthday... Ok now all of that but it's their birthday, ok now all of that, but the coupon can apply to two things in their cart... And you have to set up test data for the cart, the products, the cart entries, the user, the loyalty membership, the coupon code, the coupon satisfaction criteria...
You have to do all those things, and all the acceptance criteria says is, "as a customer, when I check out, any coupons should apply based on the products in my basket" but you talked to the product owner, and they mentioned the thing about loyalty programs in passing, and you remember that the birthday case was brought up during refinement, but the scrum master forgot to add it to the story.
I understand the apprehension, but man is future-developer gonna be glad you added all those test cases.
"Wait a test failed... what is this about birthdays?"
Honestly, I think that engaging in open source and wanting privacy go hand in hand.
When you share something that's open source, yes, you share it with the world, but you're deciding what and how much to share.
When you use something that's open source, you're also controlling how much to share, and doing so with more confidence.
I used copilot for about 2 weeks before I recognized that it was making me worse and stopped. I am a hobbyist tinkerer (I wouldn't even say I'm a developer) on my best days and learning to do it "the hard way" is far more beneficial than being able to write a long comment that copilot then parses and averages together all the relevant examples in it's training data to produce a middling result.
beginner programmer and trying to self-teach me: i do not use copilot (too expensive) but other AI based code helpers, chat and so on, make it give me programming tasks, review my code, help with syntax... it is really very helpful for me to just self-learn without a ton of video courses and so on.
I've come to the realization that co-pilots and AI tools keep you stuck in your usual patterns instead of expanding your horizons when problem solving, but it sure is great for abstract thought akin to abstract art.
It's good to hear of other programmers "switching off the targeting computer" (disabling autocomplete, etc.) even if it is just as an exercise. I never really got into autocomplete to begin with; too distracting. Plus I feel I'm better able to internalize the names of things, the shape and function of an API, etc. if I don't rely on the machine for answers. I never even countenanced running Copilot. I do not want my code, prompts, keystrokes, or anything going into the cloud to become part of some Microsoft data slurry. At least not until I'm ready to publish on GitHub.
To answer jediwattson's question, the Hebrew University of Jerusalem controls Einstein's estate and claims all rights to use Einstein's name and likeness. Commercial use of Einstein's name or likeness without a (rather expensive) license will likely get you sued; the University is very lawsuit-happy over that sort of thing. So yes, "Einstein is IP", and very well protected IP at that.
If you don't like what copilot suggests, just keep typing what you want. Most of the time the first few commands are correct, so just accept the first few commands. If you have accepted something that is wrong, or you don't like it, just undo the changes.
I check everything twice regardless of whether it's AI generated or not...but Copilot does help to write documentation and simple routine functions. It's a great TOOL, not your personal assistant.
I haven't used copilot, but that beginning is very much my take on IDEs. I started with one and felt like I couldn't work without, but shortly after being forced into using vi for a month I was so much faster and was learning faster. Now someone with 5+ years experience but needs an IDE is a strong sign of a subpar dev. On the occasion I'm forced to use one, it is nothing but headaches.