Atom Editor or Sublime Text – which one to pick?
atomtips.com
atomtips.com
I liked it, the dealbreaker (to say the least) for me was broken support for non-US keyboard layouts, it can't differentiate alt from alt-gr making it impossible for me to type most brackets and pipe.
This has been an open issue for months, with a couple of community contributed "solutions" that don't quite cut it. Considering they are pretty much ignoring the problem I won't be checking out Atom again soon.
I have such a visceral hate for Alt-GRrrrr...
Hopefully Github will come to their senses and instead start using Skia directly, like ST3 does. Proper 2D library bindings would be super valuable to any community.
Edit: in latest release notes it says "Atom now runs on top of Chrome 40 and io.js".
All you need to know is that you can easily use both for free and decide if you like both, either, or neither. So basically, pick whatever one (or none of them!) that you prefer after using it for a bit.
Atom has the upside of being open-source, and being easier for people familiar with the web stack to modify. Sublime has the benefit of being much faster. You'll be able to achieve roughly the same with both, and it'll come down to individual use cases and preferences.
(Although I will say that I don't consider the replacement of a lovely JSON-formatted settings file with a GUI to be a benefit at all!)
Everyone uses editors differently (hence the big vim/emacs/etc flame war) and it is where you'll spend time coding. A lot of time. I don't think reading someone else's opinion really helps.
When I chose my editor everyone was crazy about TextMate. I tried it out and didn't like it. I was completely afraid of Vim (and all of the jokes about how hard it was) and after I tried it I couldn't stop using it. It's a very personal choice.
Just try them out!
Edit: typo
2. Also, I'm not sure how others work, but I'm more of a one editor for everything person. Atom is not that editor. Vim, Emacs and to an extent, because of being native and having huge number of plugins, Sublime is quite one-ring-to-rule-them-all editor. I feel that Atom won't ever be that, nor does it want to be that.
3. Time spent in learning the shortcuts of both these editors are negligent and both provide enough ways to tailor it to your needs. But I feel that Atom has better project management capabilities than Sublime. Github is a major help here.
That's about it. I'm a Sublime fan, and just don't feel to need to switch anything. I would rather spend that time building something fun than invest myself in learning another editor.
Oh yes. As fair and balanced as a guide from an Atom fanboy can be. The sort of article that deserves to be linked two or three times.
Atom exists in an uncanny valley, and re-introduces tons of problems that the design of OS X has worked hard to avoid. I hope Atom doesn't succeed for that reason: it's a big regression in UI.
Then I use Sublime Text for big files, quick edits, and the occasional stuff that Atom can't do yet.
But after avoiding Atom initially, trying it again about a week a go was a nice surprise. It has almost any plugin that I used Sublime Text for, and a bunch more. It's good enough for me, and I'm pretty picky.
Atom takes about the same amount of time to start up as RubyMine but it only provides a fraction of the functionality.
The one thing a pure editor has over an IDE is start up time and Atom is not even having that.
Well, Atom does start significantly faster than WebStorm (and it's siblings). On top of that, actually using Atom is much less sluggish than WebStorm or other full-blown IDE's. This is on a MacBook Air though, with tons of apps and at least two browsers open.
That said, I'd probably use an IDE if I do more complex work. For my current web-development needs Atom is fine, and since I mostly work within one project, the startup time is not an issue.
Furthermore, since most of the keyboard shortcuts and interface is similar to Sublime, it's not a big deal to open ST every once in a while for bigger files.
The main reason I'm switching to Atom for now, though, is that I feel it has a stronger future than ST, and I might finally scratch some of my own itches by writing plugins. That's harder for me to do for ST.
There seems to be devs coming from at least three camps: the ones that came from the emacs/vi side that never really took to IDEs, those that once used (say) Eclipse and were burned by IDEs and now like the less-is-more of editors, and those that started developing in IDE's and can't imagine NOT having an integrated debugger and so on (Yes I know several text editors can be set up to have most IDE features, but for the sake of argument lets count IDEs as those that were built from the ground up as full IDEs).
Not sure what divides devs this way but the 2 main reasons should be platform: if you are used to linux of course you have huge benefits of having a console based editor, perhaps so much that you can forego a lot of the bells and whistles of a desktop based one, especially of you don't use graphical designers UI elements and such. The second reason I can think of would be language: If you are work on niche languages you are likely to find editor support in text editors, but not likely a good IDE. Likewise if you work in dynamic/weakly typed languages, the benefits of refactorings and navigation are much smaller than they are in a static/strongly typed langues.
So I'm curious: if you aren't a Haskell or js developer, are you using a non-IDE as your "main" editor? If so, why?
For me personally I want a full IDE for my dev work and can't imagine coding without full project support, integrated debugger, refactorings and so on, and I can't be bothered with configuring editor plugins for basic things such as auto-indentation, auto-complete or syntax highlighting, and I haven't seen any really good dev environents based on editors in neither Sublime, vi or emacs. I do use editors for viewing random files/logs, editing resources, making documentation and so on, but not as my main dev tool. As such, the requirements are very different from an editor that is a main dev environment from 8 to 5.
I've used Visual Studio for C# and C++, and Eclipse for Java.
For Python, Javascript, Go, and editing random files, I prefer Sublime Text. It loads and runs way faster than VS or Eclipse. Setting up plugins is usually a one-time thing that only takes a few minutes to follow some directions off the web. There usually zero "configuration". Just install and you're done.
My guess is that your day job is using Java, C++, or a .Net language, and that's why you feel tied to an IDE (probably VS or Eclipse). Other languages don't really need that much integration into an IDE (unlike others, I don't think needing an IDE is really a bad thing, generally it means there's just a lot of stuff you can do with the language besides writing logic).
I mainly write Go at work, and Sublime is great for that. There's not really a Go debugger yet (there's a couple bad choices, but not ones I'd want to use on any kind of a regular basis), and there's not really a way to write GUIs either... so what's left is "write code, format code, run tests, run program". The last two are purely command line, and the first two are what my editor does.
Yes, at least an integrated project support, debugger and compiler (but could be more, such as profiler, testing, designer). You are correct I use the large OO langs, and I agree that IDEs are only really useful for languages with strict types, large class libraries and large projects (so for example C++, and the JVM and .NET languages).
> write code, format code, run tests, run program
But isn't there a frustrating number of unnecessary roundtrips involved here? At least in go, which is strictly typed, if you misspell a type or function name, when will you notice? Can you configure Sublime so that you at least get compiler support (so a typo will be noticed when you make it rather than later?). And can you make sublime help you with displaying documentation hints or with completing statements? If you have a compiler error, how do you navigate to where it is? Do you have to read the line number in the compiler output and then open the offending file/tab in Sublime and navigate manually to the line? At least for most langs in Emacs you get compiler message parsing so you can jump straight to the problem.
Coming from the IDE world, I'd just never get off the ground with a new language if I had to go from autocompletion and squigglies under typos, to having to remember type names and function names in my head (yes IDEs have basically done that to my head, I can no longer remember even the smallest bit of language trivia).
Integrated project support is not really needed for Go, at least. There's no project file that defines what's in a project, it's just the directory layout, and everything is embedded in the .go files themselves, so there's no need to parse something to know what's "in" or "not in" the project.
Anyway the dealbreaker for me was the very slow start of Atom (and I've got a very good machine). When every app loads instantly, I'm not going to wait 5 seconds for each new window of Atom I launch.
I don't even care about the startup speed, but Atom generally doesn't feel polished compared to ST. Starts with the terrible font rendering on Linux.
.. [0]: http://kate-editor.org/
OT: does anybody know PSPad? It has a very interesting feature set, though it lacks more advanced things like collapsing, refactoring tools; I find it very useful sometimes - especially its columnar editing feature.
Having said that, Atom's got my bet as the text editor of the near future.
Your editor is a very personal choice, and something you'll use a lot, so it's worth putting the time in to try a few before you stick with one.
For minor edits and quick referencing, I'll typically use Emacs. Then some Jetbrains IDE for work/specific school projects. I definitely think I've found a balance that works well for me, but the fact that I'm switching so much makes me unsure if it is best.
They're both good, powerful and accessible editors (alongside a pile of other editors that people will swear on their children's lives are the best)...
However, nobody else on this planet is you. None of us shares your exact likes, requirements and thoughts. What I like in Atom might really piss you off. What you need from ST might not even be on my radar.
If you want to pick, try both and decide for yourself.
For better look see, http://imgur.com/a/yMexQ
For me, Atom was "death by 1000 cuts", with it's interminable sluggishness eventually driving me insane.
But I would like to use Atom instead, because it has JavaScript plugins.
Also @ doesn't work out of the box on Atom, because "alt gr"+"q" is a hot key, lol
Atom is also, "free as in beer", is it not?
Next question
I dont feel more hip in vim.
I strongly doubt that there is much different (perhaps some limitations of the app itself which are described below in other comments), that a person that worked with atom editor for a long time and mastered it vs a sublime text user that mastered the editor will work at a different speed.
[ edit ]
And i stick with sublime :)