GitHub recently made its new text editor, Atom, free and open source to all OS X users (with Windows / Linux coming soon).
The release of the new editor sparked much controversy in February when it first surfaced for beta testing. Tagged as a 'replica' of Sublime, it got me thinking about what makes an editor a good editor?
Atom is still in an early beta phase and all of its features aren't complete yet, but it's still managed to create a large buzz for developers.
What's Good about Atom?
Atom, like most editors now-a-days, is themable so you can tweak the look and feel of your IDE.
It is built in a modular pattern (similar to Netbeans) so you can add specific packages as and when you need them. Turning modules on and off for different development projects you may be on. That is, easily toggling off Node support, Sass support, etc. If there is a module in Atom that you're not keen on, you can easily replace it with your own package and then upload it to the central repository on atom.io so everyone else can access it.
Atom has an open, developer-friendly API, so any third party developers can contribute anything they want to Atom to improve its performance and the application as a platform altogether.
The interface is very similar to Sublime, simple and easy tabbed interface so picking up the functionality of Atom is super easy.
Why Should We Care?
It's a fair question. I've used the IDE I work with for 5-6 years now and I wouldn't really be pursuaded into changing.
But the great thing about Atom is the fact you don't have to spend time setting up this 'ideal work environment' that you're adapted too. One thing that's important for me is being able to sift through projects and easily find files I need. Atom comes with a simple, friendly system browser with a fuzzy finder for quickly opening your files.
Another important feature I look for is a project wide search and replace functionality so I don't have to handle per-file basis to make updates across a selection of files. That, along with split-pane editing so I can preview two files at once. Thankfully, Atom includes a fast project-wide search and replace, multiple pane layout, code folding and easy snippet insertion.
My first glimpse at Atom was definitely one I'd recommend. In the long run, if you're spending a lot of time on your current IDE completing simple tasks, switching to Atom may dramatically reduce the time you spend setting up projects and managing your development cycle. Atom is packed with amazing features that can be easily developed on by the community, or even yourself - if you don't like how something works now.
I think developers should always be open-minded to try new IDE's that may help them with the development of any project. Whether it handles new languages that your current IDE doesn't support or just has a nice utility to quickly insert code snippets and template code patterns.