Live data from Hacker News

The Era of Visual Studio Code

blog.robenkleene.com

531–540 of 698 posts

Re: The Era of Visual Studio Code

#531

Earlier quoted context omitted.

I'm not sure how performance is a problem for Intellij. Granted, I've only ever used Pycharm but I've never felt it sluggish or "slow" or got the impression I was waiting around for the IDE to do its thing . All this on a 2013 MBP with 16GB of RAM. 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 whatno…

You may change your mind if you plug your MBP into an external 4K display and try to use a scaled resolution: https://youtrack.jetbrains.com/issue/JBR-526 — don't get me wrong, I love PyCharm too for all the reasons spoken about in this thread, but this issue (which has been open for five years now) has made me attempt to jump ship to VSCode for my python work several times. I _do_ always come back to PyCharm... so f…

I often use a 24" 4k display that I use at 2x and I never had any issue. With other "equivalent" resolutions it may be bad (never tried) but I've heard people complain about lag in that situation (even with a newer MBP and apps other than intellij).

Re: The Era of Visual Studio Code

#532

Earlier quoted context omitted.

I'm not sure how performance is a problem for Intellij. Granted, I've only ever used Pycharm but I've never felt it sluggish or "slow" or got the impression I was waiting around for the IDE to do its thing . All this on a 2013 MBP with 16GB of RAM. 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 whatno…

You may change your mind if you plug your MBP into an external 4K display and try to use a scaled resolution: https://youtrack.jetbrains.com/issue/JBR-526 — don't get me wrong, I love PyCharm too for all the reasons spoken about in this thread, but this issue (which has been open for five years now) has made me attempt to jump ship to VSCode for my python work several times. I _do_ always come back to PyCharm... so f…

What's the reason for using a scaled resolution btw? Can't you just ramp up the font size in the IDE?

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.

Re: The Era of Visual Studio Code

#533

I'm not a fan of VS Code because everything is a plugin. And plugins are inconsistent, buggy, inconsistently documented, hard to use and find and update and goodness knows who developed them. Plugins can be duplicated, outdated, abandoned and incompatible. But worst of all, a big pile of plugins isn't a consistent integrated product vision. I gave VSCode a solid go, and I had to keep installing plugin after plugin, b…

I use VSCode with no plugins. It's an amazing code editor, and by default it does code highlighting for C++ and TypeScript. I build in a terminal, outside of the editor, the way it's supposed to be done.

Well an IDE is more than just a text editor+syntax highlighting+a terminal.

It's also about type hinting, refactoring, debugging, etc.

And for the two languages you speak of it just so happens that the support is shipped with VS Code since Microsoft is heavily invested in the development of these languages.

For other's (even Python) support varies widely.

Re: The Era of Visual Studio Code

#534
post #52

I completely switched to VS Code once I discovered the remote development feature [0]. It allows you to run VS Code locally but work on a project in a different environment (via SSH, Docker, WSL). The integration is seamless - search, debugger, terminal, extensions - everything looks and behaves as if it was running locally but is delegated to the configured remote. You can even have different remotes opened at the s…

Note that this feature doesn't work in open source builds of VSCode, it's an MS only thing.

Eclipse foundation has a new project, Theia[1], which forks VSCode and one of the reasons they state is that the extension ecosystem is not opensource.

They want Theia to be a tool to build your own editor and it can be built as a hosted solution (like code-server) or a standalone editor

Edit: I see that the article also mentions Theia but this point about Theia vs VSCode is not mentioned.

[1]: https://theia-ide.org/

Re: The Era of Visual Studio Code

#535
post #169

> Learning software is an investment, and if you have to switch to another application later, you lose some of that investment. I think the author missed a critical fifth point that they hinted at here. In my opinion VSCode is trivially easy to be productive with and not much of an investment to get into. Whereas heavier IDEs and then Vim at the far extreme demand some serious “learn how to ride this bike before you…

Vim has another problem. Once you grok it, it's very difficult to use anything else. If I ever find myself in an editor without some kind of vim mode, I'm totally hating life.

> If I ever find myself in an editor without some kind of vim mode, I'm totally hating life.

Most of the Vim emulations are subpar (slow, lacking features), not to mention when they redefine some keybindings[0], so my life still ends up to be miserable.

0: https://rmpr.xyz/Internationalization-with-Doom-emacs/

Re: The Era of Visual Studio Code

#537

Earlier quoted context omitted.

I know this is how a lot of people think of the text editor/IDE divide, but it’s just not true anymore: for specific languages like Clojure or Common Lisp, emacs has plugins that provide all the essential features of an IDE with minimal fuss. For JavaScript, VSCode or tide-mode for emacs have, in my experience, significantly better code intelligence than WebStorm. The only languages IntelliJ is better at than the com…

Well, obviously a text editor built on top of Lisp is going to be pretty good at editing Lisp-based languages like Clojure. Emacs is pretty poor at everything else though. I remember trying to get it to do even basic completions in C++ beyond hippie-style completions and it just couldn't do it no matter how many packages or servers it had to help it. That was some years ago though, but emacs develops slowly so I doub…

