3 ms·
SQL vs. Copilot
I think there a few notable similarities between a declarative language like SQL,
and the problem/solution Github's Copilot is trying to address.
Copilot tries to guess what you want to do, and suggests an implementation for it.
In SQL, you explain what you want to do, and the query planner automatically finds a solution to the problem, and returns a result.
The important difference is Copilot has to guess your intentions,
whereas with SQL, the programmers specify exactly what they want to do
in a precise way.
Much of the auto-generated code Copilot spits out for imperative languages,
is simply not there at all, in declarative languages like SQL,
since you only have to write what you want to do,
and no code at all on how to actually implement it.
My point is, maybe instead of Copilot, we could try to make our programming languages,
future and present, more declarative, to reduce the need to auto-generate code.
- chmaynard 5y agoYour proposal has merit. Perhaps Copilot is a necessary step towards this goal. I'm reminded of something physicist Savas Dimopoulos said in the documentary Particle Fever: “The thing that differentiates scientists is purely an artistic ability to discern what is a good idea, what is a beautiful idea, what is worth spending time on, and most importantly, what is a problem that is sufficiently interesting, yet sufficiently difficult, that it hasn’t yet been solved, but the time for solving it has come now.”