473,683 Members | 3,586 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

The Modernization of Emacs

[this post is a excerpt from
The Modernization of Emacs, Xah Lee, 2006-04 at
http://xahlee.org/emacs/modernization.html
]

The Modernization of Emacs

----------------------------------------
THE PROBLEM

Emacs is a great editor. It is perhaps the most powerful and most
versatile text editor. And, besides text editing, it also serves as a
email application, newsgroup application, ftp application, irc
application, web browser, shell interface, file management
application, programable calculator, calendar and personal info
management application, lisp language system, among other things.
These seemingly wild functionalities are employed in production daily
by a significant number of programers around the world. Some calls
emacs as a Operating System as a joke. (Technically it does not
qualify because a OS implies management of hardware.).

If emacs is such a great and powerful text editor why almost nobody
knows about it? Vast majority of people who need to write will be more
than happy to use editors other than emacs. Ask a Microsoft Windows
user. She'll be more than happy to use Microsoft Word↗. If he doesn't
have MS Word, he'll use NotePad↗ or WordPad↗. If he is a programer,
most will be more than happy to use any of other graphical editors on
the Windows platform or any of the Integrated development
environment↗. Same is true on other operating systems, and new editors
spring up here and there even though they don't have as much power or
flexibility as emacs. For example, there are NEdit, JEdit, Eclipse,
Xcode↗ , or the various associated with languages or third party
language software, such as Visual Basic or Borland C++.

Many reasons can be made out of this. For example, emacs is not
bundled on popular operating systems such as Windows or Mac, which are
used by some 99% of computer users worldwide. Windows and Mac both
have simple text editors bundled that will satisfy majority of
computer users, which are non-professional computer users. (NotePad
and WordPad on Windows, TextEdit↗ on Mac) For the few professional
computer users, a majority will need a easy to use, yet powerful
editor that also does styled text, formatting, and sundry light
publishing needs such as table layout, simple line graphics drawing,
embedded images, math formulas. They will choose and adopt Microsoft
Word for their needs. The tiny percentage that might be interested in
emacs, are programers. Even among professional programers, a majority
shy away from emacs.

A major difficulty among programers who do not use or like emacs, is
that emacs's user interface is rather esoteric, involving arcane
terminologies and keystrokes. This is in sharp contrast to the
thousands of software applications used today, where their User
Interface are similar and familiar to today's computer users.

----------------------------------------
THE COMMON USER INTERFACE

The following is a excerpt from the Wikipedia article on Common User
Access↗:

CUA was a detailed specification and set strict rules about how
applications should look and function. Its aim was in part to bring
about harmony between MS-DOS applications, which until then had
implemented totally different user interfaces.

Examples:

* In WordPerfect, the command to open a file was [F7], [3].

* In Lotus 1-2-3, a file was opened with [/] (to open the menus),
[W] (for Workspace), [R] (for Retrieve).

* In Microsoft Word, a file was opened with [Esc] (to open the
menus), [T] (for Transfer), [L] (for Load).

* In WordStar, it was [Ctrl]+[K]+[O].

* In Emacs, a file was opened with [Ctrl]+[x] followed by [Ctrl]+
[f] (for find-file).

Some programs used [Esc] to cancel an action, some used it to complete
one; WordPerfect used it to repeat a character. Some programs used
[End] to go to the end of a line, some used it to complete filling in
a form. [F1] was often help but in WordPerfect that was [F3]. [Ins]
sometimes toggled between overtype and inserting characters, but some
programs used it for “paste”.

Thus, every program had to be learned individually and its complete
user interface memorized. It was a sign of expertise to have learned
the UIs of dozens of applications, since a novice user facing a new
program would find their existing knowledge of a similar application
absolutely no use whatsoever.

----------------------------------------
SIMPLE CHANGES

In the following, i describe some critical changes that are also very
easy to fix in emacs. If emacs officially adopt these changes, i think
it will make a lot people, at least programers, like emacs and choose
emacs as their text editor.

* Change the keyboard shortcut of Copy & Paste to ctrl-c and ctrl-
v as to be the same with all modern applications.

* Change the undo behavior so that there is a Undo and Redo, as
the same with all modern applications.

* Get rid of the *scratch* buffer.

