[cl-faq] draft answer for Q. Do I really have to learn emacs?

josh giesbrecht josh at thoughtlost.org
Sun Dec 18 22:51:15 CST 2005


#|
Here's my try at answering the dreaded emacs question.  I'm still pretty 
new to Lisp, so feel free to offer revisions or correct any mistakes 
I've made.  I've tried to be neutral on the quasi-religious editor 
topic, but if any of it still feels too 'opinion', feel free to point it 
out.
  - josh g.
p.s. I copied the lispified content formatting of the previous answer 
... does it actually help?  I missed if it was mentioned on the list 
somewhere.
|#

'(((:question
     "Do I really have to learn emacs?")
   (:answer
     "Not really.  If you want, you can edit Common Lisp code in 
whatever editor you prefer.  Then load those files from your 
Lisp-of-choice's REPL(*), or via the command-line with most compilers, 
and execute them.

This would be a minimal setup, but it might be fine for you.  After all, 
many people develop code in other languages (especially interpreted 
'scripting' languages) without any form of integrated IDE or debugger, 
and are perfectly content.  Having a live REPL to work in is already a 
step up from writing code in a plain editor and blindly sending it to 
the interpreter, as with the REPL you can make changes to live running 
code on the fly and interact with error messages meaningfully.

Of course, there are many advantages to having and learning a more 
powerful IDE.  Even so, there are other options to an emacs-based IDE. 
Commercial Common Lisps such as Allegro CL and Lispworks come with their 
own fully-featured IDE, and most have a trial version available. 
There's also the Java-based Jabberwocky CL IDE which, while not being as 
stable or widely used, looks like a usable alternative.

That said, there is a reason so many Lispniks use emacs.  SLIME, the 
free Lisp IDE based on emacs, is rather powerful.  And most who use it 
would say that basing the IDE around emacs is actually an advantage, 
since emacs is already a highly extensible and powerful editor.  (If it 
ain't broke, why rewrite it?)  But if learning emacs sounds like too 
great a hurdle to cross while learning a new language, you can learn CL 
in a different environment first and try SLIME out later on.

(*)REPL stands for Read-Eval-Print-Loop. Roughly speaking, it's the live 
command prompt that a Lisp environment provides, allowing you to 
dynamically enter or alter code on the fly.")))

#|
Not sure if the REPL explanation is necessary - it sort of depends where 
this Q ends up in the list.  I'm sure the REPL will be a question of its 
own, so maybe the footnote I've added can be tossed and the ref can just 
point to that question.
|#


More information about the cl-faq mailing list