This is a bummer. I don't particularly like Pulumi but use it anyways because for my use cases being able to write actual code is really impactful. Sucks to see fewer options in that space
The often excluded option is dynamically generating JSON and feeding that to TF instead of HCL.
You can combine it with tools like Dhall or my personal preference Jsonnet instead of imperative languages for an interesting experience for reusable pieces outside of module concepts.
[Pulumi founder here] Sorry to hear you don't particularly like Pulumi---any/all feedback welcome. If nothing else, we do listen and we do try to get better. -Joe
What is it that you don't like about Pulumi? As I mentioned in another comment, my team of backend-engineers who took over an infra team went from Cloudformation -> CDK -> Terraform -> Pulumi and honestly find it the most approachable for other engineers familiar with normal programming languages (sorry HCL). We've been using it since 2021 and have a "what's on main is what's deployed" philosophy and adopted a RunAtlantis inspired workflow where previews are run as status checks on PRs and require explicit approvals, apply is run on merge to main and periodically, and drift checks run preview+refresh and alerts if what's checked in doesn't match what exists. We don't really use stacks, we just use a separate project for everything and write code to encapsulate modules (and luckily we can easily write unit tests and runtime assertions).
I love JetBrains and hate vscode, but Cursor was such a huge productivity boost that I ended up switching. Unfortunately none of the JetBrains plugins (Junie, the older AI Assistant, Windsurf/codeium, etc) come close yet :(
After hearing so much about Cursor, and then reading your comment, I decided to give it a try. Here's my honest, first ever time trying to use it:
- I go to its website and neither on the homepage nor the features tab does it bother listing what languages the IDE is even for. Is it Python? C? HTML? It's an IDE .. for what? What languages? What project types? How can they not list this basic fact?
- Oh well, click the big Download link, and it downloads an app image file. No idea what to do with this, never seen one before, have to google it.
- Mark the file as executable and run it and get a cryptic error: "The setuid sandbox is not running as root" and it errors out.
- Back to google, google for that error message. Find various Cusor bug reports and people complaining about it but they haven't bothered fixing it.
- Find a workaround, to pass in a –no-sandbox arg when running Cursor, and now I get it to launch.
- It opens up but the text is incredibly small on my (4K) monitor and the text coloring is a dark grey that's almost indistinguishable from the background color, immediately go look for settings to fix it. There's ~50 settings results for "font" or "size", I change a few of them and it seems to make no impact to the UI font and I quickly give up and just want to try the editor.
- I read online that I need a "CMake Tools" extension to open a CMake project. In cursor I open the extensions marketplace and search for "CMake" and there's zero results. I try to open a CMakeLists file anyways and it opens it as a text file and then prompts me to install a "CMake Tools" extension. Ok? Why didn't it show up in the marketplace before?
- I click the popup about the CMake Tools extension it opens the marketplace page for it, showing me the details about it. Whilst I'm reading the details for example to see who the author of the extension is, whether it's even a legit extension or not, the reviews of it, it just automatically installs it by default without me clicking the Install button that was on the page.
- After installing the extension the CMake file I opened is just in a tab but hasn't imported the CMake project, so I close it and re-open it from the File->Open menu.
- It again just opens the file as a plain text file and doesn't actually try to import the CMake project in any way, I don't see any popup or button or call to action to actually import the CMake project in any way.
The CMake (and C++) integration story for VS Code is not great... I ran into lots of issues when I tried some years ago, and now this happened too: https://news.ycombinator.com/item?id=43788125
I assume you can still get everything to kind of work, but be ready to commit to a fair bit of fiddling with extension settings.
I get that you found it frustrating. But speaking as somebody who’s not used Cursor and is genuinely interested in hearing unbiased perspectives about it, your “review” isn’t helpful. It boils down to “I couldn’t get it to work.” Given that lots of people have gotten it to work, that sounds like a you problem.
This is curmudgeonly af. Sorry you couldn’t figure out how to use a massively popular program that my 14-year-old neighbor seems to have got running just fine.
Ditto, I love JetBrains, but cannot ignore Cursor. I use the IntelliJ shortcuts / Darcula extensions to help with familiarity.
Among the ones you mentioned, I also tried Gemini Code Assist JetBrains extension, but it doesn't integrate anywhere close to what Cursor does. (Direct code inserts, rollbacks, checkpoints, context integration) Zzzzz come on JetBrains
I use it mostly as smarter autocomplete and it's still absolutely worth it. I really tried having it write unit tests in Go, write simple Astro websites, etc, but I'm never satisfied with how dumb it is when "vibe coding", so I use it as Intellisense on steroids for now, but I don't doubt it will become even better soon. The chat feature is fantastic and between it and the contextual help I barely ever have to reach for actual (code) documentation.
Having done go and python in jetbrains and vscode, I definitely enjoy the experience in jetbrains more. A lot of java people like IntelliJ for their Java and Kotlin support.
OTOH, copilot has been not as good on Jetbrains as it has been on vscode. Updates are delayed to give VSCode a first mover advantage to VSCode.
Google Gemini Code assist plugin last week still sucked, didn't try it today.
Copilot can also use Gemini Pro 2.5, but they delayed the release of the plugin for Jetbrains, and only have a context of 10 files I believe for the edit mode.
And I thought I read somewhere that Jetbrains AI Assistant can use gemini AI pro, it's limited to a context window of 200,000. I might be wrong on that.
Junie is reasonably good, but still has issues with understanding large code blocks of more than a couple of kilobytes. But it applies the changes first, without letting you do a review of the code. The only real way to do it, is to check in the code in git, then let it run, and then look at the results.
I've asked Junie to fix unit tests using brave mode, and it seems more than capable with that.
I think the trick with Junie is small defined tasks, rather than large bullet points. Or at least have a detailed plan which you can paste in, and reasonably detailed so it won't have to guess or infer what it is you want.
But generally speaking, I've had far better luck with Google Gemini Pro 2.5 on code generation than with some of the others lately.
Edited to add: Github Copilot added agent mode. I'm going to try it now.
There's a definite UX problem imo with having to manage protobuf synchronization between repos.
But the majority of these criticisms seem really superficial to me. Who cares that the API is inconsistent between languages? Some languages may be better suited for certain implementation styles to begin with.
Also regarding the reflection API I was under the impression that the codegenned protobuf code directly serializes and didn't reflect? Thrift worked that way so maybe I'm confused.
Haha the good old circular dependency problem. I am still surprised there are people in the industry that can’t recognise and solve these problems. It is such a classic pattern and its use arises in the wild all the time.
https://online-go.com/ is the easiest place to get started as a western beginner. The far more active go servers are Asian and have a higher barrier to entry in terms of registration, downloading the client, and dealing with poor localization. (Fox Weiqi, Tygem, etc.)
Thankfully pg isn’t in charge of foreign policy, because it seems like he can’t distinguish performative UN votes from reality. Would love to see how some of these countries would vote if it actually meant anything.
“logically-minded and clever tech folks” is even too generous. Keep in mind the only barrier to entry to post here is the ability to write moderately complete sentences.
reply