* Change the terminology of “kill” to “cut”, and “yank” to
“paste”.

* Change the terminology of Meta key to Alt.

* Make longlines-mode the default editor behavior for any file.

Things emacs should do now, even though it eventually will do.

* When opening a HTML document, automatically provide highlighting
of HTML, CSS, and Javascript codes. Similarly for other multi-language
files such as PHP, JSP, et al. This behavior must be automatic without
requiring user to customize emacs.

Possible Documentation Change Proposals

* Reduce the use of the word “buffer” in the emacs documentation.
Call it “opened file” or “unsaved document”.

* Switch the terminology of Window and Frame so it is more
standard. That is, Emacs's “Window” should be called Panes or Frames.
While Emacs's “Frame” should be termed Window.

* Change the terminology of keybinding to “keyboard shortcut” in
emacs documentation. Use the term keybinding or binding only in a
technical context, such as in elisp documentation.

Xah
xa*@xahlee.org
http://xahlee.org/

Jun 17 '07
331 14856
Twisted <tw********@gma il.comwrites:
On the other hand, being actively beginner-hostile leads to nobody
adopting the tool. Then again, if you don't mind being the last
generation that'll ever use it, then I guess you're okay with
that. If it suits its existing users, the rest of us will just
continue to use something else.

I continue to suspect that there's an ulterior motive for making and
keeping certain software actively beginner-hostile; a certain macho
elitism also seen with light aircraft pilots and commented on at
www.asktog.com (exact URL escapes me; sorry).
You are babbling.

Emacs is amazingly beginner-friendly for the power and flexibility it
provides. You can sit a beginner at an Emacs session and have him
start editing and learning. You can't do the same, say, with vi or a
clone: the least you need is a vi helpsheet/cheat cup. With Emacs,
the help sheet is helpful but optional (most people would be eyed
strangely anyway if they kept a cheat barrel around at their
workplace).

--
David Kastrup, Kriemhildstr. 15, 44793 Bochum
Jun 20 '07 #41
Lew
Ed wrote:
Thanks, all, for the answers.

But, Lew: GWMF?

