The art and practice of programming with AI assistance — prompt engineering, AI pair programming, and tool comparisons.