Coding with Cursor

August 22, 2023 (1y ago)

Cursor is the newest AI programming solution on the block, I've been using it for a few weeks now, and I'm impressed.

In action

I prompted Cursor to write a delete endpoint for a project I'm working on, perfect code from the get go. It used all my existing code and even referenced the correct functions in the repo. It even respected the style of the project, using the similar variable names and formatting.

Cursor In Action

Cursor's initial impression is promising. Its chat feature, allowing direct interaction with the project, saves a good deal of time. It's not a complete game-changer, unless you're new to a repo or working with many changes, but I'd expect most developers would want to work through code or debuggers as usual.

Now, where Cursor does surprise is in code changes and editing. Having an AI write low-level logic or even refactor a method is impressive, saves time and quickly helps scaffold a new feature. But it's the way Cursor preserves my coding style and correctly references functions in the repo without guidance that stands out. It's like having an extra pair of hands, I find that I can get the bulk of my work done with Cursor and add final considerations myself. Testing is a breeze too, because it has context of the whole repository I find unit test generation to be more accurate and complete than prompting ChatGPT to test specific functions.

Debugging is streamlined, quickly identifies issues and can report back suggestions. It does the job, quickly identifying root causes and helping fix them. The chat function shines here.

What I appreciated most was Cursor's security and familiarity. Imported all my VSCode settings in one click was smooth, and the local mode kept everything on my machine.

A Balanced Perspective

Comparing Cursor to traditional coding or other AI tools, it feels like a major step forward, the context it has is a game-changer. But it's not without its limitations. Cursor is not a replacement for a developer, it's a tool to augment, I still find that it makes errors. The errors of course are due to model limitations and not Cursor specifically, we'll see this massively improve with future models.

I must point out some glaring concerns. Sharing proprietary code is one. Even with the local mode, there's hesitation to use Cursor on commercial projects, especially with the recent security breaches. Hopefully the improvement of local models will eliminate many of the concerns of sharing data with a third party.

For now I find Cursor to be a great tool for personal projects, and I'm excited to see how it improves. Try it out here: Cursor