4 ms·
I dunno, this makes me feel weird. So far I've tried AI for programming assistance but every time I do, the results are disappointing and I give up. Yet I hear
by fidgewidge 4y ago
I dunno, this makes me feel weird. So far I've tried AI for programming assistance but every time I do, the results are disappointing and I give up. Yet I hear from others that it's made a huge difference and been a massive boost to their productivity. I don't know how to reconcile these two very different experiences. I worry that I might be getting old and will be left behind by not understanding how to master these new tools.
Specifically, I have a colleague I respect a lot. He is an excellent programmer. He now routinely asks ChatGPT for things and claims it's a big help. Yesterday I was wondering out loud what the difference was between two very similarly named properties in a config file, and he immediately logged on to ChatGPT and asked it. I read the answer and became suspicious because the explanation was what you'd expect the difference to be given the different names, but it didn't make any sense when you thought about it carefully. I typed a similar query into Google and the first result was a detailed and correct Stack Overflow answer. Now I'm quietly wondering about the other cases where he used ChatGPT to help him write code. When I tried ChatGPT to get library recommendations per tasks, it would often recommend libraries that sounded like they should exist but didn't.
Other people say they use Copilot and it's a huge boost. I tried it when it first came out. It kept suggesting huge blocks of code that were just nonsense, in a very irritating over-enthusiastic-girlfriend-meme sort of way. I found it was slower to try and work with Copilot constantly checking its answers than it was to just rely on the IDE autocomplete and type system (which are quite good in the language I'm using). Also I found that carefully reviewing its suggestions was somehow more tiring than just writing the code myself.
Finally, when I look at the bugs and things I've had to do lately, it's hard to imagine (current gen) AI helping. Everything is a bunch of small changes all over the codebase, often quite subtle and in response to complicated bug reports. Who are these programmers who are blasting out boilerplate all day where AI never makes mistakes?
- twelve40 4y agoit might be more useful to people who are churning out different webapps, prototypes, scripts, fizz-buzzes and code samples from scratch? I can't imagine this thing making sense of a large existing (possibly proprietary) legacy codebase.
- sidlls 4y agoThis is exactly it. It's fantastic for churning out things for WordPress quality apps. For anything that requires more complexity or better quality its utility is limited.
- orwin 4y agoUse it to generate test case, Api responses, but not more. Copilot can also write you tests you did not think about (or rather, dumb tests you know you pass and are too lazy to write, but could be useful waaay down the road.
- lolc 4y agoYea the confident nonsense generators take getting used to. They will happily mix old and new api versions and invent whatever fits the wording. So when I know my way around, they are not useful. However, I've gotten used to being able to ask "how do I X in Y" when I don't know the language or libraries well. The generated answers are often subtly wrong, but they can save me hours of digging. After all, even if I'd come up with an attempt myself, it would also require refinement and tests. So they can often shortcut discovery. Some things I was able to do only because of the bot. It would have been uneconomical to learn the tech enough to come up with a solution myself. One of the weirder things is how often an adjacent refinement will be suggested when I'd ask about a specific detail. It would take my example, and not only modify in the direction I want, but also to follow convention more closely. When it modifies an example to follow an old api version, that is sad, but overall I find it useful.