I can't cover them all in this review, but I'll describe the principal themes of the book. Computer science is the theoretical study of computer systems. It descends from a tradition of thought that began with the formalizing abstractions of Plato and Aristotle, and was refined in the age of enlightenment by Descartes and Leibniz. Their influence is demonstrated by syllabuses that teach software as an extension of mathematics. In the real world, where software must be delivered in a timely manner, computer science is subsumed by the accumulated patterns of practical experience.
Pragmatic considerations overshadow theoretical notions.
Despite criticism from traditionalists, discarding a purely theoretical approach to software engineering for one based on praxis is not a move in the direction of irrationalism, but a recognition of the limitations of theory. This book explores what the studies of pragmatism, critical theory, and deconstruction can say about the process of design. Each of these areas of study is explained for the reader, and all are analyzed in the light of Martin Heidegger's writings. Heidegger has been an important source of insight on pragmatists in recent decades, he was a significant influence on leading theorists of Critical Theory, and his critique of metaphysics is a key to understanding Derrida and deconstruction. After a discussion of the overwhelming influence of logical theory in software design, the author examines Pragmatism.