Author picture

Warren Sack

Author of The Software Arts

1+ Work 19 Members 1 Review

Works by Warren Sack

The Software Arts (2019) 19 copies, 1 review

Associated Works

First Person: New Media as Story, Performance, and Game (2004) — Contributor — 176 copies, 3 reviews
Software Studies: A Lexicon (2008) — Contributor — 63 copies, 1 review

Tagged

Common Knowledge

Members

Reviews

1 review
Warren Sack has a unique eye for software and computing. Actually he brings a lot of eyes to it — computer science, philosophy, linguistics, art . . .

All of those perspectives enable him to take a fresh look at the history of computing, knifing in a critical analysis of how we have understood what computing is.

This is a very impressive book, and it took someone as unique as Sack to write it. You’ll find detailed knowledge at a technical level of all of those fields I just mentioned, and show more you’ll even find software code he’s written to illustrate and develop his points. I'd say he's done his homework, but that would be an understatement -- he's done enough homework for the whole class. I'm a little in awe.

Sack traces the roots of computing languages to the encyclopedists of eighteenth century France — Diderot, d’Alembert, and others who undertook the task, first proposed by Francis Bacon, of recording the procedures through which artisans produced their work. The encyclopedists, as Sack says, “paired the mechanical arts and the liberal arts.”

I can’t help but liken the task of the encyclopedists to that of interaction and software designers who observe and interview practitioners of such activities as project management, musical composition, accounting, or medical diagnosis as steps toward designing software to support or automate those activities.

And in fact those observations and interviews lead, through multiple steps, to a translation of what Sack calls “work language” (the language that the practitioners of the activity use to carry out and describe their work) into what he calls “machine language” (the language used by implementers to instruct supporting or automating machines, i.e., code, although Sack, I think, means to include higher level coding languages than machine code itself).

Sack draws direct lines from the work of the encyclopedists to what we recognize as the very beginnings of computing, in the work of Charles Babbage and Ada Lovelace.

For Sack, software isn’t so much a thing, or even a technology per se, as it is a “mode of thinking.” That mode of thinking is procedural and arithmetical, and it begins its development with the encyclopedists.

The standard story of the history of computing features mathematical logic at its core, tracing the maturation of logic as calculation through Boole, Frege, Cantor, and on up through Turing. To oversimplify, on this story, modern computers implement Boolean algebra, a mathematical treatment of the operations of formal logic.

Sack, in keeping with his focus on lossiness in translation, argues that, no, computers (or the logical machines designed by Turing) are not implementations of Boolean logic, at least not plainly and simply so. Unlike formal logic, the circuits that implement logical operations in computing machines are procedural. They require timing mechanisms (additional circuits) to perform operations when the values of the operation are ready, and they require additional circuits to define the states of those values before the operations are performed. Sack illustrates the differences with comparisons of the kind of truth tables used by Turing to define logical operations with Wittgenstein’s original truth tables (Turing, he reminds us, attended Wittgenstein’s lectures on the foundations of logic at Cambridge).

The point of difference may seem obvious, and I can imagine an “of course” reaction by some readers. But Sack is making a bigger point.

In fact, throughout the meat of the book, he is making two separable, but I think potentially complementary claims. One is that the ‘logic” which computers can be said to implement or not is a moving target — the idea that there is a “logic” behind all thought and reasoning, variously gotten at by systems of notation and inference, is a myth. The second is that any implementation (or “translation” in his terms) of logic into a machine (e.g., a Turing machine) is, like all translation, lossy. It doesn’t arrive at its target unaltered.

The complementarity between the claims would be that, at least in some instances, the implementation is itself the source of the historical mutations of logic — that the implementation actually redefines its source by “translating” it. The translation takes the place of its source.

Once it is established that logic is a production and not a kind of Platonic ideal, then such a replacement becomes plausible.

I’m not going to try to reproduce the spine of Sack’s arguments. They are complex arguments, and he tends, even by the design of the book, to follow a thread, develop it, and then jump to another thread. The book’s chapters distinguish these threads — translation, language, algorithm, logic, rhetoric, and grammar.

My one major criticism is that I don’t think he ever returns, even in his conclusion, to tying all of these threads together. At the beginning of the book, he does make a very large, over-arching claim, to the effect that the roots of computing (computing or programming languages) are in the liberal arts rather than in mathematics per se, as the standard story would have it. Hence the importance of tracing the development of software as a “mode of thinking” from the encyclopedists.

But he doesn’t tie it all up neatly in his concluding chapter. It’s kind of up to the reader. So here’s my crack at it.

Why does any of this matter? I think we have to go back again to the first parts of Sack’s argument, to the importance of the lossiness of translation. Really, and he says this as well, it isn’t so much a matter of lossiness per se as change — loss, addition, and change. And it happens every step of the way, from the encyclopedists’ translations of artisans’ work processes, to Boolean algebra, to Turing machines, and, finally, in Sack’s last discussions, to Chomsky’s arithmetized grammar and to the model of learning implemented in machine learning technologies.

Sack doesn’t say as much, but the humanities are what seem to have gotten lost in the translations. In fact, another theme to trace through the history that Sack depicts is automation, or even better, the autonomy of the computing machine.

He emphasizes that much of the development of computing was intended to relieve human labor of tedious computation and calculation — tasks that, in some sense, human beings shouldn’t have to spend their time on, so that they can devote themselves instead to more meaningful and valuable tasks. But, as it turns out, the meaningful and valuable tasks are what get lost. Chomskyan grammar has no need for meaning, and in fact takes its stand in an isolation of grammar from meaning. And machine learning (granting the quasi-exception of “supervised machine learning”) makes learning an autonomous activity of the machine.

I’ll come back to what I said in my first sentence — Sack’s story of computing is different. And the effect is to make you think a little bit differently about how we think about computing. And how we think about thinking as computing continues to develop.
show less

You May Also Like

Associated Authors

Statistics

Works
1
Also by
2
Members
19
Popularity
#609,293
Rating
½ 3.7
Reviews
1
ISBNs
2