C-a, C-e, C-b, C-f, C-p, C-n, C-v, M-v for line/screen maneuvering.
C-o for Ace-jump to go to the start of any words I see on the page.
C-d to delete. C-s to search for words not on the page.
C-k, C-y, and also how to use them with paredit to yank whole s-expression chunks.
Buffer switching and killing.
File saving and opening.
I teach the above to any friends who want to learn Emacs/Clojure/LISP, leaving out a few other features like whole word deletion and more advanced paredit. With halfway decent aptitude and a little practice, they become productive very quickly (within a few hours, which is a pretty good investment relative to "normal" text editors in my book).
Also, you can use a lot of the commands for normal OSX text editing, which further improves the investment.
So, sure, the barrier to entry doesn't look so high once you're past it, but insurmountable before. Specially when the official tutorial tells new users to move around the file using obscure key combinations and even the standard copy/paste/kill key combinations don't work.
If you're a Mac user, they're actually - in all likelihood - not that obscure; you can use the same exact key combinations in pretty much every OS X application.
The built-in tutorial is indeed exceissively comprehensive, but those "obscure" keybindings are incredibly useful, particularly C-a and C-e (much faster than using "Home" or "End", respectively), which is why they're covered. And really, the Emacs bindings aren't any harder than the CUA bindings; they're just different, and can be easily gleaned (in graphical Emacs installations, at least) by poking around in the menu and looking at the shortcuts for certain commands, like opening/saving files or killing/yanking.
> and even the standard copy/paste/kill key combinations don't work.
This is easily fixable by going to Options -> Use CUA Keys, which enables C-x for kill, C-v for yank, and C-c for copy. OS X users can also just use Command-C/V/X like normal, with or without this option enabled.
Apple doesn't go out of their way to really point this out. Ordinary Mac users have no idea about this. None!
Not only that, they're older (i.e., Emacs was there first).
Then after that it's easy to learn the C-x chords for splitting windows, and you're at about the level where I used emacs for about 5 years, with maybe some C-c C-c to compile things.
Honestly emacs is not that hard and you can be pretty productive with just the bare minimum. I still don't use the arcane commands to move the cursor around. I don't even know what they are. I use the arrow keys and pgup/pgdown.
Skip the complicated stuff and pretend you're using Notepad.
No?Being a beginner to Lisp doesn't imply being a beginner to programming. Why would an experienced non-Lisp programmer find being subjected to a Notepad-like development experience worth even the slightest consideration?
(EDIT: And non-experienced non-Lisp programmers also have a preferred tool-set, which is likely superior to Notepad.)
Emacs can be great - to some people. The "You have to use Emacs to program in Lisp" meme is not great.
You don't have to use GNU Emacs to write Lisp code.
It just happens that a popular Editor written in Lisp and extensible in Lisp is somehow the natural choice for Lisp developers.
You don't. Nobody stops you to use vim and fire a clisp repl instead if you want. Older but much friendly to start than sbcl.
Emacs as a barrier to lisp is an interesting concept. To me was exactly the opposite.
You don't. Nobody stops you to use vim and fire
a clisp repl instead if you want.
Of course. And there could very well be a service that accepts handwritten source code via the post, transcribes it, executes it, and mails you the output.In context, I'm responding to the following:
• the article's preference for beginner-friendly suggestions (e.g. don't overwhelm beginners with an abundance of choice)
• the specific text I quote in my original comment above, and
• the fact that Emacs+SLIME is the de facto standard answer to every Lisp beginner who asks for an IDE.
Is a good advice because emacs is awesome, multipurpose, and free.
But, you have choices. You could use also slimv, the "slime for vim" for example. And Vim is also awesome, multipurpose and free.
If you are a total beginner that do not want to learn neither vim nor emacs (something that you will regret when you finally learn one of them some years later) just forget all about superior modes, fire a clisp repl in bash and use your favourite text editor to write and copy-paste. If you want a simple plan to start, is pretty simple
If you want it more simple, just save some bucks and buy a commercial lisp, like allegro for example that comes with a nice IDE: allegro-composer. You obtain what you pay for.
But, you have choices.
Correct. It would be nice if they were appropriately presented to beginners. like allegro for example that comes with a nice IDE: allegro-composer.
Do you... use Allegro? Do you find it good? Have you used LispWorks?In the past couple/few years, Franz introduced a single-stepper.[1] They released a video alongside the new feature, demonstrating it. Literally, by 20 minutes into the video, the narrator was still mucking about with configuration and such and hadn't gotten to the point of being able to single-step through Lisp code.
(Also, Allegro's licensing terms require a runtime license fee for every unit of software developed with Allegro that you distribute. LispWorks' do not.)
[1] (It's unconscionable to me that that could be a new-ish feature. I don't even know that I had heard of the term "single-stepper" prior to that - I always just assumed it was a natural v0.1 part of a debugger that didn't bear even mentioning. But what can you do...)
Is this any different from other IDEs? As a vim user, Eclipse certainly feels more-or-less like notepad.
And I doubt if you have to use Emacs to write in Lisp. Let me Google it for you:
http://stackoverflow.com/questions/94792/using-vim-for-lisp-...
...
It makes life MUCH worse switching from linux to osx emacs and back though.