I think the usefulness is just very domain specific. If you're writing some types of boilerplate or often-tutorialized code it can spit out something very reasonable. Other types of code, like say in game dev, it stumbles around and never produces anything usable.
But like you said, in a few more years we'll see! It does feel like there's some missing pieces yet to be figured out to truly "reason" and generalize.
> If you're writing some types of boilerplate or often-tutorialized code it can spit out something very reasonable. Other types of code, like say in game dev, it stumbles around and never produces anything usable.
This makes me think of a quirk I discovered recently which is that ChatGPT simply won't generate a picture of a 'full glass of wine'. It generates pictures with all sorts of crazy waves/splashes in the glass but the glass is always half full no matter how you prompt it.
I'm not enough of an expert to make any deductions from this, but I think it hints at what the limitations of the currently models are.
But like you said, in a few more years we'll see! It does feel like there's some missing pieces yet to be figured out to truly "reason" and generalize.