This book is a critical introduction to code and software that develops an understanding of its social and philosophical implications in the digital age. Written specifically for people interested in the subject from a non-technical background, the book provides a lively and interesting analysis of these new media forms.
There were some thoughtful observations on how the use of software differs fundamentally from other tools, but David Berry's understanding of software is pretty rooted in the late-90's. For example, he valorizes close-to-the-metal C programming and calls object-oriented programming a "fundamentally Taylorist" mode of production. That dismissal is a bummer, because I think modern programmers do some of their most interesting philosophical work when domain modeling (whether using OO or functional techniques): I think any exercise in domain modeling amounts to constructing the ontology of the business problem being solved.
I didn't fully digest the later chapters on this reading (lots of references to Heidegger!), but I think he did a decent job of capturing the experience of using software as an end user.
It was a "pleasure" reading Berry's book. I think it's an aspiring book as it really tries to turn attention to the meaning that code and software in general assume as part of society. I did, however, disagree with a lot of his remarks, e.g., he calls Object-Oriented programming a "Taylorist technique" (pp. 40), which is utterly ridiculous. Sometimes it feels like the varied information that he presents is somewhat arduous to digest. At times I found myself bewildered by the multiple definitions of software/code - prescriptive? (pp. 32), running (pp. 32+94-) and crystallised code? (pp. 39). Despite some difficulties with explaining, Berry fantastically delivers an analysis of new media forms. What the book is in need of is a theoretical discussion of how software really interacts with different kinds of societies...