Path: g2news1.google.com!postnews.google.com!f31g2000pri.googlegroups.com!not-for-mail From: Xah Lee Newsgroups: comp.emacs Subject: Re: emacs undo & emacs cult problem Date: Thu, 14 Apr 2011 13:06:03 -0700 (PDT) Organization: http://groups.google.com Lines: 249 Message-ID: References: <81de52e7-c714-459b-b069-183b3bcd2377@k11g2000yqc.googlegroups.com> <4da0a7fe$0$310$14726298@news.sunsite.dk> <871v155l1c.fsf@fencepost.gnu.org> NNTP-Posting-Host: 76.126.112.84 Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Trace: posting.google.com 1302811564 27403 127.0.0.1 (14 Apr 2011 20:06:04 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Thu, 14 Apr 2011 20:06:04 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: f31g2000pri.googlegroups.com; posting-host=76.126.112.84; posting-account=bRPKjQoAAACxZsR8_VPXCX27T2YcsyMA User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.204 Safari/534.16,gzip(gfe) On Apr 14, 7:25=C2=A0am, Krzysztof Bieniasz wrote: > Dnia Thu, 14 Apr 2011 09:50:23 +0200, David Kastrup napisa=C5=82(a): > > > > > > > > > > > des...@verizon.net writes: > > >> Xah Lee writes: > > >>> Emacs user: emacs keys are so hard to remember. Is it possible to > >>> support the conventional keys for copy, cut, open, close, etc as in > >>> gnu/linux apps? > > >> Click on Options, select "Cut and Paste CUA". > > > That creates a fragile illusion that even depends on the timing of > > keystrokes and is not covered by the Emacs help sheet. > > > The proper answer to Xah Lee is "No, the keys have been assigned so lon= g > > ago that they are part of what makes Emacs. =C2=A0There are surrogates,= but > > since they don't result in a logical and consistent editor, they will > > tend to alienate users to Emacs upon longer exposure, even if they migh= t > > make it easier to give them the illusion they made friends to Emacs at > > first. =C2=A0But they'll figure out eventually that this friendship is = based > > on a lie." > > I'm a fairly new Emacs user yet that's precisely what I think. I never > considered using CUA, it's simply so non-Emacs. Obviously there's a good > reason why those keystrokes are used for different purposes: C-x and C-c > are for extended commands, they need to be within easy reach. Other > editors don't have those functions so they have nothing more important > than cut and copy. > > I don't understand you Xah, you're using Emacs and yet you struggle all > the time to make it a different OS than it is. first note that the joke that =E2=80=9Cemacs as a OS=E2=80=9D is not factua= l. It's just a joke. A OS by definition manages hardware, which emacs doesn't. If you do realize it's a joke, then don't use that phrase in serious debates. Ok, perhaps you are using the =E2=80=9COS=E2=80=9D work there to i= ndicate emacs's capabilities, alright. > If you've been using Emacs > for over a decade now then obviously you can and are willing to cope with > those different key combos. I mean, if you weren't you would have changed > your editor of choice long ago and stopped buggering everyone about those > things. Not to mention that you can change your Emacs' behaviour the way > you like and no one has anything against that. So what's your point? Krzysztof, in this article: =E3=80=88The Modernization of Emacs (Simple Changes Emacs Should Adopt)=E3= =80=89 http://xahlee.org/emacs/modernization.html i've addressed similar concerns. Quote: Q: Emacs's ways are technically superior. It should not change. A: Emacs's user interface, when compared to modern software application's user interface, is complex and unusual, however, there's no basis whatsoever of it being actually a superior design with regards to any sensible metrics. (in fact, much of emacs's user interface are due to historical reasons. That is, how computers are in 1980s.) For example, let's consider emacs's system of keyboard shortcuts. For a keyboard shortcut system, we might judge its quality based on several aspects. Here are some examples of consideration: Is it easy to learn? (is it familiar to most people? Is it easy to remember?) Is it ergonomic? (Are most frequently used command's keyboard shortcuts easy to type? Are more frequently used commands have easier to type shortcuts than less frequently used commands?) Are most frequently used commands all have a keyboard shortcut? Is the shortcut system consistent and extensible? Emacs's keyboard shortcuts system, is good only with respect to the last item. Emacs keyboard shortcuts are perhaps one of the most difficult to learn among software, and is also one of the most difficult to remember. The worst aspect of emacs's keyboard shortcuts, is that it is ergonomically painful. Emacs's Ctrl and Meta combinations are most cited as the major turn-off to potential users among programers. (See: Celebrity Programers with RSI (Repetitive Strain Injury)) Computer keyboard is a hardware interface, and the mapping of commands to the key press combinations can be considered from a Operation Research (ergonomic) point of view. The keyboard hardware itself can be designed with consideration of ergonomics (that's why we have split and curved keyboards), but consideration of what functions to map to what key presses is also non-trivial if the software has large number of functions, or if the software is mission critical, or the software is used for repetitive, long durations of human-machine interaction (such as data-entry, programing, writing). Think of it this way: consider a airplane cockpit, filled with knobs, dials, buttons, and switches. Now, if your job is to map the airplane control functions to these switches, what are the issues to consider? If we take careful consideration on creating a keyboard shortcut system for emacs, it is not difficult to create a system that is superior in some pure technical sense than the emacs's shortcut system. For some detail, see: Why Emacs's Keyboard Shortcuts Are Painful. Aside from keyboard shortcuts system, other user interface aspects of emacs are also questionable. For example, one major aspect of emacs operation is that it uses a single window for multiple purposes and files. Emacs is this way not because of a design decision, but rather due to historical reasons. Computer resources in the 1980s are very limited. When emacs is around, graphical system of showing =E2=80=9Cwindows= =E2=80=9D is not practically available, and the emacs's method of using the screen (the monochrome text-only monitor) for presenting multiple tasks (=E2=80=9Cbuffers=E2=80=9D) is actually a very advanced user interfac= e design not available in software of that era. When graphical systems becomes practical in the 1990s, drawing a window still takes a lot memory, and opening multiple windows is slow and impractical. Modern software interface (say, post 2000) usually uses one window per file (or task), and or show tabs if multiple tasks are represented in a single window. However, emacs's buffer system doesn't provide the tabs visual clue. Compared to the modern standard of tabbed window, emacs's buffer interface is inferior because it is less intuitive. Arguably, emacs's operation methods may be more efficient for expert users. 20 years ago, efficiency for expert users may out weight the ease of use for majority of average users. But in today computing era, computers are standard tools in every household, efficiency and ease of use for general users is as important for professional users. Even for professional users, it is openly questionable that emacs's ways of operation induced by its default user interface allows more efficient operation than a user interface based on modern software conventions. (this can be tested by having 2 team of programmers roughly equally experienced or skilled in using emacs. One team use Emacs with default UI setup, the other use a emacs with modernized interface (such as Mac's Aquamacs), then compare their efficiency in finishing a set of coding tasks.) Note: we are not disputing the general power, flexibility, and qualities of emacs. Emacs, with a powerful embedded language lisp, and consequently embodies many software applications other than text editing (email, ftp, dired, calc, ...etc), has induced certain system of user interface that is all consistent and unique in comparison to modern software applications. We do not advocate that this is bad. Specifically, we only propose a very few trivial items for interface or documentation changes as listed in this article. Most are simply turning on some features by feault and or changing some terminologies in the documentation. They have no bearings on how emacs operate in general. Q: Aquamacs already has the modernization you speak of. A: Aquamacs is a emacs variant based on GNU Emacs, for Apple's Macintosh computers, created in about 2004 by David Reitter. Aquamacs modifies emacs so that its user interface follows modern (Mac OS X) conventions. For example, copy/cut/paste shortcuts are cmd-c/x/v. Open file is cmd-o, saving is cmd-s, save-as is cmd-shift-s. Close window is cmd-w. Undo is cmd-z, and there is a redo command by default, with shortcut cmd-shift-z. It opens each file/buffer in a new window. By following a modern user interface, almost all points mentioned in this article are fixed in Aquamacs. For more info, see: Wikipedia Aquamacs and Aquamac's home page at: Aquamacs.org. As a emacs variant, it does help in spreading the idea that emacs user interface should be modernized. However, a third-party variant software does not change the fact that GNU emacs itself needs to be modernized. For example, suppose Microsoft Word remained with its DOS era interface, for example, file is opened with [Esc] (to open the menus), [T] (for Transfer), [L] (for Load). Suppose Microsoft hired a third party to release a variant called MS AquaWord. This would not help Microsoft Word the software itself or its image perceived by the populace, and is likely to complicate the issue around Microsoft Word. Also, Aquamacs changes emacs to conform to Apple's user interface guidelines as much as possible. For example, besides changing the many shortcuts, Aquamacs open each file in a new window (i.e. what emacs calls frame). So, dired is opened in its own window. =E2=80=9Cshell-command= =E2=80=9D is opened in a new window. Emacs info files (C-h i) is opened in a new window. Using the graphical menu =E2=80=9CHelp:Aquamacs Help=E2=80=9D launc= hes Apple's help application. Aquamacs makes emacs palpable for Mac users, but in many ways, Aquamacs imposes a major change of operation for people already familiar with emacs. Its modernization of emacs, has priority with Mac's way of operation than emacs way. Aquamacs is only a Mac application. Its user interface changes, is not wholly compatible with Microsoft Windows's user interface guidelines in minor details. (For exmaple, shortcut modifiers are different (Ctrl vs Cmd), some shortcut keys differ, the ways to invoke menus differ.) Some 90% of computer users world wide are familiar with Window's user interface and are using PC keyboards. If we consider improving emacs's user interface, then it is important to consider the familarity of computer users by majority. In summary, when we consider modernization, we could create a version for Mac, a version for Windows, each follows as much as possible of each operating system's user interface guidelines. Alternatively, we can consider modernization based on emacs's unique ways of operation (as opposed changing emacs to comform to a particular company's UI standard that are currently most popular). Q: Why should emacs want to be popular and why should emacs change to conform the majority? A: This attitude has plagued unix and computer geekers for decades. In the early 1990s (DOS and unix), tech geekers would sneer at graphical menus and mouse, with hordes of reasons how pure text interface, the command line, and or keyboard operations are sufficient and superior than graphical user interface or using a mouse. This seems ridiculous today, but such voices are commonly seen all over newsgroups. (Since about 1998, linuxes are in a frenzied race to copy whole-sale of Microsoft Windows's user interface ( KDE, GNOME, Lindows ) trying to make itself easy-to-use.) We like emacs, we want emacs to be used by more people, we like more elisp programers. By improving emacs, as a side effect emacs will also be more popular. It is not a popularity contest. Q: Why don't you make these changes yourself? It is easy. A: The issue is not about one individual's convenience. Let's say you lobby for greener planet. Then somebody retorts: =E2=80=9Cwhy don't you jus= t plant more trees in your backyard?=E2=80=9D. Xah