[7 July 2009]
A number of XML experts I know use Emacs for editing XML, employing either James Clark’s nxml mode or Lennart Staflin’s psgml mode. But few people who don’t already know Emacs are eager to learn it.
My evil twin Enrique suggested a reason: “In the old days,” (he means thirty years ago, when he first learned to use computers), “using a computer mostly meant using a mainframe. Which meant, on most university campuses, using a public terminal room. Which meant there were usually other people around who might be able to help figure out how to make the editor do something. Emacs was able to spread widely in that culture because the written documentation was not the only available source of information. (Did Emacs even have written documentation in those days?) Emacs, and a lot of other tools, were propagated by oral tradition.
“Nowadays, however, the oral traditions of the public terminal room are mostly dead. What the user cannot figure out how to use from the user interface and (perhaps) a glance at the documentation, might as well not be in the program. Fewer and fewer users will trouble to learn Emacs.
“I predict that when the people who first learned computing in a mainframe terminal room are dead, Emacs will be effectively dead, too. Its natural method of propagation is by looking over someone’s shoulder at what they are doing and asking ‘How did you do that?’ That doesn’t happen when computing almost always happens in private places.
“R.I.P., Emacs,” he intoned mournfully. “And probably TeX and LaTeX, too.”
“Well, hang on,” I said. “Neither Emacs nor TeX is dead yet.”
“Maybe not, but it’s only a matter of time. They’ll end up in the Retro-Computing Museum.” I could have sworn I saw a tear in his eye.
“But, you know, it’s only a matter of time for all of us. And besides, you’re wrong in at least some ways. I did indeed spend the first few years of my computing life haunting university terminal rooms. I got a lot of help from other people, and I passed it on. But I didn’t use TeX or Emacs until years later. The oral traditions of the terminal room, if they ever actually existed, had nothing to do with it. Both Emacs and TeX are perfectly capable of acquiring new users without oral transmission.”
He looked up. “You mean, there’s hope yet?”
“There’s always hope. But no, I’m still not going to help you debug that self-modifying 360 Assembler program you brought over. I’ve got work to do.”
And vi will continue as strong as ever! 😎
But seriously, it’s a good insight. With this in mind, LaTeX should survive longer because people will still see the papers of their colleagues and be able to ask that important question “hey, how did you do that?”, even when nobody sees anybody else working with a text editor.
With the widespread use of personal laptops you will also see these tools spread again. Also with the many interest groups the show-and-tell will be very informal.
I agree more with the evil twin, though I think emacs and other technologies will do more of a slow fade away rather than really dying. Maybe they’ll survive in a niche–like Orkut in Brazil.
I already see this kind of thing where I work. People under a certain age (say 40) or who come from a personal computer background really don’t want to use emacs (or vi for that matter) except when needed for a task such as editing a file in a secure shell. Even then, they learn the basic few commands needed to do a simple edit and that’s about it.
GUIs take the place of an oral history since they’re always there to nudge your memory and the command lookup and execution are one and the same so it saves time (at first anyway).
I can see how learning many commands cold is a huge productivity booster if you’ll use them a lot in the future. On the other hand, it’s a huge productivity burner when you have a steep learning curve for tasks you only do occasionally and will forget before you have to learn them again.
I do a wide variety of different types of tasks, so fast lookup is very important to me for the large array of commands or tasks I don’t do often. Of course there are some things I do a lot and I use keyboard shortcuts for most of this small subset of commands.
Maybe the GUI has become the friend in the terminal room for “the kids today.”