Sublime Text 3 vs. Atom 1.0.11
Recently, I read on https://www.reddit.com/r/programming that some fellow coders switched from Sublime Text 3 to Atom. Of course, as always when people are talking about code editors, there was a heated discussion. The consensus was, though, that Atom 1.0.x can do anything Sublime Text 3 can do. For free. Just not quite as good. Of course, I simply had to retry Atom.
Two Weeks of Atom
My office notebook has Sublime Text 3 installed and I love it. I have been working with Sublime Text ever since I started coding, back at university some years ago. However, I do not have a private license and decided to switch from Sublime to Atom for one or two weeks to see, if it is the editor of choice for me when writing code on one of my private computers. And I must say, without spoiling the result, that Atom has come a long way.
Transitioning from Sublime Text to Atom was surprisingly easy. Now that the German keyboard layout works, I can do almost anything I can do in Sublime Text in exactly the same way in Atom (that was a serious issue for me when I tried the Atom beta). Even the package system and the console function the same. Atom’s package system is a lot more visual, though. There’s a neat GUI within the editor itself which allows the user to effectively browse for packages.
Packages are extremely important when comparing these editors. Atom has some functionality that Sublime Text is missing, and vice versa. However, at least as far as I can tell, there is a package for every single one of those cases, for both editors. That is pretty awesome. I simply love the developer community. Some packages were better than others, though, which should be taken into consideration.
It is true, Atom doesn’t have as many high quality themes as Sublime Text does (yet?). However, there is a really simple way to convert themes. When I learned about that, I immediately converted all my favorite Sublime Themes. Sadly, the results ranged from superb to meh.
Luckily, themes can be edited by hand. However, I must say that I’m pretty lazy when it comes to stuff like that. So what I did was simply switching to another theme.
What I really do like about Atom’s themes, though, is that it is so easy to roll your own themes (and there’s a pretty good article about that in Atom’s documentation). I always found that to be kind of a pain with Sublime Text. But maybe that’s just me?
Sublime’s Packages Are Just Too Good
It may sound hard to believe, but I think the single package that is much better for Sublime Text, is Emmet. Getting Emmet to work with PHP files in Atom was annoying. Of course, I simply had to install another package, but if you do not know that, you are likely to be a little annoyed at first. I guess this will be fixed soon, but still.
Other packages are far from perfect, too. To me, especially disappointing was that the caret selection of Sublime Text is just missing in Atom and that the package for that is just okay, but not really great. It’s just way too clunky.
There were quite a few cases like that which simply reflects that Sublime’s packages have had a lot more time to mature. On the other hand, some Atom packages are just insanely good. I especially like the TypeScript package, which I enjoyed even more than VisualStudio Code (and others agree with me on that). Also, Atom’s git packages are really, really good and worth a look.
Packages: The Verdict
So, who’s the winner here? It might sound surprising, but I think it’s a tie. Atom’s ecosystem is still young, but there are already numerous packages of high quality. I don’t think one of these editors is going to take the lead here. If you ask me, from here on, it’s going to remain pretty even. Both the Atom and the Sublime Text community are really active and talented. So, yes, in many ways, Atom has become just as good as Sublime Text. But does that mean, we don’t need Sublime Text anymore?
This is my main complaint with Atom and the main reason why I switched back to Sublime Text 3: Atom is not as responsive as Sublime. Everything Atom does is done with a certain delay. Opening the autocomplete dropdown, opening a new window or file, changing settings, and even typing feels much slower. The worst thing, though, is how endlessly long Atom takes to initially start up. Click on the Sublime icon, and you can start typing. Click on the Atom icon and you probably have enough time to get a coffee first.
To be fair, I only recognized most of the performance issues when using both editors the same day. But when I did, it was rather painful. As every developer, I simply hate delays in my workflow. Even tiny ones.
I read that performance is a major issue for many Atom developers and that they are trying to improve every aspect of it. I think they can succeed, and I hope they will. Atom has become a great editor, but there’s still some work left to do.
Okay, my verdict is pretty straight forward.
Sublime Text still is the better editor.
However, if you do not own Sublime Text, you might as well use Atom. Why? It is a very solid, free editor and you will probably never recognize that it is slow, if you have not been working with Sublime Text. (Well, except for the initial startup. That’s just horrible.) Also, if you are mainly working with TypeScript, Atom might be just the editor for you. But, still, if you do not mind spending some bucks on what is probably the best code editor on this planet, go and grab Sublime Text. It really is just that good.