(2005-02-10) Bicking THE Vs Emacs

Ian Bicking: THE vs. Emacs. About two years ago I gave THE (The Humane Editor) a try. Since Raskin is back in the news and presumably going to continue work on THE, I thought I'd repost my thoughts (originally left in the forum -- they didn't have a mailing list back then). I actually want to write more about THE and some of the ideas, but I'll start here. Mostly I was just comparing it to Emacs (my primary editor)

LEAP is actually very similar to incremental searching in Emacs (C-S and C-R for reverse searching).

The modal nature of Emacs (where you don't have to hold down a key while typing your search term) is definitely easier on the fingers (typing multiple characters with the shift key down is annoying).

Emacs' incremental search also works well for finding things off the page. It seems necessary to disambiguate your search with LEAP -- but when I'm looking for all instances where a function is used, I don't yet know the context of my search.

Like THE, Emacs also does not use dialog boxes. It has a status bar on the bottom which is used for input and message display. It's very close to THE's transparent messages, only not nearly as distracting or obscuring.

Lastly, Emacs has long-form commands. By typing M-X you get access to all the commands in Emacs. Really it's an excessive number of commands. And there isn't an obvious mapping between command names and key bindings (though you can look up the commands for bindings, and Emacs suggests bindings when you type in a command).

Emacs seems to be what THE aspires to be. It's a mail client, news reader, web browser, etc. Certainly it has significant flaws. I would love to see an editor inspired by Emacs written from scratch in Python. The key bindings might change among other things, but learning from the lessons of Emacs (and avoiding the problems of elisp).


THE and LEAP

one big idea for Raskin seems to be LEAP, which shows up even in the early history of the Macintosh. LEAP is the idea of having a special meta key, that acts similar to a shift key. When you want to type in a command, you hit the LEAP key and start typing the command (all commands are named) -- when you release the LEAP key the command is run. It's THE's answer to Emacs' M-x. The standard line is that it's really great, but without the right keyboard it doesn't work well -- the right keyboard would I think have a key below the space, so you can hit LEAP with your thumb and keep typing.

Personally, I think it's really stupid. Like, ruins-a-good-idea stupid, because it's just too hard to type like that. The benefit of LEAP is based on this theory of minimalizing keystrokes -- specifically counting each key when it is pressed and release -- but even that doesn't add up, in part because it doesn't acknowledge that chords (more than one key at a time) are harder than single keys, and extended chords (holding one key while typing several others) are much harder.

And what do you buy? The only thing you buy is one keystroke. Counting up and down strokes make no difference!

I think it's mostly modal paranoia, the idea that any mode is bad, which is just silly in my mind.

The other related theory in THE is that there's no keyboard shortcuts, you type every command out. (Actually, I believe there is one shortcut, equivalent to C-s in Emacs, which is important because you use incremental search for all navigation instead of arrow keys! I like incremental search a lot, but not that much!) I'll let you judge the wisdom of that on your own.

I wouldn't care so much if I didn't otherwise really like the ideas. I'll try to write a positive article next.


Edited:    |       |    Search Twitter for discussion