Hermeneutic computer science
暂无分享,去创建一个
we call computer science and software engineering is seriously flawed. A deep, but too often ignored, division in philosophy and perspective divides the community. On occasion this division is made manifest and we engage in a brief flurry of “religious warfare” followed by the recognition that neither side intends to change its mind. A truce is called as all parties agree, “to use the right tool for the job.” Recent examples include the debates in artificial intelligence, and, more recently, object-oriented development. We can characterize the opposing sides in these debates as “formalists” and “hermeneuticists.” This author’s presentation during a panel discussion at the 1996 OOPSLA conference illustrates the issue. Formalists constitute the majority culture. The formalist paradigm in both philosophy and computer science is characterized by a belief in the value of centralization, control, hierarchy, predictability, and provability. An ideal model consists of a set of formal tokens with unambiguous meaning and a set of combination and transformation rules (with accompanying derivation proofs) for manipulating the formal tokens. The semantics of the real world are, in principle, reducible to the formally defined syntax of the model. Hermeneutics is the study of interpretation, originally and usually, the interpretation of texts. The term is commonly encountered in religious studies where the meaning of sacred texts, written in archaic languages and linguistic forms, must be interpreted to a contemporary audience. When applied to systems and computer science, the minority hermeneuticist paradigm centers on concepts of autonomy, multiple perspective, negotiated and ephemeral meaning, interpretation, emergence, self-organization, change, and evolution. Holders of this position would argue that any formal syntax, no matter how comprehensive or sophisticated it may be, will fail to capture the semantics of the natural world. Formalist world views are grounded in the philosophy of Descartes, Hobbes, Leibniz (all of whom attempted to design or build “thinking machines,” with emphasis on machines), Russell, and Whitehead. Icons of computer science including Babbage, Turing, and von Neumann exemplified formalist philosophy within the new domain. Exemplars of the tradition include Newell, Simon and Minsky with their advocacy of AI. A mark of how far the formalist paradigm shapes computer science, and indeed most of western industrial culture, is the likelihood that almost all readers will immediately recognize the names in the preceding paragraph. Hermeneuticist philosophy includes the works of Husserl, Heidegger, Gadamer, Vygotsky, and Foucalt. Contemporary exemplars of this paradigm include: Maturana and Varela, Prigogine, and Gell-Mann. In computer science, hermeneutic thought and ideas are found in the work of Floyd and her colleagues, Coyne, the Dreyfus brothers, and the post-AI works of Winograd. (To judge the influence of hermeneutics on both popular culture and computer science, contrast how many of the names in this paragraph are familiar.) Logic, discrete math, structured development, AI, and information modeling as expressed in relational database theory are reflections of formalist thinking, as are the metaphors computer “science,” and “software engineering.” In contrast, more recent advances in neural networks, cellular automata, genetic algorithms, and complexity theory reflect