| (I mean absolutely no disrespect towards the author and his great post, it's just that after reading it I felt I have to write down an Emacs version of that.) Six reasons to use Emacs Emacs is a great IDE for octopuses and Lisp developers, but did you also know you can use it for almost every other project? Here are 6 reasons why you should use Emacs for your projects. Emacs is at the top of a one-element list when it comes to great free Lisp IDEs. But for a little over three years now I have been using it in more and more projects. Going from basic HTML, CSS, JavaScript to Erlang, PHP, C++ and programming ARM microcontrollers. You name it, Emacs can handle it. It is true, that Emacs was conceived initially for developing primarily with Lisp and various forms of stuff barely more convenient than pure assembly. But now that it is in its 24.4 version, it has grown to cover much more ground, from languages - as I mentioned above - to frameworks like Angular.js, Node.js, Symfony, Zend, etc… So here are 6 reasons to use Emacs: 6 - Emacs is uber-modular Unlike Eclipse, Netbeans, or most others, Emacs is a really modular IDE. And this is great for both users and developers.
After downloading Emacs you can choose between different packages, modules and extensions depending on your needs, If you only need C/C++ projects you won’t be downloading unnecessary packages for Java or PHP.
You can install, tweak and remove packages depending on your needs, making Emacs a highly customizable IDE with little effort. Plus, if you’re a developer, you can make Emacs do whatever you like by modifying running code on the fly. If a feature you want is missing, you can trivially code it up in few seconds and enable immediately, all without restarting Emacs. You can browse through the fully-documented elisp sources to study how the power of Lisp and right design decision can allow various modules augment other modules without conflict… Emacs also can have a Nyan Cat in a modeline. This can be very instructive. 5 - A great community Like all great open-source projects, Emacs has a very active online community. I rarely stumble on an issue that was not already solved somewhere on the Emacs wiki. This is particularly helpful when you’re discovering a new IDE. Also the Emacs Rocks videos. Those are great too. You can also participate in the community using IRC. Emacs has a built-in IRC client, of course. 4 - Org Mode Trying to organize your work? Emacs has some great text-oriented tools to suit your needs. It will happily turn your simple plaintext list of tasks into full-blown calendaring system, complete with clocking the time you spent on tasks, pomodoro mode (optionally installed in org-pomodoro package), generating agendas for whatever timespan and set of conditions you want, and many more; all of this with a very nice workflow and possibly the most convenient tool for editing tables on the planet. 3 - Teamwork Working on a team or alone I like to use version control (Git mostly) to manage my work. Emacs offer a great support for this (Git, Mercurial and SVN; and Darcs, and Fossil, and even TFS, you name it). You can manage branches, commits, pushes and conflicts effortlessly and without having to touch a mouse or leave your editor. No other IDE has perfected this, out-of-the-box, like Emacs (though you might want to install magit package). 2 - Browser REPLs Read-Eval-Print-Loops are awesome, as any Lisp-speaking SLIME-using programmer will tell you. Emacs has numerous REPLs that connect to browsers to make your life easier. Their main features are: Refresh on Save (ok, you'll probably have to type it up yourself, but it's a single defadvice...), bi-directional element inspection, JavaScript debugging, HTML debugging and pushing to browser, CSS debugging and pushing to browser, etc… If you’re an experienced web developer you’d say “I can set those up myself with some scripts and extensions”. And you’re correct. The thing is, it's simpler than it sounds. Emacs offers you all this with a bunch of simple M-x package-install invocations. 1 - Feature rich I have been using Emacs for a while now, and every other day I discover new things; and even if I discover a new thing in another IDE, the Lispiness of Emacs never ceases to amaze me - like with all Lisps, it's trivial to copy a feature from a competitor and do it better. That is, if you don't already have a better one. Note: I always keep something like vim installed for quick editing, most of the time because I'm too lazy to set up emacs-client as EDITOR for rare random interactions with interactive editing in unix shell. Are you using Emacs or another powerful editor? Share your experience in a comment! |
- Graphics tooling.
- GUI designer
- Semantic refactoring
- Graphic visualization of CSS modes
- Integration of JavaScript frameworks with code-completion support and two way editing between CSS, HTML and JavaScript code
- Graphical visualization of data structures in debugger
- Graphical support of heap data and threads in debugger
- ...