Live data from Hacker News

Reflections on IDEA vs VS Code

archive.vn

371–380 of 413 posts

Re: Reflections on IDEA vs VS Code

#371
post #211

Earlier quoted context omitted.

I use both. IntelliJ being a paid personal subscription. I like both. But VsCode excels in their remote editing capabilities. Sometimes I work on code that will only compile on a Linux and I am on a Mac. It is not just remote debugging - the whole environment including language server works flawlessly via remote while making you feel like local development. It is good for two good IDEs to survive. I don’t want one of…

VS Code Remote Containers is another cool feature. You can develop inside any Docker container locally. This could essentially mirror whatever image you have deployed into Kubernetes, GKE, GCS, etc. Ref: https://code.visualstudio.com/docs/remote/containers

Worth noting that IntelliJ latest beta has this feature as well. You can remote run/debug in remote docker containers and WSL2 VMs.

Re: Reflections on IDEA vs VS Code

#372
post #30

I used to think VS Code was going to be a threat to JetBrains IDEs considering how fast its iterative development was (thanks in large part to the productivity of JS + Web renderer) but its never seems to quite be able to reach the feature-set, polish & intelligence of JetBrains IDEs. Every IDE function appears to be better implemented in JetBrains, whether it's Code Analysis, Refactoring, Navigation, Running/Debuggi…

Jetbrains IDEs performance is so abysmal I quickly get annoyed and move to something else. Same with XCode. I find VSCode to be the most feature rich editor whose speed I can tolerate. VSCode is by no means ideal in terms of resource consumptions or startup speed but the community picked up VSCode for the golden path in the languages I code with (rust, node.js, frontend js) and using other lighter editors is a signif…

NB: IDEA performance is improved drastically by giving it more memory. Basically every time someone complains about perf issues with IDEA it's because their heap limit is too low. It can be configured via the help menu.

One of the unfortunate (or fortunate?) design decisions in IDEA is that there's an explicit and user configurable tradeoff between performance and memory usage, but the defaults are far too low. And if it's too low only the most very recent versions can detect this and tell you what to do about it.

Re: Reflections on IDEA vs VS Code

#373
post #310

> Meanwhile, JetBrains seems to be staying afloat mostly thanks to hard work and sheer luck. I don't think they keep ahead simply by hard work and sheer luck. Once you look under the hood at Intellij it's clear that they have significant architectural advantages. While VS Code is a text editor that uses LSPs to provide refactoring and navigation, Intellij is a refactoring engine with a good text editor on the front.…

Thanks for this comment. This analysis of the internals is much more informative than vague divination that the post author pulls from their gut.

We can expand on this analysis a bit.

IntelliJ runs its language plugins in-process, using object oriented APIs. VS Code runs language plugins out-of-process with an RPC protocol to the backend.

The latter has some advantages if you want to re-use the language's "native" compiler, assuming there is one. However, this isn't quite as useful as it sounds. Compilers parse text into ASTs and do transformations on them, yes, but, they are not IDEs and the needs of an interactive "presentation compiler" are very different to the needs of a batch-oriented normal compiler. The OP's article overlooks this: it just blithely assumes that building an IDE on top of the regular compiler is always better than writing a dedicated IDE support from scratch. The truth is more nuanced.

Meanwhile, the costs of going out-of-process with RPC are enormous. Beyond the obvious performance, bandwidth, memory overhead and latency problems, the Language Server Protocol spec is 100 pages long and still growing. Despite being a protocol and thus theoretically language neutral, in reality it's a JS/TypeScript API. In fact the protocol is so much a JavaScript API that there's no direct way to represent it in a conventionally typed language: for example the Response.result field is totally dynamically typed and can be anything at all.

Worse, because LSP is just a protocol, there's no platform to help you implement it. IntelliJ platform is full of classes you can compose, subclass or use to simplify the task of writing plugins. VSCode is not like that.

Re: Reflections on IDEA vs VS Code

#374

Earlier quoted context omitted.

A faster/lighter JetBrains IDE would beat everything in VSCode... except for price. CLion and WebStorm and PhpStorm cost money, there's no dedicated Rust IDE yet, and you have to pay money for CLion or (IntelliJ Ultimate) (not Community) to debug Rust programs.

There is already a Light Mode version of IntelliJ designed to compete with Sublime Text and maybe VS Code. It's not entirely obvious that it exists and they need to market it way better, but if you run "idea whatever.txt" from the CLI and the IDE isn't already open, you'll open in light mode. It starts nearly instantly because it's not loading all the plugins and project infrastructure.

I didn't know about light mode. I'll definitely try it out.

Re: Reflections on IDEA vs VS Code

#375

Earlier quoted context omitted.

Embrace: put out an open source code editor. Extend: have a plugin system that everyone can contribute to (sounds like eclipse or IntelliJ CE) and even make money off of. Plugins don't have to be free. Extinguish: make your own plugins with full refactoring support etc. for the languages you see most actively used (everyone uses it for Go and Python now? Make a good enough plugin for that. Nobody uses it for Erlang a…

