Why should I use emacs instead of netbeans?

1,176 views
Skip to first unread message

James Keats

unread,
Jun 18, 2011, 7:07:39 AM6/18/11
to Clojure
Hello all.

I'm currently using Netbeans' clojure IDE and I quite like it. It has
a REPL. It highlights syntax and matches parentheses. It supports
maven and mercurial/git. It provides completion and doc for both
clojure and java. It has allows evaluation of forms from source code
to repl. It also allows me to customize keyboard shortcuts.

The other option that I've seen being popular is emacs with cake. I've
seen that cake opens two jvms, one for itself and one for project, ok,
nevermind that, no big deal, but emacs, i find, is unnecessarily
arcane compared to a modern java IDE. It's keyboard shortcuts and
combinations are based on ancient keyboards and terminals and
historical conventions, and while i can customize that and only use
what I need, netbeans already has a comfortable, modern setup out of
the box. I see that some would suggest paredit, but honestly, i don't
see that, navigating code through keyboard shortcuts, as all that much
of an advantage considering that using the mouse or the trackpad is
very convenient.

What am I missing out on? Thanks.

Ken Wesson

unread,
Jun 18, 2011, 7:33:10 AM6/18/11
to clo...@googlegroups.com

By not using emacs? IMO, not much. Not even paredit, since it's
available in CCW (the Eclipse Clojure plug-in) if you want it badly
enough. (With emacs-ish keyboard navigation bindings, natch. But you'd
be able to copy, paste, save files, etc. "the normal way" with CCW,
without any time spent rebinding dozens of keys first, and you'd be
able to navigate both the normal way AND the paredit way. Best of both
worlds?)

--
Protege: What is this seething mass of parentheses?!
Master: Your father's Lisp REPL. This is the language of a true
hacker. Not as clumsy or random as C++; a language for a more
civilized age.

Andreas Liljeqvist

unread,
Jun 18, 2011, 7:35:47 AM6/18/11
to clo...@googlegroups.com
Never used Cake, but Lein works great.

Emacs is all about customization - something bothers you? Just change it

The standard keybindings are extremely bad, change them.

I use this one: http://xahlee.org/emacs/ergonomic_emacs_keybinding.html
Just ignore the controversy around the guy, the bindings are well reasoned.

If you are going to use Emacs you must learn the keybindings, else a standard ide is a better choice.
When writing code you are spending a surprising amount of time on navigation and copy/paste.
It's well worth it in the end and your mouse arm will thank you.



2011/6/18 James Keats <james....@gmail.com>
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clo...@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+u...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Tassilo Horn

unread,
Jun 18, 2011, 7:43:29 AM6/18/11
to clo...@googlegroups.com
James Keats <james....@gmail.com> writes:

Hi James,

> I'm currently using Netbeans' clojure IDE and I quite like it.

So why are you bothering to use something else?

> but emacs, i find, is unnecessarily arcane compared to a modern java
> IDE. It's keyboard shortcuts and combinations are based on ancient
> keyboards and terminals and historical conventions, and while i can
> customize that and only use what I need, netbeans already has a
> comfortable, modern setup out of the box.

Once you are used to it, you cannot believe how anyone can get work done
with these "modern" (aka windows-like, mouse-driven, inextensible) user
interfaces. Emacs has an extremely high usability factor, but it
requires some time to become acquainted with it.

