Practical and careful use.
WHAT IT IS USEFUL FOR
Explaining unfamiliar syntax Translating a concept between languages Producing boilerplate Suggesting approaches Explaining an error message
WHAT IT IS LESS RELIABLE FOR
Very recent library versions Niche libraries Anything where correctness is critical Security-sensitive code
WHY
It may produce confident output that is outdated or wrong.
WHAT TO ALWAYS DO
Understand the output before using it Verify against the official documentation Test it
WHAT TO NEVER DO
Use code you could not explain Paste anything confidential into a service Accept security-related code without verification
WHAT THE REAL RISK IS
Producing working code without building understanding.
WHY THAT MATTERS
You will need to debug it, and you cannot debug what you do not understand.
WHAT TO USE IT FOR WHEN LEARNING
Explanation, rather than production.
WHAT TO ASK
Why something works, not only what to write.
WHAT TO CHECK IN ANY ORGANISATION
What its policy permits.