- Gardner Winter Music Festival? (You have to love the black'n'white
photo on the right at: http://www.gwmf.org/)

- Generalized Whitening-Matched Filter?

- http://www.gwmf.com/ ?

- http://www.gwmf.de/host/ ?

- http://www.goatworld.com/gwmf.shtml ????
Google was my friend.

--
Lew
Jun 20 '07 #42
On Jun 20, 4:35 pm, David Kastrup <d...@gnu.orgwr ote:
Twisted <twisted...@gma il.comwrites:
On the other hand, being actively beginner-hostile leads to nobody
adopting the tool. Then again, if you don't mind being the last
generation that'll ever use it, then I guess you're okay with
that. If it suits its existing users, the rest of us will just
continue to use something else.
I continue to suspect that there's an ulterior motive for making and
keeping certain software actively beginner-hostile; a certain macho
elitism also seen with light aircraft pilots and commented on at
www.asktog.com(exact URL escapes me; sorry).

You are babbling.
No, I am not. You, however, are being gratuitously insulting.
Emacs is amazingly beginner-friendly for the power and flexibility it
provides. [snip]
That's a joke, right? I tried it a time or two. Every time it was
rapidly apparent that doing anything non-trivial would require
consulting a cheat sheet. The printed-out kind, since navigating to
the help and back without already having the help displayed and open
to the command reference was also non-trivial.

Four hours of wasted time later, with zero productivity to show for
it, I deleted it. The same thing happened again, so it wasn't a bad
day or a fluke or a one-off or the particular version, either.

Jun 20 '07 #43
On Jun 20, 4:21 pm, BartlebyScriven er <bscrivene...@g mail.comwrote:
On Jun 17, 10:13 am, Xah Lee <x...@xahlee.or gwrote:
[this post is a excerpt from
The Modernization of Emacs
----------------------------------------
SIMPLE CHANGES

At the command line, change "emacs" to "gvim"
Out of the frying pan and into the fire...

Jun 20 '07 #44
On Jun 20, 4:49 pm, Twisted <twisted...@gma il.comwrote:
On Jun 20, 4:35 pm, David Kastrup <d...@gnu.orgwr ote:
Twisted <twisted...@gma il.comwrites:
On the other hand, being actively beginner-hostile leads to nobody
adopting the tool. Then again, if you don't mind being the last
generation that'll ever use it, then I guess you're okay with
that. If it suits its existing users, the rest of us will just
continue to use something else.
I continue to suspect that there's an ulterior motive for making and
keeping certain software actively beginner-hostile; a certain macho
elitism also seen with light aircraft pilots and commented on at
>www.asktog.com(exactURL escapes me; sorry).
You are babbling.

No, I am not. You, however, are being gratuitously insulting.
Emacs is amazingly beginner-friendly for the power and flexibility it
provides. [snip]

That's a joke, right? I tried it a time or two. Every time it was
rapidly apparent that doing anything non-trivial would require
consulting a cheat sheet. The printed-out kind, since navigating to
the help and back without already having the help displayed and open
to the command reference was also non-trivial.

Four hours of wasted time later, with zero productivity to show for
it, I deleted it. The same thing happened again, so it wasn't a bad
day or a fluke or a one-off or the particular version, either.
I agree with you in that emacs is not inherently nor universally
beginner friendly. However, if you are trying to make the claim that
it is impossible to pick it up quickly, then I no longer agree with
you.

I still have a good deal to learn, even of the basics, but I've toyed
with it casually for a little bit (a total of two hours at most, but
almost certainly less) and I already know enough that finding out how
to do anything else IS trivial. It's not a program whose controls
throw themselves at you, exactly, but with a touch of patience and a
genuine interest in learning, it's not too bad.

Jun 20 '07 #45
On Jun 20, 4:49 pm, Twisted <twisted...@gma il.comwrote:
On Jun 20, 4:35 pm, David Kastrup <d...@gnu.orgwr ote:
Twisted <twisted...@gma il.comwrites:
I continue to suspect that there's an ulterior motive for making and
keeping certain software actively beginner-hostile; a certain macho
elitism also seen with light aircraft pilots and commented on at
>www.asktog.com(exactURL escapes me; sorry).
You are babbling.

No, I am not. You, however, are being gratuitously insulting.
I have that exact URL now -- http://www.asktog.com/columns/027Int...sThatKill.html

The most relevant section is towards the bottom of the page.
Curiously, you can jump right to it with a text-find of the word
"girls".

Jun 20 '07 #46
Twisted <tw********@gma il.comwrites:
On Jun 20, 4:49 pm, Twisted <twisted...@gma il.comwrote:
>On Jun 20, 4:35 pm, David Kastrup <d...@gnu.orgwr ote:
Twisted <twisted...@gma il.comwrites:
I continue to suspect that there's an ulterior motive for making and
keeping certain software actively beginner-hostile; a certain macho
elitism also seen with light aircraft pilots and commented on at
www.asktog.com(exactURL escapes me; sorry).
You are babbling.

No, I am not. You, however, are being gratuitously insulting.

I have that exact URL now --
http://www.asktog.com/columns/027Int...sThatKill.html
Utterly unrelated to Emacs.

--
David Kastrup, Kriemhildstr. 15, 44793 Bochum
Jun 20 '07 #47
Twisted wrote:
That's a joke, right? I tried it a time or two. Every time it was
rapidly apparent that doing anything non-trivial would require
consulting a cheat sheet. The printed-out kind, since navigating to
the help and back without already having the help displayed and open
to the command reference was also non-trivial.
Ah, yes.. we live in a time where no-one seems to have the patience to
read documentation anymore. Maybe that's why there is such a scarcity of
good documentation with many "modern" software packages.

Here's a nice one from Ken Thompson:

``I abhor a system designed for the "user", if that word is a coded
pejorative meaning "stupid and unsophisticated ".''
Jun 20 '07 #48
On Jun 20, 5:03 pm, Kaldrenon <kaldre...@gmai l.comwrote:
I still have a good deal to learn, even of the basics, but I've toyed
with it casually for a little bit (a total of two hours at most, but
almost certainly less) and I already know enough that finding out how
to do anything else IS trivial. It's not a program whose controls
throw themselves at you, exactly, but with a touch of patience and a
genuine interest in learning, it's not too bad.
I don't know what software you're describing, but it's obviously not
emacs, unless there have been some HUGE changes to (at minimum) the
help and pane-navigation (er, excuse me, "window"-navigation)
controls...

My experiences (with emacs and with a lot of other supposedly-
superior, usually unix-heritage software) put me in mind of an
analogy: fumbling around in a strange house in the dark without a
flashlight, banging into furniture frequently, trying to find a light
switch, but it turns out the switches are all spring-loaded. For some
reason (saving electricity and fighting the war against global
warming?) if you go to start doing anything else the light goes off
again immediately -- so you have to stand there holding the switch,
memorize the contents of the room, and then quickly do whatever you
needed to do before your memory of the room's layout and where things
are fades! Then back to the switch, or trip and fumble your way to a
different room's switch...wash, rinse, repeat...

Nobody would actually design a home (or a workplace) like that in a
trillion years, global warming be damned. So why do people still
sometimes design software like that?

Oh and did I mention that these houses' layouts are also totally
strange, with the living room on the top floor and the kitchen in the
basement, or other things of that nature, so you can't transfer any
knowledge of conventional home designs to aid in your navigation
there...and they are even all different from one another, nevermind
"normal" houses...

BTW, is anyone else finding Google Groups especially ornery of late? I
get all of the following, recurrently:

* I enter one reply in a thread, and it works. Then I go to make a
second reply, and I get a text box like one uses to enter a reply,
except evidently read-only -- I can select text but there is no
blinking cursor.
* The fix seems to be to navigate off the page and back.
Unfortunately, that then pops up some dialog. I think GG is trying to
protect me from losing unsaved changes, except that there are
obviously no unsaved changes to the (read-only!) form for me to lose!
* The "back" button is wonky -- it seems to require hitting back
*twice* to go back *one* page to the previous page of the thread or to
the newsgroup's thread index, if already on the first (or only) page.
* After *that*, "forward" behaves sometimes normally and sometimes as
"forward and then click a reply link on some random post"??
* Submitting a post results in the form disappearing and being
replaced by "The post was entered successfully". Of course, if it
turns out to have NOT been all that successful as evidenced from
refreshing the page or using an external newsserver (I have found one
read-only one suitable for verifying that a posting succeeded and
propagated beyond GG's server), there's no way to get back to the form
to try to resubmit the text, or even to recover it to the clipboard to
paste into a fresh form for a fresh attempt. So far, it's never
actually lied and claimed a posting was successful that wasn't, but
there's a first time for everything, and we all know the track record
for QA in the software industry ... and the way one of the more common
failure modes of software is silent failure, claiming success on
failure, claiming failure on success, or claiming one failure when a
different failure happened! (All the various forms of diagnostics
failure...) I guess I have to pre-emptively copy the form contents to
the clipboard before clicking submit, and preserve the clipboard
contents pending verification, or risk catastrophic data loss, because
GG can't be arsed to make a decent interface, or even to leave well
enough alone and stop constantly changing it.
Jun 20 '07 #49
On Jun 20, 5:21 pm, David Kastrup <d...@gnu.orgwr ote:
Twisted <twisted...@gma il.comwrites:
On Jun 20, 4:49 pm, Twisted <twisted...@gma il.comwrote:
On Jun 20, 4:35 pm, David Kastrup <d...@gnu.orgwr ote:
Twisted <twisted...@gma il.comwrites:
I continue to suspect that there's an ulterior motive for making and
keeping certain software actively beginner-hostile; a certain macho
elitism also seen with light aircraft pilots and commented on at
>www.asktog.com(exactURLescapes me; sorry).
You are babbling.
No, I am not. You, however, are being gratuitously insulting.
I have that exact URL now --
http://www.asktog.com/columns/027Int...sThatKill.html

Utterly unrelated to Emacs.
I think it is quite relevant. Clunky computer interfaces may not be so
dramatically dangerous, but they certainly can hamper productivity.
Between Windows bugs and gratuitous misfeatures (e.g. DRM) and Unix
clunkiness, billions of dollars of potential productivity is lost
worldwide every *month*.

Jun 20 '07 #50

This thread has been closed and replies have been disabled. Please start a new discussion.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.