Coding by Hand vs Coding with AI
Updated onThere's no fundamental difference between writing a program with AI and writing a program without AI. In both cases, you tell a computer what to do, and the computer does it. Which is what programming is.
Programming languages exist so we don't have to write binary. Now that AI exists, we don't even have to write programming languages.
When you write a program in JavaScript, a compiler turns it into machine code, which is code the computer can understand. The computer then executes the code.
When you give instructions to ChatGPT in natural language, GPT turns that natural language into code, which a compiler then turns into machine code, which the computer can understand. The computer then executes the code.
There's an extra layer now between the program and the programmer, but the program is now easier to write. That's how abstraction works. You take the parts of the job that are the most confusing parts (the programming language), and you hide them from the user so the user doesn't have to worry about them.
So now you have an extra layer between the programmer and the program. And it's possible that as a result, the programmer's understanding of the program will be reduced.
Likewise with coding. Writing code by hand is satisfying. Tell a bot to do it for me isn't. Why? I think because when I write the code by hand, I feel like I've accomplished something. I feel like an agent. When the bot doesn't, that sense of accomplishment vanishes, even if whatever it wrote was my idea.
So maybe it behooves programmers to try to derive satisfaction from the outcome instead of the process. Or rather, from higher-level problem solving instead of low-level.