The Modernization of Emacs: terminology buffer and keybinding

Bjorn Borud borud-news at borud.no
Wed Jun 20 08:30:08 EDT 2007


[Xah Lee <xah at xahlee.org>]

to be quite honest, your proposal seems to largely be based on
ignorance.

| A: The terminology ÒbufferÓ or ÒkeybindingÓ, are technical terms
| having to do with software programing. The term ÒkeybindingÓ refers to
| the association of a keystroke with a command in a technical, software
| application programing context. That is to say, a programer ÒbindÓ a
| keystroke to a command in a software application. The term ÒbufferÓ
| refers to a abstract, temporary area for storing data, in the context
| of programing or computer science.

the term "buffer" is used extensively outside the computer science
domain, so it is not a CS only term.  in an editor it is actually a
quite sensible name since it abstracts things a bit.  for instance a
buffer need not be associated with a file.  nor does it make any
assumptions about the way it is displayed (as opposed to "window" or
"tab").  

| These terms are irrelevant to the users of a software application.

they are very relevant to me, and I am very much a user of Emacs.  and
again, they provide good abstractions.

| As a user of a text editor, he works with files.

learn Emacs before you criticize it.  your assumption is wrong.  in
emacs you work on _buffers_.  buffers often do not have files
associated with them.

| The terms Òopened fileÓ or Òuntitled fileÓ are more appropriate than
| ÒbufferÓ. Since emacs is also used for many things beside reading
| files or writing to files, for example, file management, ftp/sftp,
| shell, email, irc etc., the proper term can be ÒpanelÓ, ÒwindowÓ, or
| Òwork areaÓ.

"panel" and "window" refer to UI-elements.  the buffer concept does
not map 1:1 to any of these.  substituting "work area" for "buffer"
doesn't seem like a better abstraction.  especially not if you see it
in the context of how Emacs relates to buffer contents.

| And, the term Òkeyboard shortcutÓ refers to typing of a key-
| combination to activate a command. It is also more appropriate than
| ÒbindingÓ or ÒkeybindingÓ.

why?  if anything the term "shortcut" seems to imply that there is a
primary route to executing the function in question -- which more
often than not isn't the case. "keybinding" is a more precise term.

| Although concepts like ÒbufferÓ and ÒkeybindingÓ are seemingly
| interchangeable with ÒpanelÓ or Òkeyboard shortcutÓ, but their
| contexts set them apart.

they are interchangeable only if you have no idea what you are talking
about.  you obviously have not bothered to have a proper look at Emacs
and think these things through properly.

| This is why in all modern software application's user
| documentations, terms like ÒbufferÓ or ÒkeybindingÓ are not to be
| seen but Òwindows, panes, and keyboard shortcutsÓ.

most "modern" editors are built on different premises than Emacs and
many have a far simpler view of the world.  extremely few of them even
come close to Emacs in defining what is in practice an operating
environment for applications.  it makes sense to refer to "windows"
when in fact you are referring to windows.  it doesn't make sense to
call buffers "windows" in Emacs; because they are not.

| The reason emacs uses the technical terminologies throughout is
| because when emacs started in the 1970s, there really isn't any other
| text editors or even software applications.

the abstractions you mention are sensible ones independently of when
they were concieved.  just because other people came along later and
used different abstractions, doesn't mean that the ones used in Emacs
are wrong, inferior or inappropriate.  if you had bothered to
understand Emacs properly, you would have found that some of the
abstractions used make a lot of sense in an editor.

| Changes in society are always resisted by old timers, but it is also a
| main element behind progress.

I've been in the computer industry long enough to have seen quite a
few cycles of re-invention.  each cycle you learn something about
which inventions were good and which were bad.  a common thread if you
look at the survival rate of products and ideas is that it isn't
always the best product or idea that wins.

often something new comes along to replace something old.  sometimes
it is better than what you had before, but often it is not really
better, just different.  

a good example is the web and the applications we implement in terms
of the web.  take forums for instance.  in a strict technical sense,
web-based forums are inferior to NNTP-based forums. (I am sure you can
make the comparison yourself).  yet NNTP-based discussion is not
growing at the same rate as web forums.  the net has chosen its
preferred technology, and it wasn't because the web-based discussion
forums were so much more technically refined that the majority chose
them. 

for my uses, web forums are a huge step back from NNTP.

| This terminology issue may seem trivial, but its importance lies in
| making emacs palpable to the vast number of people who ever need to
| use a computer to write.

why?  Emacs is a tool.  if you don't like it: use something else. it
is that simple.

-Bj¿rn



More information about the Python-list mailing list