cross-posted from: https://fed.dyne.org/post/43780
Saw an article on getpocket while at work by an alleged programmer that was "mourning the art of coding" because ChatGPT was doing such a good job that his non-coder friend was able to setup a webpage.
To be fair I couldn't tollerate reading past the first paragraph, but it definitely felt like the dude didn't know the difference between funtional code and good code. Like, sure ChatGPT may be able to make a website, but good luck getting it to formulate anything non-generic.
The trick is to split the code into smaller parts.
This is how I code using ChatGPT:
- Have it analyze how to structure the program and then give me the code for the outline with not yet implemented methods and functions.
- Have it implement the methods and functions one by one with tests for each one.
- I copy the code and test for each method and function before moving on to the next one So that I always have working code.
- Despair because my code is working and I have no idea how it works and I have become a machine that just copies code without an original thought of my own.
This works pretty well for me as long as I don't work with obscure frameworks or in large codebases.
Actually, that's the trick when writing code in general, and also how unit tests help coding an application.
reality: the code is written in 5 minutes, and it's never debugged because the developer was fired by management. The buggy code is sent straight into software production
Yeah, that's the way to go. Copilot or similar to automate the simple stuff, while you still do all the architecting and check whatever it suggests.