scientists realized, the machine’s time could be shared; the computer could be trained to handle hundreds of tasks at the same time. That, in turn, meant that programmers didn’t have to physically hand their stacks of computer cards to the operator anymore. Dozens of terminals could be built, all linked to the main-frame by a telephone line, and everyone could be working—online—all at once.
Here is how one history of the period describes the advent of time-sharing:
This was not just a revolution. It was a revelation. Forget the operator, the card decks, the wait. With time-sharing, you could sit at your Teletype, bang in a couple of commands, and get an answer then and there. Time-sharing was interactive: A program could ask for a response, wait for you to type it in, act on it while you waited, and show you the result, all in “real time.”
This is where Michigan came in, because Michigan was one of the first universities in the world to switch over to time-sharing. By 1967, a prototype of the system was up and running. By the early 1970s, Michigan had enough computing power that a hundred people could be programming simultaneously in the Computer Center. “In the late sixties, early seventies, I don’t think there was anyplace else that was exactly like Michigan,” Mike Alexander, one of the pioneers of Michigan’s computing system, said. “Maybe MIT. Maybe Carnegie Mellon. Maybe Dartmouth. I don’t think there were any others.”
This was the opportunity that greeted Bill Joy when he arrived on the Ann Arbor campus in the fall of 1971. He hadn’t chosen Michigan because of its computers. He had never done anything with computers in high school. He was interested in math and engineering. But when the programming bug hit him in his freshman year, he found himself—by the happiest of accidents—in one of the few places in the world where a seventeen-year-old could program all he wanted.
“Do you know what the difference is between the computing cards and time-sharing?” Joy says. “It’s the difference between playing chess by mail and speed chess.” Programming wasn’t an exercise in frustration anymore. It was
fun
.
“I lived in the north campus, and the Computer Center was in the north campus,” Joy went on. “How much time did I spend there? Oh, a phenomenal amount of time. It was open twenty-four hours. I would stay there all night, and just walk home in the morning. In an average week in those years, I was spending more time in the Computer Center than on my classes. All of us down there had this recurring nightmare of forgetting to show up for class at all, of not even realizing we were enrolled.
“The challenge was that they gave all the students an account with a fixed amount of money, so your time would run out. When you signed on, you would put in how long you wanted to spend on the computer. They gave you, like, an hour of time. That’s all you’d get. But someone figured out that if you put in ‘time equals’ and then a letter, like
t
equals
k,
they wouldn’t charge you,” he said, laughing at the memory. “It was a bug in the software. You could put in
t
equals
k
and sit there forever.”
Just look at the stream of opportunities that came Bill Joy’s way. Because he happened to go to a farsighted school like the University of Michigan, he was able to practice on a time-sharing system instead of with punch cards; because the Michigan system happened to have a bug in it, he could program all he wanted; because the university was willing to spend the money to keep the Computer Center open twenty-four hours, he could stay up all night; and because he was able to put in so many hours, by the time he happened to be presented with the opportunity to rewrite UNIX, he was up to the task. Bill Joy was brilliant. He wanted to learn. That was a big part of it. But before he could become an expert, someone had to give him the opportunity to learn
how
to be an expert.
“At