Unless you have been using Notepad or Notepad++ as your choice of text editor, you must be using something like Sublime Text, Atom or VS Code.
If you came to me a few years back asking which text editor is best, I would have said, go use an IDE. But that'd the back end developer in me talking I guess.
But as I started to get more and more involved in front end development, I started using text editors for front end development, along with IDEs. My first choice was Sublime Text. I loved everything about it from the get-go since I started using it a few years back.
Atom is a comparatively new kid on the block. They are calling it "A hackable text editor for the 21st century".
As I started working with React and Redux more and more, I started using Atom more than Sublime, partly because of its rich ecosystem of plugins, themes and linters and what not.
So, I wanted to make a comparison between Sublime Text and Atom after using them for a few years now.
Positive things about Sublime:
The thing you notice immediately with Sublime is its performance. Its startup is blazing fast compared to Atom. Its Fuzzy search feature also makes it really easy to traverse your project.
Sublime is older compared to Atom hence it is much more stable than Atom. It also has a much larger user base than Atom.
It is very easy and intuitive to traverse your code repo using Sublime. It is highly customizable and you can get really creative with it.
I have written a couple of custom Snippets for sublime that made my coding much faster. You can go pretty deep with what you can customize with Sublime.
Combine that with Emmet and you become much more productive. Also, you can customize the key binding to the point of not needing to use the mouse at all.
Sublime is much better at handling large files and projects yet performance stays stable even when you are opening large files say 6mb log file.
Overall Sublime is a pretty solid Text Editor for any kind of projects you can think of.
Not so positive things about Sublime:
Unlike Atom, Sublime is not open source and it is not free either. It has a smaller number of contributors compared to Atom. Sublime has a steeper learning curve than Atom in my opinion.
Positive things about Atom
Atom is free and open-source and is developed by Github. There! now go and use it!
But seriously, it is developed by Github, it is open-source, free and built with the same technology you are using for web development. It is also prettier and has tons of plugins and themes. It requires no setup to start coding. It has great integration with Git and Github (Duh!).
Not so positive things about Atom:
Well, one of the biggest pet peeves of mine, is slow performance. And Atom is all about it. Its startup is so slow it makes me wanna throw in another SSD on my machine! It lags substantially with large projects and files. Throw a few plugins and themes in there and yeah, it'll put even the bulkiest IDEs to shame!
And even though it is pretty to look at, for some reason, I just don't get the same user experience with it compared to Sublime. Try to open a decent-sized React project in Atom, and you can go make a cup of coffee, feed your cat, put up a new poster on the wall and come back and the project will still be opening.
Also, the constant annoying popups and plugins and extension conflicts slow it down even more. Somebody might not mind that because it is free. But trust me, all those things add up and take a hit on your productivity.
When you try to take quick notes or do a quick edit of a JSON, well you are better off doing that on Notepad++ than to do it with Atom because of its slow startup.
Which one do I prefer?
Atom's large number of plugins and themes also make it a very intriguing choice. But, at the end of the day, I prefer speed and performance overall the fancy bells and whistles. The constant lag, crash, slow startup and the fact that Atom downright can't handle very large projects or files, forced me to go back to Sublime.
Did you find this article valuable?
Support Ahmad W Khan by becoming a sponsor. Any amount is appreciated!