From JetBrains to VSCode to NVIM: Why I Made the Switch
Exploring the Evolution of My Development Environment: From JetBrains to VSCode to NVIM
Table of contents
Every software engineer has their favorite IDE, and opinions vary on which is the best. I have used all the mainstream IDEs, and today we will explore what I liked about each one and why I eventually moved on.
Jetbrains
Let's be honest, JetBrains makes cool software. It doesn't matter which programming language you are using; they have a solution for everything. The number one thing I give them credit for is providing good and stable out-of-the-box solutions with almost zero configuration.
The debugger works on almost every platform with minimal configuration, and the language highlighting and formatting never disappoint. For things like Twig in PHP, which is a rare case, in VSCode I had to make multiple configurations to get it to work. Also, for languages like Kotlin in JetBrains, they work out of the box.
Yet the world ain't always sunshine and rainbows and each software has it's downsides.
Closed Source
Supporting companies that open source their code, or open source in general, is a really good idea. I have no problem with JetBrains, but I would rather spend an extra 10 minutes configuring something to support a good cause.
Performance
Performance is a significant downside for JetBrains, and I believe this is because they use Java and Kotlin to develop their IDE. At first, this might not seem like a bad idea, but once you see the RAM usage, you might reconsider. The main issue for me is that I travel frequently, and it's much more convenient to carry a 13-inch MacBook Air rather than a larger MacBook Pro. Opening two projects at once in JetBrains is not always the best idea.
And more RAM usage means less battery-life.
VSCODE
Compared to JetBrains, Visual Studio Code (VSCode) is a favorite among many developers primarily because it is open source. Being open source fosters a vibrant ecosystem around it.
You can find VSCode on multiple online platforms like GitHub or Codebox, which is a bonus for making it your daily tool.
Out-of-the-box Solutions
Although it doesn't come with as many out-of-the-box features as JetBrains, with a few simple extensions, VSCode is ready to use. However, I want to mention that having everything pre-installed and working without the need for configuration, as is the case with JetBrains, can also be a downside.
Many people appreciate the ability to customize their environment to their needs, and VSCode strikes a balance between vim and JetBrains.
Performance
Typescript, in this case, is superior to Java. From what we see, VSCode, which uses Typescript in its source code, uses much less RAM and opens much faster than its competitor. Of course, it can be a bit laggy in some cases, but generally, performance is not an issue for most computers. In comparison, with JetBrains, you might need 32GB of RAM, especially if you have two or three projects open at the same time.
NVIM
Before we dive into discussing NVIM, I want to mention two things. First, vim is quite similar, but NVIM is slightly better and easier to set up. Also, while you might need to be a bit tech-savvy to use NVIM, it offers many advantages.
NVIM is thoroughly open-source, unlike vscode, which, despite being open-source, is tied to Microsoft—a turnoff for some. Having been around since 1991 (vim), NVIM offers unparalleled support for extensibility. With thousands of plugins and extensions.
Ecosystem
Every server has vim installed, which means if you use it as your daily code editor, it will make your life much easier when you deploy something or work with servers. The ecosystem is their and it will stay, almost every computer has it and if it doesn't it is one command away.
Out-of-the-box Solutions
Out of the box it offers almost nothing, but after 7 years of development I like that. I love the idea of customizing to my needs my IDE, so with the help of kickstart.nvim I have with 1 minute of installing and 10 extra minutes of configuration a complete IDE.
Productivity
When using nvim, you'll code more effectively because it requires you to stay focused and avoid aimlessly clicking around, which often leads to no real work being done. When I open nvim, I need to be attentive because there are countless shortcuts to utilize. While this might seem daunting to some, it's ideal for me when coding because it keeps me engaged.
Nvim simply works. I've never encountered any issues with nvim; everything functions smoothly and quickly. You can start your work knowing that you'll be focusing on debugging your application, not your IDE.
Plus it is much more fun!
Conclusion
In conclusion, transitioning from JetBrains to VSCode and finally to NVIM reflects a journey towards greater efficiency, customization, and alignment with personal and ethical preferences.
Each platform has its merits, but the shift towards more lightweight and flexible environments like NVIM illustrates a growing trend among developers seeking control and minimalism in their tools. This evolution in preferences also highlights the importance of community-driven, open-source projects in the development world, which not only provide robust alternatives to commercial products but also foster an environment of collaboration and innovation.
Thanks for reading, and I hope you found this article helpful. If you have any questions, feel free to email me at kourouklis@pm.me, and I will respond.
You can also keep up with my latest updates by checking out my X here: x.com/sotergreco