> "LSP tooling" for Java/[…] doesn't exist as far as I'm aware.

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...).

Re: The Era of Visual Studio Code

#538
post #198

I find this post along with the comments in "A Picture of Java in 2020" https://news.ycombinator.com/item?id=24551390 to be incongruous with my experience as a professional developer. My first couple of years writing software I used Vim, then VSCode, then worked in a Java shop and was forced to use IntelliJ. I didn't like it at first, but now after a couple of years I cannot see how I lived without it. The idea that…

I tried out vscode for python now that I started a new job. I'm on linux for what it's worth. The experience has been massively frustrating coming from pycharm. First I installed the open source version, and found that microsoft publishes plugins that are programmed not to work with the open source version. They don't tell you this, rather, the plugin throws exceptions that some API is missing. I tried out the offici…

If you want a detached terminal, why not just open a terminal window?

Re: The Era of Visual Studio Code

#539
post #537

Earlier quoted context omitted.

Well, obviously a text editor built on top of Lisp is going to be pretty good at editing Lisp-based languages like Clojure. Emacs is pretty poor at everything else though. I remember trying to get it to do even basic completions in C++ beyond hippie-style completions and it just couldn't do it no matter how many packages or servers it had to help it. That was some years ago though, but emacs develops slowly so I doub…

> "LSP tooling" for Java/[…] doesn't exist as far as I'm aware. 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... ).

I use this with emacs, and it works pretty well: it was built for Eclipse, but it’s well-integrated into lsp-mode and, more or less, “just works”.

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”.

Re: The Era of Visual Studio Code

#540
post #219
post #198

I find this post along with the comments in "A Picture of Java in 2020" https://news.ycombinator.com/item?id=24551390 to be incongruous with my experience as a professional developer. My first couple of years writing software I used Vim, then VSCode, then worked in a Java shop and was forced to use IntelliJ. I didn't like it at first, but now after a couple of years I cannot see how I lived without it. The idea that…

While editors like IntelliJ are definitely more polished out of the box, something that may not be apparent is that internally they are all standardizing on tooling and protocols put in place by VS Code in the last few years. Language toolchains are now expected to provide IDE-specific features on their own (by implementing a language server), and so IDEs themselves don't need to focus on making the language better.…

Most language toolchains are held together by small teams of volunteers or corporates (Apple, MS) that sell their own IDEs. They struggle to provide even the basics like solid fast compilers, portability, debuggers that aren't gdb, profilers that work and so on. Look at Go, Rust, Swift. All of them are fighting with basics like performance and language evolution. And now you want them to implement most of an IDE as well? How will they handle that? The only real exception is Kotlin (by JB!), but that was possible because the compiler and IDE plugin are a unified codebase and because they built on the JVM, so they get top quality compilers and profilers, portability layers etc for free.

The key to JetBrains' success is not any particular software architecture, although having language analysis plugins run in-process with direct access to AST structures is an obvious advantage, it's that they're a company that charges money for their tools, which has kept their cost overheads low (very low relative to never-profitable SV startups that snort VC capital like party hounds), and which are building on an already very productive platform to begin with (Java).

This combination means their feature throughput is very high but more importantly, sustainably high. They've been doing this for 20 years and aren't about to hit a tech debt wall where they suddenly need to rewrite their product from scratch.

Contrast this to their primary competitors, Microsoft and Apple.

Visual Studio has a comparable feature set to JB IDEs. But it's Windows only, totally un-portable, hardly supports web dev outside of the .NET stack, and the plugin model is native. They badly struggled with the transition to 64 bit because of this, which in turn meant users regularly hit its internal architectural limitations like project size limits (cuz of the 32 bit address space). VS doesn't scale well because there's no good way to stop plugin crashes taking out the whole IDE. Even though MS have been pushing .NET for 20 years, VS itself doesn't use it. IntelliJ built on Java which hurt them in the early days, but now Java's perf issues are mostly solved and they benefit every day from portable plugins, a seamless 64 bit transition, cross-platform portability, etc.

XCode is under-funded, has very few plugins and can't compete for any task outside of Apple's own ecosystem. It doesn't even try, really.

VSCode is a text editor with plugins. It is at least trying to compete with JB, but I don't forsee much success in the short term, especially if JetBrains pull their finger out on light mode. It at least uses managed languages. But the most mature JB plugins have been developed over a period of decades by now. The feature-set is overwhelmingly huge, and they have hundreds of employees that do nothing else but add them. How much money is MS willing to throw into the VS Code project? Its lack of revenue model limits them, even with a sugar daddy funding them. It's unlikely they can scale to JB size because a free IDE that competes with their own revenue generating VS product is simply not something they will tolerate long term. VSCode is going to be stuck focusing on the JavaScript/web stack for a long time and won't receive a lot of funding to grow out of that.

Post reply on HN