VSCode is a poor example. Its a fully featured IDE, and sure it would be lighter without electron, but it still wouldn't be a lightweight piece of software. I use JetBrains which is not Electron, but also uses it's fair share of ram.
Think of it this way: if you have a system full of apps that conform to platform conventions, then you only need to learn the platform conventions and you’re suddenly more or less an expert in every new app you encounter.
If you need to learn every. single. apps. stupid rules and UI all over again, then sure, you can transfer skills in that one app over to another platform, but that’s it. You want an email app? Good luck learning every keyboard shortcut and ridiculous UI decision all over again.
Let’s just say this paradigm shift has not been driven by people with OCD (or good taste, for that matter).
Ok but another way to think of it is I've been using IntelliJ 30+ hours a week for years and don't want to throw away those skills because my new job wants me to use a different OS. I'm sure power users of, e.g., Excel or Emacs or vi have similar feelings.
This is false. A very small amount of the core functionality of vscode is powered by native code, for example: find in files shells out to ripgrep, the majority of the other usages are mainly just exposing various native apis to js (like ptys, fast process trees, windows specific apis not surfaced by electron, etc.). The regex engine used for parsing textmate grammars is a special case that uses wasm.
Around 1997 I was able to carry around a copy of Homesite on a floppy and run it in many places, on machines in the neighborhood of 32MB of RAM. It understood multiple languages, you could define additional ones and your own tag fillers using a custom XML syntax, connect to a database to inspect schemas, etc. Not as full featured as VSCode, but it had an amazing amount of functionality.
It also didn't support as many languages/features and was super slow on contemporary hardware.
Even my 9 year old laptop can run VSCode just as fast as my 3 year old main machine.
Back in 1998 when Visual Studio 6.0 (actually just the second publicly released version) was released, it took ages to load and used up quite some RAM. 6 years later, when I switched to VS.NET 2003, VS6 ran super fast on my PC.
The difference was, however, that my 1998 PC was a 300MHz Pentium II with 64MB of RAM, wheras my 2003 machine was a n overclocked AMD Athlon XP at more than 2500MHz with 2GB of RAM.
Now compare that with my 2011 laptop vs. my 2017 laptop:
my 2011 machine has a dual core 2.5GHz CPU with 8GB of RAM. My 2017 laptop is a dual core 3.5GHz CPU with 16GB of RAM.
22 years ago, 5 years of progress meant a 10x increase in RAM and 8x increase in CPU speed. During the past 10 years we saw a doubling in RAM (barely, TBH) and maybe 1.5x in CPU speed (at the same core count).
That's why the old software felt so fast - because we used it during a time when a major PC upgrade actually meant something. If you used a software package for five years, you could actually see more than a doubling in performance (e.g. Core2Duo E8600, 2008 vs Core i3-4350, 2013 [1]).
That's just not the case anymore and skews our perception regarding performance heavily towards "lean" vintage apps.
I never remember Visual Studio 6 (VC++) being slow at all at the time on 1996-era hardware - quite the opposite (other than the dreaded "updating intellisense..." which would hang things for a while).
I distinctly remember subsequent versions (.NET 2002, which I think had the UI re-written) being a lot slower than 6, and me still using version 6 when I could because of this.
In fact, I can remember VS 6 opening in seconds, compared to later versions being much slower.
I haven't compared ram usage but vscode feels (subjectively obviously) very slow by comparison to me. Intellij is a beast of an application in terms of features also.
In my opinion, VS Code is not a "fully featured IDE". In fact, I would argue that it is even not an IDE. Simply because, "I" ("Integrated") in IDE implies lack of external dependencies or, in other words, self-sufficiency. Install PyCharm, Rider or any other real IDE, for that matter, and you have a truly fully featured development environment (yes, you can install some optional plugins, but it is largely not needed). Install bare-bones (i.e., without any extensions) VS Code and you have just a nice development-focused editor, but definitely not an IDE.
Interesting that you mention pycharm. VSCode has a superb integrated experience for TypeScript ootb with language, refactoring, IntelliSense support, etc, no plugins or additional language servers needed.
Well, this is not terribly surprising, considering TypeScript's origins in Microsoft. Not adding full IDE support for their core languages (.NET) to VS Code is understandable as well, though - the company does not want to jeopardize sales of Visual Studio, their commercial true IDE. In any case, you could argue that VC Code has IDE-level functionality for TypeScript, but I still stand by my general argument.