@mstred A Software Developer

Atom

Last week I had an idea to begin a series of posts related to things I mostly use in my daily life as a (web) software developer.

So for this first one, I’ll try to talk about Atom. This is actually the current text editor I’m typing these words into.

I’ve been dealing with text editors since I was just a kid who liked computers. Text editors are such tools which helps us to write down something important, giving us the chance to save this content into a file. That’s the basic feature.

The first editor I knew was Microsoft Notepad, since I’ve been using Windows in my childhood. Nowadays, I tend to use more Atom. Atom is a text editor made by the folks on Github and was designed with a hackable mindset.

A screenshot of Atom text editor

Atom’s simplicity and open-source endorsement are such examples of its features which qualify it as a strong competitor in this new era of editors (talking about the swag made by TextMate, Sublime Text and other hypey ones).

Besides that, plugin-based support to feature extensibility and integration to Git vcs makes this a wonderful app to use in a coding or writing routine. I’m currently using it both in home and work (as my second editor, since I actually use PhpStorm as my primary tool for the job - I know… it’s an IDE).

One package (the name used for its extensions) that I use a lot at work is Atom Beautify. It’s very nice and useful when you need to indent and organize your code (that explains the “Beautify” name) and I use it mainly to format JSON payloads that I get from HTTP responses, so that I can change them and save them the way I want (kinda different from viewer tools like JSON View).

I can’t say that Atom is perfect, by the way. One of its most notable issues is related to its sluggishness when you try to open a large text file. If you want to use it to open log files, forget it. This happens because Atom works on top of a JavaScript based toolkit for creating desktop apps, Electron (previously named atom-shell… yes, it came from Atom core development!).

Anyway, I think this won’t disappoint most of the people who work on smaller projects (or large projects with smaller files). I guess the community is discussing on some ways to improve this.