I’ve found it almost uniformly useless. Dangerous, even, because it produces output that looks good at first glance. But it only understands the line I typed and tries to figure out what I’m likely to keep typing. It doesn’t have a clue what problem I’m solving, what domain I’m working in, the scope I’m concerned with, and myriad other things that are what is actually important when writing software.
The one area I’ve found it useful is turning code comments into real code. If I’m coding in a language I’m not super familiar with, I can pseudo code what I’m trying to do in descriptive comments and it will often suggest a block of code that follows coding conventions and does what I asked for. Is it better than just learning the damn language? No. But it’s a handy tool to have for that one time a year I need to touch that program written in Go.
I’ve found it almost uniformly useless. Dangerous, even, because it produces output that looks good at first glance. But it only understands the line I typed and tries to figure out what I’m likely to keep typing. It doesn’t have a clue what problem I’m solving, what domain I’m working in, the scope I’m concerned with, and myriad other things that are what is actually important when writing software.
The one area I’ve found it useful is turning code comments into real code. If I’m coding in a language I’m not super familiar with, I can pseudo code what I’m trying to do in descriptive comments and it will often suggest a block of code that follows coding conventions and does what I asked for. Is it better than just learning the damn language? No. But it’s a handy tool to have for that one time a year I need to touch that program written in Go.