4 ms·
My personal reasons for not using copilot are a bit simpler. I believe the act of researching which solutions to use for a given problem is not so much about ti
by bborud 4y ago
My personal reasons for not using copilot are a bit simpler. I believe the act of researching which solutions to use for a given problem is not so much about time, or the code you end up with, but about developing a better understanding of what you are doing. You may end up just cutting, pasting and modifying a piece of code you found, but hopefully, you were exposed to a few different ways to accomplish the same thing, and it made you aware of other choices that could have been made.
You could think of the evolution of practical problem solving in software engineering like this:
1. I have to invent a solution (because nobody else in the world has a computer)
2. I have to know of a solution (education, word of mouth...)
3. I have to look up a solution in the books I have (commoditized knowledge)
4. I can look up solutions on the internet <-- (we are here)
5. The computer suggests something and I accept (some are here too)
From 1 to 4 the amount of cleverness required to solve small problems drops a bit, but your productivity and exposure to knowledge probably goes up.
I'm not quite sure what happens from 4 to 5. Personally I'm actually more interested in the context solutions are presented in than just the solution. In fact, I rarely copy and paste code from the Internet, but I often look at multiple suggestions/solutions and then borrow ideas or combine ideas from several sources.
- Yenrabbit 4y agoAt least the way I use it, it's not taking much away from my problem solving. It's just that instead of having to type `particlesGeometry.setAttribute('position', new THREE.BufferAttribute(positions, 3))` I just write `//Add as an attribute` and then hit TAB, since Copilot is smart enough to see that I've just prepared some geometry and populated an array of positions (both operations also sped up by not having to type the obvious bits). You're still having to think through the solutions (I'm not just typing '//make a cool particle sim') but no longer need to hit SO every few minutes for syntax examples when using a new library or something.
- ModernMech 4y agoThat sounds like a problem that could be better solved through language and library design rather than an AI that sucks up all the code in the world.
- williamcotton 4y agoAnd yet after all of these decades, after countless advances in libraries and languages, I am still writing boilerplate in C, JS, Python, et al. I’m not sure that a language or library can ever understand the context of code without following an ML approach. Languages and libraries will always allow for more than the immediate task at hand. The innovation is that this tool understands which specific language or library features are probably going to be needed next!
- aembleton 4y agoFrustratingly I've had it insert Java code into Kotlin.
- tartoran 4y agoSo you’re just getting a helping hand doing code plumbing. That sounds good as long as you let the helper take the lead
- ok123456 4y agoIt replaces a few google searches to look up how to do something with a new language or library. Keeping you in your editor and from having to context switch, and possibly distract/derail you, is worth it.
- kraftman 4y agoI would be interested to know how many people are actually using copilot to generate entire chunks of code that they don't understand. For me it's just autocomplete on steroids, its not answering any questions I don't know the answer to (other than syntax ive forgotten), it's just making the boilerplate faster to write so I can think about the actual problem I need to solve.
- tartoran 4y agoNot using copilot but if I did Id use it in the way you expressed as well, just for plumbing and tedious stuff.