It remains to be seen whether they will find this economical when they are not making any direct revenue on the product. I understand that VSCode is part of a grand strategic plan that goes beyond revenue, but I seriously doubt that they'd be willing to internally maintain the absolute truckload of code that would ensue from getting to feature parity with Jetbrains on languages like Java or Python. I'd wager at some…

Another important point: JetBrains have long experience of competing against well funded free competitors. In fact they have grown in an environment where there have always been such products: first NetBeans, then Eclipse, now VS Code. Subsidising IDEs has been a common tactic for a long time, VS Code is nothing new. The story is always the same: such IDEs grow quickly for a while because their price is zero, but eventually after the project has become a "success" the parent corporation gets tired of sinking money into it and the executives lose interest. With weakening internal support, the projects get steadily destaffed. Eventually the project may go off the rails by e.g. deciding to rewrite from scratch.

Meanwhile JB survive the assault, continue to invest in their core product (which have been incrementally evolved for decades and were never rewritten from scratch), and come out the stronger party. They cannot lose interest or make self-destructive decisions because the IDEs are their core revenue stream.

Re: Reflections on IDEA vs VS Code

#376
post #302
post #60

I use IntelliJ daily. I think when LSP gets there VSCode can catch up and fill the IDE gap, but until then it doesn't come close to IntelliJ in terms of functionality (though sometimes the perf of IJ makes me want to switch but it has been feeling a lot better on the M1). LSP needs to make 2 major improvements in order to to get wider adoption: - Improve package/runtime support detection (Go modules, npm, virtualenvs…

This comment doesn't make much sense. LSP is just a protocol, implementing package detection is the responsibility of the language server. The second thing you're asking about sounds more like a unified LSP client which is totally possible. It would actually be pretty easy. VSCode could actually improve this a lot since language clients are mostly boilerplate. All that said I think you're undervaluing what LSP/DAP ac…

We know how LSP works...Run a few of their implementations for various languages and send me a script. I have, it’s not easy. Running the LSP server set for a polyglot programming environment is really hard.

Re: Reflections on IDEA vs VS Code

#377

The examples the author uses to make the case that Idea is getting "fatter" and "more corporate" are actually things VS Code has too: "What bothers me about JetBrains is the fact that they seem to be playing along. Judging by the talks on their recent conference, IDEA goes more elephantine, more corporate, more complex. (...) In this regard I will mention two announcements: the CodeWithMe technology and a lightweight…

I can't find an equivalent of remote development on any of the JetBrains IDEs - please could you provide a link?

Projector: https://jetbrains.github.io/projector-client/mkdocs/latest/i...

I've been using this to develop in CLion running on a beefy remote Linux server from my Mac. Overall it works quite well, with just a few teething issues.

Re: Reflections on IDEA vs VS Code

#378

Earlier quoted context omitted.

in my experience Intellij looks better if you have coded in Inttellij first (especially Java) and then moved to othet tools. Intellij offers a lot of custom behaviours that IMO programmers start coding the "Intellij way" (let's call it Intellij muscle memory for lack of a better definition) on the other hand going from vi to Emacs to Sublime to VSCode is less of a problem and people tend to honestly judge strength an…

> Intellij git integration in comparison, in my opinion, it's barely usable and generally counter intuitive. You're going to have to explain that one to me. I don't know what part of `ctrl+k`, comment, `ctrl+enter` to commit is difficult. Keeps my hands on the keyboard and head in the code. Time to push? `ctrl+shift+k`. Update? `ctrl+t`. I have yet to find any IDE that performs as well as IntelliJ et al.

> I don't know what part of `ctrl+k`, comment, `ctrl+enter` to commit is difficult.

who said difficult?

training wheels are not difficukt to use, but that's not how biking actually works.

> I have yet to find any IDE that performs as well as IntelliJ et al.

fortunately, there are different kinds of people.

Re: Reflections on IDEA vs VS Code

#379

Earlier quoted context omitted.

in my experience Intellij looks better if you have coded in Inttellij first (especially Java) and then moved to othet tools. Intellij offers a lot of custom behaviours that IMO programmers start coding the "Intellij way" (let's call it Intellij muscle memory for lack of a better definition) on the other hand going from vi to Emacs to Sublime to VSCode is less of a problem and people tend to honestly judge strength an…

> Intellij git integration in comparison, in my opinion, it's barely usable and generally counter intuitive. Disagree. I use it all the time. It's sooo nice to have the different changelists. Easy to make changes that I don't want to accidentally commit by putting them on a different changelist (like pointing to a different database). And it can be split even in the same file, much more easily to commit parts like th…

> But it lacks the awareness of the rest of the java ecosystem that Intellij provides.

Can you give me an example of what you mean?

Post reply on HN