> In fact there have been excellent IDEs around for decades before VSCode came along.

I wonder what everyone's favorite IDE is. I don't think I could put my finger on a single one and claim that it's the best.

I really liked Lazarus (for Pascal), because it's perhaps one of the snappiest tools I've used for a language that also compiles pretty fast. Though it's certainly not as modern or smart as JetBrains products.

I rather liked NetBeans (for Java and PHP), because it's truly free and can be relatively lightweight. The interface doesn't feel overbearing either, you get some framework/library support out of the box and even projects like jMonkeyEngine built upon NetBeans for their game engine editor. It's like libre JetBrains lite, but struggles with larger projects.

I rather liked MonoDevelop (for C#), because it felt like the .NET equivalent of NetBeans, was lightweight, functional and just worked without getting too much into your way. That said, it never really got as much attention as other products in the space (Visual Studio or JetBrains Rider).

I acknowledge the success of Eclipse (for Java and other languages), because I've seen that platform be used for anything from being an IDE for programming, to niche modeling tools and graphical programs. Some also swear by its incremental compiler (for Java), but personally it feels sluggish to me (like running JetBrains IDEs with low RAM) and its stability is inversely proportional to how many plugins you have.

I acknowledge the success of Visual Studio (for .NET and other languages), because when your platform is a walled garden, you can make sure that the experience is focued on doing things within it decently (like XCode, I guess), even though sometimes the IDE felt similarly heavy to JetBrains offerings and was more opinionated towards what you can do with it, as well as the platform support.

I like JetBrains IDEs (IntelliJ and their other offerings), because they have perhaps the best autocomplete and code refactoring/inspection tools out of any other solution out there. The plugin ecosystem is rich, the language support is pretty great, the experience across various languages is similar enough. Though the obvious downsides are large system requirements (you need enough RAM and project indexing is slow, having 6 Java projects open and 2 front end projects open is a pain), bad run configurations (that making sharing run configurations across Windows/Linux really hard because of interpreter selection for scripts etc.) and confusing menus (due to how much functionality there is, a bit like Visual Studio, though the menu structure changes for different IDEs from them as well). The benefits still outweigh the negatives and so I pay for all their tools.

I like Visual Studio Code as a text editor (for anything really), but it feels like some of the refactoring and code editing support is lacking, especially when working with enterprise codebases. You can get pretty close to a fully fledged IDE with it, but at that point you're also trading some of the performance and lighter footprint away. Regardless, most of my projects have a .workspace file in them and I use Visual Studio Code together with JetBrains products.

I like other attempts at feature filled text editors as well, be it Fleet (though was a bit too unfinished last I tried their preview), CudaText (really interesting project with lots of nice features) or anything else, really.

At the end of the day, there is no single best IDE, just different ones that are suited for different tasks.

Edit: actually decided not to include the nano vs vi/vim discussion, since that's not super relevant to the discussion. Either is fine, I like the simplicity of nano more.