xvi Foreword system that is so bad that people spend literally millions of dollars trying to improve it. Make it graphical (now that’s an oxymoron, a graphical user interface for Unix). You know the real trouble with Unix? The real trouble is that it became so popular. It wasn’t meant to be popular. It was meant for a few folks work- ing away in their labs, using Digital Equipment Corporation’s old PDP-11 computer. I used to have one of those. A comfortable, room-sized machine. Fast—ran an instruction in roughly a microsecond. An elegant instruction set (real programmers, you see, program in assembly code). Toggle switches on the front panel. Lights to show you what was in the registers. You didn’t have to toggle in the boot program anymore, as you did with the PDP-1 and PDP-4, but aside from that it was still a real computer. Not like those toys we have today that have no flashing lights, no register switches. You can’t even single-step today’s machines. They always run at full speed. The PDP-11 had 16,000 words of memory. That was a fantastic advance over my PDP-4 that had 8,000. The Macintosh on which I type this has 64MB: Unix was not designed for the Mac. What kind of challenge is there when you have that much RAM? Unix was designed before the days of CRT displays on the console. For many of us, the main input/output device was a 10-character/second, all uppercase teletype (advanced users had 30- character/second teletypes, with upper- and lowercase, both). Equipped with a paper tape reader, I hasten to add. No, those were the real days of computing. And those were the days of Unix. Look at Unix today: the rem- nants are still there. Try logging in with all capitals. Many Unix systems will still switch to an all-caps mode. Weird. Unix was a programmer’s delight. Simple, elegant underpinnings. The user interface was indeed horrible, but in those days, nobody cared about such things. As far as I know, I was the very first person to complain about it in writing (that infamous Unix article): my article got swiped from my com- puter, broadcast over UUCP-Net, and I got over 30 single-spaced pages of taunts and jibes in reply. I even got dragged to Bell Labs to stand up in front of an overfilled auditorium to defend myself. I survived. Worse, Unix survived. Unix was designed for the computing environment of then, not the machines of today. Unix survives only because everyone else has done so badly. There were many valuable things to be learned from Unix: how come nobody learned them and then did better? Started from scratch and produced a really superior, modern, graphical operating system? Oh yeah,
xvii and did the other thing that made Unix so very successful: give it away to all the universities of the world. I have to admit to a deep love-hate relationship with Unix. Much though I try to escape it, it keeps following me. And I truly do miss the ability (actu- ally, the necessity) to write long, exotic command strings, with mysterious, inconsistent flag settings, pipes, filters, and redirections. The continuing popularity of Unix remains a great puzzle, even though we all know that it is not the best technology that necessarily wins the battle. I’m tempted to say that the authors of this book share a similar love-hate relationship, but when I tried to say so (in a draft of this foreword), I got shot down: “Sure, we love your foreword,” they told me, but “The only truly irksome part is the ‘c’mon, you really love it.’ No. Really. We really do hate it. And don’t give me that ‘you deny it—y’see, that proves it’ stuff.” I remain suspicious: would anyone have spent this much time and effort writing about how much they hated Unix if they didn’t secretly love it? I’ll leave that to the readers to judge, but in the end, it really doesn’t matter: If this book doesn’t kill Unix, nothing will. As for me? I switched to the Mac. No more grep, no more piping, no more SED scripts. Just a simple, elegant life: “Your application has unexpect- edly quit due to error number –1. OK?” Donald A. Norman Apple Fellow Apple Computer, Inc. And while I’m at it: Professor of Cognitive Science, Emeritus University of California, San Diego