Thoughts on Atom

I've been using GitHub's new editor, Atom, to work on sending a few patches to Git. Overall, it hasn't been a terribly pleasant experience.

Slow and Unresponsive

The Git repository has some very, very large directories, so I can understand why Atom hangs for a few seconds every time I try to expand one of them in the file navigator. That is, I would understand, if Sublime Text 2 wasn't able to do so instantaneously.

Furthermore, using the fuzzy file finder (⌘+T) to open large C files (1000+ LoC) caused Atom to stall for a bit, then display the file without syntax highlighting, then stall for a bit more, then colorize the tokens. Sublime opens even large files effortlessly.

Frequent Crashes

Run make on the Git source code and you'll generate a bunch of binary files. Accidentally click on one in Atom's file navigator and BOOM!–the app crashes or otherwise becomes unresponsive. I wish it knew not to bite off more than it can chew.

Again, here Sublime opens the file in the blink of an eye.

"Infinite Scroll" Search Feature is Annoying

Project-wide searches (⌘+⇧+F) have this annoying "infinite scroll" feature. You can search a project for the string "foo", and you only get as many results as can fit on your screen. If you scroll down, however, Atom then searches for more. This tricked me once or twice into thinking there weren't very many instances of "foo" in my project.

Nothing its Competitors Don't Already Have

There were a few features Atom had out of the box that I thought were pretty cool. One example is the Git status gutter–Atom shows you if a line has been added or modified since the previous commit by displaying a colored bar next to the line number.

I found this helpful, so I installed Sublime Text 2 packages that mimicked this feature. Now I have no reason to use Atom!

Don't get me wrong, I think Atom is a cool product. If it a web-based editor I think I'd find myself doing more coding via GitHub's web interface. But so far it makes a poor replacement for existing editors like Vim or Sublime Text 2. Hopefully it'll get better during the beta period.