CIO

GitHub updates text editing for the modern era

The GitHub online repository has a text editor designed to replace the venerable but decades-old Emacs and Vi
To promote its new Atom text editor, GitHub put together a fanciful promotional video that portrayed Atom as a legacy computing console

To promote its new Atom text editor, GitHub put together a fanciful promotional video that portrayed Atom as a legacy computing console

Plotting to lure developers away from their much-loved but decades-old Emacs and Vi text editors, online code repository GitHub has officially launched Atom, touting it as the text editor for the modern era.

"We're not just trying to build a product. The goal is to build a community around Atom," said Ben Ogle, a GitHub developer who is one of the core contributors to Atom.

In public development for over a year, Atom 1.0 has a stable API (application programming interface), allowing outside developers to build additional packages for the software without worrying whether the API calls will change in a future edition.

"They can build on this API," Ogle said. "Version 1.0 is the foundation for the future."

Even before its official 1.0 release, Atom had been generating a lot of external interest. Earlier this week, Facebook released its own customized version, called Nuclide. Nuclide was designed for developing in languages and libraries created by Facebook, such as Flow, React, and Hack, as well as for languages heavily used by Facebook, such as PHP and JavaScript.

Most of Atom's early users have been using it to code in Web development languages such as JavaScript, Ruby and Python, Ogle said. It is also serving as a platform for a range of niche languages, such as Google's Go and Microsoft's TypeScript.

Since the beta launch a year ago, the editor has gotten a number of new features, such as support for resizable windows and the ability to work with multiple folders, Ogle said. Performance improvements were also made to make it run more quickly. Third-party packages can now communicate with one another.

Many developers have long eschewed full-featured IDEs (integrated development environments) such as Eclipse and Visual Studio in favor of smaller and more customizable text editors.

The two most widely used command-line text editors, Emacs and Vi, 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 projects.

Like Emacs and Vi, Atom is open source and can be extended to fit specific programming languages. It can also be customized to the programmer's tastes. "Your dream editor is probably different than my dream editor. You can mold Atom into anything you want," Ogle said.

Unlike Emacs, Atom does not require knowledge of the relatively obscure Lisp programming language to augment it with new capabilities. Instead, Atom can be customized through the use of JSON (JavaScript Object Notation) and regular expressions, both of which are far more familiar to the developer community.

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. Atom is built on a framework that utilizes the Google Chromium shell.

Joab Jackson covers enterprise software and general technology breaking news for The IDG News Service. Follow Joab on Twitter at @Joab_Jackson. Joab's e-mail address is Joab_Jackson@idg.com