Searching for the perfect editor

Hello there, my fellow readers. In this blog post, I will describe my search for the perfect editor and trust me it’s going to be a good read.
The Options
Before I go on to list and describe the options, I think it is important for me to describe to you my requirements and the system which I was going to use.
- The editor should be well documented. This is because I wanted a stable editor which could be extensively customized and easily understood.
- The editor should be free of cost. This is because I am a student and can’t afford to buy software right now.
- The editor should be cross platform. This is because I work on both Ubuntu and Windows and don’t want to learn 2 different editors for the different OS’s.
- The editor should be extensible. That is, the editor should have lots of plug-ins for customizing the look and feel and functioning of the editor.
- I should be able to build projects in the editor natively. I don’t want to open a terminal or command prompt just to compile and run the program, the editor should be able to do this.
- The editor should have basic debugging support. Pretty self explanatory, I want to be able to debug applications using breakpoints withing the editor.
- The editor should support multiple languages. I wrote in C, C++, C#, Python, Java, HTML, CSS and JS. The editor should support all these languages at least.
- The editor should be lightweight and fast. SPEED, who does not love more SPEED.
Now as you can see my requirements were pretty well defined, I knew exactly what I was looking for in an editor and this helped me narrow down my choices.

- This editor met all of my requirements which were listed above. Atom excels in git integration especially with GitHub. This is to be expected since Atom is developed by GitHub.
Atom looks very pretty and is in my opinion one of the best editors for web-development. Atom is generally fast if your system is fast enough. Atom runs on Chromium, i.e. Atom is essentially a chrome browser customized for editing files so it is quite resource intensive. For a super fluid experience I would recommend at least 4GB RAM with a decent CPU (dual core).
My primary use was to run C++ and Python applications and Atom sadly does not provide enough debugging support and C++ library features for me to consider it as my primary editor. Moreover Atom becomes sluggish over time taking quite some time to start up.

- As I was searching online for an editor suited to my choices I was quite surprised to see that Microsoft has launched an Open Source editor called Visual Studio Code. Amazingly this program is not Windows exclusive but is cross-platform. It works on WIndows, Linux and MacOS.
Once the initial shock was over, I realized that this application was targeted towards web developers just like Atom and lacks proper support for C++ and Python dubugging. And runnning a single program on this editor requires creating 2 different files for each file launch.json and tasks.json which defeats the very purpose of running my programs quickly.

Arguably the most mature text editor out there. It has great support for C++ and Python built in and has the ability to create custom build tasks which are independent of the projects which is really nice. Finding information online about this editor is quite easy as it has been around for quite some time and any issue you may encounter probably has a solution in stack overflow.
The editor looks beautiful, it has tons of plugins and themes and is extremely fast. It loads up much faster than Atom or Visual Studio Code.
Sublime Text 3 is arguably the fastest most lightweight feature rich cross-platform editor out there and would recommend anyone who is looking to switch to a single editor to switch to Sublime Text.
Originally published at Anirudh’s Blog.
