Slashdot Mirror


The Birth of vi

lanc writes "Bill Joy, co-founder of Sun, tells the story of how he wrote the vi editor. The article at The Register delves into his motives, who instigated the project, and some of the quirks of leaving a 'gift to mankind'. From the piece: '9600 baud is faster than you can read. 1200 baud is way slower. So the editor was optimized so that you could edit and feel productive when it was painting slower than you could think. Now that computers are so much faster than you can think, nobody understands this anymore. The people doing Emacs were sitting in labs at MIT with what were essentially fibre-channel links to the host, in contemporary terms. They were working on a PDP-10, which was a huge machine by comparison, with infinitely fast screens. So they could have funny commands with the screen shimmering and all that, and meanwhile, I'm sitting at home in sort of World War II surplus housing at Berkeley with a modem and a terminal that can just barely get the cursor off the bottom line.'"

4 of 459 comments (clear)

  1. Interesting Choice of News by icedivr · · Score: 5, Informative

    The article has definately triggered some nostalgic moments, but it's an article from September 2003 that reports on the content of an interview conducted in 1999. It isn't really news any longer.

  2. Re:So let the flame wars begin! by Anonymous Coward · · Score: 4, Informative

    XEmacs isn't the X version of Emacs - it's a completely separate fork.

  3. Re:So let the flame wars begin! by NickFortune · · Score: 4, Informative
    why would you learn any of those? At all? Most people today, including most computer people, don't seem to share your belief that it's evil to place your hand on the mouse.
    Because they're faster. Just like it's faster to use Control+S to save a document than it is to use the mouse to open the file menu, position the pointer over the save entry and press the button.

    Plus you can use vi or emacs in situations where you don't have a GUI available, or on boxes where there isn't much memory to spare, and you'd rather the resources went to GCC than to an X-Server.
    --
    Don't let THEM immanentize the Eschaton!
  4. I call BS! On Bill Joy!?! by drfuchs · · Score: 4, Informative
    Sorry, Bill, but your memory has dropped a few bits. Even back in the 1970's, EMACS was very careful about doing only the absolute necessary screen updating, and worked quite well at 1200 baud. The code made all sorts of effort to take advantage of whatever capabilities your particular terminal had for moving text around on the screen by itself (such as inserting a character within a line without re-sending the whole line; ditto for inserting a new line without having to re-send the lines below it). See "The Display Processor" section of Stallman's "EMACS: The Extensible, Customizable Display Editor" 1981 paper for the ACM Conference on Text Processing http://www.gnu.org/software/emacs/emacs-paper.html / for more info on the optimizations involved.

    I remember once getting really fooled by this. I'd accidently created a file with two sequential copies of the text I thought I had. I searched for "foobar", which worked as expected; then I searched again. The screen didn't change, and the cursor didn't move. So, first I checked if the mainframe had crashed, but that wasn't it. It took many minutes of fooling around to realize what had happened: EMACS had figured out that the screen already looked right, so no need to do anything (except perhaps update a character or two on the status line). I wonder how many other people had similar experiences back in the day.

    So, sure EMACS may have been too big to run fast on Bill's machine, but bandwidth to the terminal had nothing to do with it.