If this sounds too rarefied for what is usually thought of as an engineering discipline (and I admit that it does to me some of the time), the author is at least trying to ground his efforts in the works of certain famous and classic (and beyond dismissal) computer scientists, including Donald Knuth, Alan Kay, and Abelson and Sussman, all of whom were extremely technical but also accurately saw software and computation as important intellectual developments, not mere gadgetry.
Some secondary goals of the workshop:
(1) teasing out the non-technical intellectual roots of computational concepts, which are usually taken as givens that sprung fully-formed from the brow of Alan Turing. This is an entirely worthwhile project – somewhat more scholarly than the others – and it is one that connects to my own dissertation work. And it was the richest, newest, and best developed, in my inexpert opinion.
(2) trying to get humanists (artists, anthropologists, philosophers, etc) to understand software. Also a worthwhile project, but I wasn՚t sure the book՚s method, which consists of taking a few classic programs and attempting to step the reader through both their machinery and their intellectual background, was the best way to accomplish the goal. If I had a young arty, critique-y, politically intense young student who wanted to gain some understanding of the technological world, I՚d tell them to grab an Arduino and hang out in a hackerspace for a month and build a few things. Then they՚d have the necessary background to ask the right questions.
(3) trying to get technologists to think critically about the systems they build. This wasn՚t really a primary goal of the book, which seems to be strictly aimed at an academic market that is already open to interdisciplinary thought. But that idea is present in this community and from my outsider perspective seems to be one of the more important contributions it could make. As someone in industry, we build representations, abstraction, and systems all the time, and the ways we have for thinking about them are impoverished, we need all the help we can get.
So, combining all these goals sounds challenging; I think Warren is trying to do too many things at once. I empathize because I have the same problem when I try to write anything with more structure than a blog post – all the things I am interested in are connected and they all seem to want to be included.
One of my right-wing trolls like to accuses academic critical theory as being symptoms of “cultural Marxism”, a program to subvert the West, but a real Marxist, if one could be found and dusted off, would scoff at this stuff because it is so goddamn inward. You can find coded racism all day long and not have any good ideas about what to do about it. And I think people in this world know it. The concepts of critical theory aren՚t that generative, and they don՚t fit naturally into the American mind. Phil Agre, my role model for this world, had the ability to digest this stuff, pull out key ideas, and express them in ways that were non-jargony and made technical sense. But he՚s not in the business any more, and I՚m not sure anybody else has really managed to move that particular ball further down the field.
Software on the other hand is eminently pragmatic: it gets stuff done. And the people who live inside it all day long tend to be gruff pragmatists themselves, without a lot of time or tolerance for the merely intellectual. This is a healthy attitude to some extent, but we are long past the point where software as a discipline has to grow up and acknowledge its connections to the rest of the human project. It is, of course, quickly infiltrating our social lives, our work lives, our political lives -- eating the world, in the celebratory/threatening tones of the industry. It hasn't yet interpenetrated very much with the world of ideas, which makes efforts like this workshop difficult, important, and exciting. We are in a revolutionary moment in history and it's eat or be eaten whether you are an anthropologist or an accountant.