I keep meaning to find a new or existing project to try Cursor on. I'm currently using Copilot+Aider so I can stay in the Jetbrains ecosystem but the siren call of Cursor and co is strong.
I can completely understand why they forked VSCode (deeper integration) and I can see how that lets them move faster but giving up all the tools in IDEA is a non-starter currently. Obviously at some point the balance will shift but I'm hoping that Aider/Jetbrains AI/other can turn the tide back into IDEA's favor.
I came to see something against Cursor, and was surprised to see the author is actually really enamored with Cursor and just says that it needs to be approached as a dev tool rather than dev replacement, which was kinda obvious to me. So I didn't get much out of it, but people who aren't familiar with Cursor might appreciate the guided tour.
I understand there's a lot of hype around "build apps quickly without coding". I have many doubts as to the validity of the Youtube speed runs which depict someone actually doing it. Cursor is a developer productivity tool - not a developer replacement tool.
I'm working on something which lets non-technical people create applications and it works. A design decision has been to never expose the code or infrastructure - meaning it has be a bit more rigorous about what it gives the user.
It works better than I expected in many cases - but it's still very constrained. I see the same issues in products like Bolt and Replit Agent. That doesn't mean it doesn't work or that it's not useful - but I think there's a lot of marketing or influencer content that's a bit misleading w.r.t. current state of things.
I have a few videos in our documentation of how it works including how to fix bugs without having access to the code [1].
I do think it's possible. It will only get better and do more and more of what developers do today .... faster and cheaper than developers. I suggest looking at this as a time of opportunity to identify what does that free developers up to do instead of a time of fear that developers are all going to be unemployed.
When I write code with AI, I do it only by speech recognition since I have busted hands. As a result, I have a different experience than most developers. I've spoken about it here before, but my model for software development has changed as I have gained more experience with the tools. These notes overlap with the author's experience with cursor but I think there's some additional useful information.
I'm increasingly convinced that if you write code using AI, you never want to touch the code. You want to edit or change your project by modifying the prompt. If you modify the code, you need to feed that back into the AI model so that it learns how you work and doesn't lose your changes.
I have forced AIs to generate specific code by telling them the code I want them to use. Fortunately, they will take the correction and apply the logic behind the change throughout the code I'm working on, which is usually the right thing to do.
I haven't figured out what to do about this, but checking your code to git loses the context held in the AI system. I'm also not sure you want to preserve the AI context because, at times, there seems to be value in starting over, especially if you change your approach to a problem.
Don't be afraid of trashing your current context and starting over again. You've learned enough to know how to change your prompts and what information to add or delete to get a better result. It's much faster to re-create from a new prompt than edit code and force the AI system to work how you want it to.
Pay attention to what the system is trying to tell you. Sometimes, it knows better than you what needs to be done. It does this because you may not consciously understand all aspects of your problem, but it appears that unconscious information is somehow encoded in your prompt chain, and the AI system can see that and act on it.
Pay attention 2: It may teach you a new technique or trick. I've had more than one occasion when I look at the code I get and say, "That's not right," but after I dig into it, I see that it was right but used in an idiom I was not familiar with.
Try different AI systems because you will get different responses to the same prompt, and you might like one result better than the other.
If you're using speech recognition to generate a prompt, using Grammarly to fix recognition errors and reword your prompt gives you better results.
Reproducibility is a problem. I have fed the same prompt into an AI system but with a new context, and usually, I get the same result, but not always. The fix has been to feed the original code into the system to remind it what it was thinking about.
The article was insightful what cursor can do specifically (as someone who heard quite a bit of unspecifc cursor praise + tried it myself recently vs. vs code + aider)
Interesting, but the post seems to focus on a Python code base. I wonder how well it would do with a large Java code base where a refactoring will very much go outside of its context window.
That's where I think JetBrains AI will be beneficial. I know it isn't great with its first iteration, but knowing JetBrains I'm sure they'll improve. When we have VERY large projects, the need is so much greater. Having an AI that understands the AST constraints and can leverage IDE capabilities would be fantastic.
Depends on your luck. For if you large Java codebase is somewhat outdated or uses an outdated code generation setup, you may have lots of problems with Cursor not being able to compile parts of your code.
I keep meaning to find a new or existing project to try Cursor on. I'm currently using Copilot+Aider so I can stay in the Jetbrains ecosystem but the siren call of Cursor and co is strong.
I can completely understand why they forked VSCode (deeper integration) and I can see how that lets them move faster but giving up all the tools in IDEA is a non-starter currently. Obviously at some point the balance will shift but I'm hoping that Aider/Jetbrains AI/other can turn the tide back into IDEA's favor.
I came to see something against Cursor, and was surprised to see the author is actually really enamored with Cursor and just says that it needs to be approached as a dev tool rather than dev replacement, which was kinda obvious to me. So I didn't get much out of it, but people who aren't familiar with Cursor might appreciate the guided tour.
I understand there's a lot of hype around "build apps quickly without coding". I have many doubts as to the validity of the Youtube speed runs which depict someone actually doing it. Cursor is a developer productivity tool - not a developer replacement tool.
I'm working on something which lets non-technical people create applications and it works. A design decision has been to never expose the code or infrastructure - meaning it has be a bit more rigorous about what it gives the user.
It works better than I expected in many cases - but it's still very constrained. I see the same issues in products like Bolt and Replit Agent. That doesn't mean it doesn't work or that it's not useful - but I think there's a lot of marketing or influencer content that's a bit misleading w.r.t. current state of things.
I have a few videos in our documentation of how it works including how to fix bugs without having access to the code [1].
I do think it's possible. It will only get better and do more and more of what developers do today .... faster and cheaper than developers. I suggest looking at this as a time of opportunity to identify what does that free developers up to do instead of a time of fear that developers are all going to be unemployed.
[1] https://withlattice.com/documentation#nav-fix-bugs
When I write code with AI, I do it only by speech recognition since I have busted hands. As a result, I have a different experience than most developers. I've spoken about it here before, but my model for software development has changed as I have gained more experience with the tools. These notes overlap with the author's experience with cursor but I think there's some additional useful information.
I'm increasingly convinced that if you write code using AI, you never want to touch the code. You want to edit or change your project by modifying the prompt. If you modify the code, you need to feed that back into the AI model so that it learns how you work and doesn't lose your changes.
I have forced AIs to generate specific code by telling them the code I want them to use. Fortunately, they will take the correction and apply the logic behind the change throughout the code I'm working on, which is usually the right thing to do.
I haven't figured out what to do about this, but checking your code to git loses the context held in the AI system. I'm also not sure you want to preserve the AI context because, at times, there seems to be value in starting over, especially if you change your approach to a problem.
Don't be afraid of trashing your current context and starting over again. You've learned enough to know how to change your prompts and what information to add or delete to get a better result. It's much faster to re-create from a new prompt than edit code and force the AI system to work how you want it to.
Pay attention to what the system is trying to tell you. Sometimes, it knows better than you what needs to be done. It does this because you may not consciously understand all aspects of your problem, but it appears that unconscious information is somehow encoded in your prompt chain, and the AI system can see that and act on it.
Pay attention 2: It may teach you a new technique or trick. I've had more than one occasion when I look at the code I get and say, "That's not right," but after I dig into it, I see that it was right but used in an idiom I was not familiar with.
Try different AI systems because you will get different responses to the same prompt, and you might like one result better than the other.
If you're using speech recognition to generate a prompt, using Grammarly to fix recognition errors and reword your prompt gives you better results.
Reproducibility is a problem. I have fed the same prompt into an AI system but with a new context, and usually, I get the same result, but not always. The fix has been to feed the original code into the system to remind it what it was thinking about.
I don't get Cursor.
It doesn't suggest fixes when errors occur,
It doesn't suggest code when I write:
# visualise the model
The article was insightful what cursor can do specifically (as someone who heard quite a bit of unspecifc cursor praise + tried it myself recently vs. vs code + aider)
Interesting, but the post seems to focus on a Python code base. I wonder how well it would do with a large Java code base where a refactoring will very much go outside of its context window.
That's where I think JetBrains AI will be beneficial. I know it isn't great with its first iteration, but knowing JetBrains I'm sure they'll improve. When we have VERY large projects, the need is so much greater. Having an AI that understands the AST constraints and can leverage IDE capabilities would be fantastic.
> large Java code base
Depends on your luck. For if you large Java codebase is somewhat outdated or uses an outdated code generation setup, you may have lots of problems with Cursor not being able to compile parts of your code.