Lecture 3: Languages, Computers, and Symbolic Representation

What does this mean, symbolic representation?

A symbolic representation is something that is allowed to stand for another. For example, the U.S. flag is a symbolic representation of our country. It is also a symbol of freedom and patriotism. Road signs are symbolic representations that serve as reminders or indicators of the law that is in force in a given location or region. Companies create corporate logos. Every academic discipline makes use of symbolic representation. Mathematics has its variables, operators, etc. Music has notes, staffs, and a wide range of musical symbols. Chemistry has the elements of the periodic table. The sciences share a large number of unit measures. Art is virtually pure symbolism.

In fact, I would claim that there is not any aspect of human society or culture that does not rely on the power of symbolic representation. Consider what it would be like to be incapable of forming or using any kind of symbols or representations. Communication would be impossible. Education, which relies heavily on teaching cannot exist without communication. Business and commerce could not exist. Recorded history or any form of documentation would be impossible.

One of the fundamental concepts in computer science, abstraction, is a by-product of symbolic representation. Abstraction is a process of simplification by ignoring irrelevant detail and focusing on what is important. Symbols allow us to do this. A road sign, while it represents the law, does not present us with the law in all its verbose legalese, rather it acts as a compact abstraction of the law. Even more radically, I don't believe that imagination, creativity, or even thought would be possible without the ability to let one thing stand for another.

Perhaps the most important type of symbolic representation is language . According to linguists, language has three aspects. Syntax is the part of a language that defines its structure. Grammar, punctuation, and spelling are all included in the syntax of a language. Each word has a particular spelling. Given a group of words, the grammar only allows them to be arranged in certain orders. In addition to its physical structure, a language also has meaning, or semantics. Each word has one or more meanings, depending on context. Certain phrases, idioms, or expressions may have meanings beyond the meaning of their individual words. Finally, a language is pragmatic. While the word pragmatic often has a meaning similar to practical, in linguistics it refers to the intention with which language is used. Beyond the order of the words, or what they mean, there is something that the speaker intends to say or communicate.

It is this threefold nature of language that distinguishes it from other kinds of symbolism. It is also what establishes language as unique to the human race on planet earth. While there is evidence that other species do have limited forms of communication, they do not have the complexity of structure, meaning, or intent that human languages possess. In this respect language is somehow at the core of what it means to be human.

For the entirety of human history, up until this century, Man has been the sole possessor of language. Only recently, with the invention of the general purpose computer, has this monopoly been broken. In fact it was precisely as a result of bestowing this ability upon a machine that it was able to become general purpose. A machine that is hardwired for a single task has no need for language. We will consider the far reaching philosophical, ethical, and theological implications of this staggering development later this quarter when we examine the possibility of artificial intelligence.

Before the advent of computers, there were relatively few artificial languages. Most languages were natural, or in other words were the native spoken language of some group of people. In the last two hundred years, however, thousands of artificial, man-made languages have been invented (over 2300 programming languages, alone, have been recorded, see the language list). Computer languages and natural languages can be classified along a continuum, with natural languages serving as one extreme and CPU machine languages serving as the other.


Machine languages only have a two-symbol alphabet (usually chosen as '0' and '1'). An assembly language for a specific machine is a language that is intimately related to the machine language for the same machine. The most significant difference is that the assembly language uses the full set of characters of the keyboard, rather than just 0 and 1. Every word in the machine language translates into an equivalent assembly language statement. It is similar to the relationship between English and Pig Latin. It is unusual for two languages to have such a one-to-one correspondence. For example, there are words in other natural languages for which there is not a single English word they could translate into. Sometimes these words are so resistant to translation that even a phrase or sentence is not sufficient.

Why do we need assembly languages, programming languages, and all the other kinds of computer languages that might exist? Wouldn't it be easier to just write programs in English and then translate the English directly into machine language? As it happens, this would be more difficult, mostly because natural languages like English are permeated with ambiguity. Writing the translation program would be extremely difficult in the face of all of the subtlety and metaphorical content of English. So instead we create intermediate languages that are powerful in expression, but that have been stripped of all ambiguity. At the same time we don't want to have to learn machine language, just to have the stress of trying to read and write in a language of only two symbols.

In addition to the languages identified above and in the diagram, there are many others that computers use. There are page description languages, such as HTML (HyperText Markup Language), used for specifying web pages, and Postscript, a common printer language. There are macro languages used by some applications (Word and Excel, for example). The way in which files are saved to disk is even governed by languages. Every application that saves files has its own language that describes the file format that is used.

Languages, once the exclusive domain of the human race, are now ubiquitous in computers. Understanding the relationship between computers and language is one of the first steps in understanding the relationship between computers and ourselves.