Book review: “Programmers at Work”
Wednesday, April 30th, 2008I just finished reading a fascinating book: “Programmers at Work”, published in 1986 by Microsoft Press. It’s a series of interviews with notable programmers of the day; it’s out of print right now, sadly (I have a borrowed copy). The concept was to ask the biggest programmers of the day about what it’s like to be a programmer, and where they thought things were headed. The interview subjects are a real treasure chest, featuring a mixture of those still dominating the software market today (Bill Gates, Ray Ozzie (currently “Chief Software Architect” at Microsoft), Adobe’s John Warnock), those lauded for their former contributions (Apple Macintosh innovators Andy Hertzfeld and the late Jef Raskin, Pac Man inventor Toru Iwatani), and those whose contributions now live in obscurity, often after having been crushed by the Microsoft juggernaut (PFS:FILE’s John Page, Framework’s Bob Carr).
It’s a very interesting artifact because, for all of the contributions of computer programming, the craft of it rarely gets examined by the larger culture. For various reasons, but mostly the fact that programming ooks like just about one of the most mundane tasks imaginable, basically involving sitting at a computer all day, there’s no great desire to hear the individual stories of programmers. (As a digression, it’s interesting to examine the handling of programmers in film: it’s too big a subject to ignore entirely, but given that there’s nothing interesting about watching someone typing on a screen, Hollywood seems to have fallen on a curious standard template, which is programmers-as-victims. Think about what we’ve seen so far: forced into a computer game in Tron, eaten by dinosaurs in Jurassic Park, hunted by a shadowy corporation in The Net, laid off and then nearly imprisoned in Office Space, hunted by a sinister CEO in Antitrust, attacked by Martians in Independence Day, hunted by ruthless virtual agents in The Matrix. For better or worse, apparently programmers are only compelling when someone’s after them. (By the way, if you think this is an incomplete list - I’m not counting the movies where the characters are just system hackers, like “Swordfish”).)
Anyway, as it stands “Programmers at Work” is fairly unique: a view of the software industry from programmers themselves. And it’s definitely a product of its time, when the state of the software industry could somewhat reliably be summed up by interviews with around 20 people. Today the field of software development is so huge, and so distributed, that I doubt you could find a set of interview subjects that could truly summarize the current state of programming. Not to say that it wouldn’t be an interesting attempt…
The book is a nice overview of what programming looked like during the PC revolution, when computers became a household fixture, and began to take over tasks like document creation, financial processing and mathematical calculations. It was a Wild-West era of software development, during which all manners of interface questions were still up in the air - is having a mouse useful, or is it just a fad? What’s the best way to do a copy-and-paste of text? - developers had to make all sorts of decisions we don’t think about any more, from small interface questions to giant ones like which brand of computer they should do their development for. The stakes were higher, too, because one or a handful of programmers could create an application that would take over the industry, as Jonathan Sachs and a few others did with Lotus 1-2-3.
The interviewees discuss the nature of programming, and some of the language might sound familiar to today’s programmers, despite the huge technology gap - the need to keep the entire structure of a system in your head while you’re working on it; the euphoria of finding what seems like the ideal solution to a problem; the advantages of creating “well-balanced code”.
Every interview contains a section asking what the subject thinks will be the future of computing. This makes for some interesting reading, obviously, because we know how the story turns out. Sadly, most of these sections are notable for what isn’t mentioned. None of the programmers, in 1986, anticipate the dominance that object-oriented programming would have over the programming world by the end of that decade; a few mention SmallTalk, which as I understand is object-oriented, but none mention the object-oriented C++, already out at the time, which, by the early 90’s, would become (I think) the dominant language of application development. Gates thinks that rule-based programming will be the wave of the future, which was not the case. There’s also no mention of relational databases, or of Oracle, which was already a fairly large company at the time, and would go on to become huge. There’s also no mention, either positive or negative, of open-source development, which had already had had some great successes at the time with UNIX and the C programming language, would soon go on to more successes with Linux and Perl, and which, 22 years later, is set to surpass paid software as a business model. All of which is an interesting demonstration of William Gibson’s quote that “the future is already here; it’s just unevenly distributed.”
So what do the programmers predict? There are a variety of general comments that computers will continue getting smaller and faster, and, beyond that, testimonials as to how unknowable the future is. In general, the more specific the predictions, the more off-the-mark they are: a 25-year-old Jaron Lanier (now known as the “father of virtual reality”) talks about a secret project he’s working on. Reading between the lines of his description, it sounds like a virtual-reality application that lets people create software; he predicts that it “will really change the way people think about programming”. I don’t know what happened with that application, but suffice it to say that people still program goggle-less. Bill Gates and Gary Kildall (founder of Digital) both predict that CD-ROMs are the future of how people will use their computers - and perhaps they might have been, had the web not eclipsed their usefulness.
There are a few glimpses of the future that did occur, that pop up in some throwaway comments among the interviews. Gates talks about the email system at Microsoft, which helps him “keep up” with informaion. Michael Hawley mentions a graphics application he’s used that’s “spinning off to form a new company called Pixar.” Most tantalizingly, Page predicts that computers will become important as a source of information, and mentions as an example how he logs on to the National Weather Service to “get briefings through my computer.” I don’t know what type of service it was; undoubtedly some early internet protocol. Unfortunately the interviewer changes the subject, so this is the one mention in the book of using the internet for information retrieval, a simple concept that, within 15 or 20 years, would redefine the use of computers and, it’s no great stretch to say, change the world.
Page, in general, comes off somewhat like a hero from the book: besides anticipating the use of networked computers for information retrieval, he talks about elegance in software interface design, by “making a program more functional without increasing its complexity,” echoing the greater focus today on ease-of-use in applications. He laments the current bloated state of applications, “full of controls nobody ever touches or wants.” So how come no one today has heard of him or his software? Perhaps the software industry in the 80’s was no place for an aesthete: ordinary users valued simplicity of purchasing decision over simplicity of interface - a single operating system and suite of applications (Microsoft’s) would suffice, and whether or not it was well-applications was no great concern, as long as everything worked. Maybe that’s still true today, at least for desktop applications - most people still use Internet Explorer, after all, because that’s what comes installed on their PCs, even though the general consensus is that it’s the worst of the major web browsers currently out.
1f75
Anyway, Popper was a mid-20th-century philosopher, one of the many notable figures who escaped from Austria and Germany to the west during the 30’s and 40’s. His basic idea was the concept of “falsifiability”. He started with the premise that theories about the world are at a natural disadvantage: it’s extremely easy to disprove a theory, since all you have to do is find one counterexample. On the other hand, it’s impossible to prove a theory. From this, Popper surmised that there are only two kinds of theories: those that have been proven to be false, and those that have not yet been proven to be false. In other words, any attempt to describe the world is bound to be false to same extent. Whatever set of theories hold sway at any given time are those that are the most useful, and those that best fit the set of facts known at the time. Theories are useful, Popper said, both in describing the world and in decision-making, but they should never be mistaken for absolute “truth”. It’s a familiar concept for those of use who are involved in the world of wikis, where the current version of the truth tends to change in an orderly fashion from day to day.