The UNIX-HATERS History xxiii bolics Lisp Machine (affectionately known as a LispM), one of two state- of-the-art AI workstations at the Lab. But it was all coming to an end. In the interest of cost and efficiency, the Media Lab had decided to purge its LispMs. If Travers wanted to continue doing research at MIT, he discov- ered, he would have to use the Lab’s VAX mainframe. The VAX ran Unix. MIT has a long tradition of mailing lists devoted to particular operating systems. These are lists for systems hackers, such as ITS-LOVERS, which was organized for programmers and users of the MIT Artificial Intelli- gence Laboratory’s Incompatible Timesharing System. These lists are for experts, for people who can—and have—written their own operating sys- tems. Michael Travers decided to create a new list. He called it UNIX- HATERS: Date: Thu, 1 Oct 87 13:13:41 EDT From: Michael Travers mt To: UNIX-HATERS Subject: Welcome to UNIX-HATERS In the tradition of TWENEX-HATERS, a mailing list for surly folk who have difficulty accepting the latest in operating system technol- ogy. If you are not in fact a Unix hater, let me know and I’ll remove you. Please add other people you think need emotional outlets for their frustration. The first letter that Michael sent to UNIX-HATERS included a well-rea- soned rant about Suns written by another new member of the Unix Gulag: John Rose, a programmer at a well-known Massachusetts computer manu- facturer (whose lawyers have promised not to sue us if we don’t print the company’s name). Like Michael, John had recently been forced to give up a Lisp Machine for a computer running Unix. Frustrated after a week of lost work, he sent this message to his company’s internal support mailing list:
xxiv Preface Date: Fri, 27 Feb 87 21:39:24 EST From: John Rose To: sun-users, systems Pros and Cons of Suns Well, I’ve got a spare minute here, because my Sun’s editor window evaporated in front of my eyes, taking with it a day’s worth of Emacs state. So, the question naturally arises, what’s good and bad about Suns? This is the fifth day I’ve used a Sun. Coincidentally, it’s also the fifth time my Emacs has given up the ghost. So I think I’m getting a feel for what’s good about Suns. One neat thing about Suns is that they really boot fast. You ought to see one boot, if you haven’t already. It’s inspiring to those of us whose LispMs take all morning to boot. Another nice thing about Suns is their simplicity. You know how a LispM is always jumping into that awful, hairy debugger with the confusing backtrace display, and expecting you to tell it how to pro- ceed? Well, Suns ALWAYS know how to proceed. They dump a core file and kill the offending process. What could be easier? If there’s a window involved, it closes right up. (Did I feel a draft?) This simplicity greatly decreases debugging time because you imme- diately give up all hope of finding the problem, and just restart from the beginning whatever complex task you were up to. In fact, at this point, you can just boot. Go ahead, it’s fast! One reason Suns boot fast is that they boot less. When a LispM loads code into its memory, it loads a lot of debugging information too. For example, each function records the names of its arguments and local variables, the names of all macros expanded to produce its code, doc- umentation strings, and sometimes an interpreted definition, just for good measure. Oh, each function also remembers which file it was defined in. You have no idea how useful this is: there’s an editor command called “meta-point” that immediately transfers you to the source of any function, without breaking your stride. ANY function, not just one of a special predetermined set. Likewise, there’s a key that causes the calling sequence of a function to be displayed instantly.