Lorenzo Villani

(╯°□°)╯︵ ┻━┻

Quick'n'Dirty Atom Review

Sep 6, 2015

Last month I tried Atom.

I liked it.

Now I’m back to Sublime Text.

The story began a couple of months ago, when a colleague that shall remain nameless convinced me to try Atom, a new text editor from GitHub.

I wasn’t sure I would like it so I promised to use it exclusively for a full month right after its first 1.0 release, whenever that would happen. When it finally came out at the end of June, I knew that I was in for a great deal of radiations.

Bad jokes aside, I was immediately struck by its insane slowness.

For a text editor, it really takes a long time to launch! Almost as long as my fully loaded Emacs setup. To make a comparison: Sublime Text 3 starts in around 0.70 seconds and is immediately usable, with 43 installed plug-ins. Atom, on the other hand, needs around 3.28 seconds with no plug-ins, and this is only after I warmed it up a couple of times already. The first time it took around 6 seconds. The more plug-ins you install, the worse it gets.

This negatively impacts my work-flow. I keep one long-lived editor instance for the project I am working on and then I tend to fire many short-lived windows as I browse around the file system doing some one-off editing tasks. During my trial I simply began using Vim alongside Atom, even though I’d rather avoid the context switch between editors.

Additionally, there is a persistent lag that permeates the entirety of the GUI, something that is barely perceptible and hard to describe. You can compare it to the difference in touch responsiveness between iOS and Android: both are acceptable but you can feel that there’s something slightly amiss with the latter.

Aside from its slowness, and the fact that it eats RAM like an IDE, Atom is really a nice text editor. It looks great by default, has modern keyboard shortcuts clearly inspired by Sublime Text, has a vibrant development community working on its core and, last but not least, a growing set of third party packages.

Since Atom is built on a browser engine it is able to provide, for example, live Markdown previews directly in the editor, something I appreciate very much since I write almost all text documents, including documentation, with it.

Markdown Preview

It is also one of the few editors with a built-in package manager that doesn’t suck. It allows to search, view the most popular packages and its README file directly from the GUI. It can also be used from the command line and it has some nice tricks up its sleeve: since I have an account, I can “star” the packages I use the most and quickly re-install them by running apm stars --install --user lvillani. I can install other user’s packages this way, too.

Package Manager

The settings screen reminds me of Emacs’ “Customize” mode, which shows package configuration knobs in a GUI, so that I don’t have to fiddle with elisp/JSON/whatever configuration files by hand.

Also, it’s open source software. I believe the world sorely needs a strong contender to Sublime Text which isn’t proprietary and developed by a secretive developer that has a tendency to disappear without trace for months, leaving people to question whether their investment in a commercial text editor was worthy of their time and money.

Given the way Sublime Text is being developed, I long for a text editor where community feedback is taken seriously and bugs get fixed.

Atom seems to be what I want Emacs to be 1: an editor that’s extensible, mode-less and actively developed even though it is, sadly, just as heavy.

  1. Sans HTML, CSS and JavaScript.