Coders at Work is a compilation of interviews with fifteen huge names in computer science--like Douglas Crockford, Guy Steele, Peter Norvig, Joe Armstrong, and, of course, Donald Knuth. Reading the origin stories for these pioneers, what stands out is how hard it used to be thirty years ago to get started in programming.

Now, anyone can command enormous amounts of computing power for almost nothing. The last generation didn't have that luxury. You hear the same story over and over again: growing up, these guys happened to go to school somewhere that had (or had access to) a large, expensive behemoth of a computer, and they happened to be among the few students who ever got to play with them. In other words, they got really lucky.

Example:

Steele: I was in elementary school from 1960 through '66. But I think the real turning point was when I got to Boston Latin School--it would have been in the equivalent of the ninth grade. A friend asked me, "Have you heard about the new computer in the basement?" I thought this was the newest story after the one about the fourth-floor swimming pool and the school only has three stories. But he said, "No really, it exists." It turns out that T. Vincent Learson had arranged for an IBM 1130 minicomputer to be in the basement of the Boston Latin School. He was an alum and a very generous one apparently. My friend proceeded to show me a Fortran program of about five lines and I was immediately fascinated.

Or:

Armstrong: When I was at school. I was born in 1950 so there weren't many computers around then. The final year of school, I suppose I must have been 17, the local council had a mainframe computer--probably an IBM. We could write Fortran on it. It was the usual thing--you wrote your programs on coding sheets and you sent them off. A week later the coding sheets and the punch cards came back and you had to approve them. But the people who made the punch cards would make mistakes. So it might go backwards and forwards one or two times. And then it would finally go to the computer center.

Compare that to the situation today. Every Apple computer that has come out in the last four years has easy-to-use programming tools built right in--Python, Ruby, the works. And using HTML and Javascript, all it takes is one text file and a browser to create applications of near-arbitrary complexity.