sunrunner 8 days ago

Earlier this week ChatGPT found (self-conscious as I am of the personification of this phrasing) a place where I'd accidentally overloaded a member function by unintentionally giving it the name of something from a parent class, preventing the parent class function from ever being run and causing <bug>.

After walking through a short debugging session where it tried the four things I'd already thought of and eventually suggested (assertively but correctly) where the problem was, I had a resolution to my problem.

There are a lot of questions I have around how this kind of mistake could simply just be avoided at a language level (parent function accessibility modifiers, enforcing an override specifier, not supporting this kind of mistake-prone structure in the first place, and so on...). But it did get me unstuck, so in this instance it was a decent, if probabilistic, rubber duck.

1
fl7305 7 days ago

> it [...] suggested (assertively but correctly) where the problem was

> it was a decent, if probabilistic, rubber duck

How is it a rubber duck if it suggested where the problem was?

Isn't a rubber duck a mute object which you explain things to, and in the process you yourself figure out what the solution is?