4 ms·
> Well, let's say you have a system in place where you actually prove the correctness of your program. > Of course, when the correctness of your program does n
by namelosw 5y ago
> Well, let's say you have a system in place where you actually prove the correctness of your program.
> Of course, when the correctness of your program does not matter in the first place, but just its output
1. There are in fact very, very few projects that try to prove their correctness. Usually, those are extremely critical or dependencies for potential critical applications. Even if a project does this they're doing it partially just for keeping ROI sane. Please correct me if I'm wrong but AFAIK, even most programs on aircraft don't use this approach, although they're definitely interested.
2. For most of the projects, the primary goal is to be useful, to be correct is at most secondary.
3. A program written by humans is not inherently correct, it's more likely to be the opposite. No matter it's written by a human or a machine, you should always write test cases to reflect the properties you care in your program. Properly tested programs written by the machine don't make it less correct than those written by a human.
I'm generally interested in Copilot, not because of the novelty it claims to be, but the value it might provide. I see it as a potentially useful tool just like IntelliSense but with greater potential.
At the end of the day, it's an AI "Pair". I've been doing pair programming for years, one of the lessons I learned is one should not assume anything just because he/her pair partner is doing it - both of them should be responsible for their program.