It’s great for saving 10 minutes here and there. Anything deep or more obscure like thread pools and Windows sockets for example can easily cost hours of debugging time. Better to ask it questions and write the code yourself in those situations.
This. I use AI tools from time to time in development, but as a rule of thumb, I treat it like I would a quirky but brilliant intern. As with any tool, it requires knowing when to use it, and how to effectively apply it, and that’s where all us “old hat” software devs come in.
I find that AI needs constant hand-holding and double-checking to get things just right. If I ask very pointed, sandboxed type questions with minimal scope, then AI is often pretty decent at coming up with quick solutions that help be build the larger system of code I’m working on, or giving an explanation for what needs to be done, which I can then take and write up the proper code for.
However, I have also found that AI is almost totally useless when it comes to throwing a broad system concept at it, especially one that requires domain knowledge, and having it hand you a correct block of code. Even if it manages to give you code that works, it will almost always be a naive solution, unoptimized, if it even works at all. More often than not, what you’ll actually get back is a pile of incoherent garbage.