5 ms·
JetBrains is one of my favourite ever companies! A few years back I switched from Visual Studio + ReSharper to Rider, and haven't looked back - it's such a fant
by GordonS 6y ago
JetBrains is one of my favourite ever companies! A few years back I switched from Visual Studio + ReSharper to Rider, and haven't looked back - it's such a fantastic, fully-featured, stable product. I have a personal license that let's me use ReSharper, Rider, dotCover, dotMemory (love this!), dotTrace. Some of the best money I've ever spent, and I happily renew year on year. I also love the pricing model that reduces the cost after years 1 and 2 as a loyalty bonus.
And in the main, JetBrains actually seem to pay attention to what customers ask for in their online feedback site.
I'm looking to get into either Go or Rust soon, and I'll definitely be using GoLand/CLion.
- codethief 6y ago> it's such a […] stable product Am I using a different IDE? I'm dealing with bugs in their refactoring engine almost every day (at least in Python and TypeScript); I need to invalidate the cache every other week because something something is not working; it's 2020 and I still can't configure my IDE deterministically through text files (which regularly results in situations where building the project works fine for colleague X but not for me, even though we seem to have the same config, so I end up having to delete the project and create it again). And don't even get me started about CPU usage… That's not to say that Jetbrains IDEs don't provide incredible value. They do. But I still think they leave a lot to be desired when it comes to stability.
- GordonS 6y agoI haven't used PyCharm or WebStorm (you mention Python & Typescript, so I guess you're using them), only Rider and peripheral products like dotMemory and dotTrace. I mainly use Rider on Windows, but occasionally use it on MacOS too. I've encountered the odd issue with EAP versions of Rider (to be expected of course), but the release versions have been rock solid. Coming from Visual Studio, it's been a godsend!
- no_wizard 6y agoYou may just need to tweak your cache & RAM settings. I had similar issues here, and I just juiced the RAM to 4096 (that's 4 GB, a number I chose arbitrarily). Haven't had an issue since.
- wokwokwok 6y agoYou’re working with dynamic languages; it’s a hard problem. The jetbrains tools do a pretty great job with typescript and when you use annotations in pycharm.... or anything where the types can be rigorously determined; but, obviously, it’s not perfect when the type system says “anything is fine”. As for building the project; Python just totally sucks at reproducible builds. I don’t think pycharm can fix the entire packaging ecosystem. So, fair... it’s not perfect; but compared to what? Have you used tools with better support, better stability? Better tooling? It’s a pretty high bar to clear to say the editor isn’t completely perfect. Yeah yeah, it uses Java, it eats your ram and the cpu can go crazy, sometimes you need to reset the cache or delete your entire .idea folder. Eh. I also wish it was better at some things, but I still love it; what’s the alternative? Visual studio? Hahaha~~~~
- stephenhuey 6y agoAnd I remember how impressed I was many years ago when I first tried their Rubymine. So magical it made Ruby feel almost like a typed language! :)
- codethief 6y ago> You’re working with dynamic languages; it’s a hard problem. It's not that hard a problem. At least TypeScript is statically typed and in Python we're using type annotations everywhere. Besides, the bugs I was talking about mostly concern imports (I move file.py from A/ to B/ and PyCharm forgets to update `import A.file` to `import B.file`), and renamings (PyCharm suddenly renames some random variable deep inside dependencies like Tensorflow, too, so I end up having to re-setup my entire Python environment afterwards). The thing is: Those auto-suggestions for imports work totally fine and code navigation via Ctrl+click works fine, too. So PyCharm does interpret the import statements correctly and I'm at a loss as to why the refactoring doesn't work then, too. Maybe auto-completion and refactoring are two completely separate systems?
- wokwokwok 6y agoI’m not gonna deny it’s frustrating to see quality of life stuff like “don’t refactor stuff from packages!” unaddressed year after year. ...but I think it is a tricky problem. For example Black[1] is a very carefully crafted project that does an excellent job, but it fails at refactoring files just to apply lints with “inconsistent code generated” on some projects and files; and that’s just apply limiting rules. ...but, I for whatever reason, the JetBrains refactoring for static languages (c#, Java, kotlin) does seem significantly superior. [1] https://github.com/psf/black https://github.com/psf/black
- smt88 6y ago> can't configure my IDE deterministically through text files Yes, you can[1]. It will even sync automatically with whatever git repo you store the settings in. > regularly results in situations where building the project works fine for colleague X but not for me This is a problem with relying on the IDE host to also be the host of your applications. Your repo should contain build settings, not your IDE. You should switch to Docker or Pulumi or [insert declarative build tool here] -- something more deterministic and consistent across users. > I'm dealing with bugs in their refactoring engine As others have said, this is much more likely to be a problem with dynamic languages. I haven't done much with Python, but I've never had a TypeScript refactoring problem in 3+ years of using it as my primary language and IntelliJ as my primary IDE. > And don't even get me started about CPU usage… I have a much bigger issue with memory usage, but it's still not a big problem (and I think it's a memory leak in a single plugin anyway). Also, JetBrains seems to have (correctly) assumed that dev time is much more expensive than dev hardware. If I have someone whose slow IDE drains 1 hr of work per week and costs $75/hr, then it's only going to be a few weeks before it was more cost effective for me to upgrade her CPU than to worry about the IDE at all. 1. https://www.jetbrains.com/help/rider/Sharing_Your_IDE_Settings.html#import-export-settings https://www.jetbrains.com/help/rider/Sharing_Your_IDE_Settin...
- codethief 6y ago> Yes, you can[1]. It will even sync automatically with whatever git repo you store the settings in. No you cannot. Note I was being very precise in my wording. While you can now export your Jetbrains IDE's config as a git repo (or zip file) of text files, you still cannot configure the IDE through text files (like in SublimeText) because 1) the text files' format is not documented anywhere and likely to change in the future without further warning and 2) Jetbrains also writes changes to the git repo automatically. I want to be in control of my config, though. (Sure, I could roll back any changes but I think that's very sub-optimal solution.) > This is a problem with relying on the IDE host to also be the host of your applications. Your repo should contain build settings, not your IDE. Well, yes, we do have all our build scripts etc. in our repo but that doesn't keep people (myself included) from running and debugging things from within their IDE because it's a lot more comfortable.
- bigmattystyles 6y agoHow is the perf / mem usage in Rider vs VS w/ Resharper?
- Scfix 6y agoFrom my experience it eats up more memory. My project i avg around 1.2 gb in VS. vs 2.5 in Rider. But the application is much more responsive.
- GordonS 6y agoRider is way snappier. With VS, I'm very used to slowdowns and even total freezes for several seconds (which people like to attribute to ReSharper, but IME they happen plenty even without ReSharper) - for a big, full-features IDE, once Rider has started, it feels really snappy, and puts to bed the long-held beliefs that Java is slow. Just opened a big solution in both VS and Rider to confirm: - VS was really laggy after opening, pinning all 8 Xeon E3 cores for 2 full minutes! - VS memory sitting at 1.3GB, plus another 0.9GB for ReSharper - Rider took 22 seconds to load the solution, then used a bit of CPU for 30s (but was totally responsive in that period) - Rider memory sitting at 1.1GB So assuming you use ReSharper, Rider uses a lot less memory, otherwise it's above the same. But still, for me Rider is way more responsive for editing, debugging, everything. And more stable too.
- hadrien01 6y agoI've used it on a 250-projects solution, and performance is much better than VS+R# or VS alone. Still not recommended, obviously. On smaller projects, I find also it snappier. It uses as much CPU as VS, and eats up more RAM.
- gmadsen 6y agoclion is honestly the only product I get excited about new releases. This last one with partial compile, and specific debug loops, it is an awesome product!