What is the difference between Sublime text and Github's Atom

170,573

Solution 1

  1. How is Atom different from Sublime?
    • Atom is an open source text editor/IDE, built on JavaScript/HTML/CSS.
    • Sublime Text is a commercial product, built on C/C++ and Python.
    • Comparable to Atom is Adobe Brackets, another open source text editor/IDE built on JavaScript/HTML/CSS. Be minded that this makes Brackets more oriented towards Web development, specially in the front end.
    • Advantages of open source projects are faster rate of development and, of course, price.
  2. Does it include IDE features like build tools, function definition jumps, documentations, etc.?
    • The short answer is yes, yes, and yes. The app is completely modular. Open source will give people the freedom to fill the gaps on several of these features.
  3. Has anyone using Sublime got a Beta invitation to point out the differences?
    • Advantages of Atom is entry-level hackability, since it's built on the same code that powers Web sites.
    • Advantages of Sublime Text is performance, as it doesn't need to run on top of Node.js, and it's a more mature product, about to reach a stable version 3.
    • There are a long list of minor differences that can be included in the comments (I wish this markdown could be able to draw a table for comparisons, but that's another issue).
    • Because of Atom's rapid turnout, I am afraid some of differences I list here will become outdated over time. Per example, at the time of this writing, Atom is only available on the Macintosh while Sublime Text is already multiplatform.
  4. Can I use the themes, schemes and packages from Sublime as is, like Sublime could do with text mate.
    • The short answer is no, but because of Atom's hackability, it will be easy to retool packages from other editors to Atom.

Solution 2

In addition to the points from prior answers, it's worth clarifying the differences between these two products from the perspective of choices made in their development.

Sublime is binary compiled for the platform. Its core is written in C/C++ and a number of its features are implemented in Python, which is also the language used for extending it. Atom is written in Node.js/Coffeescript and runs under webkit, with Coffeescript being the extension language. Though similar in UI and UX, Sublime performs significantly better than Atom especially in "heavy lifting" like working with large files, complex SnR or plugins that do heavy processing on files/buffers. Though I expect improvements in Atom as it matures, design & platform choices limit performance.

The "closed" part of Sublime includes the API and UI. Apart from skins/themes and colourisers, the API currently makes it difficult to modify other aspects of the UI. For example, Sublime plugins can't interact with the sidebar, control or draw on the editing area (except in some limited ways eg. in the gutter) or manipulate the statusbar beyond basic text. Atom's "closed" part is unknown at the moment, but I get the sense it's smaller. Atom has a richer API (though poorly documented at present) with the design goal of allowing greater control of its UI. Being closely coupled with webkit offers numerous capabilities for UI feature enhancements not presently possible with Sublime. However, Sublime's extensions perform closer to native, so those that perform compute-intensive, highly repetitive or complex text manipulations in large buffers are feasible in Sublime.

Since more of Atom will be open, Github open-sourced Atom on May 6th. As a result it's likely that support and pace of development will be rapid. By contrast, Sublime's development has slowed significantly of late - but it's not dead. In particular there are a number of bugs, many quite trivial, that haven't been fixed by the developer. None are showstopping imo, but if you want something in rapid development with regular bugfixing and enhancements, Sublime will frustrate. That said, installable Atom packages for Windows and Linux are yet to be released and activity on the codebase seems to have cooled in the weeks before and since the announcement, according to Github's stats.

In terms of IDE functions, from a webdev perspective Atom will allow extensions to the point of approaching products like Webstorm, though none have appeared yet. It remains to be seen how Atom will perform with such "heavy" extensions, since the editor natively feels sluggish. Due to restrictions in the API and lack of underlying webkit, Sublime won't allow this level of UI customisation although the developer may extend the API to support such features in future. Again, Sublime's underlying performance allows for things that involve computational grunt; ST3's symbol indexing being an example that performs well even with big projects. And though Atom's UI is certainly modelled upon Sublime, some refinements are noticeably missing, such as Sublime's learning panels and tab-complete popups which weight the defaults in accordance with those you most use.

I see these products as complementary. The fact that they share similar visuals and keystrokes just adds to the fact. There will be situations where the use of either has advantages. Presently, Sublime is a mature product with feature parity across all three platforms, and a rich set of plugins. Atom is the new kid whose features will rapidly grow; it doesn't feel production ready just yet and there are concerns in the area of performance.

[Update/Edit: May 18, 2015]

A note about improvements to these two editors since the time of writing the above.

In addition to bugfixes and improvements to its core, Atom has experienced a rapid growth in third-party extensions, with autocomplete-plus becoming part of the standard Atom distribution. Extension quality varies widely and a particular irritation is the frequency by which unstable third party packages can crash the editor. Within the last year, Atom has moved to using React by way of shifting reflow/repaint activity to the GPU for performance reasons, significantly improving the responsiveness of the UI for typical editing actions (scrolling, cursor movement etc.). While this has markedly improved the feel of the editor, it still feels cumbersome for CPU intensive tasks as described above, and is still slow in startup. Apart from performance improvements, Atom feels significantly more stable across the board.

Development of Sublime has picked up again since Jan 2015, with bugfixes, some minor new features (tooltip API, build system improvements) and a major development in the form of a new yaml-based .sublime-syntax definition (to eventually replace the old xml .tmLanguage). Together with a custom regex engine which replaces Onigurama, the new system offers more potential for precise regex matching, is significantly faster (up to 4x) and can perform multiple matches in parallel. Apart from colouring syntax, Sublime uses these components for symbol indexing (goto definition etc.) and other language-aware features. In addition to further speeding up Sublime, particularly for large files, this feature should open up the potential for performant language-specific features such as code-refactoring etc.. Further 'big developments' are promised, though the author remains, as ever, tight lipped about them.

Solution 3

Atom is written using Node.js, CoffeeScript and LESS. It's then wrapped in a WebKit wrapper, which was originally only available for OSX, although there is now also a Windows version available. (Linux version has to be built from source, but there is a PPA for Ubuntu users.)

A lot of the architecture and features have been duplicated from Sublime Text because they're tried and tested. The plugin system works almost the same, but opens up a lot of new features and potential by exposing new APIs too.

I believe that the shortcuts remain mostly the same due to muscle memory – people will remember them and be able to instantly click with Atom.

The preferences can be controlled with a GUI rather than by editing JSON directly, which might lower the entry barrier towards getting people started with Atom. I myself find it difficult to navigate them all since there is no search feature in Preferences.

You can signup for an invite on the ##atom-invites IRC channel or signup to their website and add your email. The first round of invites came quickly.

Solution 4

Atom is open source (has been for a few hours by now), whereas Sublime Text is not.

Solution 5

Here are some differences between the two:






*Though APM is a separated tool, it's bundled and installed automatically with Atom

Share:
170,573
Om Shankar
Author by

Om Shankar

JavaScript ... and HTML5 APIs and Browsers, ... and Ruby, Rails, Python, Perl, ... and Android and iOS, ... and User Interface, and Shell Scripting and OSX ... and JavaScript ! SOreadytohelp

Updated on February 13, 2020

Comments

  • Om Shankar
    Om Shankar about 4 years

    Github announced Atom which is very similar to Sublime. Even some keyboard shortcuts like ⌘ + P, ⌘ + Shift + P etc. are same.

    1. How is Atom different from Sublime?
    2. Does it include IDE features like build tools, function definition jumps, documentations, etc.?
    3. Has anyone using Sublime got a Beta invitation to point out the differences?
    4. Can I use the themes, schemes and packages from Sublime as is, like Sublime could do with text mate.

    Atom Shell1

    PS: Open image in new tab for bigger resolution.

  • Om Shankar
    Om Shankar about 10 years
    Awesome. So Adobe Brackets will taste dust before even catching fire. While working at Adobe, I was very much enthusiastic about a parallel team working on Brackets - also built on WebKit wrapper (CEF)
  • Om Shankar
    Om Shankar about 10 years
    Also, did u get an invite? I added one more point about the packages. I don't want to loose my existing Sublime packages, but want to test Atom
  • Om Shankar
    Om Shankar about 10 years
    Never mind, I saw this statement in features: "Import TextMate grammars and themes"
  • James
    James about 10 years
    Sorry Om, I just logged in to SO again. I got an invite within the first 5 minutes of them being sent :) Ah yes, I forgot to mention that themes and schemes can be converted from TextMate style to Atom. If my answer has helped you, would you mind clicking the big tick?
  • ellotheth
    ellotheth about 10 years
    How is it not a real open source project? OSS licenses obligate project owners to make the code available, not to accept contributions from the public.
  • Pascal Le Merrer
    Pascal Le Merrer about 10 years
    Here is a quote from Github's Tom Preston-Werner: "Atom won't be closed source, but it won't be open source either. It will be somewhere inbetween, making it easy for us to charge for Atom while still making the source available under a restrictive license so you can see how everything works. We haven't finalized exactly how this will work yet. We will have full details ready for the official launch.". Source: discuss.atom.io/users/mojombo/activity
  • ellotheth
    ellotheth about 10 years
    Ah gotcha, thanks. So it sounds like they'll open packages and interfaces, but keep the core closed.
  • James
    James about 10 years
    Whilst I agree with everything else, I wouldn't say it has better GitHub support, since it can't even commit or stage files from within the editor (unless I'm missing something). I'd say this is a basic feature for a product coming from GitHub itself?
  • Connor Leech
    Connor Leech about 10 years
    will Atom work on Ubuntu? I got invited and they sent me a mac download link
  • James
    James about 10 years
    @ConnorLeech not yet it won't I'm afraid.
  • Keeeeeenw
    Keeeeeenw about 10 years
    @James, as far as I know, on the lower right corner of your opened file, Atom will tell you the current git branch and there seems to be a native Git Diff support. But you are right that it does not have the basic commit/push/pull function. I should have been more clear on this part.
  • jb510
    jb510 about 10 years
    Maybe but it sounds to me me more like they'll make all the code public, it just won't be under a copyleft or permissive license. ie. you can't legally redistribute it, but you can view the source in total. Of course, only time will tell.
  • Om Shankar
    Om Shankar about 10 years
    @PascalLeMerrer, this makes Atom even more similar to Sublime's current stage.
  • theflowersoftime
    theflowersoftime about 10 years
    @James why would you want to be doing commits from your editor in the first place?
  • theflowersoftime
    theflowersoftime about 10 years
    @Keeeeeenw they have said they plan to charge for it, much like sublime. There's already an Atom package for mimicking the ST license reminder ;)
  • James
    James about 10 years
    @ThomasMcCabe why wouldn't you? Have you looked at SublimeGit? It's improved my workflow dramatically.
  • BigFive
    BigFive about 10 years
    Theres a package for that: (shameless plug) atom.io/packages/Sublime-Style-Column-Selection (alt+drag)
  • JorgeArtware
    JorgeArtware almost 10 years
    I feel this answer needs a little updating; preferences can ALSO be controlled editing cson and now there are search and filter features.
  • JorgeArtware
    JorgeArtware almost 10 years
    I feel this answer is a bit outdated, since atom is now fully open source.
  • sebt
    sebt almost 10 years
    @JorgeArtware, I don't think the open-source announcement for Atom obviates any of the info given above beyond the obvious. I have however fixed the post to reflect the fact and added a little extra info to bring things up to date.
  • JorgeArtware
    JorgeArtware almost 10 years
    I had voted up your great answer even before the fact, I just pointed out it needed a bit updating, which you did, so that's cool.
  • Matthew Daly
    Matthew Daly almost 10 years
    @ConnorLeech There is now a PPA for Ubuntu
  • jameh
    jameh almost 10 years
    @PascalLeMerrer I believe that statement was made before the decision to make Atom OSS under the MIT license (that was not the plan originally
  • Pascal Le Merrer
    Pascal Le Merrer almost 10 years
    @Jameh you're right. Github changed their initial plan. and my answer was related to their initial statement.
  • thegreendroid
    thegreendroid almost 10 years
    An alpha Windows build is now available
  • Gaurav Kumar
    Gaurav Kumar almost 10 years
    Atom has since moved to a new editor called React and performance is now considerably better, although I haven't compare that to ST.
  • Unome
    Unome almost 10 years
    @Om Shankar Adobe Brackets was very promising, but when I ran a global search on my file tree and it crashed Brackets immediately, I gave up on it. (I've gone back several times and it never seems to have caught up, so sad)
  • Unome
    Unome almost 10 years
    The git tree highlighting has been one of the winning features for me in Atom, seeing what code hasn't been committed or added has been extremely valuable to me
  • Unome
    Unome almost 10 years
    Since this post, Atom has added full Window's support via a .exe
  • Eli Duenisch
    Eli Duenisch over 9 years
    Hi, might be a bit late to add to this thread, but I want to share my experience on editing code in such an 'extreme environment' (over ssh). Sublime 2 and 3 are terrible because they tend to freeze for seconds when trying to save text. My internet connection is very fast so that should not be the reason. Because this happens quite often I quit using Sublime. So far Atom seems to work fine in that sense, no freezing whatsoever.
  • Kenial
    Kenial over 9 years
    @EliDuenisch Interesting. Can you share details of your environment info? (As I wrote) I've tested with OS X Mountain Lion and FUSE 2.7.3 / OSXFUSE 2.6.4 / sshfs 2.5.0 and Sublime 2. As I read your comment, I think it's time to retest Atom myself, perhaps :)
  • Kenial
    Kenial over 9 years
    Unfortunately, I can't remember the version of Atom I used at that time, though.
  • Eli Duenisch
    Eli Duenisch over 9 years
    I'm working on Linux Mint and the remote machine is an Ubuntu Linux server. The connection is established via SSH tunnel. There are lags during saving that are a a bit too lang to be explained just by data transfer. These lags do not occur when using the standard text editor (Gedit/Pluma). But at least there is no freezing of the GUI like in Sublime.
  • Kenial
    Kenial over 9 years
    @EliDuenisch Then the difference may be from different OSes. Remote machine was Ubuntu server in my case, too. I will update my post after retesting it, and if there is any change.
  • nwinkler
    nwinkler over 9 years
    You can get a minimap in Atom by installing this package: atom.io/packages/minimap
  • Eli Duenisch
    Eli Duenisch over 9 years
    That will be interesting. I really want to use Atom because it is opensource and has tons of features any other free editor for Linux systems has not. So I hope speed will improve in the next versions.
  • hippietrail
    hippietrail over 9 years
    You say they are "different" and you say "there is much better ..." But you don't say which of Sublime or Atom is better. Do the Sublime links suggest you're promoting Sublime? Or are they links to unfixed bugs in Sublime as proof it needs to catch up with Atom?
  • jeffmcneill
    jeffmcneill over 9 years
    Sublime has very bad Asian language support. They cannot render South Asian/Southeast Asian scripts properly, and do a poor job on East Asian languages. The links are evidence of the lack of support. I am unable to use Sublime because of these features, however I am able to use Atom because of the better language support.
  • hippietrail
    hippietrail over 9 years
    Ah well this is very important for me too. You should add information from your comment into the actual answer. I've been trying out Brackets and it's working OK with Lao and Thai for me so far.
  • gdelfino
    gdelfino over 9 years
    "installable Atom packages for Windows and Linux are yet to be released" -> I have just downloaded the Windows installer and it could not be easier. Works great even without admin privileges.
  • hookenz
    hookenz over 9 years
    I think the free vs paid comment should be number 1. Thought I'd try out atom coming from emacs and it looks slick.
  • atilkan
    atilkan about 9 years
    I see lots of Python file on Sublime Text
  • cc young
    cc young about 9 years
    now have deb for Ubuntu users
  • pradyunsg
    pradyunsg almost 9 years
    @emrah Yes. Sublime Text is written in C++ and Python. (even google knows that) :P
  • mickro
    mickro over 8 years
    "Atom is only available on the Macintosh"... not really. You have Linux (deb, rpm) and Windows versions available on atom website
  • harrypujols
    harrypujols over 8 years
    Perhaps "at the time of this writing" for an answer posted over a year ago should have been a hint that the versions example was bound to be outdated.
  • trognanders
    trognanders over 8 years
    It is also worth noting that the node.js is not particularly slow, especially when it is written to take advantage of V8's optimization strategies.
  • phk
    phk almost 8 years
    Apparently fixed in Atom 1.9 (which is currently in beta).
  • Raptus
    Raptus over 4 years
    This no longer happens. It was linked to an issue with disk space being full and file contents truncated to zero rather than copying the contents to the temporary file.