Text editors (also known as code editors) are an essential part of the developer’s toolkit. At their most basic level, they let you create and edit plain text files without having to worry about the hidden formatting of a word processor or the overbearing complexity of an Integrated Developer Environment (IDE). Their simplicity makes text editors ideal for quickly sketching out ideas and editing files. In the world of text editors, two platforms reign in popularity.
In one corner you have Sublime Text, a shareware cross-platform source code editor built with Python and C++. In the other corner, you have the relative new-kid-on-the-block, Atom, an open-source code editor from GitHub built with web technologies HTML and Node.js. Both are highly capable text editors that have huge followings and active developer communities.
What is Sublime?
Sublime has been around since 2008 and is often considered the gold standard of text editors for its performance, slick UI, and useful features, especially the minimap, which gives developers a bird’s-eye view of their code while they work. Since Sublime’s first release, many other text editors (particularly Atom) have taken their cues from Sublime. However, being the old-timer does have some advantages. For one, Sublime boasts color-coded support for several obscure and specialized languages, like Erlang, Go, Lisp, and Lua.
Sublime’s best features embody its philosophy of getting things done as quickly as possible. The Goto Anything feature is a super convenient way to open files and instantly jump to particular lines, words, or symbols. Multiple Selections allows you to change multiple lines of code at once.
One downside to Sublime is that it isn’t open source. Though you can enjoy a trial mode for as long as you want, for the full version, you’ll need to pay $99. While development on Sublime seemed to stall for several years, it’s recently picked up again, meaning people should expect more support and features going forward.
What is Atom?
Created by the folks at GitHub, Atom bills itself as a hackable text editor built for maximum customizability. That said, Atom doesn’t waste time reinventing the wheel—it borrows a lot of the UI, shortcuts, and functionality that made people love Sublime. If you’ve been using Sublime, it should be easy to make the jump to Atom. As a text editor, Atom also comes with a few handy features, including smart autocomplete, integrated spell-check, and find-and-replace.
While superficially similar to Sublime, Atom has some significant differences under the hood. The major one is that Atom is built on web technology. More specifically, Atom is built as a customized version of Chromium, Google’s open-source web browser project. The advantage there is that packages can be written in JavaScript and HTML/CSS, making extending Atom’s capabilities as easy as writing a mini web app. A very handy built-in package manager makes it easy to start adding packages right away. With only a little work, you can take Atom from being a versatile text editor to being a fully-fledged IDE.
Atom vs. Sublime: Major similarities
As popular source code editors both Atom and Sublime support all the features you’d come to expect from a text editor, including:
- Text editing
- Syntax highlighting
- Debugging
- Keyboard shortcuts
- Support for most operating systems
- Active communities on Stack Overflow
If we include add-ons, we can extend that list to cover other popular features like:
- Autocomplete
- Git integration
- Package control
- Debugging
- Snippets
- Popular languages such as Python, Java, and JavaScript
You can’t go wrong picking either code editor for your project.
Atom vs. Sublime: What’s the difference?
While both text editors are packed full of features, support a wide range of languages, and give you everything you need to start coding, there are a few differences you may want to consider to help with your decision.
Open vs. closed sourced
Atom is open-sourced while Sublime is closed-source (proprietary). That means Atom reaps the common benefits of open source software including:
- True customizability with the ability to edit Atom’s source code directly.
- An active open-source community of developers building extensions, plugins, and patching bugs.
- Continuous updates, developments, and improvements.
But keeping your source code proprietary is not without its benefits:
- Dedicated services and support
- Tighter quality control of a single development team
- Better security
By keeping its source code proprietary, Sublime gets to reap any performance advantages from its proprietary code without worrying about others copying its technology. On the flip side, they can’t grow as quickly as an open-source project and updates are comparatively limited. Generally speaking, the main cons of closed source applications are that they are more expensive. Sublime costs $99, while Atom is free.
Editing and workflow
When it comes to editing and usability, Atom wins right out of the box for its beginner-friendly GUI:
You can click on the Settings tab and modify your preferences right away.
Sublime is bare bones out of the box, and doesn’t have user settings unless you script them in manually by finding your preferred settings from the list of default settings:
It’s easy enough to see how a beginner might be overwhelmed by Sublime’s approach to settings.
In the long run, this is a minor detail, as it’s also easy to see why a developer might prefer Sublime’s interface. Both tools have all the features you’d expect in a text editor including syntax highlighting, the ability to handle UTF-8 encoded characters, and a customizable appearance.
There are also some slight differences in features. For example, Sublime’s aforementioned Goto Anything feature is a pretty convenient way to open files and instantly jump to particular lines, words, or symbols.
Performance
Sublime remains the clear winner in performance (although Atom is closing the gap). Designed with speedy coding in mind, Sublime has no problems opening and editing multiple files at once. There exists a small but noticeable lag in file and upload times with Atom if you open too many files. Performance can vary depending on which packages you have installed.
Customization: Themes, packages, and plugins
Both platforms are fairly bare-bones out of the box with plenty of options for tailoring your text editor to your needs. As an open-source project, Atom boasts the larger add-on ecosystem with over 9000 packages and 3000 themes.
Popular Atom packages include:
- Platform-ide-terminal which extends your Atom distribution with a full terminal
- Kite, an AI-powered programming assistant for JavaScript and Python
- File icons, which give you new icons, styles, and fonts.
- Minimap, a service-based plugin API that gives Atom a code minimap similar to what’s built-into Sublime
Sublime may not have as many plugins as Atom, but it still boasts an impressive library of over 5000 packages including:
- Package Control is the official Sublime Text package manager for downloading and installing other packages. It is omitted from the initial installation of Sublime, and you’ll need to download it separately before getting started with packages.
- Emmet is for web developers who want the ability to type expressions (abbreviations) similar to CSS selectors and turn them into code fragments with a single keystroke.
- Sidebar Enhancements augment the Sublime Text sidebar with more options such as “move to trash,” “open with..,” and “clipboard.”
- SublimeCodeIntel is a code intelligence plugin for SublimeText that provides autocomplete capabilities for a variety of languages.
Version control integration
Atom, which was developed by GitHub, has built-in integration with Git and GitHub. You’ll need plugins for SublimeText to match, but fortunately for Sublime users, there are plenty of package options including GitHub’s own Git package for Sublime.
Alternatives to Sublime and Atom
Sublime and Atom aren’t the only text editors out there. Here’s a brief list of popular alternatives:
VS Code
Visual Studio Code, also known as VS Code, is a source-code editor developed by Microsoft for Windows, Linux, and macOS. Open source and built with Electron, Node.js, and TypeScript, it’s similar to Atom under the hood. Unlike Atom, it’s noticeably faster and includes more built-in features out of the box, such as Intellisense autocomplete. VS Code boasts a similarly large extension ecosystem and installs with its package manager.
Brackets
Though Brackets contains basic support for server-side languages, it’s built for front-end developers and designers. The addition of visual tools, Photoshop integration, and preprocessor support make it uniquely well suited to front-end production work. Another advantage to Brackets is that it contains more out-of-the-box features than Sublime or Atom. If you’re a front-end developer who wants a text editor that’s good to go from the minute you install it, then Brackets might be an appealing option.
Sublime vs. Atom: The Verdict
In this article, we took a look at the major similarities and differences between Atom and Sublime. A good rule of thumb when picking between two great comprehensive text editors is to consider which strength resonates the most with you.
For maximum speed at scale…
Choose Sublime. While many other text editors have borrowed Sublime’s features and elegant appearance, none have matched its performance. Because it’s written in C++, it’s able to maintain high-performance speed even when working with multiple large files and several packages. This has made it beloved by developers who work quickly and jump constantly between multiple files.
For maximum extensibility…
Choose Atom. It provides a strong, flexible foundation that you can build your dream text editor or IDE upon. The atom itself is just a collection of packages. Atom’s built-in package manager makes it easy to start customizing, and the packages you find on GitHub are extremely well documented, including screenshots and animations so you know exactly what everything does.
At the end of the day, the choice between Atom and Sublime boils down to personal preference. A back-end developer will need different tools than their front-end counterpart. There may be other editors that make the most sense for the type of work you perform regularly. Or there may be some in-house custom feature that requires all developers on your development team to use the same source code editor. Whatever your specific requirements are, choose the source code editor that makes the most sense for your needs.