Online code repository GitHub is taking on the venerable Emacs and Vim text editors by releasing a text editor of its own, called Atom, which it claims is more suited to the Web era of development.
“We’re bringing in a lot of our favorite things about text editors into the 21st century and making the most hackable text editor out there,” said Chris Kelly, who is GitHub’s developer relations lead.
Like Emacs and Vim, Atom is open source and can be extended to fit specific programming languages. Unlike Emacs, it does not require knowledge of the relatively obscure LISP programming language to augment with new capabilities. Nor does Atom need to be operated from the command line.
“Emacs was one of our big inspirations. It has this property of internal re-programmability. The user has the same capabilities to reprogram Emacs as the core developers,” said Nathan Sobo, a GitHub developer who worked on Atom. “We designed Atom to be the same way. But we wanted Atom to be really approachable to someone who has used to the GUI paradigms of the last 10 years.”
Due to their ease of use and portability, many developers have long eschewed using full-featured IDEs (integrated development environments) such as Eclipse and Visual Studio in favor of smaller and lighter text editors.
The two most widely used command-line text editors, Emacs and Vim, have been available for decades. As a result, outside contributors have added a lot of functionality to them, making them useful for composing programs, scripts and other text-based work products.
The company first released the software in a private beta earlier this year. The software, which does not require the GitHub service to use, is now released for all to use under the open source MIT License.
The development team kept the core Atom package as slim as possible, shifting much of the functionality to stand-alone add-on packages that can be easily installed through the use of a package manager, called apm. Apm works very similarly to the npm package manager for the Node.js server side JavaScript runtime environment. Atom is built on a framework that utilizes the Google Chromium shell.
The current version of Atom runs only on Apple Macintosh computers, running OS X versions 10.8 and later. GitHub plans to issue versions for both Linux and Windows in the near future.