My Experience with Cursor: The Promise and the Reality
This week, I had the opportunity (or perhaps the misfortune?) to try out Cursor, a new tool that promises to enhance productivity for programmers. As someone who primarily works in Delphi, I was curious to see how it would stack up.
Cursor is an AI-powered coding assistant designed to help developers by suggesting code snippets, generating ideas, and offering solutions based on the context of your code. It aims to streamline the coding process by reducing repetitive tasks and speeding up problem-solving. Basically it is a VS Code clone with a dedicated plugin (called Cursor).
Firstly, let me start by saying this: As any AI tool other, Cursor over-promise.
Second, Cursor is still in early beta—and I mean really early beta. If you’re expecting something polished, think again. The program is still in its infancy, and you can tell. Most annoying is when where it gives you a decent solution/answer, but it cannot apply it to the source code. So you have to apply it manually. But then, why paying money to Cursor when you can use ChatGPT for free?
Those coming from less structured development environments—particularly Linux “gurus”/old C programmers/ and HTML/JavaScript kiddies who don’t have a true Integrated Development Environment (IDEs) like Delphi has—there’s promise here. Cursor might be revolutionary for them. However, if you’re a Delphi programmer, like me, the experience is a different story.
That smart dumb kid called AI
In some instances, the AI behind Cursor (Claude) actually spits out decent code or at least sparks good ideas. There are moments when it really feels like it’s onto something, nudging you in a direction that could be fruitful. But in other cases, and far too frequently, it produces what I can only describe as monumental garbage.
Case in point:
TListBox.Items[i].Visible := false; // Wishful thinking?
Trading a black devil for a white devil
The time spent sifting through Cursor’s garbage output roughly balances out the time it saves you with its good suggestions.
As it is now, the AI behind Cursor is far better suited for generating ideas than actual, production-ready code. It might spark a thought, point you toward a solution, or help you explore a path you hadn’t considered. But for those of us who live in the real world of *production code*, it’s still far from trustworthy.
In the end the time when it produced good code/ideas barely covered for the time I spent to fix the garbage .
The rubber ducky
Here’s the main catch when working with an AI: You need to understand and review the code it generates – a time sink. You end up spending more time fixing its suggestions or undoing the damage caused by its “help” than you would if you had written the code yourself. For me, this resulted in a negative overall score for the tool. The headaches it caused outweighed any benefits it provided.
Unless Cursor gets integrated directly into the Delphi IDE, it’s more of a distraction than a help for seasoned Delphi developers. We’re used to a certain workflow, and Cursor disrupts it rather than enhancing it. It feels like it’s trying to solve a problem we don’t really have.
Worse still, if your Delphi project has a DFM file (which is almost a guarantee), Cursor can’t help you since it cannot edit DFM files, which makes it effectively useless for a huge portion of Delphi developers.
Not Yet Ready for Seasoned Delphi Programmers but…
I am not saying the AI is garbage for everybody… If you are a programmer without an integrated IDE or a Delphi programmer still learning the language, it will definitively help you. Otherwise, considering the time you need to understand and review other’s code…. you end up with a negative score.
Final Thoughts
So where does that leave us? For non-Delphi programmers or those working in less structured environments, Cursor might be a game-changer once it’s more refined. But for seasoned Delphi programmers, it’s more of a hindrance than a help—at least in its current state.
I’ll keep an eye on Cursor as it evolves, but for now, it’s far from replacing methods we’ve developed over years of experience in Delphi. I think it would be rather useful to produce ideas instead of code. Until then, I’ll be sticking to the good old Delphi IDE.
The end conclusion is that at this stage the Cursor is beta and the AI behind it will rather disturb you instead of helping you.
CodeDroidAI
Initially I thought CodeDroidAI is a plugin for Delphi. I was wrong. It does not integrate into the IDE. But
It is built on FMX instead of VCL. Requires FMX DataBinding package which I had disabled. I have many packages disabled in order to have the IDE load faster.
Its page does not say much about it, so I had to try it.
Unfortunately it does not compile on Delphi 11.3
[dcc32 Fatal Error] CodeDroidAI.dpr(8): F2613 Unit ‘Skia.FMX’ not found.
So, it looks like it needs Skia which is a hefty 65MB (375MB installed).
The Setup will put the path into the Library Paths but the package itself (Skia.FMX) is not found. But it still won’t compile! Fix: replace Skia.Fmx with FMX.Skia
In the end I managed to compile it. The whole program is less than 1000 lines of code. Anyway… it won’t work. After you press the “Generate” button nothing happens.
Maybe I don’t press the right buttons. The GUI is weird, to say at least. There are no tooltips to tell you what the button does.
The program does not remember anything from what you typed, not even the API key you entered to connect to ChatGPT. You have to enter the key, every fucking time you start the program.
So, 90 minutes spent in the wind.
Update August
Recently I have tried also this plugin for Delphi but unfortunately it didn’t worked at all. It refused to recognize my ChatGPT key.
Next on the list:
Update September
Embarcadero announce that there will be some AI plugin into the Delphi 12 IDE. Let’s see how nice it is.