Copilot helps me explore algorithms, because I can describe what I am trying do to and it implements it for me.
I was studying SAT solvers, and Copilot could easily generate a solver. That’s acceleration. Then I could change small parts of the code by trying new data structures, and Copilot would generate the code for me. That’s exploration. After getting a basic DPLL solver right, I then did more exploration and added watch lists and other optimizations. If I had to code all the underlying data structures from scratch, it would be dead boring.
For some languages it works really nicely: C, Python, JavaScript, and even Haskell. For others, it’s a bit more difficult, like Rust. It tends to write code that is not idiomatic, but it’s still useful.
(And yes this comment was written basically by Copilot)
Copilot helps me explore algorithms, because I can describe what I am trying do to and it implements it for me.
I was studying SAT solvers, and Copilot could easily generate a solver. That’s acceleration. Then I could change small parts of the code by trying new data structures, and Copilot would generate the code for me. That’s exploration. After getting a basic DPLL solver right, I then did more exploration and added watch lists and other optimizations. If I had to code all the underlying data structures from scratch, it would be dead boring.
For some languages it works really nicely: C, Python, JavaScript, and even Haskell. For others, it’s a bit more difficult, like Rust. It tends to write code that is not idiomatic, but it’s still useful.
(And yes this comment was written basically by Copilot)