11 ms·
I'm afraid I don't understand your argument. The programmer is still ultimately responsible for the correctness, and quality, of the program. These are just ver
by arcturus17 5y ago
I'm afraid I don't understand your argument. The programmer is still ultimately responsible for the correctness, and quality, of the program. These are just very advanced IDE hints.
How is this approach "wrong"?
- sergiomattei 5y agoYeah, this point I really don't get. Your job as a programmer is to ensure the correctness of the code you write, Copilot isn't really changing that.
- baby 5y agoYou’d have to believe auto completion is evil too I guess
- skohan 5y agoIf you went to school in CS, think about the worst programmer in your graduating class. You don't think they are going to mindlessly accept the autocomplete as long as it compiles? I can imagine this will lead to a lot of bad code making it into production.
- sergiomattei 5y agoSo? Systems should be in place to review code. If you don't have these systems in place, you're getting what you deserve. Hiring subpar talent and not having processes in place isn't Copilot's fault. This is almost like blaming the car for an accident. If you have a shitty driver and the traffic lights aren't working, it's not your Corolla's fault.
- rdedev 5y agoIf the programmer dosent have the requisite knowledge to verify the code it's hard to know if the generated results are correct. Compare this to copy pasting solutions from stackoverflow. Atleast there you get a pretty good idea of the pros and cons of a solution. With copilot it's all upto the programmers understanding of the generated code. Of that programmer propmts copilot on a domain they don't know much about it could lead to a lot of subtle bugs being introduced
- emodendroket 5y ago> Compare this to copy pasting solutions from stackoverflow. Atleast there you get a pretty good idea of the pros and cons of a solution. I don't think I understand why this should be true.
- nemetroid 5y agoStack Overflow answers only containing a code block are voted down.
- emodendroket 5y agoIn theory, I guess, but the type of person who just blindly commits code they didn't understand isn't going to read the explanation and isn't going to catch security issues with SO answers either.
- MauranKilom 5y agoThe fact that some (bad) programmers already blindly copy SO code does not detract from the original argument that Copilot is dangerous because it effectively copy-pastes SO code blindly.
- emodendroket 5y agoIt presents a suggestion, which you are free to reject. What's "blind" about it?
- nemetroid 5y agoThe fact that it doesn't come with context. I just fail to see the usefulness of the suggestion, if the quality can't be trusted. Either: a) I'm familiar enough with the code/topic that I'm able to judge whether the suggestion is good, or b) I'm not able to judge, and need to consult other sources. In case a, I could have just written the code myself. In case b, I still need to read up, so the potential gain is that Copilot gave me a hint as to what I should search for. But even that hint can't be trusted - there was another comment where Copilot suggested to use MySQLi in PHP, which has been the wrong choice for a long time. So if the suggestions need scrutinization, the target group I see is people who need to write a lot of code in a familiar area, and are limited by the speed at which they type. This is arguably a very small set of people, and is unlikely to be the main user group of this tool.
- dathinab 5y agoSadly (?) there are many not so good programmers (e.g. because they are new to it). Finding a bug in something which seems to be correct can be harder then writing the correct code yourself. Especially if you might not (yet) fully understand what you are doing. So Copilot is only a good idea if you are a experienced programmer with the discipline to put any auto generate part through a proper (ad-hoc) code review. At the same time it looks especially appealing to someone just starting to learn coding...
- aembleton 5y agoThen it can be picked up in a code review.
- TeMPOraL 5y agoSpotting bugs in code review is already hard when the code you're reviewing has been written by a human. In this case, at least you can rely on your knowledge of the co-worker who wrote it - over time, you learn the kind of experience they have, the kind of mistakes they make. Spotting bugs in code that has been generated by a GPT-3 derivative, with all the subtle mistakes that implies, is going to be even harder.
- stackbutterflow 5y agoIn the end we need to tag each piece of code written by copilot. Doing a code review on a piece of code written by a human and on another one generated by copilot is going to be a very different experience. I would be way more wary of a PR containing copilot generated code. Turns out copilot will be a productivity killer.
- aeorgnoieang 5y ago> Spotting bugs in code that has been generated by a GPT-3 derivative, with all the subtle mistakes that implies, is going to be even harder. I'm kind of skeptical! I think your claim is reasonable tho so maybe I'm more skeptical of your confidence? I'd love to read a follow-up from you after you tried using Copilot for an extended period; even (or maybe especially) if it's as bad, or worse, than you expect!
- adrianmonk 5y agoIt is going to have the same vigilance problem as partial self-driving cars. When the machine feels like it's handling most everything for you, you let down your guard. It shouldn't be that way, but it's how people work, so we should expect it to happen. (Psychologically, if an action is very rarely rewarded, people are less likely to do it.) Even if you want to be vigilant, it will be a bit of an uphill battle to make yourself do it. Also, checking the auto-generated code takes time. You, as an individual contributor programmer, may believe that the time is absolutely worth it, but you will need management to support that. This technology creates additional opportunities for managers to say, "Don't worry about that. Ship it." Which is another thing that really shouldn't happen but in reality does.