I've never used CLion but I really want to.
That being said, I think it's clear that VSCode is, and will remain, dominant.
First: its free.
Second: it's simpler.
That alone is enough to make any product dominant. The fact that's it free, simple, and pretty much just works is pretty stunning.
VSCode for Unity Game Development kinda shocks me how you can literally install the IDE while the game is running and successfully attach a debugger. It's pretty wild how reliable it is.
I'm not a VSCode fan boy. I find that it lags on my PC sometimes. I kinda hate the "notifications" that it pops up with. And I don't like the auto update mechanism or the Welcome screen, but overall VSCode (or Codium) is clearly the next level of IDE.
I think Microsoft is going to build some really wild stuff on top of VSCode and Github.
I think there gonna come up with way to leverage the amount of data they can mine out of github repos to write code for you.
I'm pretty sure that's a big reason why they bought github.
Well, it has the best indexing of C++ I've seen but it's also the slowest IDE I've used (I've stopped using it when it froze showing a blank page for many minutes when I was compiling, since then it has improved, it no longer do this, but it's still very slow).
What's 'funny' is that all C++ IDE suck: CLion is awfully slow, VSCode likes to use >29GB of resident RAM if you let it open too long (no Vim isn't an IDE, it's a text editor which you can use to build an IDE yourself..) its indexing is quite bad most of the time, and also slow (enough that when I double click on something to get to the definition, I usually have the time to find/grep the source and open it myself before it has displayed the target :-()
Somebody already did that in a plugin, trained a neural network on Github code to provide autocomplete for Visual Studio Code. I'm using it and it's great!
https://marketplace.visualstudio.com/items?itemName=TabNine....
CLion user here and I think it is still behind IntelliJ and I wish JetBrains would put more focus to the product. That being said I believe it is way better for C/C++ and Rust development than any alternative that exists at the moment.
I won't post it here, just fish it out of the podcast, it's very nice.
The experience is exactly what you'd expect, all the VSCode extensions mostly work and development is pretty smooth.
The only bad part is that I (ironically) wish it felt more like an "App" and not a browser tab.
its definitely great for rust and pretty good for swift development too (imo ^^)
I don't need efficiency. I need something that, given fuel, gives me power. And as someone who has donated to vim, was an early backer of neovim's bountysource, and loves his terminal: vim is my ion drive, IntelliJ and friends are my conventional rocket.
I've found it also works very well on Linux on a laptop with a i5-8250U and 16 GB of RAM.
The only thing that seems "slow" is starting up and indexing libraries and whatnot. Now I've never loaded the same projects in VSCode, but I'm not sure indexing would be that much faster and the startup doesn't really bother me, as I don't launch it multiple times a day.
That said, given everything it provides I don't think there is a better tool for the job despite the performance issues.
I would not write Java anywhere but IntelliJ. Any long time IntelliJ+Java user has macros and templates written so that boilerplate is automatic. `psvm` is built-in, as is `sout`, but when I wrote a lot of Java I had ones for other common patterns at my workplace.
The MBP i7 is terrible for this, and I get thermal throttling all the time when I use 4k external screens and anything remotely that seems like work.
It looks like maybe a macOS issue as Windows/Linux don't have the same problem, but there's a port of Java to Apple's proprietary Metal API in progress for some time. It's possible that will fix it.
> From my experience out of the box you get poor performance and you have to spend a lot of time figuring out how to change configuration to improve it as knowledge is scattered in many places and not always up to date.
I don't know if you are talking about IntelliJ or VCS, but IntelliJ can quickly start an empty project. And you don't to spend time to figure out how things work. I mean, there is literally no entry barrier for a bare bone project.
> I wish there was an editor with low latency, smart search, some proper file system database
You are describing an IDE here. Smart search and a proper file system database, it means operating not on a collection of text files but on a project and a code tree, which is the main difference between IDE and Editor.
> I think the success of VSCode is because you can easily open it in your current directory from the terminal and it will show you your folder etc.
IntelliJ is adding this functionality slowly: https://blog.jetbrains.com/idea/2020/04/lightedit-mode/ It's not on par with opening a folder in VCS, but it's a matter of time until the close the gap if they choose to.
I vehemently disagree. There is no such thing as minimal fuss in emacs, especially when it comes down essential IDE features.
> for specific languages like Clojure or Common Lisp
Common Lisp is esoteric language at this point, not relevant here, IMO.
That said, the tiling WM features it has are pretty good.
"LSP tooling" for Java/Kotlin/Scala doesn't exist as far as I'm aware. I'm sceptical about LSP stuff anyway. In an IDE performance and latency really matters. IntelliJ plugins have direct heap access to the AST and editors so they can rapidly explore the code, add annotations etc. Java adds some overhead but it gets lower every year, they just never stop optimising the JVM, and serialisation/context switching is gonna add a lot back. Especially as you'll really want to be writing language servers in high level languages anyway. There's no justification for writing such a thing in C++ or Rust.
There's https://github.com/eclipse/eclipse.jdt.ls. It's used by Visual Studio Code's Language Support for Java (https://marketplace.visualstudio.com/items?itemName=redhat.j...).
There are also Kotlin and Scala LSP servers that work. The servers themselves can be a bit annoying to get working, but the emacs integration “Just Works”.
Frequent re-indexing sucks and and times it slows you down. But I see it as a direct price to pay for intelligent autocomplete, search, refactoring, etc.
It also eats a lot of memory :(
I use IntelliJ every day and I'd say reindexing only happens now when there's an actual need for it, like because I switched to a different JDK (which may therefore have different classes in the std lib). It's incremental too so this doesn't bother me like it used to. Definitely an area of focus for them.
But my startup monorepo I keep loaded in IntelliJ for days at a time and have never looked back. For the 1% of time it’s laggy due to a JVM GC or background indexing, the other 99% of the time it’s immensely productive to have e.g. full-stack debug breakpoints that Just Work, well-designed customizable gutters, integrated linting, and more.
ZGC would probably harm more than help.
I find vscode a horrifying experience that is forced upon me because of poor choices made elsewhere in the org.
I'm slowly picking up vim to replace it but I'd rather just not be forced out of my editor I still use daily (sublime.)
In hindsight I wish I learned vim instead of sublime.
This hasn't been my experience of JetBrains Rider at all - granted that startup does take a few seconds, but after that it seems to fly.
> Then it still likes to stall from time to time or sometimes doesn't register key presses properly
This was my experience with Visual Studio; I used it for over a decade because it is a great IDE - but performance and stability has never been great, and eventually I just couldn't stand the occasional lag any more and jumped ship to Rider. My experience there has been very different - it's rammed with at least as many features as Visual Studio, but has been rock solid, and never lags in use.
https://blog.jetbrains.com/idea/2020/01/intellij-idea-2020-1...
https://blog.jetbrains.com/idea/2020/04/lightedit-mode/
It only appeared this year so it’ll be interesting to see if it gets traction.
You can disable plugins you don't need, and mark folders as excluded if you don't need them indexed, that makes it faster.
I think the success of VSCode is because you can easily open it in your current directory from the terminal and it will show you your folder etc. without having to setup a project first and that you are ready to type you code quickly after opening. If I had to open PyCharm every time I want to try some Python in a new directory, I would probably start questioning my life choices. Before VSCode I would just use nano or Sublime.