How to love a tool - Atom

May 25, 2016
tools productivity computing

As part of the series of posts on computational tools that I have grown to love (“How to Love a Tool…”), here, I am going to talk about the Atom text editor, developed rather recently by GitHub. Unlike the other text editor I discussed in this series of blog posts - the awesome and minimal Neovim - Atom is designed to be “a hackable text editor for the 21st Century,” built mostly on web-based technologies (e.g., Chromium), and making heavy use of CoffeeScript. Unlike the older but similar Sublime text editor, Atom is built to support community-driven plugin development, using GitHub as its main package repository (coupled with the accessible CoffeeScript language), whereas Sublime is maintained by a small core group, the size of which naturally leads to lags in core development. By lowering various barriers to development and accessibility, Atom provides a development environment that can grow (and has grown) at an incredible rate.

In comparison to editors like Neovim, Atom provides numerous resources that make working on projects easier: high-level plugin management through both the GUI and the command line (the latter using Atom’s apm, based on Node’s npm), a sleek user interface in keeping with its mission to be a 21st Century editor, support for most popular keybindings (including Vim and Emacs), support for language-centric GUI development (e.g., the Juno IDE for Julia), nearly instantaneous code evaluation via Jupyter kernels, … and the list goes on and on. Just the handful of features mentioned above provide a compelling reason to at least take Atom for a test drive. And, honestly, Atom comes about as close as modern text editors have ever come to the customizability offered by Vim, while providing accessible package development and a sufficiently large community. Yet another pro might be that Atom’s friendly UI won’t strike fear into the hearts of beginners in the way that Vim does, making it great for teaching (and, of course, lightweight use) too.

In the comparatively short period of time that Atom has been around, at least relative to Vim and Emacs, it has succeeded in building a strong (and growing) community, providing a sleek UI, and, perhaps most importantly, setting up an accessible plugin ecosystem that makes package development exceptionally easy.

Having pointed out all of this cool stuff about Atom, I should probably admit that this whole post was written comfortably via Neovim. Oh well, at least I didn’t recommend Atom for everything I guess…

Taking blogdown for a test drive

Trying out RStudio's new blogging framework
R data science tools productivity

A shell called xonsh

A review of Xonsh, a new Python-facing shell
tools productivity computing

How to love a tool - gitsome

Brief discussion of the Gitsome command line interface
tools productivity computing
comments powered by Disqus