Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Python > The Modernization of Emacs

Reply
Thread Tools

The Modernization of Emacs

 
 
Xah Lee
Guest
Posts: n/a
 
      06-17-2007
[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
http://www.velocityreviews.com/forums/(E-Mail Removed)
http://xahlee.org/

 
Reply With Quote
 
 
 
 
Thomas F. Burdick
Guest
Posts: n/a
 
      06-17-2007
For the love of dogs, Xah, try to keep up. Aquamacs is an Emacs
distribution that, which not there yet, is at least half way between
"classic" Emacs and a modern Mac UI. You sound ridiculous, like if
you were complaining about Windows not being really graphical, based
on experience with Windows-386 in the era when 95 was already around.

On Jun 17, 5:13*pm, Xah Lee <(E-Mail Removed)> wrote:
> [this post is a excerpt from
> The Modernization of Emacs, Xah Lee, 2006-04 athttp://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
> * (E-Mail Removed)
> ∑http://xahlee.org/



 
Reply With Quote
 
 
 
 
Twisted
Guest
Posts: n/a
 
      06-17-2007
On Jun 17, 11:13 am, Xah Lee <(E-Mail Removed)> wrote:
[snip]

Whoa. Xah posted something I agree with wholeheartedly. Imagine that.

 
Reply With Quote
 
Philipp Leitner
Guest
Posts: n/a
 
      06-17-2007
Ever came to your mind that there are people (programmers and others)
who will not use emacs for their day-to-day work simply because they
have tools that suit them better for the work they have to do (Eclipse
for me, as an example)?

Except from that: I personally don't feel that your rantings are
interesting enough to qualify for a 4 groups X-post ... this sort of
article goes well into a blog, but not so much on programmers
newsgroups (which are used for Q&A imho).

 
Reply With Quote
 
George Sakkis
Guest
Posts: n/a
 
      06-18-2007
On Jun 17, 6:46 pm, Philipp Leitner <(E-Mail Removed)> wrote:

> Ever came to your mind that there are people (programmers and others)
> who will not use emacs for their day-to-day work simply because they
> have tools that suit them better for the work they have to do (Eclipse
> for me, as an example)?
>
> Except from that: I personally don't feel that your rantings are
> interesting enough to qualify for a 4 groups X-post ... this sort of
> article goes well into a blog, but not so much on programmers
> newsgroups (which are used for Q&A imho).


You must be new here. Xah is a well-known self-important troll,
crossposting his mostly off-topic and/or controversial ramblings and
showing off his ignorance in a provocative condescending manner. Don't
waste resources by replying, he rarely follows up anyway.

 
Reply With Quote
 
cmr.Pent@gmail.com
Guest
Posts: n/a
 
      06-18-2007
On 17 , 19:13, Xah Lee <(E-Mail Removed)> wrote:
> 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.
>

There is a CUA-mode.

> * Get rid of the *scratch* buffer.
>

I agree that it should be off by default. I hope that only a minority
of emacs users are emacs developers

> * Change the terminology of "kill" to "cut", and "yank" to
> "paste".
>

In my emacs 21 in menu it says just that.

> * Change the terminology of Meta key to Alt.
>

I guess emacs is not for PC only...

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

This is doubtful, but I agree that all modes (LaTeX etc) should at
least work correctly with longlines mode.

> * 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.
>

For me it opens R files with proper highlighting out-of-the-box -_-;

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

As far as I understand the concept of buffer is much much wider than
of "unsaved document" or "file". Should we call dired buffer as
"unsaved document"?

> Xah
> (E-Mail Removed)
> http://xahlee.org/


 
Reply With Quote
 
alexandru.lz@gmail.com
Guest
Posts: n/a
 
      06-18-2007
>
> > * Reduce the use of the word "buffer" in the emacs documentation.
> > Call it "opened file" or "unsaved document".

>
> As far as I understand the concept of buffer is much much wider than
> of "unsaved document" or "file". Should we call dired buffer as
> "unsaved document"?
>


It is much wider, which is why it was used in the first place.

Considering most of Xah's article, I think an animated paperclip
(maybe in ASCII art) should be the top priority for emacs developers.
This would be an important step in modernizing emacs.

Leaving this aside, I'm also taking a wild guess that some *nices (not
just Linux distros, but also *BSD, Solaris etc.) could well provide a
binary package of emacs compiled with its GTK UI, besides those
they're already providing (nox and the ugly one for X). It's a fair
assumption to consider that not anyone has GTK, but it's common enough
to provide an alternative to that stumpy Xlib-based (I think :-\) UI
that's default in just about every binary package around. It's not
just that it looks ugly, it's also somewhat awkward at times.

 
Reply With Quote
 
Joel J. Adamson
Guest
Posts: n/a
 
      06-18-2007
Xah Lee <(E-Mail Removed)> writes:

> ----------------------------------------
> 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.


The problem with this line of thinking is that it aims to make Emacs
appeal to people -- I think it is rather the other way around.
Certain people appeal to Emacs: certain kinds of people like Emacs
and the way it is set up, and they change it to suit their needs.

Among your changes, I found none that made sense to me, a person who
used Unix before Windows became widely used. For people like me, who
always preferred Unix, changes like changing "buffer" to "opened file"
seem inefficient and unnecessary.

Sorry -- this totally falls flat. It won't make Emacs more widely
used. The only thing that will make Emacs more widely used is making
people aware of it; as soon as I became aware of Emacs (from reading
Wikipedia, ironically), I began using it and I knew I was stuck with
it. It's not even important for the survival of Emacs that it be more
widely used -- it was never important in the last thirty years of its
history, why should it be important now that Microsoft Word is so
widely used?

Joel

--
Joel J. Adamson
Biostatistician
Pediatric Psychopharmacology Research Unit
Massachusetts General Hospital
Boston, MA 02114
(617) 643-1432
(303) 880-3109
 
Reply With Quote
 
Robin Becker
Guest
Posts: n/a
 
      06-18-2007
Joel J. Adamson wrote:
> people aware of it; as soon as I became aware of Emacs (from reading
> Wikipedia, ironically), I began using it and I knew I was stuck with
> it. It's not even important for the survival of Emacs that it be more


many others get stuck with a preferred editor/system/language; I guess it takes
some real enthusiasm to switch from vi to emacs or jedit or brief. Years ago
they switched my escape key from top right to top left (dec keyboards were
weird); the body is very hard to retrain. I don't know what those synapse
memories are called, bit they go very deep.
--
Robin Becker

 
Reply With Quote
 
Hal Vaughan
Guest
Posts: n/a
 
      06-18-2007
Joel J. Adamson wrote:

> Xah Lee <(E-Mail Removed)> writes:
>
>> ----------------------------------------
>> 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.

>
> The problem with this line of thinking is that it aims to make Emacs
> appeal to people -- I think it is rather the other way around.
> Certain people appeal to Emacs: certain kinds of people like Emacs
> and the way it is set up, and they change it to suit their needs.


I worked for years as a special ed teacher and I learned that people have
different learning styles. It's not just learning, but it's perceiving and
working as well. Some people will always do better with a command line and
some will always do better with a GUI with point-and-click. That doesn't
mean one is smarter than the other or one is a true geek and one isn't.
It's just the way our brains are wired.

Emacs appeals to the type of personality that is often a hard core
programmer. It works for those that want to customize everything and have
full control over their environment AND do well with a command line rather
than a more visual and graphic environment. For those, emacs is probably
the best program for them.

Some people prefer to drive a Miata and some prefer a Dodge Ram. One isn't
better than the other, they're just different. Trying to make a Dodge Ram
look like a convertible so Miata lovers will want to use it is a waste.
It'll never be a Miata and the more people try to make it adaptable so it
can be one, the more they ruin what's special about it.

The more emacs is adapted for the non-technical, the more it'll lose what
makes it special and a good fit for programmers.

> Among your changes, I found none that made sense to me, a person who
> used Unix before Windows became widely used. For people like me, who
> always preferred Unix, changes like changing "buffer" to "opened file"
> seem inefficient and unnecessary.


It seems to me that is the kind of person emacs is written for. What will
it gain if a large number of non-technical people start using it in
a "non-emacs" mode?

> Sorry -- this totally falls flat. It won't make Emacs more widely
> used. The only thing that will make Emacs more widely used is making
> people aware of it; as soon as I became aware of Emacs (from reading
> Wikipedia, ironically), I began using it and I knew I was stuck with
> it. It's not even important for the survival of Emacs that it be more
> widely used -- it was never important in the last thirty years of its
> history, why should it be important now that Microsoft Word is so
> widely used?


Let those who need Word use it. To try to change emacs into something it
isn't is ignoring what makes it special.

Hal
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
The Modernization of Emacs Xah Lee Perl Misc 274 10-12-2007 11:39 PM
The Modernization of Emacs Xah Lee Java 372 10-12-2007 11:39 PM
Trouble running Emacs-EPL (to run perl in emacs). Adam Funk Perl Misc 4 01-29-2007 10:42 AM
emacs vhdl-mode Rick Jackson VHDL 10 11-30-2005 12:09 PM
E language mode for Emacs Arvind Kumar VHDL 2 08-20-2003 12:08 PM



Advertisments