Tanaka-Ishii presents a semiotic analysis of computer programs along three axes: models of signs, kinds of signs, and systems of signs. Because computer programs are well defined and rigid, applying semiotic theories to them will help to reorganise the semiotic theories themselves. Semiotic discussion of programming theory can provide possible explanations for why programming has developed as it has and how computation is fundamentally related to human semiosis. This book considers the question of what computers can and cannot do, by analysing how computer sign systems compare to those of humans. A key concept throughout is reflexivity - the capability of a system or function to reinterpret what it has produced by itself. Sign systems are reflexive by nature, and humans know how to take advantage of this characteristic but have not yet fully implemented it into computer systems. The limitations, therefore, of current computers can be ascribed to insufficient reflexivity.
Acknowledgments ix
Introduction 1 (9)
The Aim of This Book 1 (2)
Computational Contributions to Semiotics 3 (2)
Semiotic Contributions to Computing 5 (1)
Related Work 5 (1)
The Structure of This Book 6 (4)
Computer Signs in Programs 10 (15)
Introduction 10 (1)
Two Sample Programs 11 (5)
Identifiers 16 (2)
Semantic Levels of Identifiers 18 (2)
Computer Hardware Level 18 (1)
Programming Language Level 18 (1)
Natural Language Level 19 (1)
Pansemiotic View 20 (5)
1 MODELS OF SIGNS
The Babylonian Confusion 25 (20)
Two Models of Signs 25 (4)
Two Hypotheses 29 (5)
A Traditional Hypothesis 30 (1)
A New Hypothesis 31 (3)
Two Programming Paradigms and the Sign 34 (4)
Models
Dyadic/Triadic Identifiers 35 (1)
The Functional Paradigm and the Dyadic 36 (1)
Model
The Object-Oriented Paradigm and the 37 (1)
Triadic Model
The Babylonian Confusion Revisited 38 (2)
Summary 40 (5)
Marriage of Signifier and Signified 45 (24)
Properties of Signs 45 (4)
Lambda Calculus 49 (4)
The Lambda-Term as a Sign Model 53 (5)
Definition of Signs by Self-Reference 58 (7)
Self-Reference and the Two Sign Models 65 (2)
The Saussurian Difference 67 (1)
Summary 68 (1)
Being and Doing in Programs 69 (22)
The Antithesis of Being and Doing 69 (2)
Class and Abstract Data Type 71 (3)
A Being Program Example 74 (4)
A Doing Program Example 78 (3)
Being versus Doing and the Two Sign Models 81 (3)
To Be or To Do 84 (2)
Summary 86 (5)
2 KINDS OF SIGNS AND CONTENT
The Statement x := x + 1 91 (18)
Different Kinds of Signs 91 (4)
Semiotic Ambiguity of Identifiers 95 (5)
Hjelmslev's Connotation and Metalanuage 100(3)
Peirce's Icon, Index, and Symbol 103(3)
Correspondence of the Two Sign 106(2)
Classifications
Summary 108(1)
Three Kinds of Content in Programs 109(18)
Thirdness 109(5)
Definitions and Expressions 114(1)
Currying 115(2)
Church's Transformation 117(4)
Thirdness in Programs 121(4)
Summary 125(2)
An Instance versus The Instance 127(18)
Haecceity 127(3)
A Case Study of a Digital Narrative 130(2)
Levels of Instantiation 132(2)
Restoring Haecceity 134(5)
Optimization 134(2)
Interaction 136(1)
Haecceity and Reflexivity 137(2)
The Kind of The Instance 139(2)
Summary 141(4)
3 SYSTEMS OF SIGNS
Structural Humans versus Constructive 145(13)
Computers
Uncontrollable Computers 145(2)
Signs and Self-Reference 147(2)
A Structural System 149(3)
A Constructive System 152(2)
Structure versus Construction 154(3)
Summary 157(1)
Sign and Time 158(18)
Interaction 158(3)
The State Transition Machine 161(1)
Referential Transparency 162(2)
Side Effects 164(5)
Temporality of a Sign 169(3)
Interaction and a Sign 172(1)
Sign and Sein 173(1)
Summary 174(2)
Reflexivity and Evolution 176(17)
Reflexivity of Natural Language 176(3)
Reflexivity of a Sign System 179(3)
Categories of Reflexivity 182(4)
Reflexivity of a Computer System 186(3)
Reflexivity of a System of Computer 189(2)
Systems
Summary 191(2)
Conclusion 193(6)
Glossary 199(8)
References 207(6)
Index 213