Overall Satisfaction with Atom
I use Atom for C++ development because I enjoy its user interface and I like how extensible it is. I first discovered Atom when a mentor of mine introduced me to the Beta. I was immediately drawn to the fact that it has support for plugins written in Node.js, which I am a big fan of. I also like its Git integration. The fact that the whole app is written in what are essentially web development technologies also appeals to me, given my history in web development. Since I do a lot of Android development, I use Android Studio. However, for the JNI layer and native code (written in C++, in my case) I prefer using Atom over Android Studio.
- Git integration
- Plugin ecosystem
- C++ development
- Sometimes things do not work as expected. Atom has improved a lot over the last couple of years, but it still could use some polish.
- Atom needs plugins for quality-of-life improvements. This is not necessarily a bad thing, as it allows you to customize Atom to suit your needs.
- It would be nice if Atom had some recommended starter packages that come with popular plugins for highlighting, soft-wrapping and so on.
- There are some plugins that could be turned into core Atom features, like Linter and Beautify.
- Atom has made writing C++ code more enjoyable.
- Atom has taken a decent amount of time to configure with plugins, but in my opinion, it was worth it.
- Atom has helped us reach our business objectives of writing quality C++ code and working on the JNI layer for Android apps which have a native code component.
Atom is not as great for Android development as Android Studio, as great for iOS development as Xcode, C# for Visual Studio, or even Java with Eclipse. Atom is less-preferred for any of those platforms for me. However, it is my preferred IDE for just about every other large-scale project. I still use Sublime Text Editor for a lot of things, like small projects, quick fixes, one-offs and such. But if I'm going to work on a large web project or C++ code, Atom is my go-to Integrated Development Environment. I don't open Atom a great deal but I've enjoyed it considerably when I did use it. I first started using Atom when a mentor of mine suggested it. He uses it for all his contributions to an open source project that spans platforms, supporting a web application, desktop app, as well as Android and iOS implementations. Atom is perfect for projects like that where you need excellent git integration and the ability to switch between languages seamlessly.