LLM Programming tools

Hand tools

A great application of generative AI is as a programmer’s assistant, as popularised by GitHub’s Co-pilot. It is not the only one. Here we look at other tools we are using to assist with programming.

Matthew Hargreaves – AI Programmer at Itchy Studios

LLM Solutions Compared

Cursor Cursor – This highly regarded coding editor/IDE is a great way to get AI help when coding. Check out the YouTube demo video on building an HTML/CSS/JS website. We like the vim key bindings and broad language support.
Codeium Codeium – We have found this a great editor plugin for Vim and Xcode. Plugins for 40+ editors exist. It’s great that there is a forever-free entry-level plan.
Zed Editor – A new text editor/IDE breed with impressive ancestors. It is particularly responsive, written in Rust and conceived with AI integration and collaboration features. Platform support started with the Mac OS, then Linux and now Windows is planned. It might be the future. And it’s friendly to vim users.
WindSurf – From the folk at Codeium. We have been using this editor since its release and are so impressed. It provides whole-of-project guidance, like Cursor and Co-pilot, so you can ask it to build your entire code base and then interact with it for fixes and improvements. So far it is a free option. We like that.
Aider – It features working concurrently with multiple files and integrates nicely with the Zed editor’s terminal. It supports many languages, including Elixir; there is no swift support. It uses the tree-sitter parser, has a built-in linter for early defect detection and good git support.

Our Take – Cursor, Windsurf and Codeium

Cursor, Codeium and Windsurf all use a web service for LLM integration. We want an option to use local LLMs. Thankfully, we have that now with Windsurf offering integration with your local Ollama instances. As Windsurf is a free service, it is only privacy concerns that should lead one to use the local Ollama service.

We love staying within the familiar Vim editor and benefitting from smart prompting; Codeium does this so easily. Xcode integration is also available with Codeium.

Cursor is a hugely impressive IDE with masses of customisation, but we are not ready to be locked into a new IDE just yet. If you are ready for an IDE change, it is might be worth considering.

Windsurf is a recent addition to the market, and we are so impressed with it. It provides great competition to Cursor and similar products while, uniquely, we think, providing two free options – (i) their free Claude 3.5 integrated service and (ii) integrating with local Ollama services. This application might tempt us away from vim, to a modern IDE with vim-key-bindings.

Codeium covers a huge number of languages, reportedly > 70 and integrates so nicely with vim, that we leave it on all the time. It is free, but consider whether you are concerned with your code being surfaced to third-party providers.

We are currently trialling (multiple instances of) vim with Codeium free tier, coding C, bash, awk, sed, python, perl, HTML, CSS, javascript, typescript, Elixir, Erlang, Swift, and SwiftUI.

Actively Investigating

We are also trialling Zed with Aider, a chat accessed within Zed’s terminal window. This provides many new experiences: AI chat across multiple files, Embedded collaboration tools, and Automated git commit comments. It certainly is a new way of working for us and shows promise.

Again, we do appreciate that we may trial this at no cost.

Other Options

There are many other options to consider, and new ones are arriving frequently. We feel this technology will continue to improve rapidly and has already forever changed the way we code.

Whatever your experience level, it is time to adopt AI assistance when you code.

If you are interested in our assessment of using AI LLMs while programming, see our assessment here.