Bozhidar Batsov <bozhi...@batsov.com> writes:
Anti-Emacs stuff really gets to me.
i too find it somewhat tiresome. It makes me wonder how many
people have actually stopped and asked themselves: "Given that
Emacs seems like a crusty ancient artifact from The Land That Time
Forgot, why do so many people keep using it?"
i can't speak for other Emacs users, of course, but here are some
of the main reasons i prefer to use (GNU) Emacs[1]:
* i don't have to learn and use a distinct, possibly
resource-hungry,
IDE[2] for every new programming language or environment i
need/want to work in. (When the Swift language was released, for
example, basic Swift support in the form of `swift-mode` became
available within less than a week.)
* Further to the resource-usage issue, i can more easily use Emacs
remotely over low-bandwidth links than i could use an IDE.
* IDEs typically don't allow one to change their basic behaviours
whilst
they're running. Related: if there's a bug fix or feature i want
applied, i can apply it myself, rather than having to hope that
the maintainers will (a) accept that it's something that
/should/ be applied, and (b) actually apply it.
* In my experience, Emacs tends to be less of a 'black box' than
some
IDEs, in that i can more easily get a better sense of what's
going on "behind the scenes". This in turn means that i've got a
better sense of the relevant build system, and how to fix and/or
tune it in particular circumstances.
* Emacs is available for a wider range of platforms than most
IDEs,
meaning it's more likely to be available to me should i need to
work on a particular platform.
* Emacs is the product of approximately three decades of constant
development, such that it handles many corner-cases of many
scenarios (e.g. in the area of i18n) and continues to adapt to
new ones.
* Emacs is, in my experience, one of the best-documented pieces of
software i've encountered. Absent or poor documentation is
typically treated as a bug.
* The Emacs ecosystem is growing rapidly; http://melpa.org/
currently
lists ~2400 packages ("extensions" or "addons") available for
easy installation via Emacs' package.el UI.
* Clojure-oriented point #1: since ~80%[3] of Emacs is written in
Emacs
Lisp, a lot of work has been put into support for sexp-based
languages; cf. `paredit`.
* Clojure-oriented point #2: having a polyglot dev system written
in an
easily-modifiable Lisp environment makes it more attractive to
me as someone with a Lisp mindset, as per my interest in
Clojure. :-)
Yes, there can be a steeper initial learning curve with Emacs than
with IDEs, e.g. things like 'frames' and 'windows' not meaning
what one might expect (which is hardly surprising, given that GNU
Emacs predates the existence of GUIs-as-standard, and the
Web). Yet this is a one-time cost that, in my experience, is
rapidly amortised as one starts to use Emacs in an increasingly
wider variety of contexts. For example: being able to use CIDER
when i wanted to start learning Clojure meant that i could focus
on learning Clojure itself, rather than an entire new dev system.
Emacs is surely not the best tool for all developers in all
contexts, but i also feel it's something that developers - and
Clojure developers in particular - should perhaps at least give a
second look.
Alexis.
---
[1] Or Vim, if Emacs isn't an option. Some things i mention here
are
also applicable to use of Vim.
[2] In the /literal/ sense of the phrase, Emacs can indeed provide
an
Integrated Development Environment. But obviously, i'm here
referring to highly graphical IDEs such as Eclipse.
[3] According to David A. Wheeler's sloccount(1) run on the Emacs 24.5.1
sources.
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google Groups "Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.