What I totally miss in any "modern" application is emacs' ability to
describe itself. `C-h k <any>' explains exactly what the <any> shortcut
does, `C-h k <click>' explains in details what a mouse click on some
text, button, or menu item does, `C-h b' shows you all currently
applicable shortcuts, and I could go on and on.

In contrast, "modern" UIs have at best some tooltip that might give a
hint on keywords you can use to search the documentation, if there's
any...

> I see that some would suggest paredit, but honestly, i don't see that,
> navigating code through keyboard shortcuts,

Paredit it about editing on syntactic units (which are lists in lisp)
instead of only characters, words, and lines. That it also offers good
navigation is only a side-effect.

> as all that much of an advantage considering that using the mouse or
> the trackpad is very convenient.

Hey, now I know two guys that really think a trackpad is convenient. ;-)

Bye,
Tassilo

Michael Klishin

unread,
Jun 18, 2011, 8:22:26 AM6/18/11
to clo...@googlegroups.com
James,

For working with Clojure, if you are happy with Netbeans, use it. Especially if you are relatively new
to Clojure, switching to Emacs won't do groundbreaking changes to your productivity in the short term.
As you become more and more savvy with Lisp, Emacs will have more and more to offer you.

However, your assumption that Emacs is "archaic" is wrong. Emacs is very mature and battle tested.
Emacs is fully programmable, with very efficient shortcuts, a lot more features than you can imagine
(especially for functional programming languages) and it simply has a lot less noise in the UI.

It has most of the features people attribute to "modern Java IDEs" out of the box (Etags alone provide 80% of those
features Eclipse users love to cite), newcomers just don't know about them because they have weird names for historical
reasons or work slightly differently (again etags is a good example).

But again, If you are happy with Netbeans or IntelliJ IDEA, don't worry about Emacs too much and ignore
Emacs zealots. I can imagine that as time goes by and polyglot programming on the JVM becomes more
and more widespread, IDEs like IDEA will offer cross-language intergration features Emacs won't match, at least
without sophisticated extensions.

2011/6/18 James Keats <james....@gmail.com>

--
MK

Stefan Kamphausen

unread,
Jun 18, 2011, 11:08:33 AM6/18/11
to clo...@googlegroups.com
Hi,

these modern IDEs really do a tremendous job at organizing projects and providing additional information at programming time. It's just, their text-editor components suck.

If you are a Java developer, it's probably better to stay away from Emacs.  Should you ever get used to it, you're doomed to never be able to use something else, and Emacs is not particularly good at Java programming.

That being said, I had my best times in front of the computer with Emacs/SLIME and Emacs/AUCTeX.

;-)

Cheers,
Stefan

Vincent

unread,
Jun 18, 2011, 2:17:35 PM6/18/11
to clo...@googlegroups.com
I want to know how to do it with netbeans ide ? 
any nice step by step instructions will be very helpful ,
 as emacs learning curve and setup is taking much time

thanks in advance .
vincent

Michael Klishin

unread,
Jun 18, 2011, 3:23:12 PM6/18/11
to clo...@googlegroups.com
2011/6/18 Vincent <vince...@gmail.com>

I want to know how to do it with netbeans ide ? 
any nice step by step instructions will be very helpful ,

Vincent,

Check out http://www.enclojure.org/gettingstarted
--
MK

Sean Corfield

unread,
Jun 18, 2011, 4:12:10 PM6/18/11
to clo...@googlegroups.com
On Sat, Jun 18, 2011 at 4:07 AM, James Keats <james....@gmail.com> wrote:
> I'm currently using Netbeans' clojure IDE and I quite like it.

I'm currently using Eclipse with CCW and I quite like it. Much depends
on what you've been used to. I've worked in an Eclipse environment for
several years and use it for all my day-to-day coding needs (Java,
Scala, Clojure, CFML, HTML, JavaScript, CSS - supported by various
plugins).

> The other option that I've seen being popular is emacs with cake.

I used Emacs many years ago and when I first started getting into
Clojure I tried a few different flavors of Emacs again since it seemed
to be the editor of choice for a lot of Clojure / Lisp people. I found
it clunky - and it seemed (to me) like it really hadn't changed much
in about 20 years (which is both good and bad). So I quickly settled
back into Eclipse.

> What am I missing out on? Thanks.

If you're happy with Netbeans, especially if you're using it for other
languages, I don't think you're missing out on anything.

Switching IDEs is really a much bigger deal than a lot of people seem
to think. You have to really immerse yourself in the new IDE and stick
with it. You have to learn a lot of new stuff. Emacs fans will tell
you it's worth it. Maybe it is. But "good enough" is a perfectly good
reason not to switch.
--
Sean A Corfield -- (904) 302-SEAN
An Architect's View -- http://corfield.org/
World Singles, LLC. -- http://worldsingles.com/
Railo Technologies, Inc. -- http://www.getrailo.com/

"Perfection is the enemy of the good."
-- Gustave Flaubert, French realist novelist (1821-1880)

Mark Engelberg

unread,
Jun 18, 2011, 9:53:55 PM6/18/11
to clo...@googlegroups.com
My main motivation for using Emacs is that it is rock-solid stable. I
look forward, however, to the day when the clojure plug-ins for the
other IDEs reach that level of maturity and stability, so I can leave
Emacs behind.

James Keats

unread,
Jun 19, 2011, 9:57:17 AM6/19/11
to Clojure


On Jun 18, 4:08 pm, Stefan Kamphausen <ska2...@googlemail.com> wrote:
> Hi,
>
> these modern IDEs really do a tremendous job at organizing projects and
> providing additional information at programming time. It's just, their
> text-editor components suck.
>
> If you are a Java developer, it's probably better to stay away from Emacs.  
> Should you ever get used to it, you're doomed to never be able to use
> something else, and Emacs is not particularly good at Java programming.
>

See, this is it. Navigating java libs, maven repositories, project
directories, xml files, et cetera et cetera is a much more arduous
task, imo, than dealing with clojure code, which I find fairly trivial
and not really needing much advanced editing features. I'm likely to
want to keep my methods short and my files small.

Strangely, I must admit that in the past I did find vim a bit more
modern than emacs and its keys generally more sensible, especially
when using shift-semicolon instead of esc. I just looked it up and vim
does have clojure support with paredit and slime. My main problem with
emacs is that most things require too many key presses, and I feel
that navigating solely through emacs multi-key keybindings, on the
advocacy of not taking my hands off the keyboard, is a recipe for RSI.
Perhaps there's virtue in using the trackpad after all. I don't know,
I'll see how it goes.

> That being said, I had my best times in front of the computer with
> Emacs/SLIME and Emacs/AUCTeX.
>

I had this similar situation with latex a few years ago, trying to get
myself into the emacs/auctex holy grail of productivity, and I must
admit that after a few days or weeks abandoned it for Kile, the KDE's
latex IDE, and for latex documents that are mostly composed of text I
quite liked lightweight markup languages, especially those in python
that output latex as python code is quite pleasant to read and modify.
I just simply found myself much productive with those.
http://kile.sourceforge.net/screenshots.php
http://en.wikipedia.org/wiki/Lightweight_markup_language

:-)
J

> ;-)
>
> Cheers,
> Stefan

Gregg Reynolds

unread,
Jun 20, 2011, 11:47:58 AM6/20/11
to clo...@googlegroups.com
On Sun, Jun 19, 2011 at 8:57 AM, James Keats <james....@gmail.com> wrote:
>
>
> On Jun 18, 4:08 pm, Stefan Kamphausen <ska2...@googlemail.com> wrote:
>> Hi,
>>
>> these modern IDEs really do a tremendous job at organizing projects and
>> providing additional information at programming time. It's just, their
>> text-editor components suck.
>>
>> If you are a Java developer, it's probably better to stay away from Emacs.
>> Should you ever get used to it, you're doomed to never be able to use
>> something else, and Emacs is not particularly good at Java programming.

Minor correction: if you get used to Emacs, you'll never want to use
anything else. Not only that, you'll want to spend lots of time
customizing emacs. ;) FWIW, I've never had a problem programming Java
in emacs.

>>
>
> See, this is it. Navigating java libs, maven repositories, project
> directories, xml files, et cetera et cetera is a much more arduous
> task,

That's funny, dired, bookmarks, and lots of related capabilities are
one of the main reasons I stick with emacs. Makes dealing with that
kind of stuff almost trivial.

> Strangely, I must admit that in the past I did find vim a bit more
> modern than emacs and its keys generally more sensible, especially
> when using shift-semicolon instead of esc. I just looked it up and vim
> does have clojure support with paredit and slime. My main problem with
> emacs is that most things require too many key presses

I suggest you reserve judgement until you actually learn how to use
emacs productively. Then the misgivings you have now will probably
strike you as trivial non-issues. One reason I like emacs is
precisely because it allows me to minimize my keystrokes easily (and
almost never touch the mouse).

In the meantime, if you're reluctant to commit to climbing the
learning curve, spend some time poking around
http://www.emacswiki.org/ to see what kind of things emacs can do for
you. The point being that it is a mistake to view emacs as an editor.
Vim is an editor (and a fine one, no flames please); emacs is really
a general purpose device with specialized text-editing capabilities,
along with zillions of other built-in and add-on capabilities
developed and refined over the space of at least three decades. If
it's a programming (or admin) task, somebody has probably figured out
a way to make emacs do it efficiently and painlessly. Even cooler,
somebody has probably figured out an innovative way of thinking about
and solving it.

If keystroke count has you losing sleep, check out
http://www.emacswiki.org/emacs/SkeletonMode,
http://www.emacswiki.org/emacs/AbbrevMode,
http://www.emacswiki.org/emacs/DynamicAbbreviations (I use this one
all the time), templates, yasnippet, etc. etc. Not to mention plain
old keyboard macros which are very simple and useful.

Don't forget http://www.emacswiki.org/emacs/CategoryHumor

-Gregg

Stefan Kamphausen

unread,
Jun 20, 2011, 2:45:48 PM6/20/11
to clo...@googlegroups.com
Hi,

 
On Monday, June 20, 2011 5:47:58 PM UTC+2, Gregg Reynolds wrote:
On Sun, Jun 19, 2011 at 8:57 AM, James Keats <james....@gmail.com> wrote:
 
Minor correction: if you get used to Emacs, you'll never want to use anything else.

that's precisely what I meant.  IIRC I am using Emacs since 1995/96 or something like that.  I just can't get accustomed to things like Eclipse and Netbeans, although I try from time to time.
 
 Not only that, you'll want to spend lots of time customizing emacs. ;)

Aye, several elisp libs plus a few thousand lines of customization code seem to be quite common after a few years of Emacs.

> directories, xml files, et cetera et cetera is a much more arduous
> task,

> See, this is it. Navigating java libs, maven repositories, project

That's funny, dired, bookmarks, and lots of related capabilities are
one of the main reasons I stick with emacs.  Makes dealing with that
kind of stuff almost trivial.

Not to forget anything.el
 

Ah well, whatever... I digress.

Cheers,
Stefan

Reply all
Reply to author
Forward
0 new messages