Comment by Otek
2 years ago
So stop evangelizing about stuff you haven’t used. Understanding code is easier than writing it from the scratch. That’s why code review doesn’t take as much time as writing code and you still need to prove your code works, even if you wrote it yourself.
Understanding code is only easier for simple tasks. I've definitely had copilot spit out complex algorithms that looked right at first glance but actually had major issues that required me to write it from scratch.
Thats why you test, this could also happen with code you wrote so it’s not an argument against copilot. Did you wrote your “complex algorithm” and then run and debugged it in your head? No, you’ve tested it. Do the same with Copilots code
If testing is the equalizer, there is no difference between black box code and something you fully understand. Which fair enough, is how ML works in general.
I contend understanding the semantics of code is harder than writing the syntax. Reading the syntax without thinking deeply (to the level needed to write it, or deeper) seldom helps you realize unexpected corner cases. This is why stochastic testing is so valuable.
ad.: Code review takes less time than writing code for the same reason reading a book takes less time than writing one. Distillation and organization of ideas requires expertise gained through experience and long thought. Reading a book requires reading ability.
Understanding a book (and the intricacies underlying it) takes effort on the order of the original writing, but most people don't seek that level of understanding. The same is true of code.
I am not evangelizing, I am just stating why this is not for me and my way to write software.
Code review often takes me longer than writing code. More generally, reading other people's code is more difficult for me than writing (or reading) my own.