AI Programming Tools
LLMs are all the rage these days, with a vast sea of tech bro AI grift and cruft and marketing. But despite the overwhelmingly toxic image the AI space has right now, I believe there is genuine potential, and today’s tools already have good use-cases. Anyone who thinks AI will take over all of our jobs in the next decade has clearly drunk the Kool-Aid, but equally, anyone who dismisses AI is in my opinion just as misguided.
Anyways, I’m just someone who doesn’t know anything about anything. Here are my thoughts and feelings about the topic anyway.
A summary of my feelings towards AI programming tools
TODO
Strengths of AI tools
By now, the strengths of AI tools aren’t super-interesting to talk about. There’s so much marketing around them that you’ve probably already heard the spiel, and the benefits are all rather obvious: it can automatically “figure out” and do complex tasks that can seem almost “human-like” without too much actual human input. It can work quick, prompting can be quite flexible in how you phrase things, it knows a lot so it can give useful answers to some pretty hyperspecific un-Googleable questions, and you don’t need to give it lunch breaks. That sort of thing. The sky’s the limit if you want to talk about the strengths of AI in an abstract way while ignoring its flaws.
Perhaps it can be more useful to discuss the strengths of AI by discussing the use-cases. We’ll talk about use-cases in a different section.
Limitations of AI tools
#1: The output is not trustworthy. You still need to review it.
TODO
#2: The AI doesn’t automatically have codebase context.
TODO
AI tools I’m aware of
There are loads of different categories of tools out there, but I’ll be focusing specifically on the ones that would be most typical for programmers. Like, yeah, I guess you might use an image generator to make custom graphics for a programming project, but I won’t be talking about those.
I’m kinda making up the categories below, but I reckon they make sense.
Local Agents
I’ll be honest, I don’t really know what “agentic” means, but when I do an internet search on Claude Code, this seems to be the term used, so I’ll go along with it and call them Local Agents.
Well-known tools in this category include:
- Claude Code
- OpenAI Codex
Chatbots
This is the tool category most people are familiar with. It’s like everyone and their mother (literally) have at least tried ChatGPT and at least somewhat regularly use tools like it. It’s the simplest and most intuitive way to use LLMs.
Some well-known chatbots include:
- ChatGPT
- Google Gemini
- Claude
- DeepSeek
Text Editors and IDEs with a particularly heavy emphasis on AI-based functionality
I refuse to call them some kind of buzzword like “AI-powered”, or “AI IDEs”. They’re just basic tools that programmers are all familiar with, but with a design and development emphasis towards AI-based features. That’s not to say they’re bad though. Designing a UI from the ground-up to take advantage of the tech, or forking an established “traditional” text editor or IDE to provide a better user experience for using AI stuff is probably a good approach fundamentally, and I’m excited to see what happens in this space.
But that said, I’ve never used one, I haven’t actually looked into too much detail, and based on what I currently know, I’m not super-interested in spending the time.
The biggest names in this space that I’m aware of are:
- Cursor
- Google Antigravity
Use Cases
TODO
”Prompt Engineering”
TODO: It can be especially good to find academic papers or whitepapers for this section.